@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
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './get-cart';
|
|
2
|
+
export * from './fetch-address-form-fields';
|
|
3
|
+
export * from './get-store-config';
|
|
4
|
+
export * from './get-stock-status';
|
|
5
|
+
export * from './get-countries';
|
|
6
|
+
export * from './get-regions';
|
|
7
|
+
export * from './is-email-available';
|
|
8
|
+
export * from './get-customer';
|
|
9
|
+
export * from './get-customer-cart-stock-status';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
package/msw/server.d.ts
ADDED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-checkout", "version": "0.1.0-
|
|
1
|
+
{"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha35", "@dropins/tools": "0.25.0"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
|
|
3
|
+
interface IntlProviderProps {
|
|
4
|
+
children?: any;
|
|
5
|
+
}
|
|
6
|
+
export declare const IntlProvider: FunctionComponent<IntlProviderProps>;
|
|
7
|
+
export declare const DataProvider: FunctionComponent<IntlProviderProps>;
|
|
8
|
+
export declare const Provider: FunctionComponent<IntlProviderProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Provider.d.ts.map
|
package/render.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './render/index'
|
package/render.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
.checkout-shipping-methods__title{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-shipping-methods__content{position:relative;display:block}.checkout-shipping-methods__method{margin-bottom:var(--spacing-medium);width:fit-content;cursor:pointer;font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-shipping-methods__method:last-child{margin-bottom:0}.dropin-radio-button__label .dropin-price{color:var(--color-neutral-800);font-weight:400}.checkout-shipping-methods__options--loading{opacity:.4;pointer-events:none}.checkout-shipping-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout-cart-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-cart-summary__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-cart-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-cart-summary__edit{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);align-self:flex-end;justify-self:flex-end;margin:0;cursor:pointer}.checkout-cart-summary__edit a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-cart-summary .checkout-cart-summary__divider-top{margin:0 0 var(--spacing-medium) 0}.checkout-cart-summary .checkout-cart-summary__divider-bottom{margin:var(--spacing-medium) 0 var(--spacing-small) 0}.checkout-cart-summary__items{display:grid;gap:var(--spacing-medium)}.checkout-cart-summary__action{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);color:var(--color-brand-500);background:none;margin:0 auto;border:0;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer;width:auto}.checkout-cart-summary__action:hover{text-decoration:underline;text-underline-offset:var(--spacing-xxsmall);background-color:transparent;color:var(--color-brand-700)}.dropin-accordion{background-color:var(--color-neutral-200)}.dropin-accordion .dropin-divider:first-child{margin-top:0}.dropin-accordion .dropin-divider:last-child{margin-bottom:0}.dropin-accordion-section{padding:0 var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-cart-summary .dropin-accordion-section__content-container{gap:0}.checkout-cart-summary-item{margin-bottom:var(--spacing-medium)}.dropin-accordion-section__content-container .checkout-cart-summary-item:last-of-type{margin-bottom:0}}.checkout-cart-summary-item .dropin-cart-item__title{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-cart-summary-item .dropin-cart-item__price{margin:var(--spacing-xxsmall) 0}.checkout-cart-summary-item .dropin-price--sale,.checkout-cart-summary-item .dropin-cart-item__warning{color:var(--color-alert-800)}.dropin-cart-item__total{align-items:flex-end}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);grid-template-areas:"main aside";column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-area:main;grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-area:aside;grid-column:9 / span 4;row-gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);border-bottom:var(--shape-border-width-3) solid var(--color-neutral-400);padding-bottom:var(--spacing-xsmall);padding-top:var(--spacing-small);margin:0}.checkout__content .dropin-divider{margin-bottom:0;width:100%}.checkout__content .checkout-billing-form__divider{margin-top:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;grid-template-areas:"header" "cartSummary" "login" "shippingAddress" "billToShippingAddress" "shippingMethods" "paymentMethods" "billingAddress" "orderSummary" "placeOrder";row-gap:var(--spacing-big)}.checkout-cart-summary{grid-area:cartSummary}.checkout-order-summary{grid-area:orderSummary}.checkout-cart-summary .dropin-divider{margin:var(--spacing-medium) 0}}.checkout-login-form{display:grid}.checkout-login-form__heading{display:grid;grid-template-columns:repeat(2,1fr [col-start]);grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-order-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-order-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-order-summary .dropin-divider--primary{margin:0 0 var(--spacing-medium) 0!important}.checkout-order-summary .dropin-divider--secondary{margin:var(--spacing-xsmall) 0 var(--spacing-xsmall) 0!important}.checkout-order-summary__breakdown{margin:var(--spacing-big) 0 var(--spacing-medium) 0}.checkout-order-summary__breakdown .dropin-divider:last-child{margin-bottom:0}.checkout-order-summary__row{display:flex;justify-content:space-between;color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row--margin-top{margin-top:var(--spacing-xsmall)}.checkout-order-summary__row--margin-bottom{margin-bottom:var(--spacing-xsmall)}.checkout-order-summary__row .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row p{margin:0}.checkout-order-summary__row--strong{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--strong .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--emphasized{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);margin-top:var(--spacing-small)}.checkout-order-summary__row--emphasized .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-order-summary__row--muted{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin-top:calc(-1 * var(--spacing-xxsmall))}.checkout-order-summary__row--muted .checkout-order-summary__price{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-order-summary--loading .checkout-order-summary__row{opacity:.4;pointer-events:none}.checkout-order-summary__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:50%;bottom:0}.order-summary__skeleton{margin-top:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-order-summary{border-top:var(--shape-border-width-2) solid var(--color-neutral-400);border-bottom:var(--shape-border-width-2) solid var(--color-neutral-400);border-radius:0}.checkout-order-summary__title,.checkout-order-summary .dropin-divider{display:none}.checkout-order-summary__breakdown{margin-top:0}}.checkout-out-of-stock{display:grid}.checkout-out-of-stock__button{margin-top:var(--spacing-medium);align-self:flex-end;justify-self:flex-end}.checkout-out-of-stock__icon .OrderError_svg__error-icon{color:var(--color-warning-500)}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-payment-methods{position:relative;display:block}.checkout-payment-methods__title{font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.checkout-payment-methods--loading{opacity:.4;pointer-events:none}.checkout-payment-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout__content [data-slot=PaymentMethods]:empty{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .OrderError_svg__error-icon{color:var(--color-alert-500)}.checkout-server-error a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-toggle-button{display:block;position:relative;width:100%}.checkout-toggle-button__actionButton{cursor:pointer;background-color:var(--color-neutral-200);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);padding:var(--spacing-medium);align-items:center;display:grid}.checkout-toggle-button__selected .checkout-toggle-button__actionButton{background-color:var(--color-neutral-50);border:var(--shape-border-width-1) solid var(--color-neutral-800)}.checkout-toggle-button:has(input:focus-visible){outline:0 none;box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-webkit-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-moz-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.checkout-toggle-button__radioButton.dropin-radio-button{cursor:pointer;position:absolute}.checkout-toggle-button__radioButton .dropin-radio-button__label:before{cursor:pointer;margin-right:0}.checkout-toggle-button__radioButton .dropin-radio-button__input:focus-visible+.dropin-radio-button__label:before{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-600)}.checkout-toggle-button__content{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-big)}.checkout-toggle-button__icon{height:24px;margin-right:var(--spacing-xsmall)}`,{styleId:"checkout"});
|
|
3
|
-
var p=Object.defineProperty;var
|
|
4
|
-
//# sourceMappingURL=render.js.map
|
|
1
|
+
(function(n,o){try{if(typeof document<"u"){const t=document.createElement("style"),i=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",i),t.appendChild(document.createTextNode(n));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(t);else{const e=document.querySelector('link[rel="stylesheet"], style');e?e.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.checkout-bill-to-shipping-address{display:grid}.checkout-bill-to-shipping-address label{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);gap:0}
|
|
2
|
+
.checkout-shipping-methods{display:grid}.checkout-shipping-methods__title{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-shipping-methods__content{position:relative;display:block}.checkout-shipping-methods__method{margin-bottom:var(--spacing-medium);width:fit-content;cursor:pointer;font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-shipping-methods__method:last-child{margin-bottom:0}.dropin-radio-button__label .dropin-price{color:var(--color-neutral-800);font-weight:400}.checkout-shipping-methods__options--loading{opacity:.4;pointer-events:none}.checkout-shipping-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout__content{display:grid;align-items:start;row-gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);border-bottom:var(--shape-border-width-3) solid var(--color-neutral-400);padding-bottom:var(--spacing-xsmall);padding-top:var(--spacing-small);margin:0}.checkout__content .dropin-divider{margin-bottom:0;width:100%}.checkout__content .checkout-billing-form__divider{margin-top:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{row-gap:var(--spacing-big)}.checkout-cart-summary .dropin-divider{margin:var(--spacing-medium) 0}}.checkout-login-form{display:grid}.checkout-login-form__heading{display:grid;grid-template-columns:repeat(2,1fr [col-start]);grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-payment-methods{position:relative;display:grid}.checkout-payment-methods__title{font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.checkout-payment-methods--loading{opacity:.4;pointer-events:none}.checkout-payment-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout__content [data-slot=PaymentMethods]:empty{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-out-of-stock{display:grid}.checkout-out-of-stock__button{margin-top:var(--spacing-medium);align-self:flex-end;justify-self:flex-end}.checkout-out-of-stock__icon .error-icon{color:var(--color-warning-500)}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .error-icon{color:var(--color-alert-500)}.checkout-server-error a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-toggle-button{display:block;position:relative;width:100%}.checkout-toggle-button__actionButton{cursor:pointer;background-color:var(--color-neutral-200);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);padding:var(--spacing-medium);align-items:center;display:grid}.checkout-toggle-button__selected .checkout-toggle-button__actionButton{background-color:var(--color-neutral-50);border:var(--shape-border-width-1) solid var(--color-neutral-800)}.checkout-toggle-button:has(input:focus-visible){outline:0 none;box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-webkit-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-moz-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.checkout-toggle-button__radioButton.dropin-radio-button{cursor:pointer;position:absolute}.checkout-toggle-button__radioButton .dropin-radio-button__label:before{cursor:pointer;margin-right:0}.checkout-toggle-button__radioButton .dropin-radio-button__input:focus-visible+.dropin-radio-button__label:before{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-600)}.checkout-toggle-button__content{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-big)}.checkout-toggle-button__icon{height:24px;margin-right:var(--spacing-xsmall)}`,{styleId:"checkout"});
|
|
3
|
+
var p=Object.defineProperty;var h=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var u=(r,e,t)=>(h(r,typeof e!="symbol"?e+"":e,t),t);import{Render as g}from"@dropins/tools/lib.js";import{events as y}from"@dropins/tools/event-bus.js";import{S as b,p as v,A as w,C as S,q as O}from"./chunks/getStoreConfig.js";import{c as E}from"./chunks/initialize.js";import{UIProvider as A}from"@dropins/tools/components.js";import{useState as P,useEffect as I,useMemo as M}from"@dropins/tools/preact-hooks.js";import{jsx as i}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";class j{isAvailable(){return!!window.localStorage}getKeys(){return this.isAvailable()?Object.keys(window.localStorage):[]}setItem(e,t){this.isAvailable()&&window.localStorage.setItem(e,t)}getItem(e){return this.isAvailable()?window.localStorage.getItem(e):null}removeItem(e){this.isAvailable()&&window.localStorage.removeItem(e)}}class C{constructor(e,t){u(this,"namespace");u(this,"repository");this.namespace=e,this.repository=t}namespaced(e){return`${this.namespace}:${e}`}backup(e,t){return this.repository.setItem(this.namespaced(e),JSON.stringify(t))}restore(e){const t=this.repository.getItem(this.namespaced(e));return t?JSON.parse(t):null}remove(e){return this.repository.removeItem(this.namespaced(e))}clear(){this.repository.getKeys().filter(e=>e.startsWith(this.namespace)).forEach(e=>{this.repository.removeItem(e)})}}function T(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var D=function(e){return L(e)&&!U(e)};function L(r){return!!r&&typeof r=="object"}function U(r){var e=Object.prototype.toString.call(r);return e==="[object RegExp]"||e==="[object Date]"||B(r)}var _=typeof Symbol=="function"&&Symbol.for,k=_?Symbol.for("react.element"):60103;function B(r){return r.$$typeof===k}function F(r){return Array.isArray(r)?[]:{}}function s(r,e){return e.clone!==!1&&e.isMergeableObject(r)?o(F(r),r,e):r}function N(r,e,t){return r.concat(e).map(function(a){return s(a,t)})}function R(r,e){if(!e.customMerge)return o;var t=e.customMerge(r);return typeof t=="function"?t:o}function K(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter(function(e){return Object.propertyIsEnumerable.call(r,e)}):[]}function f(r){return Object.keys(r).concat(K(r))}function m(r,e){try{return e in r}catch{return!1}}function $(r,e){return m(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))}function x(r,e,t){var a={};return t.isMergeableObject(r)&&f(r).forEach(function(n){a[n]=s(r[n],t)}),f(e).forEach(function(n){$(r,n)||(m(r,n)&&t.isMergeableObject(e[n])?a[n]=R(n,t)(r[n],e[n],t):a[n]=s(e[n],t))}),a}function o(r,e,t){t=t||{},t.arrayMerge=t.arrayMerge||N,t.isMergeableObject=t.isMergeableObject||D,t.cloneUnlessOtherwiseSpecified=s;var a=Array.isArray(e),n=Array.isArray(r),c=a===n;return c?a?t.arrayMerge(r,e,t):x(r,e,t):s(e,t)}o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(a,n){return o(a,n,t)},{})};var Y=o,q=Y;const H=T(q),J={title:"Checkout",LoginForm:{title:"Contact details",account:"Already have an account?",ariaLabel:"Email",invalidEmailError:"Please enter a valid email address.",missingEmailError:"Enter an email address.",emailExists:{alreadyHaveAccount:"It looks like you already have an account.",signInButton:"Sign in",forFasterCheckout:"for a faster checkout."},floatingLabel:"Email *",placeholder:"Enter your email address",signIn:"Sign In",switch:"Do you want to switch account?",signOut:"Sign Out"},ShippingMethods:{title:"Shipping options",emptyState:"This order can't be shipped to the address provided. Please review the address details you entered and make sure they're correct."},ShippingAddress:{title:"Delivery"},BillingAddress:{title:"Billing Address"},AddressForm:{Validity:{badInput:"Provide a valid {field}.",patternMismatch:"Ensure you have entered a correct {field} format.",rangeOverflow:"Choose a valid {field} within the allowed range.",rangeUnderflow:"Choose a valid {field} within the allowed range.",tooLong:"This entry is too long. Keep it under {field} characters.",tooShort:"Use at least {field} characters.",typeMismatch:"Enter a valid {field}.",valueMissing:"Enter a {field}, this field is required."}},BillToShippingAddress:{title:"Bill to shipping address"},PaymentMethods:{title:"Payment",emptyState:"No payment methods available"},OutOfStock:{title:"Out of stock",message:"Your cart contains items that are out of stock or have limited availability. Please review your cart before placing the order.",button:"Review cart",lowInventory:{one:"Last item!",many:"Only {{count}} left!"},alert:"Out of stock!"},PlaceOrder:{button:"Place Order"},ServerError:{title:"We were unable to process your order",contactSupport:"If you continue to have issues, please contact support.",unexpected:"An unexpected error occurred while processing your order. Please try again later.",button:"Try again"},EmptyCart:{title:"Your cart is empty",button:"Start shopping"},ErrorBanner:{genericMessage:"Server error detected. Please check your connection and try again."},MergedCartBanner:{items:{one:"1 item from a previous session was added to your cart. Please review your new subtotal.",many:"{{count}} items from a previous session were added to your cart. Please review your new subtotal."}}},V={Checkout:J},W={default:V},z=({children:r})=>{var c;const[e,t]=P(),a=(c=E.getConfig())==null?void 0:c.langDefinitions;I(()=>{const l=y.on("locale",d=>{d!==e&&t(d)},{eager:!0});return()=>{l==null||l.off()}},[e]);const n=H(W,a??{});return i(A,{lang:e,langDefinitions:n,children:r})},G=({children:r})=>{const e=M(()=>new C("DROPIN__CHECKOUT",new j),[]);return i(b,{services:{backupService:e},children:i(v,{children:i(w,{children:i(S,{children:i(O,{children:r})})})})})},Q=({children:r})=>i(G,{children:i(z,{children:r})}),ce=new g(i(Q,{}));export{Q as Provider,ce as render};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface Repository {
|
|
2
|
+
getKeys(): string[];
|
|
3
|
+
getItem(key: string): string | null;
|
|
4
|
+
setItem(key: string, value: string): void;
|
|
5
|
+
removeItem(key: string): void;
|
|
6
|
+
}
|
|
7
|
+
export declare class BackupService {
|
|
8
|
+
private namespace;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(namespace: string, repository: Repository);
|
|
11
|
+
private namespaced;
|
|
12
|
+
backup<T>(key: string, value: T): void;
|
|
13
|
+
restore<T>(key: string): T | null;
|
|
14
|
+
remove(key: string): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ShippingMethod } from '../data/models';
|
|
2
|
+
|
|
3
|
+
export declare const estimateShippingMethodsSignal: import('@preact/signals-core').Signal<{
|
|
4
|
+
pending: boolean;
|
|
5
|
+
data?: ShippingMethod[] | undefined;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=EstimateShippingMethodsSignal.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AddressFormType } from '../data/models';
|
|
2
|
+
import { Region as RegionModel } from '../data/models/region';
|
|
3
|
+
|
|
4
|
+
export declare const regionsSignal: import('@preact/signals-core').Signal<{
|
|
5
|
+
addressType?: AddressFormType | undefined;
|
|
6
|
+
country?: string | undefined;
|
|
7
|
+
selectedRegion?: string | undefined;
|
|
8
|
+
selectedRegionId?: string | undefined;
|
|
9
|
+
pending: boolean;
|
|
10
|
+
data?: RegionModel[] | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=RegionsSignal.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './AuthenticationSignal';
|
|
2
|
+
export * from './CartSignal';
|
|
3
|
+
export * from './CustomerSignal';
|
|
4
|
+
export * from './EstimateShippingMethodsSignal';
|
|
5
|
+
export * from './IsBillToShippingSignal';
|
|
6
|
+
export * from './RegionsSignal';
|
|
7
|
+
export * from './SelectedShippingMethodSignal';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
package/tests/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type expectErrorProps = {
|
|
2
|
+
candidate: (...args: any[]) => Promise<any>;
|
|
3
|
+
args: any[];
|
|
4
|
+
expectedError: any;
|
|
5
|
+
expectedMessage: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function expectError({ candidate, args, expectedError, expectedMessage, }: expectErrorProps): Promise<void>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=expectError.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface fieldCodes {
|
|
2
|
+
firstname: string;
|
|
3
|
+
lastname: string;
|
|
4
|
+
company: string;
|
|
5
|
+
country: string;
|
|
6
|
+
region: string;
|
|
7
|
+
city: string;
|
|
8
|
+
postcode: string;
|
|
9
|
+
telephone: string;
|
|
10
|
+
street: string;
|
|
11
|
+
email: string;
|
|
12
|
+
middlename: string;
|
|
13
|
+
prefix: string;
|
|
14
|
+
suffix: string;
|
|
15
|
+
}
|
|
16
|
+
declare const autocompleteFieldCodes: fieldCodes;
|
|
17
|
+
export default autocompleteFieldCodes;
|
|
18
|
+
//# sourceMappingURL=autocompleteFieldCodes.d.ts.map
|
package/utils/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './autocompleteFieldCodes';
|
|
2
|
+
export * from './getMultilineValues';
|
|
3
|
+
export * from './isEmpty';
|
|
4
|
+
export * from './parseRegionId';
|
|
5
|
+
export * from './processFormFields';
|
|
6
|
+
export * from './refetchEstimatedShippingMethods';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AddressFormElement, AddressFormErrors, AddressFormField, AddressFormType, AddressFormValues, Country, Region, StoreConfig } from '../../data/models';
|
|
2
|
+
import { StateUpdater, Dispatch } from 'preact/hooks';
|
|
3
|
+
|
|
4
|
+
export type FormFieldsProcessorProps = {
|
|
5
|
+
address: AddressFormValues;
|
|
6
|
+
addressType: AddressFormType;
|
|
7
|
+
availableCountries: Country[] | undefined;
|
|
8
|
+
availableRegions: Region[];
|
|
9
|
+
config: StoreConfig;
|
|
10
|
+
dismissError: (code: string) => void;
|
|
11
|
+
errors: AddressFormErrors;
|
|
12
|
+
fields: AddressFormField[];
|
|
13
|
+
onBlur: (event: Event) => void;
|
|
14
|
+
onChange: (event: Event) => void;
|
|
15
|
+
onInvalid: (event: Event) => void;
|
|
16
|
+
onSelection: (event: Event) => void;
|
|
17
|
+
setAddress: Dispatch<StateUpdater<AddressFormValues>>;
|
|
18
|
+
};
|
|
19
|
+
export declare function processFormFields({ address, addressType, availableCountries, availableRegions, config, dismissError, errors, fields, onBlur, onChange, onInvalid, onSelection, setAddress, }: FormFieldsProcessorProps): AddressFormElement[];
|
|
20
|
+
export type ProcessedFormFields = ReturnType<typeof processFormFields>;
|
|
21
|
+
//# sourceMappingURL=processFormFields.d.ts.map
|
package/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["../src/api/redirect/redirect.ts"],"sourcesContent":["// Function for redirecting the browser to a url\nexport const redirect = (url: string) => { \n window?.location?.assign(url);\n}\n"],"names":["redirect","url","location","assign"],"mappings":"s7BACaA,MAAAA,EAAYC,GAAgB,QAC/BC,EAAAA,2BAAAA,WAAAA,MAAAA,EAAUC,OAAOF,EAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BillToShippingAddress2.js","sources":["../../src/components/BillToShippingAddress/BillToShippingAddress.tsx","../../src/components/BillToShippingAddress/BillToShippingAddressSkeleton.tsx","../../src/containers/BillToShippingAddress/constants.ts","../../src/containers/BillToShippingAddress/BillToShippingAddress.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { classes } from '@adobe/elsie/lib';\nimport { Checkbox, CheckboxProps } from '@adobe/elsie/components';\nimport { BillToShippingAddressSkeleton } from '@/checkout/components/BillToShippingAddress';\nimport '@/checkout/components/BillToShippingAddress/BillToShippingAddress.css';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {\n isInitialized?: boolean;\n}\n\nexport const BillToShippingAddress: FunctionComponent<\n BillToShippingAddressProps\n> = ({ className, isInitialized = true, checked = true, ...props }) => {\n const translations = useText({\n title: 'Checkout.BillToShippingAddress.title',\n });\n\n if (!isInitialized) return <BillToShippingAddressSkeleton />;\n\n return (\n <div className={classes(['checkout-bill-to-shipping-address', className])}>\n <Checkbox\n data-testid=\"bill-to-shipping-checkbox\"\n className=\"checkout-bill-to-shipping-address__checkbox\"\n checked={checked}\n name=\"checkout-bill-to-shipping-address__checkbox\"\n label={translations.title}\n {...props}\n />\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { Skeleton, SkeletonRow } from '@adobe/elsie/components';\n\nexport const BillToShippingAddressSkeleton: FunctionComponent = () => {\n return (\n <Skeleton className=\"bill-to-shipping-address__skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n );\n};\n","export const BILL_TO_SHIPPING_KEY = 'is_bill_to_shipping_address';\n","import { setBillingAddress } from '@/checkout/api';\nimport { BillToShippingAddress as BillToShippingAddressComponent } from '@/checkout/components/BillToShippingAddress';\nimport {\n IsBillToShipping,\n cartSignal,\n customerSignal,\n isBillToShippingSignal,\n} from '@/checkout/signals';\nimport { Container } from '@adobe/elsie/lib';\nimport { Signal } from '@preact/signals-core';\nimport { useEffect, useState } from 'preact/compat';\nimport { BILL_TO_SHIPPING_KEY } from './constants';\nimport { useAddressFormFields } from '@/checkout/context/address-form-fields';\nimport { CheckboxProps } from '@adobe/elsie/components';\nimport {\n ShippingAddress,\n BillingAddress,\n} from '@/checkout/data/models/address';\nimport { AddressFormField } from '@/checkout/data/models/address-form-fields';\n\ntype Address = BillingAddress | ShippingAddress[];\n\nfunction compareFields(first: Address, second: Address, field: keyof Address) {\n const firstValue = first[field];\n const secondValue = second[field];\n\n if (firstValue === undefined && secondValue === undefined) return true;\n if (firstValue === null && secondValue === null) return true;\n\n if (typeof firstValue === 'object' && typeof secondValue === 'object') {\n return JSON.stringify(firstValue) === JSON.stringify(secondValue);\n }\n\n return firstValue === secondValue;\n}\n\nexport function compareAddresses(\n addressFormFields: AddressFormField[],\n first: BillingAddress | undefined,\n second: ShippingAddress | undefined\n) {\n if (!first && !second) return true;\n if (!first || !second) return false;\n\n return addressFormFields.every((field) => {\n const fieldCode = field.code as keyof Address;\n return compareFields(first, second, fieldCode);\n });\n}\n\nconst useInitialState = ({\n isBillToShipping,\n}: {\n isBillToShipping: Signal<IsBillToShipping>;\n}) => {\n const [isInitialized, setIsInitialized] = useState(false);\n\n const { fields } = useAddressFormFields();\n\n const cart = cartSignal.value.data;\n const cartId = cart?.id || '';\n const hasCart = !!cart;\n const billingAddress = cart?.billingAddress;\n const shippingAddress = cart?.shippingAddresses?.[0];\n const hasShippingAddress = Boolean(shippingAddress);\n const hasCartAddresses = Boolean(billingAddress && shippingAddress);\n\n const customer = customerSignal.value.data;\n const customerShippingAddress = customer?.defaultShippingAddress;\n const customerBillingAddress = customer?.defaultBillingAddress;\n const hasCustomerAddresses = Boolean(\n customerShippingAddress && customerBillingAddress\n );\n\n // Sync state with local storage\n useEffect(() => {\n if (isInitialized) return;\n\n const localBillToShipping = localStorage.getItem(BILL_TO_SHIPPING_KEY);\n if (!localBillToShipping) return;\n\n setIsInitialized(true);\n\n isBillToShipping.value = {\n checked: localBillToShipping === 'true',\n setByUser: false,\n };\n }, [isInitialized, isBillToShipping]);\n\n // Sync state with the customer\n useEffect(() => {\n if (!fields || !hasCart) return;\n if (hasCartAddresses || !hasCustomerAddresses) return;\n\n setIsInitialized(true);\n\n const checked = compareAddresses(\n fields,\n customerBillingAddress,\n customerShippingAddress\n );\n\n isBillToShipping.value = { checked, setByUser: false };\n }, [\n customerBillingAddress,\n customerShippingAddress,\n fields,\n hasCart,\n hasCartAddresses,\n hasCustomerAddresses,\n isBillToShipping,\n isInitialized,\n ]);\n\n // Sync state with the cart\n useEffect(() => {\n if (isInitialized || !fields || !hasCart) return;\n\n setIsInitialized(true);\n\n const checked = compareAddresses(fields, billingAddress, shippingAddress);\n\n isBillToShipping.value = {\n checked: billingAddress ? checked : isBillToShipping.value.checked,\n setByUser: false,\n };\n }, [\n billingAddress,\n fields,\n hasCart,\n isBillToShipping,\n isInitialized,\n shippingAddress,\n ]);\n\n return { cartId, isInitialized, hasShippingAddress };\n};\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {}\n\nexport const BillToShippingAddress: Container<BillToShippingAddressProps> = ({\n children,\n ...props\n}) => {\n const isBillToShipping = isBillToShippingSignal.value.checked;\n\n const { cartId, hasShippingAddress, isInitialized } = useInitialState({\n isBillToShipping: isBillToShippingSignal,\n });\n\n const onChangeHandler = (event: Event) => {\n const checkbox = event.target as HTMLInputElement;\n const isChecked = checkbox.checked;\n\n isBillToShippingSignal.value = { checked: isChecked, setByUser: true };\n localStorage.setItem(BILL_TO_SHIPPING_KEY, isChecked.toString());\n\n if (!isInitialized || !isChecked || !hasShippingAddress) return;\n\n const controller = new AbortController();\n\n setBillingAddress({\n signal: controller.signal,\n cartId,\n input: { same_as_shipping: true },\n }).catch((error) => {\n console.error(error);\n });\n\n return () => {\n controller.abort();\n };\n };\n\n return (\n <BillToShippingAddressComponent\n {...props}\n checked={isBillToShipping}\n isInitialized={isInitialized}\n onChange={onChangeHandler}\n disabled={cartSignal.value.pending}\n />\n );\n};\n"],"names":["BillToShippingAddress","className","isInitialized","checked","props","translations","useText","title","_jsx","classes","children","Checkbox","name","label","BillToShippingAddressSkeleton","Skeleton","SkeletonRow","variant","size","BILL_TO_SHIPPING_KEY","compareFields","first","second","field","firstValue","secondValue","undefined","JSON","stringify","compareAddresses","addressFormFields","every","fieldCode","code","useInitialState","isBillToShipping","setIsInitialized","useState","fields","useAddressFormFields","cart","cartSignal","value","data","cartId","id","hasCart","billingAddress","shippingAddress","shippingAddresses","hasShippingAddress","Boolean","hasCartAddresses","customer","customerSignal","customerShippingAddress","defaultShippingAddress","customerBillingAddress","defaultBillingAddress","hasCustomerAddresses","useEffect","localBillToShipping","localStorage","getItem","setByUser","isBillToShippingSignal","BillToShippingAddressComponent","onChange","event","isChecked","target","setItem","toString","controller","AbortController","setBillingAddress","signal","input","same_as_shipping","catch","error","console","abort","disabled","pending"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BillingForm.js","sources":["../../src/containers/BillingForm/BillingForm.tsx"],"sourcesContent":["import { prepareAddress, setBillingAddress } from '@/checkout/api';\nimport {\n AddressForm,\n AddressFormHandle,\n SaveAddressCommand,\n} from '@/checkout/components/AddressForm';\nimport { compareAddresses } from '@/checkout/containers/BillToShippingAddress';\nimport { BILLING_FORM_NAME } from '@/checkout/containers/BillingForm';\nimport { useAddressFormFields } from '@/checkout/context/address-form-fields';\nimport { AddressFormType } from '@/checkout/data/models';\nimport {\n cartSignal,\n customerSignal,\n isBillToShippingSignal,\n} from '@/checkout/signals';\nimport { Container } from '@adobe/elsie/lib';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'preact/compat';\n\nexport interface BillingFormProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport const BillingForm: Container<BillingFormProps> = (props) => {\n const addressFormRef = useRef<AddressFormHandle>(null);\n\n const { fields } = useAddressFormFields();\n\n const customer = customerSignal.value.data;\n const defaultBillingAddress = customer?.defaultBillingAddress;\n\n const cart = cartSignal.value.data;\n const cartId = cart?.id || '';\n const billingAddress = cart?.billingAddress;\n const shippingAddress = cart?.shippingAddresses?.[0];\n\n const { checked, setByUser } = isBillToShippingSignal.value;\n const isVisible = !checked;\n\n const autoFillForm = useMemo(() => {\n if (!fields || !isVisible) return false;\n if (!billingAddress) return !!defaultBillingAddress;\n return !compareAddresses(fields, billingAddress, shippingAddress);\n }, [\n isVisible,\n fields,\n billingAddress,\n shippingAddress,\n defaultBillingAddress,\n ]);\n\n const saveAddressHandler = useCallback(\n (command: SaveAddressCommand) => {\n return setBillingAddress({\n signal: command.signal,\n cartId,\n input: {\n address: checked ? undefined : prepareAddress(command.address),\n same_as_shipping: checked,\n },\n });\n },\n [cartId, checked]\n );\n\n useEffect(() => {\n if (!setByUser) return;\n\n const controller = new AbortController();\n\n if (!checked) {\n addressFormRef.current!.triggerSaveAddress(controller.signal);\n }\n\n return () => {\n controller.abort();\n };\n }, [checked, setByUser]);\n\n return (\n <AddressForm\n {...props}\n addressType={AddressFormType.BILLING}\n autoFill={autoFillForm}\n data-testid=\"billing-form\"\n headingId=\"Checkout.BillingAddress.title\"\n name={BILLING_FORM_NAME}\n ref={addressFormRef}\n saveAddressHandler={saveAddressHandler}\n style={{ display: isVisible ? 'block' : 'none' }}\n />\n );\n};\n"],"names":["BillingForm","props","addressFormRef","useRef","fields","useAddressFormFields","customer","customerSignal","value","data","defaultBillingAddress","cart","cartSignal","cartId","id","billingAddress","shippingAddress","shippingAddresses","checked","setByUser","isBillToShippingSignal","isVisible","autoFillForm","useMemo","compareAddresses","saveAddressHandler","useCallback","command","setBillingAddress","signal","input","address","undefined","prepareAddress","same_as_shipping","useEffect","controller","AbortController","current","triggerSaveAddress","abort","_jsx","AddressForm","addressType","AddressFormType","BILLING","autoFill","headingId","name","BILLING_FORM_NAME","ref","style","display"],"mappings":"okBA0BO,MAAMA,EAAsDC,GAAA,OAC3DC,MAAAA,EAAiBC,EAA0B,IAAI,EAE/C,CAAEC,OAAAA,GAAWC,EAAqB,EAElCC,EAAWC,EAAeC,MAAMC,KAChCC,EAAwBJ,GAAAA,YAAAA,EAAUI,sBAElCC,EAAOC,EAAWJ,MAAMC,KACxBI,GAASF,GAAAA,YAAAA,EAAMG,KAAM,GACrBC,EAAiBJ,GAAAA,YAAAA,EAAMI,eACvBC,GAAkBL,EAAAA,GAAAA,YAAAA,EAAMM,oBAANN,YAAAA,EAA0B,GAE5C,CAAEO,QAAAA,EAASC,UAAAA,CAAAA,EAAcC,EAAuBZ,MAChDa,EAAY,CAACH,EAEbI,EAAeC,EAAQ,IACvB,CAACnB,GAAU,CAACiB,EAAkB,GAC7BN,EACE,CAACS,EAAiBpB,EAAQW,EAAgBC,CAAe,EADpC,CAAC,CAACN,EAE7B,CACDW,EACAjB,EACAW,EACAC,EACAN,CAAqB,CACtB,EAEKe,EAAqBC,EACxBC,GACQC,EAAkB,CACvBC,OAAQF,EAAQE,OAChBhB,OAAAA,EACAiB,MAAO,CACLC,QAASb,EAAUc,OAAYC,EAAeN,EAAQI,OAAO,EAC7DG,iBAAkBhB,CACpB,CAAA,CACD,EAEH,CAACL,EAAQK,CAAO,CAClB,EAEAiB,OAAAA,EAAU,IAAM,CACd,GAAI,CAAChB,EAAW,OAEViB,MAAAA,EAAa,IAAIC,gBAEvB,OAAKnB,GACYoB,EAAAA,QAASC,mBAAmBH,EAAWP,MAAM,EAGvD,IAAM,CACXO,EAAWI,MAAM,CAAA,CACnB,EACC,CAACtB,EAASC,CAAS,CAAC,EAGrBsB,EAACC,EAAW,CAAA,GACNzC,EACJ0C,YAAaC,EAAgBC,QAC7BC,SAAUxB,EACV,cAAY,eACZyB,UAAU,gCACVC,KAAMC,EACNC,IAAKhD,EACLuB,mBAAAA,EACA0B,MAAO,CAAEC,QAAS/B,EAAY,QAAU,MAAO,CAAA,CAChD,CAEL"}
|
package/chunks/CartSummary.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{classes as b}from"@dropins/tools/lib.js";import{u as V,H as A}from"./ToggleButton.js";import{Card as T,Skeleton as _,SkeletonRow as I,CartItemSkeleton as p,Divider as O,Accordion as z,AccordionSection as H,Icon as N,CartItem as $,Image as P,Price as S}from"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import{m as Q,i as R,T as W,z as F}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";/* empty css */import{jsx as a,jsxs as o,Fragment as g}from"@dropins/tools/preact-jsx-runtime.js";import{S as j}from"./cart-item.js";import*as v from"@dropins/tools/preact-compat.js";import{useState as q,useCallback as M,useMemo as B}from"@dropins/tools/preact-compat.js";import{useText as w,Text as f}from"@dropins/tools/i18n.js";function G(n){window.location.href=n}const x=n=>v.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},v.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),v.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),X=()=>a(T,{children:o(_,{"data-testid":"cart-summary-skeleton",className:"checkout-cart-summary-skeleton",style:{gridTemplateColumns:"1fr"},children:[a(I,{variant:"heading",fullWidth:!0,size:"medium"}),a(p,{}),a(p,{}),a(p,{}),a(p,{}),a(p,{}),a(I,{size:"medium",fullWidth:!0})]})}),Z=()=>a(_,{"data-testid":"cart-summary-skeleton",className:"checkout-mobile-cart-summary-skeleton",style:{gridTemplateColumns:"1fr"},children:a(I,{fullWidth:!0,size:"xlarge"})}),D=({type:n,onClick:e,children:c})=>o(g,{children:[a(O,{className:"checkout-cart-summary__divider-bottom",variant:"primary"}),a("button",{"data-testid":`action-${n}`,className:"checkout-cart-summary__action",onClick:e,children:c})]}),U=({title:n,isLoading:e,totalQuantity:c,routeCart:t,items:r,taxIncluded:i,action:l})=>a(g,{children:e?a(Z,{}):a(z,{actionIconPosition:"left",children:o(H,{title:`${n} (${c})`,secondaryText:(t==null?void 0:t())&&a("a",{href:t==null?void 0:t(),rel:"noreferrer",children:a(f,{id:"Checkout.CartSummary.editCart"})}),children:[r==null?void 0:r.map(s=>a(E,{item:s,taxIncluded:i},s==null?void 0:s.uid)),l]})})}),J=({title:n,isLoading:e,totalQuantity:c,routeCart:t,items:r,action:i,taxIncluded:l})=>a(g,{children:e?a(X,{}):o(T,{children:[o("div",{className:"checkout-cart-summary__heading",children:[o(A,{level:2,className:"checkout-cart-summary__title",children:[n," (",c,")"]}),(t==null?void 0:t())&&a("a",{className:"checkout-cart-summary__edit",href:t==null?void 0:t(),rel:"noreferrer",children:a(f,{id:"Checkout.CartSummary.editCart"})})]}),a(O,{className:"checkout-cart-summary__divider-top",variant:"primary"}),a("div",{className:"checkout-cart-summary__items",children:r==null?void 0:r.map(s=>a(E,{item:s,taxIncluded:l},s==null?void 0:s.uid))}),i]})}),K=({className:n,...e})=>{const c=w("Checkout.CartSummary.title").title,t=V();return a("div",{className:b(["checkout-cart-summary",n]),children:t==="small"?a(U,{title:c,...e}):a(J,{title:c,...e})})},E=({className:n,item:e,taxIncluded:c=!1})=>{var u,h;const t=w({Sender:"Checkout.CartSummary.GiftCard.sender",Recipient:"Checkout.CartSummary.GiftCard.recipient",Message:"Checkout.CartSummary.GiftCard.message",Download:"Checkout.CartSummary.Downloadable.download",OutOfStockAlert:"Checkout.OutOfStock.alert",..."links"in e&&e.links?{Files:a(f,{id:"Checkout.CartSummary.Downloadable.files",plural:e.links.length,fields:{count:e.links.length}})}:{}});let r=e.regularPrice,i=e.total;c&&(r=e.priceInclTax,i=e.totalInclTax);const l={..."customizableOptions"in e?e.customizableOptions:{},..."configurableOptions"in e?e.configurableOptions:{},..."links"in e&&e.links?{[t.Files]:e.links.join(", ")}:{},..."senderName"in e&&e.senderName?{[t.Sender]:e.senderName}:{},..."recipientName"in e&&e.recipientName?{[t.Recipient]:e.recipientName}:{},..."senderEmail"in e&&"senderName"in e&&e.senderName&&e.senderEmail?{[t.Sender]:`${e.senderName} (${e.senderEmail})`}:{},..."recipientEmail"in e&&"recipientName"in e&&e.recipientName&&e.recipientEmail?{[t.Recipient]:`${e.recipientName} (${e.recipientEmail})`}:{},..."message"in e&&e.message&&e.message!=""?{[t.Message]:s(e.message,60)}:{}};function s(d,m){return d.length>m?`${d.slice(0,m)}...`:d}const y=e.stockStatus===j.OutOfStock?o("span",{"data-testid":"checkout-cart-item-alert",children:[a(N,{source:x,size:"16"}),t.OutOfStockAlert]}):void 0,k=!y&&e.onlyXLeftInStock?o("span",{"data-testid":"checkout-cart-item-low-inventory",children:[a(N,{source:x,size:"16"}),a(f,{id:"Checkout.OutOfStock.lowInventory",plural:e.onlyXLeftInStock,fields:{count:e.onlyXLeftInStock}})]}):void 0;return a("div",{className:b(["checkout-cart-summary-item",n]),children:a($,{"data-testid":"cart-summary-item",taxIncluded:c,title:a("div",{"data-testid":"product-name",children:e.name}),sku:a("div",{children:e.sku}),quantity:e.quantity,image:a(P,{src:((u=e.image)==null?void 0:u.src)??"",alt:(h=e.image)==null?void 0:h.alt,loading:"lazy",width:"80",height:"80",params:{width:80}}),warning:k,alert:y,configurations:l,price:a(S,{amount:e.regularPrice.value,currency:r.currency,weight:"normal"}),total:o(g,{children:[a(S,{amount:e.regularPrice.value*e.quantity,currency:r.currency,variant:e.discounted?"strikethrough":"default"}),e.discounted&&a(S,{amount:i.value,currency:i.currency,sale:!0})]})},e.uid)})},Y=5,ee={canDisplayMoreItems:!1,hasHiddenItems:!1,isLoading:!0,isTaxIncluded:!1,totalQuantity:0,visibleItems:[]};function ae(n){const{config:e}=Q(),c=e===void 0,t=R.value.data,r=t==null;if(c||r)return ee;const{cartSummaryMaxItems:i,cartSummaryTotalDisplay:l,taxCartDisplay:s}=e,y=l===W.Quantity,k=s.shoppingCartDisplayPrice===F.IncludingTax,{items:u,totalQty:h}=t,d=y?h:u.length,m=n?i:Math.min(i,Y),C=u.length>m,L=u.slice(0,m);return{canDisplayMoreItems:C&&!n&&m!=i,hasHiddenItems:C,isLoading:!1,isTaxIncluded:k,totalQuantity:d,visibleItems:L}}const ye=({routeCart:n,...e})=>{const[c,t]=q(!1),r=w({ViewAll:"Checkout.CartSummary.viewAll",ViewMore:"Checkout.CartSummary.viewMore"}),{canDisplayMoreItems:i,hasHiddenItems:l,isLoading:s,isTaxIncluded:y,visibleItems:k,totalQuantity:u}=ae(c),h=M(()=>{t(!0)},[]),d=M(()=>{n&&G(n())},[n]),m=B(()=>{if(l){if(i)return a(D,{type:"view-more",onClick:h,children:r.ViewMore});if(n)return a(D,{type:"view-all",onClick:d,children:r.ViewAll})}},[l,i,h,r.ViewMore,r.ViewAll,d,n]);return a(K,{...e,action:m,taxIncluded:y,isLoading:s,items:k,routeCart:n,totalQuantity:u})};export{ye as C,ae as u};
|
|
2
|
-
//# sourceMappingURL=CartSummary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartSummary.js","sources":["../../src/lib/redirect.ts","../../node_modules/@adobe/elsie/src/icons/WarningWithCircle.svg","../../src/components/CartSummary/CartSummarySkeleton.tsx","../../src/components/CartSummary/MobileCartSummarySkeleton.tsx","../../src/components/CartSummary/CartSummary.tsx","../../src/components/CartSummaryItem/CartSummaryItem.tsx","../../src/containers/CartSummary/constants.ts","../../src/containers/CartSummary/CartSummary.tsx"],"sourcesContent":["export function redirect(location: string): void {\n window.location.href = location;\n}\n","import * as React from \"react\";\nconst SvgWarningWithCircle = (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(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z\", stroke: \"currentColor\" }));\nexport default SvgWarningWithCircle;\n","import { FunctionComponent } from 'preact';\nimport { Card, Skeleton, SkeletonRow, CartItemSkeleton } from '@adobe/elsie/components';\n\nexport const CartSummarySkeleton: FunctionComponent = () => {\n return (\n <Card>\n <Skeleton\n data-testid=\"cart-summary-skeleton\"\n className=\"checkout-cart-summary-skeleton\"\n style={{ gridTemplateColumns: '1fr' }}\n >\n <SkeletonRow variant=\"heading\" fullWidth={true} size=\"medium\" />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <SkeletonRow size=\"medium\" fullWidth={true} />\n </Skeleton>\n </Card>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { Skeleton, SkeletonRow } from '@adobe/elsie/components';\n\nexport const MobileCartSummarySkeleton: FunctionComponent = () => {\n return (\n <Skeleton\n data-testid=\"cart-summary-skeleton\"\n className=\"checkout-mobile-cart-summary-skeleton\"\n style={{ gridTemplateColumns: '1fr' }}\n >\n <SkeletonRow fullWidth={true} size=\"xlarge\" />\n </Skeleton>\n );\n};\n","import { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/CartSummary/CartSummary.css';\nimport {\n Accordion,\n AccordionSection,\n Card,\n Divider,\n} from '@adobe/elsie/components';\nimport { Text, useText } from '@adobe/elsie/i18n';\nimport { CartSummaryItem, Heading } from '@/checkout/components';\nimport { CartSummarySkeleton } from '@/checkout/components/CartSummary/CartSummarySkeleton';\nimport { MobileCartSummarySkeleton } from '@/checkout/components/CartSummary/MobileCartSummarySkeleton';\nimport { useBreakpoint } from '@/checkout/hooks/useBreakpoint';\nimport { Item } from '@/checkout/data/models';\n\nexport type CartSummaryActionProps = {\n type: 'view-more' | 'view-all';\n onClick: () => void;\n};\n\nexport interface CartSummaryProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'action'> {\n action?: VNode<CartSummaryActionProps>;\n taxIncluded: boolean;\n isLoading: boolean;\n items: Item[];\n routeCart?: () => string;\n totalQuantity: number;\n}\n\nexport const CartSummaryAction: FunctionComponent<CartSummaryActionProps> = ({\n type,\n onClick,\n children,\n}) => {\n return (\n <>\n <Divider\n className=\"checkout-cart-summary__divider-bottom\"\n variant=\"primary\"\n />\n <button\n data-testid={`action-${type}`}\n className=\"checkout-cart-summary__action\"\n onClick={onClick}\n >\n {children}\n </button>\n </>\n );\n};\n\nconst Mobile: FunctionComponent<CartSummaryProps> = ({\n title,\n isLoading,\n totalQuantity,\n routeCart,\n items,\n taxIncluded,\n action,\n}) => {\n return (\n <>\n {isLoading ? (\n <MobileCartSummarySkeleton />\n ) : (\n <Accordion actionIconPosition=\"left\">\n <AccordionSection\n title={`${title} (${totalQuantity})`}\n secondaryText={\n routeCart?.() && (\n <a href={routeCart?.()} rel=\"noreferrer\">\n <Text id=\"Checkout.CartSummary.editCart\" />\n </a>\n )\n }\n >\n {items?.map((item) => (\n <CartSummaryItem\n key={item?.uid}\n item={item}\n taxIncluded={taxIncluded}\n />\n ))}\n\n {action}\n </AccordionSection>\n </Accordion>\n )}\n </>\n );\n};\n\nconst Desktop: FunctionComponent<CartSummaryProps> = ({\n title,\n isLoading,\n totalQuantity,\n routeCart,\n items,\n action,\n taxIncluded,\n}) => {\n return (\n <>\n {isLoading ? (\n <CartSummarySkeleton />\n ) : (\n <Card>\n <div className=\"checkout-cart-summary__heading\">\n <Heading level={2} className=\"checkout-cart-summary__title\">\n {title} ({totalQuantity})\n </Heading>\n\n {routeCart?.() && (\n <a\n className=\"checkout-cart-summary__edit\"\n href={routeCart?.()}\n rel=\"noreferrer\"\n >\n <Text id=\"Checkout.CartSummary.editCart\" />\n </a>\n )}\n </div>\n\n <Divider\n className=\"checkout-cart-summary__divider-top\"\n variant=\"primary\"\n />\n\n <div className=\"checkout-cart-summary__items\">\n {items?.map((item) => (\n <CartSummaryItem\n key={item?.uid}\n item={item}\n taxIncluded={taxIncluded}\n />\n ))}\n </div>\n\n {action}\n </Card>\n )}\n </>\n );\n};\n\nexport const CartSummary: FunctionComponent<CartSummaryProps> = ({\n className,\n ...props\n}) => {\n const title = useText('Checkout.CartSummary.title').title;\n const breakpoint = useBreakpoint();\n\n return (\n <div className={classes(['checkout-cart-summary', className])}>\n {breakpoint === 'small' ? (\n <Mobile title={title} {...props} />\n ) : (\n <Desktop title={title} {...props} />\n )}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/CartSummaryItem/CartSummaryItem.css';\nimport { WarningWithCircle } from '@adobe/elsie/icons';\nimport { CartItem, Icon, Image, Price } from '@adobe/elsie/components';\nimport { Item, StockStatus } from '@/checkout/data/models';\nimport { useText, Text } from '@adobe/elsie/i18n';\n\nexport interface CartSummaryItemProps extends HTMLAttributes<HTMLDivElement> {\n item: Item;\n taxIncluded?: boolean;\n}\n\nexport const CartSummaryItem: FunctionComponent<CartSummaryItemProps> = ({\n className,\n item,\n taxIncluded = false,\n}) => {\n const translations = useText({\n Sender: 'Checkout.CartSummary.GiftCard.sender',\n Recipient: 'Checkout.CartSummary.GiftCard.recipient',\n Message: 'Checkout.CartSummary.GiftCard.message',\n Download: 'Checkout.CartSummary.Downloadable.download',\n OutOfStockAlert: 'Checkout.OutOfStock.alert',\n ...('links' in item && item.links\n ? {\n Files: (\n <Text\n id=\"Checkout.CartSummary.Downloadable.files\"\n plural={item.links.length}\n fields={{\n count: item.links.length,\n }}\n />\n ),\n }\n : {}),\n });\n\n // Taking advantage of using withText() to build the string literal for translations.Files\n // https://github.com/synacor/preact-i18n/tree/2.3.1-preactx?tab=readme-ov-file#examples-4\n\n let price = item.regularPrice;\n let total = item.total;\n\n if (taxIncluded) {\n price = item.priceInclTax;\n total = item.totalInclTax;\n }\n\n const configurations = {\n ...('customizableOptions' in item ? item.customizableOptions : {}),\n ...('configurableOptions' in item ? item.configurableOptions : {}),\n ...('links' in item && item.links\n ? { [translations.Files]: item.links.join(', ') }\n : {}),\n ...('senderName' in item && item.senderName\n ? { [translations.Sender]: item.senderName }\n : {}),\n ...('recipientName' in item && item.recipientName\n ? { [translations.Recipient]: item.recipientName }\n : {}),\n ...('senderEmail' in item &&\n 'senderName' in item &&\n item.senderName &&\n item.senderEmail\n ? { [translations.Sender]: `${item.senderName} (${item.senderEmail})` }\n : {}),\n ...('recipientEmail' in item &&\n 'recipientName' in item &&\n item.recipientName &&\n item.recipientEmail\n ? {\n [translations.Recipient]: `${item.recipientName} (${item.recipientEmail})`,\n }\n : {}),\n ...('message' in item && item.message && item.message != ''\n ? { [translations.Message]: truncateMessage(item.message as string, 60) }\n : {}),\n };\n\n function truncateMessage(message: string, limit: number) {\n if (message.length > limit) {\n return `${message.slice(0, limit)}...`;\n }\n return message;\n }\n\n const alert =\n item.stockStatus === StockStatus.OutOfStock ? (\n <span data-testid=\"checkout-cart-item-alert\">\n <Icon source={WarningWithCircle} size=\"16\" />\n {translations.OutOfStockAlert}\n </span>\n ) : undefined;\n\n const lowInventory =\n !alert && item.onlyXLeftInStock ? (\n <span data-testid=\"checkout-cart-item-low-inventory\">\n <Icon source={WarningWithCircle} size=\"16\" />\n <Text\n id=\"Checkout.OutOfStock.lowInventory\"\n plural={item.onlyXLeftInStock}\n fields={{\n count: item.onlyXLeftInStock,\n }}\n />\n </span>\n ) : undefined;\n\n return (\n <div className={classes(['checkout-cart-summary-item', className])}>\n <CartItem\n data-testid=\"cart-summary-item\"\n key={item.uid}\n taxIncluded={taxIncluded}\n title={<div data-testid=\"product-name\">{item.name}</div>}\n sku={<div>{item.sku}</div>}\n quantity={item.quantity}\n image={\n <Image\n src={item.image?.src ?? ''}\n alt={item.image?.alt}\n loading=\"lazy\"\n width=\"80\"\n height=\"80\"\n params={{ width: 80 }}\n />\n }\n warning={lowInventory}\n alert={alert}\n configurations={configurations}\n price={\n <Price\n amount={item.regularPrice.value}\n currency={price.currency}\n weight=\"normal\"\n />\n }\n total={\n <>\n <Price\n amount={item.regularPrice.value * item.quantity}\n currency={price.currency}\n variant={item.discounted ? 'strikethrough' : 'default'}\n />\n\n {item.discounted && (\n <Price amount={total.value} currency={total.currency} sale />\n )}\n </>\n }\n />\n </div>\n );\n};\n","export const DEFAULT_VISIBLE_ITEMS = 5;\n","import {\n CartSummaryAction,\n CartSummary as CartSummaryComponent,\n} from '@/checkout/components/CartSummary/CartSummary';\nimport { DEFAULT_VISIBLE_ITEMS } from '@/checkout/containers/CartSummary/constants';\nimport { useStore } from '@/checkout/context/store';\nimport { Item, PriceDisplay, TotalDisplay } from '@/checkout/data/models';\nimport { redirect } from '@/checkout/lib';\nimport { cartSignal } from '@/checkout/signals';\nimport { useText } from '@adobe/elsie/i18n';\nimport { Container } from '@adobe/elsie/lib';\nimport { HTMLAttributes, useCallback, useMemo, useState } from 'preact/compat';\n\nexport interface CartSummaryProps extends HTMLAttributes<HTMLDivElement> {\n routeCart?: () => string;\n}\n\ntype CartSummaryState = {\n canDisplayMoreItems: boolean;\n hasHiddenItems: boolean;\n isLoading: boolean;\n isTaxIncluded: boolean;\n totalQuantity: number;\n visibleItems: Item[];\n};\n\nconst initialState: CartSummaryState = {\n canDisplayMoreItems: false,\n hasHiddenItems: false,\n isLoading: true,\n isTaxIncluded: false,\n totalQuantity: 0,\n visibleItems: [],\n};\n\nexport function useCartSummary(displayMaxItems: boolean): CartSummaryState {\n const { config } = useStore();\n const isLoadingStoreConfig = config === undefined;\n\n const cartData = cartSignal.value.data;\n const isLoadingCartData = cartData === undefined || cartData === null;\n\n if (isLoadingStoreConfig || isLoadingCartData) return initialState;\n\n const { cartSummaryMaxItems, cartSummaryTotalDisplay, taxCartDisplay } =\n config;\n\n const useQtys = cartSummaryTotalDisplay === TotalDisplay.Quantity;\n const isTaxIncluded =\n taxCartDisplay.shoppingCartDisplayPrice === PriceDisplay.IncludingTax;\n\n const { items, totalQty } = cartData;\n const totalQuantity = useQtys ? totalQty : items.length;\n\n const numOfVisibleItems = displayMaxItems\n ? cartSummaryMaxItems\n : Math.min(cartSummaryMaxItems, DEFAULT_VISIBLE_ITEMS);\n\n const hasHiddenItems = items.length > numOfVisibleItems;\n const visibleItems = items.slice(0, numOfVisibleItems);\n\n const canDisplayMoreItems =\n hasHiddenItems &&\n !displayMaxItems &&\n numOfVisibleItems != cartSummaryMaxItems;\n\n return {\n canDisplayMoreItems,\n hasHiddenItems,\n isLoading: false,\n isTaxIncluded,\n totalQuantity,\n visibleItems,\n };\n}\n\nexport const CartSummary: Container<CartSummaryProps> = ({\n routeCart,\n ...props\n}) => {\n const [displayMaxItems, setDisplayMaxItems] = useState<boolean>(false);\n\n const translations = useText({\n ViewAll: 'Checkout.CartSummary.viewAll',\n ViewMore: 'Checkout.CartSummary.viewMore',\n });\n\n const {\n canDisplayMoreItems,\n hasHiddenItems,\n isLoading,\n isTaxIncluded,\n visibleItems,\n totalQuantity,\n } = useCartSummary(displayMaxItems);\n\n const viewMaxItems = useCallback(() => {\n setDisplayMaxItems(true);\n }, []);\n\n const viewAllItems = useCallback(() => {\n if (!routeCart) return;\n redirect(routeCart());\n }, [routeCart]);\n\n const action = useMemo(() => {\n if (!hasHiddenItems) return;\n\n if (canDisplayMoreItems) {\n return (\n <CartSummaryAction type=\"view-more\" onClick={viewMaxItems}>\n {translations.ViewMore}\n </CartSummaryAction>\n );\n }\n\n if (routeCart) {\n return (\n <CartSummaryAction type=\"view-all\" onClick={viewAllItems}>\n {translations.ViewAll}\n </CartSummaryAction>\n );\n }\n }, [\n hasHiddenItems,\n canDisplayMoreItems,\n viewMaxItems,\n translations.ViewMore,\n translations.ViewAll,\n viewAllItems,\n routeCart,\n ]);\n\n return (\n <CartSummaryComponent\n {...props}\n action={action}\n taxIncluded={isTaxIncluded}\n isLoading={isLoading}\n items={visibleItems}\n routeCart={routeCart}\n totalQuantity={totalQuantity}\n />\n );\n};\n"],"names":["redirect","location","window","href","SvgWarningWithCircle","props","React","CartSummarySkeleton","_jsx","Card","children","_jsxs","Skeleton","className","style","gridTemplateColumns","SkeletonRow","variant","fullWidth","size","CartItemSkeleton","MobileCartSummarySkeleton","CartSummaryAction","type","onClick","_Fragment","Divider","Mobile","title","isLoading","totalQuantity","routeCart","items","taxIncluded","action","Accordion","actionIconPosition","AccordionSection","secondaryText","rel","Text","id","map","item","CartSummaryItem","uid","Desktop","Heading","level","CartSummary","useText","breakpoint","useBreakpoint","classes","translations","Sender","Recipient","Message","Download","OutOfStockAlert","links","Files","plural","length","fields","count","price","regularPrice","total","priceInclTax","totalInclTax","configurations","customizableOptions","configurableOptions","join","senderName","recipientName","senderEmail","recipientEmail","message","truncateMessage","limit","slice","alert","stockStatus","StockStatus","OutOfStock","Icon","source","WarningWithCircle","undefined","lowInventory","onlyXLeftInStock","CartItem","name","sku","quantity","image","Image","src","alt","loading","width","height","params","warning","Price","amount","value","currency","weight","discounted","sale","DEFAULT_VISIBLE_ITEMS","initialState","canDisplayMoreItems","hasHiddenItems","isTaxIncluded","visibleItems","useCartSummary","displayMaxItems","config","useStore","isLoadingStoreConfig","cartData","cartSignal","data","isLoadingCartData","cartSummaryMaxItems","cartSummaryTotalDisplay","taxCartDisplay","useQtys","TotalDisplay","Quantity","shoppingCartDisplayPrice","PriceDisplay","IncludingTax","totalQty","numOfVisibleItems","Math","min","setDisplayMaxItems","useState","ViewAll","ViewMore","viewMaxItems","useCallback","viewAllItems","useMemo","CartSummaryComponent"],"mappings":"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","x_google_ignoreList":[1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBanner.js","sources":["../../node_modules/@adobe/elsie/src/icons/WarningFilled.svg","../../src/containers/ErrorBanner/ErrorBanner.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (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(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","import { FunctionComponent, useEffect, useState } from 'preact/compat';\nimport { useText } from '@adobe/elsie/i18n';\nimport { events } from '@adobe/event-bus';\nimport { AlertBanner, AlertBannerProps, Icon } from '@adobe/elsie/components';\nimport { WarningFilled } from '@adobe/elsie/icons';\n\nexport const ErrorBanner: FunctionComponent<Partial<AlertBannerProps>> = (\n props\n) => {\n const [hasError, setHasError] = useState<boolean>(false);\n\n useEffect(() => {\n const subscription = events.on('error', (data) => {\n if (data?.source === 'checkout' && data?.type === 'network') {\n setHasError(true);\n }\n });\n return () => {\n subscription?.off();\n };\n }, []);\n\n const onDismiss = () => {\n setHasError(false);\n };\n\n const translations = useText({\n message: 'Checkout.ErrorBanner.genericMessage',\n label: 'Checkout.ErrorBanner.dismissLabel',\n });\n\n if (!hasError) return null;\n\n return (\n <AlertBanner\n {...props}\n data-testid=\"error-banner\"\n icon={<Icon source={WarningFilled} />}\n message={<span>{translations.message}</span>}\n onDismiss={onDismiss}\n variant=\"warning\"\n />\n );\n};\n"],"names":["SvgWarningFilled","props","React","ErrorBanner","hasError","setHasError","useState","useEffect","subscription","events","on","data","source","type","off","onDismiss","translations","useText","message","label","_jsx","AlertBanner","icon","Icon","WarningFilled","children","variant"],"mappings":"kWACA,MAAMA,EAAoBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,SAAU,UAAW,SAAU,UAAW,EAAG,yJAA0J,KAAM,cAAc,CAAE,CAAC,ECKheC,EAERF,GAAA,CACH,KAAM,CAACG,EAAUC,CAAW,EAAIC,EAAkB,EAAK,EAEvDC,EAAU,IAAM,CACd,MAAMC,EAAeC,EAAOC,GAAG,QAAmBC,GAAA,EAC5CA,GAAAA,YAAAA,EAAMC,UAAW,aAAcD,GAAAA,YAAAA,EAAME,QAAS,WAChDR,EAAY,EAAI,CAClB,CACD,EACD,MAAO,IAAM,CACXG,GAAAA,MAAAA,EAAcM,KAAI,CAEtB,EAAG,CAAE,CAAA,EAEL,MAAMC,EAAYA,IAAM,CACtBV,EAAY,EAAK,CAAA,EAGbW,EAAeC,EAAQ,CAC3BC,QAAS,sCACTC,MAAO,mCAAA,CACR,EAED,OAAKf,EAGHgB,EAACC,EAAW,CAAA,GACNpB,EACJ,cAAY,eACZqB,KAAMF,EAACG,EAAI,CAACX,OAAQY,CAAAA,CAAgB,EACpCN,QAASE,EAAA,OAAA,CAAAK,SAAOT,EAAaE,OAAAA,CAAc,EAC3CH,UAAAA,EACAW,QAAQ,SAAA,CACT,EAVmB,IAYxB","x_google_ignoreList":[0]}
|