@dropins/storefront-checkout 2.0.1 → 2.1.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/api/fragments.d.ts +4 -1
  2. package/api/getCompanyCredit/getCompanyCredit.d.ts +4 -0
  3. package/api/getCompanyCredit/graphql/getCompanyCredit.graphql.d.ts +18 -0
  4. package/api/getCompanyCredit/graphql/index.d.ts +18 -0
  5. package/{errors → api/getCompanyCredit}/index.d.ts +1 -1
  6. package/api/getNegotiableQuote/getNegotiableQuote.d.ts +22 -0
  7. package/api/getNegotiableQuote/graphql/getNegotiableQuote.graphql.d.ts +18 -0
  8. package/api/getNegotiableQuote/graphql/index.d.ts +18 -0
  9. package/{signals → api/getNegotiableQuote}/index.d.ts +2 -2
  10. package/api/getStoreConfig/getStoreConfig.d.ts +1 -0
  11. package/api/graphql/CartAddressFragment.graphql.d.ts +2 -2
  12. package/api/graphql/NegotiableQuoteAddressFragment.graphql.d.ts +19 -0
  13. package/api/graphql/NegotiableQuoteFragment.graphql.d.ts +18 -0
  14. package/api/graphql/{CartPaymentMethodFragment.graphql.d.ts → PaymentMethodFragment.graphql.d.ts} +2 -2
  15. package/api/graphql/ShippingMethodFragment.graphql.d.ts +19 -0
  16. package/api/index.d.ts +2 -2
  17. package/api/initialize/initialize.d.ts +21 -3
  18. package/api/initialize/listeners.d.ts +3 -17
  19. package/api/initializeCheckout/initializeCheckout.d.ts +2 -2
  20. package/api/setBillingAddress/graphql/index.d.ts +19 -0
  21. package/api/{setPaymentMethod/graphql/setPaymentMethod.graphql.d.ts → setBillingAddress/graphql/setBillingAddressOnCartMutation.graphql.d.ts} +2 -2
  22. package/api/setBillingAddress/graphql/setBillingAddressOnQuoteMutation.graphql.d.ts +18 -0
  23. package/api/setBillingAddress/setBillingAddress.d.ts +2 -2
  24. package/api/setPaymentMethod/graphql/index.d.ts +19 -0
  25. package/api/{setBillingAddress/graphql/setBillingAddress.graphql.d.ts → setPaymentMethod/graphql/setPaymentMethodOnCart.graphql.d.ts} +2 -2
  26. package/api/setPaymentMethod/graphql/setPaymentMethodOnQuote.graphql.d.ts +18 -0
  27. package/api/setPaymentMethod/setPaymentMethod.d.ts +2 -2
  28. package/api/setShippingAddress/graphql/index.d.ts +21 -0
  29. package/api/setShippingAddress/graphql/{setShippingAddressAndUseAsBilling.graphql.d.ts → setShippingAddressOnCartAndUseAsBillingMutation.graphql.d.ts} +2 -2
  30. package/api/setShippingAddress/graphql/{setShippingAddress.graphql.d.ts → setShippingAddressOnCartMutation.graphql.d.ts} +2 -2
  31. package/api/setShippingAddress/graphql/setShippingAddressOnQuote.graphql.d.ts +18 -0
  32. package/api/setShippingAddress/graphql/setShippingAddressOnQuoteAndUseAsBillingMutation.graphql.d.ts +18 -0
  33. package/api/setShippingAddress/setShippingAddress.d.ts +1 -1
  34. package/api/setShippingMethods/graphql/index.d.ts +19 -0
  35. package/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.d.ts +1 -1
  36. package/api/setShippingMethods/graphql/setShippingMethodsOnQuote.graphql.d.ts +18 -0
  37. package/api/setShippingMethods/index.d.ts +1 -0
  38. package/api/setShippingMethods/setShippingMethods.d.ts +3 -17
  39. package/api/synchronizeCheckout/synchronizeCheckout.d.ts +2 -2
  40. package/api.js +2 -66
  41. package/api.js.map +1 -1
  42. package/chunks/ConditionalWrapper.js +1 -1
  43. package/chunks/ConditionalWrapper.js.map +1 -1
  44. package/chunks/PaymentOnAccount2.js +4 -0
  45. package/chunks/PaymentOnAccount2.js.map +1 -0
  46. package/chunks/PurchaseOrder.js +4 -0
  47. package/chunks/PurchaseOrder.js.map +1 -0
  48. package/chunks/checkout.js.map +1 -1
  49. package/chunks/classifiers.js +4 -0
  50. package/chunks/classifiers.js.map +1 -0
  51. package/chunks/dom.js.map +1 -1
  52. package/chunks/events.js +4 -0
  53. package/chunks/events.js.map +1 -0
  54. package/chunks/events2.js +4 -0
  55. package/chunks/events2.js.map +1 -0
  56. package/chunks/fetch-graphql.js +14 -0
  57. package/chunks/fetch-graphql.js.map +1 -0
  58. package/chunks/getCompanyCredit.js +15 -0
  59. package/chunks/getCompanyCredit.js.map +1 -0
  60. package/chunks/guards.js +4 -0
  61. package/chunks/guards.js.map +1 -0
  62. package/chunks/render.js +10 -0
  63. package/chunks/render.js.map +1 -0
  64. package/chunks/setBillingAddress.js +25 -5
  65. package/chunks/setBillingAddress.js.map +1 -1
  66. package/chunks/setGuestEmailOnCart.js +3 -3
  67. package/chunks/setGuestEmailOnCart.js.map +1 -1
  68. package/chunks/setPaymentMethod.js +21 -6
  69. package/chunks/setPaymentMethod.js.map +1 -1
  70. package/chunks/setShippingAddress.js +109 -0
  71. package/chunks/setShippingAddress.js.map +1 -0
  72. package/chunks/setShippingMethods.js +19 -4
  73. package/chunks/setShippingMethods.js.map +1 -1
  74. package/chunks/synchronizeCheckout.js +13 -5
  75. package/chunks/synchronizeCheckout.js.map +1 -1
  76. package/chunks/transform-shipping-estimate.js +4 -0
  77. package/chunks/transform-shipping-estimate.js.map +1 -0
  78. package/chunks/transform-shipping-methods.js +4 -0
  79. package/chunks/transform-shipping-methods.js.map +1 -0
  80. package/chunks/values.js +1 -1
  81. package/chunks/values.js.map +1 -1
  82. package/components/AddressValidation/AddressValidation.d.ts +14 -0
  83. package/components/AddressValidation/index.d.ts +19 -0
  84. package/components/PaymentMethods/PaymentMethods.d.ts +1 -1
  85. package/components/PaymentOnAccount/PaymentOnAccount.d.ts +17 -0
  86. package/components/PaymentOnAccount/PaymentOnAccountSkeleton.d.ts +4 -0
  87. package/components/PaymentOnAccount/index.d.ts +20 -0
  88. package/components/PurchaseOrder/PurchaseOrder.d.ts +10 -0
  89. package/components/PurchaseOrder/index.d.ts +19 -0
  90. package/components/ShippingMethods/ShippingMethods.d.ts +1 -1
  91. package/components/index.d.ts +4 -1
  92. package/containers/AddressValidation/AddressValidation.d.ts +12 -0
  93. package/containers/AddressValidation/index.d.ts +19 -0
  94. package/containers/AddressValidation.d.ts +3 -0
  95. package/containers/AddressValidation.js +4 -0
  96. package/containers/AddressValidation.js.map +1 -0
  97. package/containers/BillToShippingAddress.js +1 -1
  98. package/containers/BillToShippingAddress.js.map +1 -1
  99. package/containers/EstimateShipping.js +1 -1
  100. package/containers/EstimateShipping.js.map +1 -1
  101. package/containers/LoginForm/LoginForm.d.ts +1 -1
  102. package/containers/LoginForm.js +1 -1
  103. package/containers/LoginForm.js.map +1 -1
  104. package/containers/MergedCartBanner.js +1 -1
  105. package/containers/MergedCartBanner.js.map +1 -1
  106. package/containers/OutOfStock.js +1 -1
  107. package/containers/OutOfStock.js.map +1 -1
  108. package/containers/PaymentMethods/PaymentMethods.d.ts +9 -8
  109. package/containers/PaymentMethods/handlers.d.ts +11 -0
  110. package/containers/PaymentMethods.js +1 -1
  111. package/containers/PaymentMethods.js.map +1 -1
  112. package/containers/PaymentOnAccount/PaymentOnAccount.d.ts +10 -0
  113. package/containers/PaymentOnAccount/index.d.ts +11 -0
  114. package/containers/PaymentOnAccount.d.ts +3 -0
  115. package/containers/PaymentOnAccount.js +4 -0
  116. package/containers/PaymentOnAccount.js.map +1 -0
  117. package/containers/PlaceOrder/PlaceOrder.d.ts +2 -1
  118. package/containers/PlaceOrder.js +1 -1
  119. package/containers/PlaceOrder.js.map +1 -1
  120. package/containers/PurchaseOrder/PurchaseOrder.d.ts +10 -0
  121. package/containers/PurchaseOrder/index.d.ts +19 -0
  122. package/containers/PurchaseOrder.d.ts +3 -0
  123. package/containers/PurchaseOrder.js +4 -0
  124. package/containers/PurchaseOrder.js.map +1 -0
  125. package/containers/ServerError/ServerError.d.ts +2 -1
  126. package/containers/ServerError.js +1 -1
  127. package/containers/ServerError.js.map +1 -1
  128. package/containers/ShippingMethods/ShippingMethods.d.ts +2 -2
  129. package/containers/ShippingMethods.js +1 -1
  130. package/containers/ShippingMethods.js.map +1 -1
  131. package/containers/TermsAndConditions.js +1 -1
  132. package/containers/TermsAndConditions.js.map +1 -1
  133. package/containers/index.d.ts +3 -0
  134. package/data/models/address.d.ts +11 -6
  135. package/data/models/api.d.ts +23 -10
  136. package/data/models/cart.d.ts +7 -7
  137. package/data/models/checkout.d.ts +14 -0
  138. package/data/models/company-credit.d.ts +7 -0
  139. package/data/models/country.d.ts +1 -1
  140. package/data/models/index.d.ts +3 -1
  141. package/data/models/{price.d.ts → money.d.ts} +2 -2
  142. package/data/models/payment-method.d.ts +2 -0
  143. package/data/models/quote.d.ts +16 -0
  144. package/data/models/shipping-estimate.d.ts +4 -4
  145. package/data/models/shipping-method.d.ts +4 -4
  146. package/data/models/values.d.ts +1 -1
  147. package/data/transforms/index.d.ts +9 -1
  148. package/data/transforms/transform-api.d.ts +12 -0
  149. package/data/transforms/{transform-address.d.ts → transform-cart-address.d.ts} +41 -43
  150. package/data/transforms/transform-cart.d.ts +1 -1
  151. package/data/transforms/transform-company-credit.d.ts +7 -0
  152. package/data/transforms/transform-country.d.ts +8 -0
  153. package/data/transforms/transform-custom-attributes.d.ts +5 -0
  154. package/data/transforms/transform-negotiable-quote.d.ts +7 -0
  155. package/data/transforms/transform-payment-methods.d.ts +1 -1
  156. package/data/transforms/transform-quote-address.d.ts +90 -0
  157. package/data/transforms/transform-region.d.ts +8 -0
  158. package/fragments.js +180 -70
  159. package/fragments.js.map +1 -1
  160. package/i18n/en_US.json.d.ts +26 -0
  161. package/lib/enqueueRequest.d.ts +2 -2
  162. package/lib/errors/classifiers.d.ts +38 -0
  163. package/lib/errors/customErrors.d.ts +42 -0
  164. package/lib/errors/index.d.ts +20 -0
  165. package/lib/errors/mapErrorToCode.d.ts +4 -0
  166. package/lib/events.d.ts +3 -2
  167. package/lib/guards.d.ts +18 -0
  168. package/lib/index.d.ts +2 -2
  169. package/lib/state.d.ts +5 -3
  170. package/lib/utils/api.d.ts +16 -0
  171. package/lib/utils/events.d.ts +10 -0
  172. package/lib/utils/forms.d.ts +5 -0
  173. package/lib/utils/fragments.d.ts +19 -0
  174. package/lib/utils/index.d.ts +24 -0
  175. package/lib/utils/meta.d.ts +19 -0
  176. package/lib/utils/transformers.d.ts +6 -0
  177. package/lib/utils.d.ts +1 -0
  178. package/lib/utils.js +4 -0
  179. package/lib/utils.js.map +1 -0
  180. package/package.json +1 -1
  181. package/render.js +4 -4
  182. package/render.js.map +1 -1
  183. package/tests/constants.d.ts +1 -0
  184. package/tests/fixtures/fragments/cart.d.ts +47 -42
  185. package/tests/fixtures/fragments/shipping-address.d.ts +2 -1
  186. package/tests/fixtures/helpers/session-storage.d.ts +68 -0
  187. package/tests/fixtures/index.d.ts +1 -0
  188. package/tests/fixtures/models/index.d.ts +1 -1
  189. package/tests/fixtures/models/quote.d.ts +9 -0
  190. package/tests/fixtures/queries/get-company-credit.d.ts +14 -0
  191. package/tests/fixtures/queries/index.d.ts +1 -0
  192. package/types/api.d.ts +6 -0
  193. package/types/{TitleProps.d.ts → components.d.ts} +2 -1
  194. package/types/guards.d.ts +5 -0
  195. package/types/index.d.ts +22 -0
  196. package/types/storefront.d.ts +165 -0
  197. package/types/utils.d.ts +19 -0
  198. package/chunks/ServerErrorSignal.js +0 -4
  199. package/chunks/ServerErrorSignal.js.map +0 -1
  200. package/chunks/errors.js +0 -14
  201. package/chunks/errors.js.map +0 -1
  202. package/errors/errors.d.ts +0 -30
  203. package/lib/network-error.d.ts +0 -22
  204. package/signals/ServerErrorSignal.d.ts +0 -18
  205. package/types/ComponentTypes.d.ts +0 -18
  206. /package/lib/{dom.d.ts → utils/dom.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { ReadonlySignal } from '@dropins/tools/types/elsie/src/lib/signals';
2
2
 
3
3
  export declare enum QueueName {
4
- CartUpdate = "cartUpdate",
4
+ Updates = "updates",
5
5
  Default = "default",
6
6
  ShippingEstimate = "shippingEstimate"
7
7
  }
8
8
  type Request<T> = () => Promise<T>;
9
9
  export declare function enqueueRequest<T>(requestFn: Request<T>, name?: QueueName): Promise<T>;
10
- export declare const hasPendingCartUpdates: ReadonlySignal<boolean>;
10
+ export declare const hasPendingUpdates: ReadonlySignal<boolean>;
11
11
  export declare const hasPendingShippingEstimate: ReadonlySignal<boolean>;
12
12
  export {};
13
13
  //# sourceMappingURL=enqueueRequest.d.ts.map
@@ -0,0 +1,38 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export type ErrorCode = string;
18
+ export declare enum ErrorCodes {
19
+ INVALID_INPUT = "INVALID_INPUT",
20
+ SERVER_ERROR = "SERVER_ERROR",
21
+ UNAUTHENTICATED = "UNAUTHENTICATED",
22
+ UNKNOWN_ERROR = "UNKNOWN_ERROR",
23
+ QUOTE_DATA_ERROR = "QUOTE_DATA_ERROR",
24
+ QUOTE_PERMISSION_DENIED = "QUOTE_PERMISSION_DENIED"
25
+ }
26
+ export interface ErrorClassifier {
27
+ /**
28
+ * The specific code to return if this classifier matches.
29
+ */
30
+ code: ErrorCode;
31
+ /**
32
+ * A function that returns `true` if it recognizes the error.
33
+ * It must safely handle `unknown` inputs.
34
+ */
35
+ matches: (error: unknown) => boolean;
36
+ }
37
+ export declare const classifiers: ErrorClassifier[];
38
+ //# sourceMappingURL=classifiers.d.ts.map
@@ -0,0 +1,42 @@
1
+ import { FetchQueryError } from '../../api/fetch-graphql';
2
+
3
+ export declare class FetchError extends Error {
4
+ constructor(reasons: FetchQueryError);
5
+ }
6
+ export declare class InvalidInput extends Error {
7
+ constructor(message: string);
8
+ }
9
+ export declare class MissingArgument extends InvalidInput {
10
+ constructor(argumentName: string);
11
+ }
12
+ export declare class MissingCart extends MissingArgument {
13
+ constructor();
14
+ }
15
+ export declare class MissingCartAndQuote extends InvalidInput {
16
+ constructor();
17
+ }
18
+ export declare class Unauthenticated extends Error {
19
+ constructor();
20
+ }
21
+ export declare class MissingNegotiableQuoteId extends MissingArgument {
22
+ constructor();
23
+ }
24
+ export declare class MissingEmail extends MissingArgument {
25
+ constructor();
26
+ }
27
+ export declare class MissingPaymentMethod extends MissingArgument {
28
+ constructor();
29
+ }
30
+ export declare class MissingShippingAddress extends MissingArgument {
31
+ constructor();
32
+ }
33
+ export declare class MissingShippingMethod extends MissingArgument {
34
+ constructor();
35
+ }
36
+ export declare class MissingBillingAddress extends MissingArgument {
37
+ constructor();
38
+ }
39
+ export declare class MissingCountry extends MissingArgument {
40
+ constructor();
41
+ }
42
+ //# sourceMappingURL=customErrors.d.ts.map
@@ -0,0 +1,20 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export * from './classifiers';
18
+ export * from './customErrors';
19
+ export * from './mapErrorToCode';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { ErrorCode } from './classifiers';
2
+
3
+ export declare function mapErrorToCode(error: unknown): ErrorCode;
4
+ //# sourceMappingURL=mapErrorToCode.d.ts.map
package/lib/events.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import { Cart as DataModel } from '../data/models';
1
+ import { Cart, NegotiableQuote } from '../data/models';
2
2
 
3
+ type DataModel = Cart | NegotiableQuote;
3
4
  export declare function getInitialCheckoutData(): DataModel | null;
4
5
  export declare function getLatestCheckoutUpdate(): DataModel | null;
5
6
  export declare function getCheckoutData(): DataModel | null;
6
7
  export declare function hasShippingAddress(): boolean;
7
- export declare function isVirtualCart(): boolean;
8
8
  export declare function getCartEmail(): string | null;
9
+ export {};
9
10
  //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1,18 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export declare const ensureHasCartOrQuoteId: () => void;
18
+ //# sourceMappingURL=guards.d.ts.map
package/lib/index.d.ts CHANGED
@@ -14,11 +14,11 @@
14
14
  * is strictly forbidden unless prior written permission is obtained
15
15
  * from Adobe.
16
16
  *******************************************************************/
17
+ export * from './utils';
17
18
  export * from './dispatchApiCall';
18
- export * from './dom';
19
19
  export * from './enqueueRequest';
20
+ export * from './errors/mapErrorToCode';
20
21
  export * from './events';
21
- export * from './network-error';
22
22
  export * from './preact';
23
23
  export * from './state';
24
24
  export * from './validation';
package/lib/state.d.ts CHANGED
@@ -2,11 +2,13 @@ import { StoreConfig } from '../data/models';
2
2
 
3
3
  type State = {
4
4
  authenticated: boolean;
5
- cartId: string | null;
6
- initialized: boolean;
5
+ cartId?: string | null;
7
6
  config: StoreConfig | null;
7
+ initialized: boolean;
8
+ quoteId?: string | null;
8
9
  };
9
10
  export declare const state: State;
10
- export declare const getStoreConfigCache: () => StoreConfig | null;
11
+ export declare function isQuoteCheckout(): boolean;
12
+ export declare function isCartCheckout(): boolean;
11
13
  export {};
12
14
  //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { RenderAPI } from '../../types';
2
+
3
+ type AddressFormChange = {
4
+ data: Record<string, any>;
5
+ isDataValid: boolean;
6
+ };
7
+ export declare function setAddressOnCart({ type, debounceMs, placeOrderBtn, }: {
8
+ type?: 'shipping' | 'billing';
9
+ debounceMs?: number;
10
+ placeOrderBtn?: RenderAPI;
11
+ }): ({ data, isDataValid }: AddressFormChange) => void;
12
+ export declare function estimateShippingCost({ debounceMs }: {
13
+ debounceMs?: number | undefined;
14
+ }): ({ data, isDataValid }: AddressFormChange) => void;
15
+ export {};
16
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Cart } from '../../data/models/cart';
2
+
3
+ type CartData = Cart | null;
4
+ export declare function isVirtualCart(data?: CartData): boolean;
5
+ export declare function isEmptyCart(data: CartData): boolean;
6
+ export declare function getCartShippingMethod(data: CartData): import('../../data/models/shipping-method').ShippingMethod | null | undefined;
7
+ export declare function getCartAddress(data: CartData, type?: 'shipping' | 'billing'): Record<string, any> | null;
8
+ export declare function getCartPaymentMethod(data: CartData): import('../../data/models/payment-method').PaymentMethod | null | undefined;
9
+ export {};
10
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1,5 @@
1
+ import { FormRef } from '../../types/storefront-account';
2
+ import { RefObject } from 'preact';
3
+
4
+ export declare function validateForm(formName: string, formRef: RefObject<FormRef>): boolean;
5
+ //# sourceMappingURL=forms.d.ts.map
@@ -0,0 +1,19 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export declare function createFragment(html: string): DocumentFragment;
18
+ export declare function createScopedSelector(fragment: DocumentFragment): (selector: string) => HTMLElement | null;
19
+ //# sourceMappingURL=fragments.d.ts.map
@@ -0,0 +1,24 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export * from './api';
18
+ export * from './events';
19
+ export * from './forms';
20
+ export * from './fragments';
21
+ export * from './meta';
22
+ export * from './transformers';
23
+ export * from './dom';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2025 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ export declare function createMetaTag(property: string, content: string, type: string): void;
18
+ export declare function setMetaTags(dropin: string): void;
19
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { BillingAddressInput, ShippingAddressInput } from '../../data/models/api';
2
+ import { CartAddress } from '../../data/models/cart';
3
+
4
+ export declare const transformAddressFormValuesToAddressInput: (data: Record<string, any>) => ShippingAddressInput | BillingAddressInput;
5
+ export declare const transformCartAddressToFormValues: (address: CartAddress) => Record<string, any>;
6
+ //# sourceMappingURL=transformers.d.ts.map
package/lib/utils.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './utils/index'
package/lib/utils.js ADDED
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import"../chunks/fetch-graphql.js";import{s as l,e as C}from"../chunks/setShippingAddress.js";import{debounce as f}from"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import{s as y}from"../chunks/setBillingAddress.js";import{b as H,c as J,g as K,a as L,i as Q}from"../chunks/events.js";import{s as X}from"../chunks/dom.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/transform-shipping-estimate.js";import"../chunks/transform-shipping-methods.js";import"../chunks/values.js";import"../chunks/synchronizeCheckout.js";import"../fragments.js";import"../chunks/classifiers.js";import"../chunks/guards.js";import"../chunks/events2.js";let p=0;function P({type:e="shipping",debounceMs:i=0,placeOrderBtn:o}){const r=e==="shipping"?l:y,t=f(s=>{p+=1,r(s).catch(console.error).finally(()=>{p-=1,p===0&&(o==null||o.setProps(n=>({...n,disabled:!1})))})},i);return({data:s,isDataValid:n})=>{if(!n)return;o==null||o.setProps(m=>({...m,disabled:!0}));const u=A(s);t(u)}}function _({debounceMs:e=0}){let i={},o=!1;const r=f(t=>{var n,u,m,g;if(o)return;const s={country_code:t.countryCode,region_name:String(((n=t.region)==null?void 0:n.regionCode)||""),region_id:String(((u=t.region)==null?void 0:u.regionId)||""),zip:t.postcode};C({criteria:s}),i={countryCode:t.countryCode,regionCode:((m=t.region)==null?void 0:m.regionCode)||"",regionId:((g=t.region)==null?void 0:g.regionId)||"",postcode:t.postcode}},e);return({data:t,isDataValid:s})=>{var n,u;if(s){o=!0;return}i.countryCode===t.countryCode&&i.regionCode===(((n=t.region)==null?void 0:n.regionCode)||"")&&i.regionId===(((u=t.region)==null?void 0:u.regionId)||"")&&i.postcode===t.postcode||r(t)}}function q(e,i){const o=document.forms.namedItem(e);return!o||!(o&&o.offsetParent!==null)?!0:(o.setAttribute("novalidate",""),i&&i.current?i.current.handleValidationSubmit(!1):o.checkValidity())}function D(e){return document.createRange().createContextualFragment(e)}function $(e){return function(i){return e.querySelector(i)}}function c(e,i,o){if(!e||!o)return;const r=document.head.querySelector(`meta[${o}="${e}"]`);if(!i){r==null||r.remove();return}if(r)r.setAttribute("content",i);else{const t=document.createElement("meta");t.setAttribute(o,e),t.setAttribute("content",i),document.head.appendChild(t)}}function z(e){c("title",e,"name"),c("description",e,"name"),c("keywords",e,"name"),c("og:description",e,"property"),c("og:title",e,"property"),c("og:url",window.location.href,"property")}const A=e=>{var r,t,s;if(!(!(e!=null&&e.id)&&!(e!=null&&e.uid)))return{customerAddressId:e.id,customerAddressUid:e.uid};const o=(r=e.customAttributes)==null?void 0:r.map(({code:n,value:u})=>({code:n,value:String(u)}));return{address:{city:e.city,company:e==null?void 0:e.company,countryCode:e.countryCode,customAttributes:o,fax:e.fax,firstName:e.firstName,lastName:e.lastName,middleName:e.middleName,postcode:e.postcode,prefix:e.prefix,region:(t=e==null?void 0:e.region)==null?void 0:t.regionCode,regionId:(s=e==null?void 0:e.region)==null?void 0:s.regionId,street:e.street,suffix:e.suffix,telephone:e.telephone,vatId:e.vatId,saveInAddressBook:e.saveAddressBook}}},U=e=>{var i,o,r;return{city:e.city,company:e==null?void 0:e.company,countryCode:(i=e.country)==null?void 0:i.code,customAttributes:e.customAttributes,fax:e.fax,firstName:e.firstName,lastName:e.lastName,middleName:e.middleName,postcode:e.postCode,prefix:e.prefix,region:{regionCode:(o=e.region)==null?void 0:o.code,regionId:(r=e.region)==null?void 0:r.id},street:e.street,suffix:e.suffix,telephone:e.telephone,vatId:e.vatId}};export{D as createFragment,c as createMetaTag,$ as createScopedSelector,_ as estimateShippingCost,H as getCartAddress,J as getCartPaymentMethod,K as getCartShippingMethod,L as isEmptyCart,Q as isVirtualCart,X as scrollToElement,P as setAddressOnCart,z as setMetaTags,A as transformAddressFormValuesToAddressInput,U as transformCartAddressToFormValues,q as validateForm};
4
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["/@dropins/storefront-checkout/src/lib/utils/api.ts","/@dropins/storefront-checkout/src/lib/utils/forms.ts","/@dropins/storefront-checkout/src/lib/utils/fragments.ts","/@dropins/storefront-checkout/src/lib/utils/meta.ts","/@dropins/storefront-checkout/src/lib/utils/transformers.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n estimateShippingMethods,\n setBillingAddress,\n setShippingAddress,\n} from '@/checkout/api';\nimport {\n BillingAddressInput,\n ShippingAddressInput,\n} from '@/checkout/data/models/api';\nimport { transformAddressFormValuesToAddressInput } from '@/checkout/lib/utils';\nimport { RenderAPI } from '@/checkout/types';\nimport { debounce } from '@adobe-commerce/elsie/lib';\n\ntype AddressFormChange = {\n data: Record<string, any>;\n isDataValid: boolean;\n};\n\nlet ongoingSetAddressCalls = 0;\n\nexport function setAddressOnCart({\n type = 'shipping',\n debounceMs = 0,\n placeOrderBtn,\n}: {\n type?: 'shipping' | 'billing';\n debounceMs?: number;\n placeOrderBtn?: RenderAPI;\n}) {\n const api = type === 'shipping' ? setShippingAddress : setBillingAddress;\n\n const debouncedApi = debounce(\n (address: ShippingAddressInput | BillingAddressInput) => {\n ongoingSetAddressCalls += 1;\n api(address)\n .catch(console.error)\n .finally(() => {\n ongoingSetAddressCalls -= 1;\n if (ongoingSetAddressCalls === 0) {\n placeOrderBtn?.setProps((prev) => ({ ...prev, disabled: false }));\n }\n });\n },\n debounceMs\n );\n\n return ({ data, isDataValid }: AddressFormChange) => {\n if (!isDataValid) return;\n placeOrderBtn?.setProps((prev) => ({ ...prev, disabled: true }));\n const address = transformAddressFormValuesToAddressInput(data);\n debouncedApi(address);\n };\n}\n\nexport function estimateShippingCost({ debounceMs = 0 }) {\n let prevEstimateShippingData: {\n countryCode?: string;\n regionCode?: string;\n regionId?: string;\n postcode?: string;\n } = {};\n\n let shouldCancelDebounce = false;\n\n const debouncedApi = debounce((data: Record<string, any>) => {\n if (shouldCancelDebounce) return;\n\n const estimateShippingInputCriteria = {\n country_code: data.countryCode,\n region_name: String(data.region?.regionCode || ''),\n region_id: String(data.region?.regionId || ''),\n zip: data.postcode,\n };\n\n estimateShippingMethods({ criteria: estimateShippingInputCriteria });\n\n prevEstimateShippingData = {\n countryCode: data.countryCode,\n regionCode: data.region?.regionCode || '',\n regionId: data.region?.regionId || '',\n postcode: data.postcode,\n };\n }, debounceMs);\n\n return ({ data, isDataValid }: AddressFormChange) => {\n if (isDataValid) {\n shouldCancelDebounce = true;\n return;\n }\n\n if (\n prevEstimateShippingData.countryCode === data.countryCode &&\n prevEstimateShippingData.regionCode === (data.region?.regionCode || '') &&\n prevEstimateShippingData.regionId === (data.region?.regionId || '') &&\n prevEstimateShippingData.postcode === data.postcode\n )\n return;\n\n debouncedApi(data);\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FormRef } from '@/checkout/types/storefront-account';\nimport { RefObject } from 'preact';\n\nexport function validateForm(\n formName: string,\n formRef: RefObject<FormRef>\n): boolean {\n const formElement = document.forms.namedItem(formName);\n\n if (!formElement) {\n return true;\n }\n\n const isVisible = formElement && formElement.offsetParent !== null;\n if (!isVisible) {\n return true;\n }\n\n formElement.setAttribute('novalidate', '');\n\n if (formRef && formRef.current) {\n return formRef.current.handleValidationSubmit(false);\n }\n\n return formElement.checkValidity();\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport function createFragment(html: string): DocumentFragment {\n return document.createRange().createContextualFragment(html);\n}\n\nexport function createScopedSelector(\n fragment: DocumentFragment\n): (selector: string) => HTMLElement | null {\n return function (selector: string): HTMLElement | null {\n return fragment.querySelector(selector);\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport function createMetaTag(property: string, content: string, type: string) {\n if (!property || !type) {\n return;\n }\n\n const meta = document.head.querySelector<HTMLMetaElement>(\n `meta[${type}=\"${property}\"]`\n );\n\n if (!content) {\n meta?.remove();\n return;\n }\n\n if (meta) {\n meta.setAttribute('content', content);\n } else {\n const newMeta = document.createElement('meta');\n newMeta.setAttribute(type, property);\n newMeta.setAttribute('content', content);\n document.head.appendChild(newMeta);\n }\n}\n\nexport function setMetaTags(dropin: string) {\n createMetaTag('title', dropin, 'name');\n createMetaTag('description', dropin, 'name');\n createMetaTag('keywords', dropin, 'name');\n createMetaTag('og:description', dropin, 'property');\n createMetaTag('og:title', dropin, 'property');\n createMetaTag('og:url', window.location.href, 'property');\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n BillingAddressInput,\n ShippingAddressInput,\n} from '@/checkout/data/models/api';\nimport { CartAddress } from '@/checkout/data/models/cart';\n\nexport const transformAddressFormValuesToAddressInput = (\n data: Record<string, any>\n): ShippingAddressInput | BillingAddressInput => {\n const isNewAddress = !data?.id && !data?.uid;\n\n if (!isNewAddress) {\n return {\n customerAddressId: data.id,\n customerAddressUid: data.uid,\n };\n }\n\n const customAttributes = data.customAttributes?.map(\n ({ code, value }: { code: string; value: unknown }) => ({\n code,\n value: String(value),\n })\n );\n\n return {\n address: {\n city: data.city,\n company: data?.company,\n countryCode: data.countryCode,\n customAttributes,\n fax: data.fax,\n firstName: data.firstName,\n lastName: data.lastName,\n middleName: data.middleName,\n postcode: data.postcode,\n prefix: data.prefix,\n region: data?.region?.regionCode,\n regionId: data?.region?.regionId,\n street: data.street,\n suffix: data.suffix,\n telephone: data.telephone,\n vatId: data.vatId,\n saveInAddressBook: data.saveAddressBook,\n },\n };\n};\n\nexport const transformCartAddressToFormValues = (\n address: CartAddress\n): Record<string, any> => {\n return {\n city: address.city,\n company: address?.company,\n countryCode: address.country?.code,\n customAttributes: address.customAttributes,\n fax: address.fax,\n firstName: address.firstName,\n lastName: address.lastName,\n middleName: address.middleName,\n postcode: address.postCode,\n prefix: address.prefix,\n region: {\n regionCode: address.region?.code,\n regionId: address.region?.id,\n },\n street: address.street,\n suffix: address.suffix,\n telephone: address.telephone,\n vatId: address.vatId,\n };\n};\n"],"names":["ongoingSetAddressCalls","setAddressOnCart","type","debounceMs","placeOrderBtn","api","setShippingAddress","setBillingAddress","debouncedApi","debounce","address","prev","data","isDataValid","transformAddressFormValuesToAddressInput","estimateShippingCost","prevEstimateShippingData","shouldCancelDebounce","estimateShippingInputCriteria","_a","_b","estimateShippingMethods","_c","_d","validateForm","formName","formRef","formElement","createFragment","html","createScopedSelector","fragment","selector","createMetaTag","property","content","meta","newMeta","setMetaTags","dropin","customAttributes","code","value","transformCartAddressToFormValues"],"mappings":"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"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-checkout", "version": "2.0.1", "@dropins/tools": "^1.4.0", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-checkout", "version": "2.1.0-alpha2", "@dropins/tools": "^1.5.0-beta2", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  (function(n,o){try{if(typeof document<"u"){const t=document.createElement("style"),r=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",r),t.appendChild(document.createTextNode(n));const a=document.querySelector('style[data-dropin="sdk"]');if(a)a.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__banner{margin-bottom:var(--spacing-xbig)}
4
- .checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.checkout-estimate-shipping__label,.checkout-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-estimate-shipping__price{text-align:right}.checkout-estimate-shipping__label--bold,.checkout-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__shipping .dropin-skeleton{grid-template-columns:1fr}.checkout-login-form__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content;margin:0 0 var(--spacing-medium) 0;align-items:center}.checkout-login-form__heading:empty{display:none}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__content .dropin-field__hint a{font-weight:400}.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,.checkout-login-form__title h2{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:0}.checkout-login-form__heading-label,.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}.checkout-login-form__heading-label a,a.checkout-login-form__link{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:1fr;grid-template-rows:1fr}.checkout-login-form__heading-label{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:var(--spacing-medium)}}.checkout-out-of-stock.dropin-card{border-color:var(--color-warning-500)}.checkout-out-of-stock .dropin-card__content{gap:var(--spacing-small);padding:var(--spacing-small)}.checkout-out-of-stock__title{color:var(--color-neutral-900);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin:0;display:flex;gap:var(--spacing-xxsmall);align-items:center;justify-content:left;text-align:center}.checkout-out-of-stock__message{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0}.checkout-out-of-stock__items{display:grid;grid-template-columns:repeat(5,100px);grid-gap:var(--spacing-small);list-style:none;padding:0;margin:0}.checkout-out-of-stock__item img{width:100%;height:auto}.checkout-out-of-stock__actions{display:flex;gap:var(--spacing-small);justify-content:flex-end}a.checkout-out-of-stock__action{color:var(--color-brand-500);font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.checkout-out-of-stock__action{color:var(--color-brand-500);font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);background:none;border:none;padding:0;cursor:pointer}.checkout-out-of-stock__action:hover{--textColor: var(--color-brand-700);text-decoration:solid underline var(--textColor);text-underline-offset:6px}@media only screen and (width >= 320px) and (width <= 768px){.checkout-out-of-stock__items{grid-template-columns:repeat(3,100px)}}.checkout-server-error{position:relative;text-align:center}.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-terms-and-conditions{display:grid}.checkout-terms-and-conditions__error{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-alert-800);text-align:left;margin-top:var(--spacing-xsmall)}.checkout-terms-and-conditions__error:empty{display:none}
5
4
  .checkout-shipping-methods__title,.checkout-shipping-methods__title h3{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--busy{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-methods__options--toggleButton{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-shipping-methods__options--toggleButton .dropin-toggle-button__content{justify-content:start;display:grid;grid-template-columns:1fr min-content}.checkout-shipping-methods__options--toggleButton .checkout-shipping-methods__method{margin-bottom:0;width:auto}.checkout-shipping-methods__error{margin-top:var(--spacing-medium)}
6
5
  .checkout-place-order{display:grid;padding-bottom:var(--spacing-big)}.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{background-color:var(--color-neutral-200);padding:var(--spacing-medium) var(--spacing-medium) var(--spacing-big) var(--spacing-medium)}.checkout-place-order__button{align-self:center;justify-self:stretch}}
7
- .checkout-payment-methods__title,.checkout-payment-methods__title h2{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-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__wrapper--busy{opacity:.4;pointer-events:none}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin-top:var(--spacing-xbig)}.checkout-payment-methods__content>div[data-slot=PaymentMethodSlot]:not(:empty){margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.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}.checkout-payment-methods__error{margin-top:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}
8
- .checkout-bill-to-shipping-address label{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);gap:0}.checkout-bill-to-shipping-address__error{margin-top:var(--spacing-medium)}`,{styleId:"checkout"});
9
- import{jsx as f}from"@dropins/tools/preact-jsx-runtime.js";import{Render as d}from"@dropins/tools/lib.js";import"./chunks/errors.js";import{events as y}from"@dropins/tools/event-bus.js";import{c as g}from"./chunks/synchronizeCheckout.js";import{UIProvider as p}from"@dropins/tools/components.js";import{useState as b,useEffect as h}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"./fragments.js";function O(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var S=function(r){return w(r)&&!E(r)};function w(e){return!!e&&typeof e=="object"}function E(e){var r=Object.prototype.toString.call(e);return r==="[object RegExp]"||r==="[object Date]"||j(e)}var v=typeof Symbol=="function"&&Symbol.for,P=v?Symbol.for("react.element"):60103;function j(e){return e.$$typeof===P}function M(e){return Array.isArray(e)?[]:{}}function i(e,r){return r.clone!==!1&&r.isMergeableObject(e)?o(M(e),e,r):e}function A(e,r,t){return e.concat(r).map(function(a){return i(a,t)})}function T(e,r){if(!r.customMerge)return o;var t=r.customMerge(e);return typeof t=="function"?t:o}function I(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(r){return Object.propertyIsEnumerable.call(e,r)}):[]}function u(e){return Object.keys(e).concat(I(e))}function m(e,r){try{return r in e}catch{return!1}}function C(e,r){return m(e,r)&&!(Object.hasOwnProperty.call(e,r)&&Object.propertyIsEnumerable.call(e,r))}function x(e,r,t){var a={};return t.isMergeableObject(e)&&u(e).forEach(function(n){a[n]=i(e[n],t)}),u(r).forEach(function(n){C(e,n)||(m(e,n)&&t.isMergeableObject(r[n])?a[n]=T(n,t)(e[n],r[n],t):a[n]=i(r[n],t))}),a}function o(e,r,t){t=t||{},t.arrayMerge=t.arrayMerge||A,t.isMergeableObject=t.isMergeableObject||S,t.cloneUnlessOtherwiseSpecified=i;var a=Array.isArray(r),n=Array.isArray(e),s=a===n;return s?a?t.arrayMerge(e,r,t):x(e,r,t):i(r,t)}o.all=function(r,t){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(a,n){return o(a,n,t)},{})};var D=o,_=D;const L=O(_),R={BillToShippingAddress:{cartSyncError:"We were unable to save your changes. Please try again later.",title:"Bill to shipping address"},EmptyCart:{button:"Start shopping",title:"Your cart is empty"},EstimateShipping:{estimated:"Estimated Shipping",freeShipping:"Free",label:"Shipping",taxToBeDetermined:"TBD",withoutTaxes:"Excluding taxes",withTaxes:"Including taxes"},LoginForm:{account:"Already have an account?",ariaLabel:"Email",emailExists:{alreadyHaveAccount:"It looks like you already have an account.",forFasterCheckout:"for a faster checkout.",signInButton:"Sign in"},floatingLabel:"Email *",invalidEmailError:"Please enter a valid email address.",missingEmailError:"Enter an email address.",cartSyncError:"We were unable to save your changes. Please try again later.",placeholder:"Enter your email address",signIn:"Sign In",signOut:"Sign Out",switch:"Do you want to switch account?",title:"Contact details"},MergedCartBanner:{items:{many:"{{count}} items from a previous session were added to your cart. Please review your new subtotal.",one:"1 item from a previous session was added to your cart. Please review your new subtotal."}},OutOfStock:{actions:{removeOutOfStock:"Remove out of stock items",reviewCart:"Review cart"},alert:"Out of stock!",lowInventory:{many:"Only {{count}} left!",one:"Last item!"},message:"The following items are out of stock:",title:"Your cart contains items that are out of stock"},PaymentMethods:{cartSyncError:"We were unable to save your changes. Please try again later.",emptyState:"No payment methods available",title:"Payment"},PlaceOrder:{button:"Place Order"},ServerError:{button:"Try again",contactSupport:"If you continue to have issues, please contact support.",title:"We were unable to process your order",unexpected:"An unexpected error occurred while processing your order. Please try again later."},ShippingMethods:{cartSyncError:"We were unable to save your changes. Please try again later.",emptyState:"This order can't be shipped to the address provided. Please review the address details you entered and make sure they're correct.",title:"Shipping options"},Summary:{Edit:"Edit"},TermsAndConditions:{error:"Please accept the Terms and Conditions to continue.",label:"I have read, understand, and accept our <a href='https://www.adobe.com/legal/terms.html' target='_blank'>Terms of Use, Terms of Sales, Privacy Policy, and Return Policy</a>."},title:"Checkout"},U={Checkout:R},B={default:U},k=({children:e})=>{var s;const[r,t]=b(),a=(s=g.getConfig())==null?void 0:s.langDefinitions;h(()=>{const c=y.on("locale",l=>{l!==r&&t(l)},{eager:!0});return()=>{c==null||c.off()}},[r]);const n=L(B,a??{});return f(p,{lang:r,langDefinitions:n,children:e})},G=new d(f(k,{}));export{k as Provider,G as render};
6
+ .checkout-payment-on-account{margin-bottom:var(--spacing-medium)}.checkout-payment-on-account__form{width:100%}.checkout-payment-on-account__credit{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-small);margin-bottom:var(--spacing-medium);background-color:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:4px;font-size:14px;line-height:1.4}.checkout-payment-on-account__credit-label{font-weight:500;color:var(--color-neutral-700)}.checkout-payment-on-account__credit-amount{font-weight:600;color:var(--color-success-600)}.checkout-payment-on-account__exceed-message{margin-top:var(--spacing-medium);margin-bottom:var(--spacing-medium)}.checkout-payment-on-account .dropin-field{margin-bottom:0}
7
+ .checkout-bill-to-shipping-address label{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);gap:0}.checkout-bill-to-shipping-address__error{margin-top:var(--spacing-medium)}
8
+ .checkout-address-validation{display:grid;gap:var(--spacing-medium)}.checkout-address-validation__options--busy{opacity:.4;pointer-events:none}.checkout-address-validation__title{margin-bottom:var(--spacing-small)}.checkout-address-validation__subtitle{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-address-validation__options{display:grid;gap:var(--spacing-xbig);grid-template-columns:1fr 1fr}.checkout-address-validation__option{margin:0}.checkout-address-validation__option-title{margin-bottom:var(--spacing-xsmall)}.checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.checkout-estimate-shipping__label,.checkout-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-estimate-shipping__price{text-align:right}.checkout-estimate-shipping__label--bold,.checkout-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__shipping .dropin-skeleton{grid-template-columns:1fr}.checkout-login-form__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content;margin:0 0 var(--spacing-medium) 0;align-items:center}.checkout-login-form__heading:empty{display:none}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__content .dropin-field__hint a{font-weight:400}.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,.checkout-login-form__title h2{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:0}.checkout-login-form__heading-label,.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}.checkout-login-form__heading-label a,a.checkout-login-form__link{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:1fr;grid-template-rows:1fr}.checkout-login-form__heading-label{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:var(--spacing-medium)}}.checkout-out-of-stock.dropin-card{border-color:var(--color-warning-500)}.checkout-out-of-stock .dropin-card__content{gap:var(--spacing-small);padding:var(--spacing-small)}.checkout-out-of-stock__title{color:var(--color-neutral-900);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin:0;display:flex;gap:var(--spacing-xxsmall);align-items:center;justify-content:left;text-align:center}.checkout-out-of-stock__message{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0}.checkout-out-of-stock__items{display:grid;grid-template-columns:repeat(5,100px);grid-gap:var(--spacing-small);list-style:none;padding:0;margin:0}.checkout-out-of-stock__item img{width:100%;height:auto}.checkout-out-of-stock__actions{display:flex;gap:var(--spacing-small);justify-content:flex-end}a.checkout-out-of-stock__action{color:var(--color-brand-500);font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.checkout-out-of-stock__action{color:var(--color-brand-500);font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);background:none;border:none;padding:0;cursor:pointer}.checkout-out-of-stock__action:hover{--textColor: var(--color-brand-700);text-decoration:solid underline var(--textColor);text-underline-offset:6px}@media only screen and (width >= 320px) and (width <= 768px){.checkout-out-of-stock__items{grid-template-columns:repeat(3,100px)}}.checkout-payment-methods__title,.checkout-payment-methods__title h2{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-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__wrapper--busy{opacity:.4;pointer-events:none}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin-top:var(--spacing-xbig)}.checkout-payment-methods__content>div[data-slot=PaymentMethodSlot]:not(:empty){margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.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}.checkout-payment-methods__error{margin-top:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-purchase-order{margin-bottom:var(--spacing-medium)}.checkout-purchase-order__form{width:100%}.checkout-purchase-order .dropin-field{margin-bottom:0}.checkout-server-error{position:relative;text-align:center}.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-terms-and-conditions{display:grid}.checkout-terms-and-conditions__error{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-alert-800);text-align:left;margin-top:var(--spacing-xsmall)}.checkout-terms-and-conditions__error:empty{display:none}`,{styleId:"checkout"});
9
+ import{P as x,r as b}from"./chunks/render.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/lib.js";import"./chunks/fetch-graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/synchronizeCheckout.js";import"./fragments.js";import"./chunks/transform-shipping-methods.js";import"./chunks/classifiers.js";import"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";export{x as Provider,b as render};
10
10
  //# sourceMappingURL=render.js.map
package/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sources":["../node_modules/deepmerge/dist/cjs.js","/@dropins/storefront-checkout/src/render/Provider.tsx","/@dropins/storefront-checkout/src/render/render.tsx"],"sourcesContent":["'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","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { config } from '@/checkout/api';\nimport { UIProvider } from '@adobe-commerce/elsie/components';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { deepmerge } from '@adobe-commerce/elsie/lib/deepmerge';\nimport { events } from '@adobe-commerce/event-bus';\nimport { FunctionComponent } from 'preact';\nimport { useEffect, 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 Provider: 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","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Render } from '@adobe-commerce/elsie/lib';\nimport { Provider } from './Provider';\nexport { Provider };\nexport const render = new Render(<Provider />);\n"],"names":["isMergeableObject","value","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","options","deepmerge","defaultArrayMerge","target","source","element","getMergeFunction","key","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","object","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","next","deepmerge_1","cjs","langDefinitions","en_US","Provider","children","locale","setLang","useState","userLangDefinitions","_a","config","useEffect","localeEvent","events","payload","definitions","UIProvider","render","Render","jsx"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"render.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -16,4 +16,5 @@
16
16
  *******************************************************************/
17
17
  export declare const TEST_CART_ID = "fake-cart-id";
18
18
  export declare const TEST_ORDER_ID = "fake-order-id";
19
+ export declare const TEST_QUOTE_ID = "fake-quote-id";
19
20
  //# sourceMappingURL=constants.d.ts.map
@@ -22,75 +22,60 @@ export declare const cartFixture: {
22
22
  total_quantity: number;
23
23
  billing_address?: {
24
24
  __typename?: "BillingCartAddress" | undefined;
25
- id?: number | null | undefined;
26
25
  city: string;
26
+ company?: string | null | undefined;
27
+ fax?: string | null | undefined;
27
28
  firstname: string;
29
+ id?: number | null | undefined;
28
30
  lastname: string;
29
- company?: string | null | undefined;
31
+ middlename?: string | null | undefined;
30
32
  postcode?: string | null | undefined;
31
- vat_id?: string | null | undefined;
32
- street: (string | null)[];
33
- telephone?: string | null | undefined;
34
33
  prefix?: string | null | undefined;
34
+ street: (string | null)[];
35
35
  suffix?: string | null | undefined;
36
- middlename?: string | null | undefined;
37
- fax?: string | null | undefined;
36
+ telephone?: string | null | undefined;
37
+ uid: string;
38
+ vat_id?: string | null | undefined;
38
39
  country: {
39
40
  __typename?: "CartAddressCountry" | undefined;
40
41
  code: string;
41
42
  label: string;
42
43
  };
43
- region?: {
44
- __typename?: "CartAddressRegion" | undefined;
45
- region_id?: number | null | undefined;
46
- code?: string | null | undefined;
47
- label?: string | null | undefined;
48
- } | null | undefined;
49
44
  custom_attributes: ({
45
+ __typename?: "AttributeFile" | undefined;
46
+ } | {
50
47
  __typename?: "AttributeSelectedOptions" | undefined;
51
48
  } | {
52
49
  __typename?: "AttributeValue" | undefined;
53
50
  code: string;
54
51
  value: string;
55
52
  } | null)[];
53
+ region?: {
54
+ __typename?: "CartAddressRegion" | undefined;
55
+ region_id?: number | null | undefined;
56
+ code?: string | null | undefined;
57
+ label?: string | null | undefined;
58
+ } | null | undefined;
56
59
  } | null | undefined;
57
60
  shipping_addresses: ({
58
61
  __typename?: "ShippingCartAddress" | undefined;
59
- id?: number | null | undefined;
62
+ city: string;
63
+ company?: string | null | undefined;
64
+ fax?: string | null | undefined;
60
65
  firstname: string;
66
+ id?: number | null | undefined;
61
67
  lastname: string;
62
- company?: string | null | undefined;
63
- street: (string | null)[];
64
- city: string;
68
+ middlename?: string | null | undefined;
65
69
  postcode?: string | null | undefined;
66
- vat_id?: string | null | undefined;
67
- telephone?: string | null | undefined;
68
- same_as_billing: boolean;
69
70
  prefix?: string | null | undefined;
71
+ same_as_billing: boolean;
72
+ street: (string | null)[];
70
73
  suffix?: string | null | undefined;
71
- middlename?: string | null | undefined;
72
- fax?: string | null | undefined;
73
- region?: {
74
- __typename?: "CartAddressRegion" | undefined;
75
- region_id?: number | null | undefined;
76
- code?: string | null | undefined;
77
- label?: string | null | undefined;
78
- } | null | undefined;
79
- country: {
80
- __typename?: "CartAddressCountry" | undefined;
81
- code: string;
82
- label: string;
83
- };
84
- custom_attributes: ({
85
- __typename?: "AttributeSelectedOptions" | undefined;
86
- } | {
87
- __typename?: "AttributeValue" | undefined;
88
- code: string;
89
- value: string;
90
- } | null)[];
74
+ telephone?: string | null | undefined;
75
+ uid: string;
76
+ vat_id?: string | null | undefined;
91
77
  available_shipping_methods?: ({
92
78
  __typename?: "AvailableShippingMethod" | undefined;
93
- available: boolean;
94
79
  carrier_code: string;
95
80
  carrier_title: string;
96
81
  error_message?: string | null | undefined;
@@ -112,6 +97,26 @@ export declare const cartFixture: {
112
97
  currency?: import('../../../__generated__/types').CurrencyEnum | null | undefined;
113
98
  };
114
99
  } | null)[] | null | undefined;
100
+ country: {
101
+ __typename?: "CartAddressCountry" | undefined;
102
+ code: string;
103
+ label: string;
104
+ };
105
+ custom_attributes: ({
106
+ __typename?: "AttributeFile" | undefined;
107
+ } | {
108
+ __typename?: "AttributeSelectedOptions" | undefined;
109
+ } | {
110
+ __typename?: "AttributeValue" | undefined;
111
+ code: string;
112
+ value: string;
113
+ } | null)[];
114
+ region?: {
115
+ __typename?: "CartAddressRegion" | undefined;
116
+ region_id?: number | null | undefined;
117
+ code?: string | null | undefined;
118
+ label?: string | null | undefined;
119
+ } | null | undefined;
115
120
  selected_shipping_method?: {
116
121
  __typename?: "SelectedShippingMethod" | undefined;
117
122
  carrier_code: string;
@@ -120,8 +125,8 @@ export declare const cartFixture: {
120
125
  method_title: string;
121
126
  amount: {
122
127
  __typename?: "Money" | undefined;
123
- value?: number | null | undefined;
124
128
  currency?: import('../../../__generated__/types').CurrencyEnum | null | undefined;
129
+ value?: number | null | undefined;
125
130
  };
126
131
  price_excl_tax: {
127
132
  __typename?: "Money" | undefined;