@dropins/storefront-checkout 1.3.0 → 1.4.0-beta2

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 (174) hide show
  1. package/__generated__/types.d.ts +12644 -0
  2. package/api/estimateShippingMethods/graphql/index.d.ts +15 -15
  3. package/api/estimateShippingMethods/index.d.ts +15 -15
  4. package/api/fetch-graphql/fetch-graphql.d.ts +19 -19
  5. package/api/fetch-graphql/index.d.ts +15 -15
  6. package/api/getCart/fixtures.d.ts +3 -2
  7. package/api/getCart/getCart.d.ts +16 -16
  8. package/api/getCart/graphql/index.d.ts +15 -15
  9. package/api/getCart/index.d.ts +15 -15
  10. package/api/getCheckoutAgreements/graphql/getCheckoutAgreements.graphql.d.ts +1 -1
  11. package/api/getCheckoutAgreements/index.d.ts +1 -1
  12. package/api/getCustomer/getCustomer.d.ts +1 -1
  13. package/api/getCustomer/graphql/index.d.ts +15 -15
  14. package/api/getCustomer/index.d.ts +15 -15
  15. package/api/getStoreConfig/graphql/getStoreConfig.graphql.d.ts +1 -1
  16. package/api/getStoreConfig/index.d.ts +15 -15
  17. package/api/index.d.ts +2 -1
  18. package/api/initialize/index.d.ts +15 -15
  19. package/api/initialize/initialize.d.ts +3 -3
  20. package/api/initializeCheckout/index.d.ts +15 -15
  21. package/api/initializeCheckout/initializeCheckout.d.ts +1 -1
  22. package/api/isEmailAvailable/graphql/isEmailAvailable.graphql.d.ts +15 -15
  23. package/api/isEmailAvailable/index.d.ts +15 -15
  24. package/api/setBillingAddress/index.d.ts +15 -15
  25. package/api/setBillingAddress/setBillingAddress.d.ts +1 -1
  26. package/api/setGuestEmailOnCart/index.d.ts +15 -15
  27. package/api/setGuestEmailOnCart/setGuestEmailOnCart.d.ts +1 -1
  28. package/api/setPaymentMethod/index.d.ts +15 -15
  29. package/api/setPaymentMethod/setPaymentMethod.d.ts +1 -1
  30. package/api/setShippingAddress/index.d.ts +15 -15
  31. package/api/setShippingAddress/setShippingAddress.d.ts +1 -1
  32. package/api/setShippingMethods/index.d.ts +15 -15
  33. package/api/setShippingMethods/setShippingMethods.d.ts +1 -1
  34. package/api/subscribeEmailToNewsletter/graphql/subscribeEmailToNewsletter.graphql.d.ts +18 -0
  35. package/{hocs → api/subscribeEmailToNewsletter}/index.d.ts +1 -1
  36. package/api/subscribeEmailToNewsletter/subscribeEmailToNewsletter.d.ts +4 -0
  37. package/api/synchronizeCheckout/synchronizeCheckout.d.ts +1 -1
  38. package/api.js +12 -6
  39. package/chunks/ConditionalWrapper.js +3 -0
  40. package/chunks/IsBillToShippingSignal.js +14 -0
  41. package/chunks/SelectedPaymentMethodSignal.js +3 -0
  42. package/chunks/SelectedShippingMethodSignal.js +3 -0
  43. package/chunks/ServerErrorSignal.js +3 -0
  44. package/chunks/TermsAndConditions.js +2 -2
  45. package/chunks/setBillingAddress.js +3 -3
  46. package/chunks/setGuestEmailOnCart.js +12 -4
  47. package/chunks/setPaymentMethod.js +3 -3
  48. package/chunks/setShippingMethods.js +3 -3
  49. package/chunks/subscription-email-statuses.js +3 -0
  50. package/chunks/synchronizeCheckout.js +5 -13
  51. package/components/BillToShippingAddress/BillToShippingAddress.d.ts +1 -2
  52. package/components/BillToShippingAddress/index.d.ts +15 -15
  53. package/components/ConditionalWrapper/ConditionalWrapper.d.ts +8 -0
  54. package/components/ConditionalWrapper/index.d.ts +19 -0
  55. package/components/EstimateShipping/EstimateShipping.d.ts +2 -2
  56. package/components/EstimateShipping/index.d.ts +15 -15
  57. package/components/LoginForm/LoginForm.d.ts +9 -12
  58. package/components/LoginForm/SignOut.d.ts +1 -1
  59. package/components/LoginForm/index.d.ts +15 -15
  60. package/components/Newsletter/Newsletter.d.ts +7 -0
  61. package/components/Newsletter/NewsletterSkeleton.d.ts +4 -0
  62. package/components/Newsletter/index.d.ts +20 -0
  63. package/components/OutOfStock/index.d.ts +15 -15
  64. package/components/PaymentMethods/PaymentMethods.d.ts +7 -5
  65. package/components/PlaceOrder/PlaceOrder.d.ts +1 -1
  66. package/components/PlaceOrder/index.d.ts +15 -15
  67. package/components/ServerError/index.d.ts +15 -15
  68. package/components/ShippingMethods/ShippingMethods.d.ts +8 -5
  69. package/components/ShippingMethods/index.d.ts +15 -15
  70. package/components/TermsAndConditions/TermsAndConditions.d.ts +1 -2
  71. package/components/index.d.ts +2 -0
  72. package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +3 -20
  73. package/containers/BillToShippingAddress.js +1 -1
  74. package/containers/EstimateShipping/index.d.ts +15 -15
  75. package/containers/EstimateShipping.js +1 -1
  76. package/containers/LoginForm/LoginForm.d.ts +10 -5
  77. package/containers/LoginForm.js +1 -1
  78. package/containers/MergedCartBanner/MergedCartBanner.d.ts +3 -5
  79. package/containers/MergedCartBanner.js +1 -1
  80. package/containers/Newsletter/Newsletter.d.ts +9 -0
  81. package/{utils/isUnexpectedError/isUnexpectedError.d.ts → containers/Newsletter/index.d.ts} +3 -2
  82. package/containers/Newsletter.d.ts +3 -0
  83. package/containers/Newsletter.js +3 -0
  84. package/containers/OutOfStock/OutOfStock.d.ts +1 -1
  85. package/containers/OutOfStock/index.d.ts +15 -15
  86. package/containers/OutOfStock.js +1 -1
  87. package/containers/PaymentMethods/PaymentMethods.d.ts +7 -7
  88. package/containers/PaymentMethods.js +1 -1
  89. package/containers/PlaceOrder/PlaceOrder.d.ts +4 -5
  90. package/containers/PlaceOrder/index.d.ts +15 -15
  91. package/containers/PlaceOrder.js +1 -1
  92. package/containers/ServerError/ServerError.d.ts +1 -1
  93. package/containers/ServerError.js +1 -1
  94. package/containers/ShippingMethods/ShippingMethods.d.ts +6 -7
  95. package/containers/ShippingMethods/index.d.ts +15 -15
  96. package/containers/ShippingMethods/utils/emitShippingEstimateEvent.d.ts +1 -1
  97. package/containers/ShippingMethods.js +1 -1
  98. package/containers/TermsAndConditions/TermsAndConditions.d.ts +1 -1
  99. package/containers/TermsAndConditions.js +1 -1
  100. package/containers/index.d.ts +1 -0
  101. package/data/models/country.d.ts +15 -15
  102. package/data/models/custom-attribute.d.ts +15 -15
  103. package/data/models/email-availability.d.ts +15 -15
  104. package/data/models/index.d.ts +1 -0
  105. package/data/models/payment-method.d.ts +15 -15
  106. package/data/models/price.d.ts +15 -15
  107. package/data/models/store-config.d.ts +2 -3
  108. package/{utils/index.d.ts → data/models/subscription-email-statuses.d.ts} +8 -6
  109. package/data/transforms/transform-cart.d.ts +2 -2
  110. package/data/transforms/transform-checkout-agreements.d.ts +1 -1
  111. package/data/transforms/transform-customer.d.ts +1 -1
  112. package/data/transforms/transform-shipping-methods.d.ts +2 -1
  113. package/{api/errors → errors}/errors.d.ts +1 -1
  114. package/{utils/convertCase → errors}/index.d.ts +1 -1
  115. package/i18n/en_US.json.d.ts +31 -28
  116. package/lib/dispatchApiCall.d.ts +16 -0
  117. package/lib/dom.d.ts +18 -0
  118. package/lib/enqueueRequest.d.ts +13 -0
  119. package/{api/utils → lib}/filterControlledErrors.d.ts +1 -1
  120. package/lib/index.d.ts +3 -1
  121. package/lib/network-error.d.ts +15 -15
  122. package/lib/preact.d.ts +4 -0
  123. package/msw/browser.d.ts +15 -15
  124. package/msw/fixtures/fragments/cart.d.ts +15 -15
  125. package/msw/fixtures/index.d.ts +15 -15
  126. package/msw/fixtures/mutations/index.d.ts +15 -15
  127. package/msw/fixtures/queries/index.d.ts +15 -15
  128. package/msw/server.d.ts +15 -15
  129. package/package.json +1 -1
  130. package/render/index.d.ts +15 -15
  131. package/render/render.d.ts +1 -1
  132. package/render.js +7 -6
  133. package/signals/IsSubscribedToNewsletterSignal.d.ts +18 -0
  134. package/signals/ShippingEstimateSignal.d.ts +8 -0
  135. package/signals/index.d.ts +2 -4
  136. package/tests/constants.d.ts +15 -15
  137. package/tests/integration/utils/index.d.ts +15 -15
  138. package/tests/integration/utils/user-actions.d.ts +15 -15
  139. package/tests/mocks/svg.d.ts +15 -15
  140. package/tests/utils/expectError.d.ts +15 -15
  141. package/tests/utils/index.d.ts +15 -15
  142. package/tests/utils/mockEvents.d.ts +15 -15
  143. package/{hooks/index.d.ts → types/ComponentTypes.d.ts} +2 -3
  144. package/types/TitleProps.d.ts +9 -0
  145. package/api/errors/index.d.ts +0 -18
  146. package/api/utils/dispatchApiCall.d.ts +0 -36
  147. package/api/utils/enqueueRequest.d.ts +0 -26
  148. package/chunks/errors.js +0 -3
  149. package/chunks/state.js +0 -3
  150. package/chunks/store-config.js +0 -3
  151. package/chunks/transform-store-config.js +0 -13
  152. package/chunks/withConditionalRendering.js +0 -3
  153. package/hocs/withConditionalRendering.d.ts +0 -13
  154. package/hooks/useBreakpoint/index.d.ts +0 -18
  155. package/hooks/useBreakpoint/useBreakpoint.d.ts +0 -18
  156. package/hooks/useStableList/index.d.ts +0 -2
  157. package/hooks/useStableList/useStableList.d.ts +0 -2
  158. package/lib/fetch-error.d.ts +0 -23
  159. package/signals/CartSignal.d.ts +0 -7
  160. package/signals/CustomerSignal.d.ts +0 -7
  161. package/signals/EmailSignal.d.ts +0 -26
  162. package/signals/EstimateShippingMethodsSignal.d.ts +0 -7
  163. package/utils/convertCase/convertCase.d.ts +0 -4
  164. package/utils/getDisplayName/getDisplayName.d.ts +0 -4
  165. package/utils/getDisplayName/index.d.ts +0 -18
  166. package/utils/isEmpty/index.d.ts +0 -18
  167. package/utils/isEmpty/isEmpty.d.ts +0 -18
  168. package/utils/isNullish/index.d.ts +0 -18
  169. package/utils/isNullish/isNullish.d.ts +0 -18
  170. package/utils/isUnexpectedError/index.d.ts +0 -18
  171. package/utils/scrollToElement/index.d.ts +0 -2
  172. package/utils/scrollToElement/scrollToElement.d.ts +0 -2
  173. package/utils/shippingMethods/index.d.ts +0 -18
  174. package/utils/shippingMethods/isEqual.d.ts +0 -4
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as k,Fragment as y,jsx as t}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Skeleton as v,SkeletonRow as M,Price as x}from"@dropins/tools/components.js";import"../chunks/TermsAndConditions.js";import{VComponent as A,classes as I}from"@dropins/tools/lib.js";import{Text as l,useText as w}from"@dropins/tools/i18n.js";/* empty css *//* empty css *//* empty css */import{T as C}from"../chunks/store-config.js";import{s as z}from"../chunks/state.js";import{events as g}from"@dropins/tools/event-bus.js";import{useState as B,useEffect as f}from"@dropins/tools/preact-hooks.js";const G=({estimated:e=!1,price:a,priceExclTax:d,taxExcluded:o=!1,taxIncluded:p=!1})=>k(y,{children:[t("span",{className:"checkout-estimate-shipping__label",children:e?t(l,{id:"Checkout.EstimateShipping.estimated"}):t(l,{id:"Checkout.EstimateShipping.label"})}),t(A,{node:a,className:"checkout-estimate-shipping__price"}),p&&t("span",{"data-testid":"shipping-tax-included",className:I(["checkout-estimate-shipping__caption"]),children:t(l,{id:"Checkout.EstimateShipping.withTaxes"})}),o&&k("span",{"data-testid":"shipping-tax-included-excluded",className:I(["checkout-estimate-shipping__caption"]),children:[d," ",t(l,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]}),L=()=>t(v,{"data-testid":"estimate-shipping-skeleton",children:t(M,{size:"xsmall"})}),Q=()=>{const[e,a]=B(),d=e!==void 0,o=(e==null?void 0:e.amount.value)===0,p=z.config,T=p==null?void 0:p.shoppingCartDisplaySetting.shipping,_=T===C.INCLUDING_EXCLUDING_TAX,E=T===C.INCLUDING_TAX,S=w({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined"});f(()=>{const i=g.on("shipping/estimate",n=>{const s=n.shippingMethod,{amount:c,amountExclTax:r,amountInclTax:m}=s;a({estimated:!0,amount:c,amountExclTax:r,amountInclTax:m})},{eager:!0});return()=>{i==null||i.off()}},[]),f(()=>{const i=g.on("checkout/initialized",n=>{var u,h;const s=(h=(u=n==null?void 0:n.shippingAddresses)==null?void 0:u[0])==null?void 0:h.selectedShippingMethod;if(!s)return;const{amount:c,amountExclTax:r,amountInclTax:m}=s;a({estimated:!1,amount:c,amountExclTax:r,amountInclTax:m})},{eager:!0});return()=>{i==null||i.off()}},[]),f(()=>{const i=g.on("checkout/updated",n=>{var u,h;const s=(h=(u=n==null?void 0:n.shippingAddresses)==null?void 0:u[0])==null?void 0:h.selectedShippingMethod;if(!s)return;const{amount:c,amountExclTax:r,amountInclTax:m}=s;a({estimated:!1,amount:c,amountExclTax:r,amountInclTax:m})},{eager:!0});return()=>{i==null||i.off()}},[]);const D=()=>o?t("span",{"data-testId":"free-shipping",children:S.freeShipping}):E&&(e!=null&&e.amountInclTax)?t(x,{"data-testid":"shipping",amount:e.amountInclTax.value,currency:e.amountInclTax.currency}):t(x,{"data-testid":"shipping",amount:e==null?void 0:e.amount.value,currency:e==null?void 0:e.amount.currency}),N=()=>e!=null&&e.amountExclTax?t(x,{"data-testid":"shipping-excluding-tax",amount:e.amountExclTax.value,currency:e.amountExclTax.currency}):t("span",{children:S.taxToBeDetermined});return t("div",{"data-testid":"estimate-shipping",className:"checkout-estimate-shipping",children:d?t(G,{estimated:e.estimated,price:D(),taxExcluded:_&&!o,taxIncluded:E&&!o,priceExclTax:N()}):t(L,{})})};export{Q as EstimateShipping,Q as default};
3
+ import{jsx as i,jsxs as S}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Skeleton as z,SkeletonRow as w,Price as h}from"@dropins/tools/components.js";import{W as B}from"../chunks/ConditionalWrapper.js";import"../chunks/TermsAndConditions.js";import{VComponent as k,classes as I}from"@dropins/tools/lib.js";import{Text as C,useText as G}from"@dropins/tools/i18n.js";/* empty css *//* empty css *//* empty css *//* empty css */import{s as P,T as D}from"../chunks/subscription-email-statuses.js";import{events as d}from"@dropins/tools/event-bus.js";import{useState as b,useCallback as X,useEffect as x}from"@dropins/tools/preact-hooks.js";const j=()=>i(z,{"data-testid":"estimate-shipping-skeleton",children:i(w,{size:"xsmall"})}),A=({label:o,price:p,priceExclTax:e,taxExcluded:n=!1,taxIncluded:l=!1})=>S("div",{className:"checkout-estimate-shipping","data-testid":"estimate-shipping",children:[i(k,{className:"checkout-estimate-shipping__label",node:o}),i(k,{className:"checkout-estimate-shipping__price",node:p}),l&&i("span",{className:I(["checkout-estimate-shipping__caption"]),"data-testid":"shipping-tax-included",children:i(C,{id:"Checkout.EstimateShipping.withTaxes"})}),n&&S("span",{className:I(["checkout-estimate-shipping__caption"]),"data-testid":"shipping-tax-included-excluded",children:[e," ",i(C,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]}),U=B(A,j),ie=()=>{var T;const[o,p]=b(!1),[e,n]=b(null),l=!o||o&&e!==null,u=(e==null?void 0:e.amount.value)===0,g=(T=P.config)==null?void 0:T.shoppingCartDisplaySetting.shipping,y=g===D.INCLUDING_EXCLUDING_TAX,f=g===D.INCLUDING_TAX,c=G({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined",label:"Checkout.EstimateShipping.label",estimated:"Checkout.EstimateShipping.estimated"}),r=X(t=>{var E;if(!t||t.isEmpty){n(null);return}const s=(E=t.shippingAddresses)==null?void 0:E[0],a=s==null?void 0:s.selectedShippingMethod;if(!a){n(null);return}const{amount:v,amountExclTax:L,amountInclTax:M}=a;n({estimated:!1,amount:v,amountExclTax:L,amountInclTax:M}),p(!0)},[]);x(()=>{const t=d.on("shipping/estimate",m=>{let s=null;if(m.shippingMethod){const a=m.shippingMethod;s={estimated:!0,amount:a.amount,amountExclTax:a.amountExclTax,amountInclTax:a.amountInclTax}}n(s),p(!0)},{eager:!0});return()=>{t==null||t.off()}},[]),x(()=>{const t=d.on("checkout/initialized",r,{eager:!0});return()=>{t==null||t.off()}},[r]),x(()=>{const t=d.on("checkout/updated",r,{eager:!1});return()=>{t==null||t.off()}},[r]);const _=()=>u?i("span",{"data-testId":"free-shipping",children:c.freeShipping}):f&&(e!=null&&e.amountInclTax)?i(h,{amount:e.amountInclTax.value,currency:e.amountInclTax.currency,"data-testid":"shipping"}):i(h,{amount:e==null?void 0:e.amount.value,currency:e==null?void 0:e.amount.currency,"data-testid":"shipping"}),N=()=>e!=null&&e.amountExclTax?i(h,{amount:e.amountExclTax.value,currency:e.amountExclTax.currency,"data-testid":"shipping-excluding-tax"}):i("span",{children:c.taxToBeDetermined});return i(U,{isInitialized:o,isVisible:l,label:(()=>{const t=e!=null&&e.estimated?c.estimated:c.label;return i("span",{"data-testid":"estimate-shipping-label",children:t})})(),price:_(),priceExclTax:N(),taxExcluded:y&&!u,taxIncluded:f&&!u})};export{ie as EstimateShipping,ie as default};
@@ -1,11 +1,16 @@
1
+ import { TitleProps } from '../../types/TitleProps';
2
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
1
3
  import { HTMLAttributes } from 'preact/compat';
2
4
 
3
- export interface LoginFormProps extends HTMLAttributes<HTMLFormElement> {
5
+ export interface LoginFormProps extends HTMLAttributes<HTMLFormElement>, TitleProps {
6
+ displayHeadingContent?: boolean;
4
7
  onSignInClick?: (email: string) => void;
5
8
  onSignOutClick?: () => void;
9
+ slots?: {
10
+ Heading?: SlotProps<{
11
+ authenticated: boolean;
12
+ }>;
13
+ } & TitleProps['slots'];
6
14
  }
7
- export declare const LoginForm: {
8
- ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & LoginFormProps): import("preact/compat").JSX.Element;
9
- displayName: string;
10
- };
15
+ export declare const LoginForm: Container<LoginFormProps>;
11
16
  //# sourceMappingURL=LoginForm.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as e,jsxs as m,Fragment as B}from"@dropins/tools/preact-jsx-runtime.js";import{s as M}from"../chunks/state.js";import{b as t,c as T,f as $}from"../chunks/transform-store-config.js";import"@dropins/tools/event-bus.js";import{classes as w}from"@dropins/tools/lib.js";import{i as I,s as V}from"../chunks/setGuestEmailOnCart.js";import{Field as H,Input as P,Skeleton as R,SkeletonRow as b}from"@dropins/tools/components.js";/* empty css */import"../chunks/TermsAndConditions.js";import{useText as N,Text as L}from"@dropins/tools/i18n.js";/* empty css *//* empty css *//* empty css */import{w as j}from"../chunks/withConditionalRendering.js";import{useRef as q,useEffect as x}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"@dropins/tools/signals.js";import"../chunks/errors.js";import"../chunks/synchronizeCheckout.js";import"../fragments.js";const D={EMAIL:/^[a-z0-9,!#$%&'*+/=?^_`{|}~-]+(\.[a-z0-9,!#$%&'*+/=?^_`{|}~-]+)*@([a-z0-9-]+\.)+[a-z]{2,}$/i},k=o=>D.EMAIL.test(o),W=({value:o,error:n,hint:d,onChange:g,onBlur:u,onInvalid:r})=>{const i=N({LoginFormLabel:"Checkout.LoginForm.ariaLabel",LoginFormFloatingLabel:"Checkout.LoginForm.floatingLabel",LoginFormPlaceholder:"Checkout.LoginForm.placeholder"});return e(H,{error:n,hint:d,children:e(P,{"aria-label":i.LoginFormLabel,"aria-required":!0,autocomplete:"email",floatingLabel:i.LoginFormFloatingLabel,id:"customer-email",name:"customer-email",onBlur:u,onChange:g,onInvalid:r,placeholder:i.LoginFormPlaceholder,required:!0,type:"email",value:o})})},G=({onClick:o})=>m("div",{className:"checkout-login-form__sign-in",children:[e(L,{id:"Checkout.LoginForm.account"}),e("a",{"data-testid":"sign-in-link",className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:o,children:e(L,{id:"Checkout.LoginForm.signIn"})})]}),U=({className:o,customerDetails:n,email:d,error:g,hint:u,loading:r=!1,name:i,onEmailBlur:F,onEmailChange:c,onEmailInvalid:s,onSignInClick:h,onSignOutClick:v,...p})=>{const _=N({Title:"Checkout.LoginForm.title"});return r?e(J,{}):m("div",{className:"checkout-login-form","data-testid":"checkout-login-form",children:[m("div",{className:"checkout-login-form__heading",children:[e("h2",{className:"checkout-login-form__title",children:_.Title}),n?e(K,{onClick:f=>{f.preventDefault(),v==null||v()}}):e(G,{onClick:f=>{f.preventDefault(),h==null||h(d)}})]}),n?m("div",{className:"checkout-login-form__customer-details",children:[e("div",{className:"checkout-login-form__customer-name",children:`${n.firstName} ${n.lastName}`}),e("div",{className:"checkout-login-form__customer-email",children:n.email})]}):e("div",{className:"checkout-login-form__content",children:m("form",{...p,className:w(["dropin-login-form__form",o]),name:i,noValidate:!0,children:[e("button",{type:"submit",disabled:!0,style:"display: none","aria-hidden":"true"}),e(W,{value:d,error:g,hint:u,onChange:c,onBlur:F,onInvalid:s})]})})]})},J=()=>m(R,{"data-testid":"login-form-skeleton",children:[e(b,{variant:"heading",fullWidth:!0}),e(b,{size:"medium",fullWidth:!0})]}),K=({onClick:o})=>m("p",{className:"checkout-login-form__sign-out",children:[e(L,{id:"Checkout.LoginForm.switch"}),e("a",{className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:o,children:e(L,{id:"Checkout.LoginForm.signOut"})})]}),O=1e3,C=({onSignInClick:o,onSignOutClick:n,initialData:d,...g})=>{const u=q(""),r=t.value,i=T.value.data,F=(i==null?void 0:i.email)||"",c=$.value.data,s=N({LoginFormInvalidEmailError:"Checkout.LoginForm.invalidEmailError",LoginFormMissingEmailError:"Checkout.LoginForm.missingEmailError",LoginFormEmailExistsAlreadyHaveAccount:"Checkout.LoginForm.emailExists.alreadyHaveAccount",LoginFormEmailExistsSignInButton:"Checkout.LoginForm.emailExists.signInButton",LoginFormEmailExistsForFasterCheckout:"Checkout.LoginForm.emailExists.forFasterCheckout"}),h=a=>a.valid?"":a.valueMissing?s.LoginFormMissingEmailError:s.LoginFormInvalidEmailError,v=a=>k(a)?"":a===""?s.LoginFormMissingEmailError:s.LoginFormInvalidEmailError,p=a=>{const l=a.target;t.value={...t.value,available:!0,error:"",pending:!0,value:l.value}},_=a=>{const l=a.target,E=v(l.value);l.setCustomValidity(E),t.value={...t.value,error:E}},f=a=>{const l=a.target;t.value={...t.value,error:h(l.validity)}};x(()=>{!i||r.initialized||(t.value={available:!0,error:"",initialized:!0,pending:!1,value:i.email??""})},[i,r]),x(()=>{if(!r.initialized||M.authenticated)return;const a=setTimeout(()=>{if(!k(r.value)||r.value===u.current){t.value={...t.value,pending:!1};return}u.current=r.value,I(r.value).then(l=>{const E=F!==r.value;t.value={...t.value,available:l,pending:E},E&&V(r.value).catch(console.error).finally(()=>{t.value={...t.value,pending:!1}})}).catch(l=>{console.error(l),t.value={...t.value,available:!0,pending:!1}})},O);return()=>{a&&clearTimeout(a)}},[F,r]);const y=r.available?"":m(B,{children:[s.LoginFormEmailExistsAlreadyHaveAccount," ",e("a",{href:"#",onClick:a=>{a.preventDefault(),o==null||o(r.value)},children:s.LoginFormEmailExistsSignInButton})," ",s.LoginFormEmailExistsForFasterCheckout]}),z=a=>{o==null||o(k(a)?a:"")},A=c?{firstName:c.firstName,lastName:c.lastName,email:c.email}:void 0;return e(U,{...g,customerDetails:A,email:r.value,error:r.error,hint:y,loading:r.initialized===!1,onEmailBlur:_,onEmailChange:p,onEmailInvalid:f,onSignInClick:z,onSignOutClick:n})};C.displayName="LoginFormContainer";const fe=j(C);export{fe as LoginForm,fe as default};
3
+ import{jsx as t,jsxs as m,Fragment as te}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/subscription-email-statuses.js";import{VComponent as S,classes as re,Slot as j}from"@dropins/tools/lib.js";import"../chunks/IsBillToShippingSignal.js";import{events as z}from"@dropins/tools/event-bus.js";import{i as ie,s as oe,g as ne}from"../chunks/setGuestEmailOnCart.js";import{Field as ae,Input as le,Skeleton as ce,SkeletonRow as q}from"@dropins/tools/components.js";import{useText as w,Text as N}from"@dropins/tools/i18n.js";/* empty css */import{W as se}from"../chunks/ConditionalWrapper.js";import"../chunks/TermsAndConditions.js";/* empty css *//* empty css *//* empty css *//* empty css */import{useState as h,useRef as I,useCallback as g,useEffect as V,useMemo as D}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../fragments.js";import"../chunks/synchronizeCheckout.js";const me={EMAIL:/^[a-z0-9,!#$%&'*+/=?^_`{|}~-]+(\.[a-z0-9,!#$%&'*+/=?^_`{|}~-]+)*@([a-z0-9-]+\.)+[a-z]{2,}$/i},$=n=>me.EMAIL.test(n),ue=({value:n,error:i,hint:c,onChange:s,onBlur:f,onInvalid:l})=>{const u=w({LoginFormLabel:"Checkout.LoginForm.ariaLabel",LoginFormFloatingLabel:"Checkout.LoginForm.floatingLabel",LoginFormPlaceholder:"Checkout.LoginForm.placeholder"});return t(ae,{error:i,hint:c,children:t(le,{"aria-label":u.LoginFormLabel,"aria-required":!0,autocomplete:"email",floatingLabel:u.LoginFormFloatingLabel,id:"customer-email",name:"customer-email",placeholder:u.LoginFormPlaceholder,required:!0,type:"email",value:n,onBlur:f,onChange:s,onInvalid:l})})},de=({onClick:n})=>m("div",{className:"checkout-login-form__sign-in",children:[t(N,{id:"Checkout.LoginForm.account"}),t("a",{className:"checkout-login-form__link","data-testid":"sign-in-link",href:"#",rel:"noreferrer",target:"_blank",onClick:i=>{i.preventDefault(),n(i)},children:t(N,{id:"Checkout.LoginForm.signIn"})})]}),he=()=>m(ce,{"data-testid":"login-form-skeleton",children:[t(q,{fullWidth:!0,variant:"heading"}),t(q,{fullWidth:!0,size:"medium"})]}),ge=({className:n,customer:i,email:c,error:s,headingContent:f,hint:l,name:u,onEmailBlur:A,onEmailChange:y,onEmailInvalid:M,title:E,...H})=>m("div",{className:"checkout-login-form","data-testid":"checkout-login-form",children:[m("div",{className:"checkout-login-form__heading",children:[E&&t(S,{className:"checkout-login-form__title",node:E}),f&&t(S,{className:"checkout-login-form__heading-label",node:f})]}),i?m("div",{className:"checkout-login-form__customer-details",children:[t("div",{className:"checkout-login-form__customer-name",children:`${i.firstName} ${i.lastName}`}),t("div",{className:"checkout-login-form__customer-email",children:i.email})]}):t("div",{className:"checkout-login-form__content",children:m("form",{...H,noValidate:!0,className:re(["dropin-login-form__form",n]),name:u,children:[t("button",{disabled:!0,"aria-hidden":"true",style:"display: none",type:"submit"}),t(ue,{error:s,hint:l,value:c,onBlur:A,onChange:y,onInvalid:M})]})})]}),fe=se(ge,he),Ee=({onClick:n})=>m("p",{className:"checkout-login-form__sign-out",children:[t(N,{id:"Checkout.LoginForm.switch"}),t("a",{className:"checkout-login-form__link",href:"#",rel:"noreferrer",target:"_blank",onClick:i=>{i.preventDefault(),n==null||n(i)},children:t(N,{id:"Checkout.LoginForm.signOut"})})]}),ve=1e3,Pe=({displayTitle:n=!0,displayHeadingContent:i=!0,onSignInClick:c,onSignOutClick:s,initialData:f,slots:l,...u})=>{const[A,y]=h(null),[M,E]=h(""),[H,v]=h(""),[T,R]=h(!1),[B,k]=h(!0),[G,J]=h(!1),[K,O]=h(!0),P=I(!1),x=I(""),L=I(""),d=I(null),r=w({AlreadyHaveAccountHint:"Checkout.LoginForm.emailExists.alreadyHaveAccount",FasterCheckoutHint:"Checkout.LoginForm.emailExists.forFasterCheckout",InvalidEmailError:"Checkout.LoginForm.invalidEmailError",MissingEmailError:"Checkout.LoginForm.missingEmailError",SignInLabel:"Checkout.LoginForm.emailExists.signInButton",Title:"Checkout.LoginForm.title"}),p=g(e=>{!$(e)||e===x.current||Promise.all([ie(e),oe(e)]).then(([o])=>{k(o),x.current=e}).catch(o=>{console.error(o),k(!0)})},[]),Q=g(e=>{const a=e.target.value;E(a),k(!0),v(""),L.current=a,d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{p(a),d.current=null},ve)},[p]),U=g(e=>{const o=e.target,a=o.value.trim(),b=$(a);let C="";a===""?C=r.MissingEmailError:b||(C=r.InvalidEmailError),v(C),o.setCustomValidity(C),b&&d.current&&(clearTimeout(d.current),d.current=null,p(a))},[r.InvalidEmailError,r.MissingEmailError,p]),X=g(e=>{const b=e.target.validity.valueMissing?r.MissingEmailError:r.InvalidEmailError;v(b)},[r.MissingEmailError,r.InvalidEmailError]),F=g(()=>{const e=L.current;c==null||c($(e)?e:"")},[c]),W=g(()=>{L.current="",s==null||s()},[s]),_=g(e=>{const o=!!e&&!e.isEmpty;if(O(o),!o||P.current)return;const a=e.email??"";E(a),v(""),k(!0),P.current=!0,L.current=a,x.current=a},[]);V(()=>{const e=z.on("authenticated",o=>{R(o),ne().then(a=>{y(a)}).catch(console.error)},{eager:!0});return()=>{e==null||e.off()}},[]),V(()=>{const e=z.on("checkout/initialized",o=>{J(!0),_(o)},{eager:!0});return()=>{e==null||e.off()}},[_]),V(()=>{const e=z.on("checkout/updated",_,{eager:!1});return()=>{e==null||e.off()}},[_]);const Y=D(()=>{if(n)return t(j,{name:"checkout-login-form-title",slot:l==null?void 0:l.Title,children:t("h2",{children:r.Title})})},[n,l,r.Title]),Z=D(()=>{if(i)return t(j,{context:{authenticated:T},name:"checkout-login-form-heading-label",slot:l==null?void 0:l.Heading,children:T?t(Ee,{onClick:W}):t(de,{onClick:F})})},[i,T,l,F,W]),ee=D(()=>B?"":m(te,{children:[r.AlreadyHaveAccountHint," ",t("a",{href:"#",onClick:F,children:r.SignInLabel})," ",r.FasterCheckoutHint]}),[B,r.AlreadyHaveAccountHint,r.SignInLabel,r.FasterCheckoutHint,F]);return t(fe,{...u,customer:A,email:M,error:H,headingContent:Z,hint:ee,isInitialized:G,isVisible:K,title:Y,onEmailBlur:U,onEmailChange:Q,onEmailInvalid:X})};export{Pe as LoginForm,Pe as default};
@@ -1,7 +1,5 @@
1
- import { AlertBannerProps } from '@dropins/tools/types/elsie/src/components';
1
+ import { AlertBannerProps } from '../../../@adobe-commerce/elsie/src/components';
2
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib/types';
2
3
 
3
- export declare const MergedCartBanner: {
4
- ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs').ConditionalProps & AlertBannerProps): import("preact").JSX.Element;
5
- displayName: string;
6
- };
4
+ export declare const MergedCartBanner: Container<AlertBannerProps>;
7
5
  //# sourceMappingURL=MergedCartBanner.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{AlertBanner as g,Icon as u}from"@dropins/tools/components.js";import{c as h}from"../chunks/classes.js";import{events as B}from"@dropins/tools/event-bus.js";import{useState as I,useEffect as M}from"@dropins/tools/preact-hooks.js";import{w as v}from"../chunks/withConditionalRendering.js";import*as l from"@dropins/tools/preact-compat.js";import{useText as w,Text as x}from"@dropins/tools/i18n.js";import"../chunks/transform-store-config.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"../chunks/state.js";import"@dropins/tools/signals.js";import"@dropins/tools/lib.js";const H=t=>l.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},l.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z",fill:"currentColor"})),C=({className:t,initialData:V,...c})=>{const[r,a]=I(0),i=w({mergedCartBannerItems:e(x,{id:"Checkout.MergedCartBanner.items",fields:{count:r},plural:r})});M(()=>{const n=B.on("cart/merged",o=>{var m;const s=(m=o==null?void 0:o.oldCartItems)==null?void 0:m.reduce((f,p)=>f+p.quantity,0);s>0&&a(s)});return()=>{n==null||n.off()}},[]);const d=()=>{a(0)};return r?e(g,{...c,"aria-label":i.mergedCartBannerItems,className:h(["checkout__banner",t]),"data-testid":"merged-cart-banner",icon:e(u,{source:H}),message:e("span",{children:i.mergedCartBannerItems}),onDismiss:d,variant:"neutral"}):null};C.displayName="MergedCartBannerContainer";const A=v(C);export{A as MergedCartBanner,A as default};
3
+ import{jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{AlertBanner as u,Icon as g}from"@dropins/tools/components.js";import{c as p}from"../chunks/classes.js";import{events as I}from"@dropins/tools/event-bus.js";import{useState as h,useEffect as v}from"@dropins/tools/preact-hooks.js";import*as i from"@dropins/tools/preact-compat.js";import{useText as B,Text as w}from"@dropins/tools/i18n.js";const x=t=>i.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},i.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z",fill:"currentColor"})),Z=({className:t,initialData:H,...c})=>{const[r,s]=h(0),a=B({mergedCartBannerItems:e(w,{fields:{count:r},id:"Checkout.MergedCartBanner.items",plural:r})}),C=()=>{s(0)};return v(()=>{const n=I.on("cart/merged",o=>{var m;const l=(m=o==null?void 0:o.oldCartItems)==null?void 0:m.reduce((d,f)=>d+f.quantity,0);l>0&&s(l)});return()=>{n==null||n.off()}},[]),r?e(u,{...c,"aria-label":a.mergedCartBannerItems,className:p(["checkout__banner",t]),"data-testid":"merged-cart-banner",icon:e(g,{source:x}),message:e("span",{children:a.mergedCartBannerItems}),variant:"neutral",onDismiss:C}):null};export{Z as MergedCartBanner,Z as default};
@@ -0,0 +1,9 @@
1
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
2
+
3
+ export interface NewsletterProps {
4
+ defaultChecked?: boolean;
5
+ onChange?: (checked: boolean) => void;
6
+ showForAuthenticatedUsers?: boolean;
7
+ }
8
+ export declare const Newsletter: Container<NewsletterProps>;
9
+ //# sourceMappingURL=Newsletter.d.ts.map
@@ -14,5 +14,6 @@
14
14
  * is strictly forbidden unless prior written permission is obtained
15
15
  * from Adobe.
16
16
  *******************************************************************/
17
- export declare const isUnexpectedError: (error: any) => boolean;
18
- //# sourceMappingURL=isUnexpectedError.d.ts.map
17
+ export * from './Newsletter';
18
+ export { Newsletter as default } from './Newsletter';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './Newsletter/index'
2
+ import _default from './Newsletter/index'
3
+ export default _default
@@ -0,0 +1,3 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as l}from"@dropins/tools/preact-jsx-runtime.js";import{W as S}from"../chunks/ConditionalWrapper.js";/* empty css */import{Skeleton as g,SkeletonRow as V,Checkbox as z}from"@dropins/tools/components.js";import{c as I}from"../chunks/classes.js";import{useText as _}from"@dropins/tools/i18n.js";import{s as C}from"../chunks/subscription-email-statuses.js";import"@dropins/tools/lib.js";import"../chunks/IsBillToShippingSignal.js";import{events as f}from"@dropins/tools/event-bus.js";import{i as r}from"../chunks/SelectedPaymentMethodSignal.js";import"../chunks/SelectedShippingMethodSignal.js";import"../chunks/ServerErrorSignal.js";import{useState as m,useCallback as E,useEffect as n}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";const T=()=>l(g,{className:"checkout-newsletter-skeleton","data-testid":"checkout-newsletter-skeleton",children:l(V,{size:"small",variant:"row"})}),y=({className:c,checked:i,onChange:o})=>{const u=_({title:"Checkout.Newsletter.title"});return l("div",{className:"checkout-newsletter","data-testid":"checkout-newsletter",children:l(z,{checked:i,className:I(["checkout-newsletter__checkbox",c]),"data-testid":"checkout-newsletter-checkbox",label:u.title,name:"checkout-newsletter__checkbox",onChange:o})})},W=S(y,T),Y=({defaultChecked:c=!1,onChange:i,showForAuthenticatedUsers:o=!1})=>{var p;const[u,b]=m(!0),[h,w]=m(!1),[N,v]=m(!1),d=r.value,s=((p=C.config)==null?void 0:p.newsletterEnabled)===!1,k=!o&&h,x=async e=>{const t=e.target.checked;r.value=t,i==null||i(t)},a=E(e=>{const t=!!e&&!e.isEmpty;if(b(t),!t){r.value=!1;return}},[]);return n(()=>{if(s)return;const e=f.on("authenticated",t=>{w(t),t&&!o&&(r.value=!1)},{eager:!0});return()=>{e==null||e.off()}},[s,o]),n(()=>{if(s)return;const e=f.on("checkout/initialized",t=>{v(!0),a(t)},{eager:!0});return()=>{e==null||e.off()}},[s,a]),n(()=>{if(s)return;const e=f.on("checkout/updated",a,{eager:!1});return()=>{e==null||e.off()}},[s,a]),n(()=>{c&&!d&&(r.value=c)},[]),(s||k)&&(r.value=!1),l(W,{checked:d,isInitialized:N,isVisible:u&&!s&&!k,onChange:x})};export{Y as Newsletter,Y as default};
@@ -1,4 +1,4 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
1
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export type UpdateProductsFromCart = Array<{
@@ -1,19 +1,19 @@
1
1
  /********************************************************************
2
- * ADOBE CONFIDENTIAL
3
- * __________________
4
- *
5
- * Copyright 2024 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
- *******************************************************************/
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2024 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
17
  export * from './OutOfStock';
18
18
  export { OutOfStock as default } from './OutOfStock';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as n,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Card as k,Icon as l,Image as h}from"@dropins/tools/components.js";import"../chunks/TermsAndConditions.js";import{classes as O}from"@dropins/tools/lib.js";import{S as d}from"../chunks/OrderError.js";import{useText as p}from"@dropins/tools/i18n.js";/* empty css *//* empty css *//* empty css */import{events as S}from"@dropins/tools/event-bus.js";import{useState as v,useCallback as _,useEffect as g}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-compat.js";const N=({className:i,items:r,onRemoveOutOfStock:o,routeCart:a,...m})=>{const s=p({title:"Checkout.OutOfStock.title",message:"Checkout.OutOfStock.message",reviewCart:"Checkout.OutOfStock.actions.reviewCart",removeOutOfStock:"Checkout.OutOfStock.actions.removeOutOfStock"});return n(k,{className:O(["checkout-out-of-stock",i]),"data-testid":"checkout-out-of-stock",variant:"secondary",...m,children:[n("h4",{className:"checkout-out-of-stock__title",children:[e(l,{source:d,size:"16",stroke:"1"}),s.title]}),e("p",{className:"checkout-out-of-stock__message",children:s.message}),e("ol",{className:"checkout-out-of-stock__items",children:r.map(u=>e("li",{"data-testid":"out-of-stock-item",className:"checkout-out-of-stock__item",children:e(h,{loading:"eager",src:u.image.src,alt:u.image.alt,width:"100",height:"100",params:{width:100}})},u.sku))}),n("div",{className:"checkout-out-of-stock__actions",children:[a&&e("a",{"data-testid":"review-cart",className:"checkout-out-of-stock__action",href:a,children:s.reviewCart}),o&&e("button",{className:"checkout-out-of-stock__action","data-testid":"remove-out-of-stock",type:"button",onClick:o,children:s.removeOutOfStock})]})]})},$=({onCartProductsUpdate:i,routeCart:r})=>{const[o,a]=v([]),m=t=>t.outOfStock||t.insufficientQuantity,s=_(()=>{if(!i)return;const t=o.filter(c=>c.outOfStock).map(c=>({uid:c.uid,quantity:0}));i(t)},[o,i]);if(g(()=>{const t=S.on("cart/data",c=>{const f=(c==null?void 0:c.items)||[];a(f.filter(m))},{eager:!0});return()=>{t==null||t.off()}},[]),o.length===0)return null;const u=!o.some(t=>t.insufficientQuantity);return e(N,{items:o,onRemoveOutOfStock:u?s:void 0,routeCart:r==null?void 0:r()})};export{$ as OutOfStock,$ as default};
3
+ import{jsxs as m,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Card as k,Icon as l,Image as h}from"@dropins/tools/components.js";import"../chunks/TermsAndConditions.js";import{classes as O}from"@dropins/tools/lib.js";/* empty css */import{S as d}from"../chunks/OrderError.js";import{useText as p}from"@dropins/tools/i18n.js";/* empty css *//* empty css *//* empty css */import{events as S}from"@dropins/tools/event-bus.js";import{useState as v,useCallback as _,useEffect as g}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-compat.js";const N=({className:i,items:r,onRemoveOutOfStock:o,routeCart:u,...a})=>{const s=p({title:"Checkout.OutOfStock.title",message:"Checkout.OutOfStock.message",reviewCart:"Checkout.OutOfStock.actions.reviewCart",removeOutOfStock:"Checkout.OutOfStock.actions.removeOutOfStock"});return m(k,{className:O(["checkout-out-of-stock",i]),"data-testid":"checkout-out-of-stock",variant:"secondary",...a,children:[m("h4",{className:"checkout-out-of-stock__title",children:[e(l,{size:"16",source:d,stroke:"1"}),s.title]}),e("p",{className:"checkout-out-of-stock__message",children:s.message}),e("ol",{className:"checkout-out-of-stock__items",children:r.map(t=>e("li",{className:"checkout-out-of-stock__item","data-testid":"out-of-stock-item",children:e(h,{alt:t.image.alt,height:"100",loading:"eager",params:{width:100},src:t.image.src,width:"100"})},t.sku))}),m("div",{className:"checkout-out-of-stock__actions",children:[u&&e("a",{className:"checkout-out-of-stock__action","data-testid":"review-cart",href:u,children:s.reviewCart}),o&&e("button",{className:"checkout-out-of-stock__action","data-testid":"remove-out-of-stock",type:"button",onClick:o,children:s.removeOutOfStock})]})]})},A=({onCartProductsUpdate:i,routeCart:r})=>{const[o,u]=v([]),a=_(()=>{if(!i)return;const t=o.filter(c=>c.outOfStock).map(c=>({uid:c.uid,quantity:0}));i(t)},[o,i]);if(g(()=>{const t=S.on("cart/data",c=>{const f=(c==null?void 0:c.items)||[];u(f.filter(n=>n.outOfStock||n.insufficientQuantity))},{eager:!0});return()=>{t==null||t.off()}},[]),o.length===0)return null;const s=!o.some(t=>t.insufficientQuantity);return e(N,{items:o,routeCart:r==null?void 0:r(),onRemoveOutOfStock:s?a:void 0})};export{A as OutOfStock,A as default};
@@ -1,4 +1,6 @@
1
- import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
1
+ import { UIComponentType } from '../../types/ComponentTypes';
2
+ import { TitleProps } from '../../types/TitleProps';
3
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
2
4
  import { HTMLAttributes } from 'preact/compat';
3
5
 
4
6
  export interface PaymentMethodRenderCtx {
@@ -21,7 +23,7 @@ export interface PaymentMethodsSlot {
21
23
  export interface PaymentMethodsHandlerSlot {
22
24
  [code: string]: PaymentMethodConfig['render'];
23
25
  }
24
- export interface PaymentMethodsProps extends HTMLAttributes<HTMLDivElement> {
26
+ export interface PaymentMethodsProps extends HTMLAttributes<HTMLDivElement>, TitleProps {
25
27
  /**
26
28
  * @deprecated This property is deprecated and will be removed in future versions.
27
29
  */
@@ -34,10 +36,8 @@ export interface PaymentMethodsProps extends HTMLAttributes<HTMLDivElement> {
34
36
  */
35
37
  Handlers?: PaymentMethodsHandlerSlot;
36
38
  Methods?: PaymentMethodsSlot;
37
- };
39
+ } & TitleProps['slots'];
40
+ UIComponentType?: UIComponentType;
38
41
  }
39
- export declare const PaymentMethods: {
40
- ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & PaymentMethodsProps): import("preact/compat").JSX.Element;
41
- displayName: string;
42
- };
42
+ export declare const PaymentMethods: Container<PaymentMethodsProps>;
43
43
  //# sourceMappingURL=PaymentMethods.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as n,jsxs as w}from"@dropins/tools/preact-jsx-runtime.js";import{s as z}from"../chunks/state.js";import{c as M,d as m}from"../chunks/transform-store-config.js";import"@dropins/tools/event-bus.js";import{classes as P,Slot as I}from"@dropins/tools/lib.js";import{s as R}from"../chunks/setPaymentMethod.js";/* empty css */import{IllustratedMessage as B,Icon as N,ProgressSpinner as U,ToggleButton as Z,Skeleton as D,SkeletonRow as f}from"@dropins/tools/components.js";import*as y from"@dropins/tools/preact-compat.js";import{useText as $}from"@dropins/tools/i18n.js";import{w as q}from"../chunks/withConditionalRendering.js";import{useRef as F,useState as G,useEffect as L,useCallback as J}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"@dropins/tools/signals.js";import"../chunks/errors.js";import"../fragments.js";import"../chunks/synchronizeCheckout.js";const K=e=>y.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},y.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),y.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),y.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),Q=({code:e,loading:c,selected:s,onChange:r,title:a,icon:o})=>n(Z,{className:"checkout-payment-methods__method",label:a,name:"payment-method",value:e,selected:s,onChange:r,busy:c,icon:o?n(N,{source:o}):void 0}),X=({className:e,paymentMethodContent:c,loading:s=!1,initializing:r=!1,onChange:a=()=>{},options:o,selection:v})=>{const u=$({Title:"Checkout.PaymentMethods.title",EmptyState:"Checkout.PaymentMethods.emptyState"});return r?n(Y,{}):w("div",{className:P(["checkout-payment-methods",e]),children:[n("h2",{className:"checkout-payment-methods__title",children:u.Title}),!s&&o.length===0&&n(B,{icon:n(N,{source:K}),message:n("p",{children:u.EmptyState})}),w("div",{className:P(["checkout-payment-methods__wrapper",["checkout-payment-methods__wrapper--loading",s]]),children:[s&&n(U,{className:"checkout-payment-methods__spinner"}),n("div",{className:P(["checkout-payment-methods__methods",["checkout-payment-methods--full-width",o.length%2!==0]]),children:o==null?void 0:o.map(d=>n(Q,{code:d.code,onChange:a,selected:d.code===v,title:d.displayLabel??!0?d.title:"",icon:d.icon},d.code))}),c&&n("div",{className:"checkout-payment-methods__content",children:c})]})]})},Y=()=>w(D,{"data-testid":"payment-methods-skeleton",children:[n(f,{variant:"heading",size:"medium"}),n(f,{variant:"empty",size:"medium"}),n(f,{size:"xlarge",fullWidth:!0}),n(f,{size:"xlarge",fullWidth:!0})]}),ee=(e,c)=>{const s=F(e);return c(s.current,e)||(s.current=e),s.current},O=({slots:e,setOnChange:c={}})=>{var b,_,H,E,x;const[s]=G(c),r=e==null?void 0:e.Methods;L(()=>{e!=null&&e.Handlers&&console.warn("The `slots.Handlers` prop is deprecated and will be removed in future versions. Use the `Methods` object instead."),c&&console.warn("The `setOnChange` prop is deprecated and will be removed in future versions. Use the `Methods` object instead.")},[]);const a=M.value.data,o=!!M.value.data,v=M.value.pending,u=(a==null?void 0:a.isVirtual)??!1,d=(b=a==null?void 0:a.shippingAddresses)==null?void 0:b[0],V=(a==null?void 0:a.availablePaymentMethods)||[],p=(_=a==null?void 0:a.selectedPaymentMethod)==null?void 0:_.code,S=u?!0:!!d,l=ee(V.filter(t=>{var i;return((i=r==null?void 0:r[t.code])==null?void 0:i.enabled)!==!1}),(t,i)=>t.length!==i.length?!1:t.every((h,C)=>h.code===i[C].code)),g=J(t=>{var i;m.value=t,!(!t||!S)&&t!==p&&(s[t]===!1||((i=r==null?void 0:r[t])==null?void 0:i.setOnChange)===!1||R({code:t}).catch(console.error))},[S,r,p,s]);L(()=>{if(!o||!!!(l!=null&&l.length))return;const i=l[0].code,h=p||m.value,C=h?l.some(W=>W.code===h):!1;g(C?h:i)},[l,o,g,p]);const j=t=>{g(t)},k=m.value?((E=(H=e==null?void 0:e.Methods)==null?void 0:H[m.value])==null?void 0:E.render)||((x=e==null?void 0:e.Handlers)==null?void 0:x[m.value]):null,A=k?n(I,{name:"PaymentMethodContent",slot:k,context:{cartId:z.cartId||"",replaceHTML(t){this.replaceWith(t)}}},k):void 0,T=l.map(t=>{const i=(r==null?void 0:r[t.code])||{};return{...t,...i}});return n(X,{initializing:o===!1,loading:o&&v,onChange:j,options:T,paymentMethodContent:A,selection:m.value})};O.displayName="PaymentMethodsContainer";const ge=q(O);export{ge as PaymentMethods,ge as default};
3
+ import{jsxs as E,jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{s as J}from"../chunks/subscription-email-statuses.js";import{classes as I,VComponent as K,Slot as z}from"@dropins/tools/lib.js";import{h as Q}from"../chunks/IsBillToShippingSignal.js";import{events as L}from"@dropins/tools/event-bus.js";import{s as X}from"../chunks/setPaymentMethod.js";import{W as Y}from"../chunks/ConditionalWrapper.js";/* empty css */import{Skeleton as ee,SkeletonRow as P,IllustratedMessage as te,Icon as B,ProgressSpinner as ne,ToggleButton as re,RadioButton as oe}from"@dropins/tools/components.js";import*as M from"@dropins/tools/preact-compat.js";import{useText as R}from"@dropins/tools/i18n.js";import{s as a}from"../chunks/SelectedPaymentMethodSignal.js";import"../chunks/SelectedShippingMethodSignal.js";import"../chunks/ServerErrorSignal.js";import{useState as b,useRef as N,useCallback as A,useEffect as V,useMemo as ae}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../fragments.js";import"../chunks/synchronizeCheckout.js";const ie=r=>M.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),ce=()=>E(ee,{"data-testid":"payment-methods-skeleton",children:[n(P,{size:"medium",variant:"heading"}),n(P,{size:"medium",variant:"empty"}),n(P,{fullWidth:!0,size:"xlarge"}),n(P,{fullWidth:!0,size:"xlarge"})]}),se=({code:r,icon:i,isLoading:t,onChange:m,selected:c,title:u,UIComponentType:h="ToggleButton"})=>{const p={busy:t,className:"checkout-payment-methods__method",label:u,name:"payment-method",value:r,onChange:()=>m(r)};return h==="ToggleButton"?n(re,{...p,icon:i?n(B,{source:i}):void 0,selected:c}):n(oe,{...p,checked:c,icon:i??void 0})},de=({className:r,title:i,isLoading:t=!1,onChange:m=()=>{},options:c,paymentMethodContent:u,UIComponentType:h,selection:p})=>{const T=R({EmptyState:"Checkout.PaymentMethods.emptyState"});return E("div",{className:I(["checkout-payment-methods",r]),"data-testid":"checkout-payment-methods",children:[i&&n(K,{className:"checkout-payment-methods__title",node:i}),!t&&c.length===0&&n(te,{"data-testid":"checkout-payment-methods-empty",icon:n(B,{source:ie}),message:n("p",{children:T.EmptyState})}),E("div",{className:I(["checkout-payment-methods__wrapper",["checkout-payment-methods__wrapper--loading",t]]),children:[t&&n(ne,{className:"checkout-payment-methods__spinner"}),n("div",{className:I(["checkout-payment-methods__methods",["checkout-payment-methods--full-width",c.length%2!==0]]),children:c==null?void 0:c.map(d=>n(se,{UIComponentType:h,code:d.code,icon:d.icon,selected:d.code===p,title:d.displayLabel??!0?d.title:"",onChange:m},d.code))}),u&&n("div",{className:"checkout-payment-methods__content",children:u})]})]})},le=Y(de,ce);function me(r){return(r.shippingAddresses??[]).length>0}function ue(r,i){return r?i.some(t=>t.code===r):!1}const He=({displayTitle:r=!0,UIComponentType:i="ToggleButton",slots:t,setOnChange:m={}})=>{var x,W,U;const[c,u]=b(!0),[h,p]=b(!1),[T,d]=b([]),[H]=b(m),f=N(!1),S=N(!1),s=t==null?void 0:t.Methods,D=a.value,Z=Q.value,$=T.filter(e=>{var o;return((o=s==null?void 0:s[e.code])==null?void 0:o.enabled)!==!1}).map(e=>{const o=(s==null?void 0:s[e.code])||{};return{...e,...o}}),O=R({Title:"Checkout.PaymentMethods.title"}),g=A(e=>{var o;S.current&&(H[e]===!1||((o=s==null?void 0:s[e])==null?void 0:o.setOnChange)===!1||X({code:e}).catch(console.error))},[s,H]),q=e=>{a.value=e,g(e)},C=A(e=>{var j;const o=!!e&&!e.isEmpty;if(u(o),!o){S.current=!1,f.current=!1,a.value=void 0,d([]);return}S.current=e.isVirtual||me(e);const y=e.availablePaymentMethods??[];if(d(y),y.length===0){f.current=!0,a.value=void 0;return}const l=(j=e.selectedPaymentMethod)==null?void 0:j.code;if(!f.current&&l){a.value=l,f.current=!0;return}if(!f.current&&!l){const k=y[0].code;a.value=k,f.current=!0,g(k);return}const v=a.peek(),_=ue(v,y);if(v&&_&&l!==v){g(v);return}if((!v||!_)&&l){a.value=l;return}if((!v||!_)&&!l){const k=y[0].code;a.value=k,g(k)}},[g]);V(()=>{const e=L.on("checkout/initialized",o=>{p(!0),C(o)},{eager:!0});return()=>{e==null||e.off()}},[C]),V(()=>{const e=L.on("checkout/updated",C,{eager:!1});return()=>{e==null||e.off()}},[C]),V(()=>{t!=null&&t.Handlers&&console.warn("The `slots.Handlers` prop is deprecated and will be removed in future versions. Use the `Methods` object instead."),m&&console.warn("The `setOnChange` prop is deprecated and will be removed in future versions. Use the `Methods` object instead.")},[]);const w=a.value?((W=(x=t==null?void 0:t.Methods)==null?void 0:x[a.value])==null?void 0:W.render)||((U=t==null?void 0:t.Handlers)==null?void 0:U[a.value]):null,F=w?n(z,{context:{cartId:J.cartId??"",replaceHTML(e){this.replaceWith(e)}},name:"PaymentMethodContent",slot:w},w):void 0,G=ae(()=>{if(r)return n(z,{name:"checkout-payment-methods-title",slot:t==null?void 0:t.Title,children:n("h2",{children:O.Title})})},[r,t==null?void 0:t.Title,O.Title]);return n(le,{UIComponentType:i,isInitialized:h,isLoading:h&&Z,isVisible:c,options:$,paymentMethodContent:F,selection:D,title:G,onChange:q})};export{He as PaymentMethods,He as default};
@@ -1,4 +1,4 @@
1
- import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
1
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export interface ContentSlotContext {
@@ -7,6 +7,8 @@ export interface ContentSlotContext {
7
7
  export interface HandlePlaceOrderContext {
8
8
  code: string;
9
9
  cartId: string;
10
+ isSubscribedToNewsletter?: boolean;
11
+ email?: string;
10
12
  }
11
13
  export interface PlaceOrderProps extends HTMLAttributes<HTMLDivElement> {
12
14
  disabled?: boolean;
@@ -16,8 +18,5 @@ export interface PlaceOrderProps extends HTMLAttributes<HTMLDivElement> {
16
18
  Content?: SlotProps<ContentSlotContext>;
17
19
  };
18
20
  }
19
- export declare const PlaceOrder: {
20
- ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & PlaceOrderProps): import("preact/compat").JSX.Element;
21
- displayName: string;
22
- };
21
+ export declare const PlaceOrder: Container<PlaceOrderProps>;
23
22
  //# sourceMappingURL=PlaceOrder.d.ts.map
@@ -1,19 +1,19 @@
1
1
  /********************************************************************
2
- * ADOBE CONFIDENTIAL
3
- * __________________
4
- *
5
- * Copyright 2024 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
- *******************************************************************/
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2024 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
17
  export * from './PlaceOrder';
18
18
  export { PlaceOrder as default } from './PlaceOrder';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as a}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Button as E}from"@dropins/tools/components.js";import{classes as S,Slot as P}from"@dropins/tools/lib.js";import{w as y}from"../chunks/withConditionalRendering.js";import{s as b}from"../chunks/state.js";import{c as U,b as I,a as w,d}from"../chunks/transform-store-config.js";import{U as N}from"../chunks/errors.js";import{events as T}from"@dropins/tools/event-bus.js";import{useState as z,useCallback as l,useEffect as D}from"@dropins/tools/preact-hooks.js";import{useText as H,Text as _}from"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"@dropins/tools/signals.js";const j=({children:t,className:o,disabled:n=!1,onClick:r})=>a("div",{className:S(["checkout-place-order",o]),children:a(E,{className:"checkout-place-order__button","data-testid":"place-order-button",disabled:n,onClick:r,size:"medium",type:"submit",variant:"primary",children:t},"placeOrder")}),B=t=>t instanceof TypeError||t instanceof N,u=({disabled:t=!1,handleValidation:o,handlePlaceOrder:n,slots:r,...p})=>{const[f,C]=z(!1),{data:O,pending:k}=U.value,g=I.value.pending,h=!!O,s=H({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),i=l(e=>{w.value=B(e)?s.CheckoutUnexpectedError:e.message},[s]),v=l(async()=>{try{if(!(o?o():!0))return;await n({cartId:b.cartId||"",code:d.value||""})}catch(e){i(e)}},[o,n,i]);return D(()=>{const e=T.on("cart/initialized",c=>{const x=(c==null?void 0:c.items)||[];C(x.some(m=>m.outOfStock||m.insufficientQuantity))},{eager:!0});return()=>{e==null||e.off()}},[]),a(j,{...p,onClick:v,disabled:t||!h||k||f||g,children:r!=null&&r.Content?a(P,{name:"Content",slot:r.Content,context:{code:d.value||""}}):a(_,{id:"Checkout.PlaceOrder.button"})})};u.displayName="PlaceOrderContainer";const Z=y(u);export{Z as PlaceOrder,Z as default};
3
+ import{jsxs as I,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{s as T}from"../chunks/subscription-email-statuses.js";import{classes as U,Slot as w}from"@dropins/tools/lib.js";import{h as N,U as R}from"../chunks/IsBillToShippingSignal.js";import{events as l}from"@dropins/tools/event-bus.js";import{W as j}from"../chunks/ConditionalWrapper.js";/* empty css */import{Skeleton as M,SkeletonRow as S,Button as W}from"@dropins/tools/components.js";import{s as _,i as B}from"../chunks/SelectedPaymentMethodSignal.js";import"../chunks/SelectedShippingMethodSignal.js";import{s as H}from"../chunks/ServerErrorSignal.js";import{useState as m,useRef as Q,useCallback as u,useEffect as d}from"@dropins/tools/preact-hooks.js";import{useText as V,Text as $}from"@dropins/tools/i18n.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";const q=()=>I(M,{"data-testid":"place-order-skeleton",children:[r(S,{size:"small",variant:"empty"}),r(S,{size:"small"})]}),A=({children:c,className:s,disabled:i=!1,onClick:o})=>r("div",{className:U(["checkout-place-order",s]),children:r(W,{className:"checkout-place-order__button","data-testid":"place-order-button",disabled:i,size:"medium",type:"submit",variant:"primary",onClick:o,children:c},"placeOrder")}),D=j(A,q),ce=({disabled:c=!1,handleValidation:s,handlePlaceOrder:i,slots:o,...O})=>{const[x,y]=m(!0),[C,g]=m(!1),[v,f]=m(!1),p=Q(""),a=_.value,E=N.value,h=V({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),k=u(e=>{H.value=e instanceof TypeError||e instanceof R?h.CheckoutUnexpectedError:e.message},[h]),P=u(async()=>{try{if(s&&!s())return;await i({cartId:T.cartId,code:a??"",isSubscribedToNewsletter:B.peek(),email:p.current})}catch(e){k(e)}},[s,i,k,a]),n=u(e=>{const t=!!e&&!e.isEmpty;y(t),p.current=(e==null?void 0:e.email)??"",!t&&f(!1)},[]);return d(()=>{const e=l.on("cart/initialized",t=>{const z=(t==null?void 0:t.items)||[];f(z.some(b=>b.outOfStock||b.insufficientQuantity))},{eager:!0});return()=>{e==null||e.off()}},[]),d(()=>{const e=l.on("checkout/initialized",t=>{g(!0),n(t)},{eager:!0});return()=>{e==null||e.off()}},[n]),d(()=>{const e=l.on("checkout/updated",n,{eager:!1});return()=>{e==null||e.off()}},[n]),r(D,{...O,disabled:c||v||E,isInitialized:C,isVisible:x,onClick:P,children:r(w,{context:{code:a??""},name:"Content",slot:o==null?void 0:o.Content,children:r($,{id:"Checkout.PlaceOrder.button"})})})};export{ce as PlaceOrder,ce as default};
@@ -1,4 +1,4 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
1
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
2
2
 
3
3
  export interface ServerErrorProps {
4
4
  autoScroll?: boolean;
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as s,jsxs as n}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{IllustratedMessage as l,Icon as p,Button as f}from"@dropins/tools/components.js";import"../chunks/TermsAndConditions.js";import{classes as a}from"@dropins/tools/lib.js";/* empty css *//* empty css */import{S as h}from"../chunks/OrderError.js";import{useText as d}from"@dropins/tools/i18n.js";/* empty css */import{a as u}from"../chunks/transform-store-config.js";import"../chunks/state.js";import"@dropins/tools/event-bus.js";import{useRef as v,useEffect as m}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"@dropins/tools/signals.js";const g=({className:e,contactSupport:t,errorMessage:i,onClick:c,errorMessageRef:r})=>{const o=d({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return s(l,{"aria-describedby":"checkout-server-error__message","aria-invalid":"true","aria-live":"polite",className:a(["checkout-server-error",e]),"data-testid":"checkout-server-error",heading:i??o.Title,message:n("p",{"data-testid":"checkout-server-error-message",ref:r,id:a(["checkout-server-error__message"]),children:[o.Message,s("br",{}),s("span",{children:t??o.ContactSupport})]}),icon:s(p,{className:a(["checkout-server-error__icon"]),source:h}),action:s(f,{className:a(["checkout-server-error__button"]),onClick:c,children:o.Button})})};function k(e){e.scrollIntoView({behavior:"smooth"}),e.focus()}const A=({onRetry:e,onServerError:t,autoScroll:i=!1})=>{const c=v(null),r=u.value,o=async()=>{e==null||e(),u.value=void 0};return m(()=>{r&&(t==null||t(r))},[r,t]),m(()=>{!i||!r||!c.current||k(c.current)},[r,i]),r?s(g,{errorMessageRef:c,errorMessage:r,onClick:o}):null};export{A as ServerError,A as default};
3
+ import{jsx as s,jsxs as l}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{IllustratedMessage as p,Icon as f,Button as h}from"@dropins/tools/components.js";import"../chunks/TermsAndConditions.js";import{classes as a}from"@dropins/tools/lib.js";/* empty css *//* empty css *//* empty css */import{S as d}from"../chunks/OrderError.js";import{useText as v}from"@dropins/tools/i18n.js";/* empty css */import"../chunks/subscription-email-statuses.js";import"../chunks/IsBillToShippingSignal.js";import"@dropins/tools/event-bus.js";import{s as u}from"../chunks/ServerErrorSignal.js";import{useRef as k,useEffect as m}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";function g(e){e.scrollIntoView({behavior:"smooth"}),e.focus()}const C=({className:e,contactSupport:t,errorMessage:c,onClick:i,errorMessageRef:r})=>{const o=v({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"}),n=c!==""?c:o.Title;return s(p,{action:s(h,{className:a(["checkout-server-error__button"]),name:"server-error-button",onClick:i,children:o.Button}),"aria-describedby":"checkout-server-error__message","aria-invalid":"true","aria-live":"polite",className:a(["checkout-server-error",e]),"data-testid":"checkout-server-error",heading:n,icon:s(f,{className:a(["checkout-server-error__icon"]),source:d}),message:l("p",{ref:r,"data-testid":"checkout-server-error-message",id:a(["checkout-server-error__message"]),children:[o.Message,s("br",{}),s("span",{children:t??o.ContactSupport})]})})},F=({onRetry:e,onServerError:t,autoScroll:c=!1})=>{const i=k(null),r=u.value,o=async()=>{e==null||e(),u.value=void 0};return m(()=>{r&&(t==null||t(r))},[r,t]),m(()=>{!c||!r||!i.current||g(i.current)},[r,c]),r?s(C,{errorMessage:r,errorMessageRef:i,onClick:o}):null};export{F as ServerError,F as default};
@@ -1,17 +1,16 @@
1
1
  import { ShippingMethod } from '../../data/models';
2
- import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { TitleProps } from '../../types/TitleProps';
3
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
3
4
  import { HTMLAttributes } from 'preact/compat';
5
+ import { UIComponentType } from '../../types/ComponentTypes';
4
6
 
5
- export interface ShippingMethodsProps extends HTMLAttributes<HTMLDivElement> {
7
+ export interface ShippingMethodsProps extends HTMLAttributes<HTMLDivElement>, TitleProps {
6
8
  onShippingMethodSelect?: (method: ShippingMethod) => void;
7
9
  preSelectedMethod?: {
8
10
  carrierCode: string;
9
11
  methodCode: string;
10
12
  };
11
- shippingMethodsSlot?: SlotProps;
13
+ UIComponentType?: UIComponentType;
12
14
  }
13
- export declare const ShippingMethods: {
14
- ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & ShippingMethodsProps): import("preact/compat").JSX.Element;
15
- displayName: string;
16
- };
15
+ export declare const ShippingMethods: Container<ShippingMethodsProps>;
17
16
  //# sourceMappingURL=ShippingMethods.d.ts.map
@@ -1,19 +1,19 @@
1
1
  /********************************************************************
2
- * ADOBE CONFIDENTIAL
3
- * __________________
4
- *
5
- * Copyright 2024 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
- *******************************************************************/
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2024 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
17
  export * from './ShippingMethods';
18
18
  export { ShippingMethods as default } from './ShippingMethods';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import { ShippingMethod } from '../../../data/models/shipping-method';
2
2
 
3
- export declare function emitShippingEstimateEvent(method: ShippingMethod): void;
3
+ export declare function emitShippingEstimateEvent(shippingMethod: ShippingMethod | null): void;
4
4
  //# sourceMappingURL=emitShippingEstimateEvent.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as n,jsxs as g,Fragment as b}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/state.js";import{c as S,e as w,s as C}from"../chunks/transform-store-config.js";import{events as H}from"@dropins/tools/event-bus.js";import{classes as E,Slot as z}from"@dropins/tools/lib.js";import{t as R,s as T}from"../chunks/setShippingMethods.js";/* empty css */import{IllustratedMessage as O,Icon as P,ProgressSpinner as B,RadioButton as D,Price as I,Skeleton as V,SkeletonRow as f}from"@dropins/tools/components.js";import*as r from"@dropins/tools/preact-compat.js";import{useText as Z}from"@dropins/tools/i18n.js";import{w as q}from"../chunks/withConditionalRendering.js";import{useCallback as F,useMemo as $,useEffect as A}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/store-config.js";import"@dropins/tools/signals.js";import"../chunks/errors.js";import"../chunks/synchronizeCheckout.js";import"../fragments.js";const G=e=>r.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.47266 4.90002H15.1851V10.9645H21.2495L23 12.715V17.6124H20.073",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M15.1758 5.87573H19.0019L21.0394 10.7636",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76151 16.7898C9.76151 18.0525 8.72845 19.076 7.46582 19.076C6.20318 19.076 5.17969 18.0429 5.17969 16.7803C5.17969 15.5176 6.20318 14.4941 7.46582 14.4941C8.72845 14.4941 9.75195 15.5176 9.76151 16.7803C9.76151 16.7803 9.76151 16.7803 9.76151 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8726 16.7898C19.8726 18.062 18.8491 19.0855 17.5769 19.0855C16.3047 19.0855 15.2812 18.062 15.2812 16.7898C15.2812 15.5176 16.3047 14.4941 17.5769 14.4941C18.8491 14.4941 19.8726 15.5176 19.8726 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.08792 7.63574H1.69824",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M7.11229 10.3619H1",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.16084 13.0402H1.92773",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76172 16.7611H15.2809",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.38672 16.7611H5.17025",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),J=({className:e,isLoading:t=!1,onSelectionChange:s=()=>{},options:d,selection:u,...h})=>{const i=Z({Title:"Checkout.ShippingMethods.title",EmptyState:"Checkout.ShippingMethods.emptyState"});return d===void 0?n(K,{}):g("div",{...h,className:E(["checkout-shipping-methods",e]),children:[n("h3",{className:"checkout-shipping-methods__title",children:i.Title}),!t&&d.length===0&&n(O,{icon:n(P,{source:G}),message:n("p",{children:i.EmptyState})}),g("div",{className:E(["checkout-shipping-methods__content"]),children:[t&&n(B,{className:"checkout-shipping-methods__spinner"}),n("div",{className:E(["checkout-shipping-methods__options",["checkout-shipping-methods__options--loading",t]]),children:d.map(o=>n(D,{"data-testid":"shipping-method-radiobutton","aria-busy":t,id:o.value,name:"shipping-method",className:"checkout-shipping-methods__method",label:g(b,{children:[n(I,{amount:o.amount.value,currency:o.amount.currency})," ",n("span",{children:o.carrier.title})]}),description:o.title,value:o.value,checked:(u==null?void 0:u.value)===o.value,onChange:()=>s(o)},o.value))})]})]})},K=()=>g(V,{"data-testid":"shipping-methods-skeleton",children:[n(f,{variant:"heading",size:"small"}),n(f,{variant:"empty",size:"small"}),n(f,{size:"medium",fullWidth:!0}),n(f,{size:"medium",fullWidth:!0})]}),L=(e,t)=>e.code===t.code&&e.carrier.code===t.carrier.code;function Q(e){const t=H.lastPayload("shipping/estimate");if(!(t!=null&&t.address))return;const s={address:t.address,shippingMethod:R(e)};H.emit("shipping/estimate",s)}function U({preSelectedMethod:e,onShippingMethodSelect:t}){const s=S.value.data,d=S.value.pending,u=w.value.data,h=w.value.pending,i=C.value,o=s==null?void 0:s.shippingAddresses,a=o==null?void 0:o[0],v=!!a,N=a==null?void 0:a.availableShippingMethods,m=a==null?void 0:a.selectedShippingMethod,l=N||u,_=F(c=>{if(!v)return;const k={method_code:c.code,carrier_code:c.carrier.code};T([k]).catch(j=>{console.error("Setting shipping methods on cart failed:",j)})},[v]),x=c=>{C.value=c,t==null||t(c),v||Q(c)},p=$(()=>{if(!(l!=null&&l.length))return;const c=l[0],k=i||m;return k?l.some(M=>L(M,k))?k:c:l.find(W=>W.carrier.code===(e==null?void 0:e.carrierCode)&&W.code===(e==null?void 0:e.methodCode))||c},[i,m,l,e]);return A(()=>{p&&((!i||!L(p,i))&&(C.value=p,t==null||t(p)),(!m||!L(p,m))&&_(p))},[p,i,m,_,t]),{isLoading:d||h,options:l,selection:p,onSelectionChange:x}}const y=({preSelectedMethod:e,shippingMethodsSlot:t,onShippingMethodSelect:s,initialData:d,...u})=>{const{isLoading:h,options:i,selection:o,onSelectionChange:a}=U({preSelectedMethod:e,onShippingMethodSelect:s});return g(b,{children:[n(J,{...u,isLoading:h,onSelectionChange:a,options:i,selection:o}),!h&&t&&n(z,{name:"ShippingMethods",slot:t})]})};y.displayName="ShippingMethodsContainer";const kt=q(y);export{kt as ShippingMethods,kt as default};
3
+ import{jsxs as E,jsx as i,Fragment as P}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/subscription-email-statuses.js";import{classes as j,VComponent as J,Slot as K}from"@dropins/tools/lib.js";import{s as N,h as Q,a as X}from"../chunks/IsBillToShippingSignal.js";import{events as T}from"@dropins/tools/event-bus.js";import{t as Y,s as ee}from"../chunks/setShippingMethods.js";import{W as te}from"../chunks/ConditionalWrapper.js";/* empty css */import{Skeleton as ne,SkeletonRow as b,IllustratedMessage as re,Icon as ie,ProgressSpinner as oe,RadioButton as se,Price as R,ToggleButton as ae}from"@dropins/tools/components.js";import*as s from"@dropins/tools/preact-compat.js";import{useText as D}from"@dropins/tools/i18n.js";import{s as o}from"../chunks/SelectedShippingMethodSignal.js";import{useState as x,useRef as z,useCallback as B,useEffect as O,useMemo as ce}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/synchronizeCheckout.js";import"../fragments.js";const ue=n=>s.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.47266 4.90002H15.1851V10.9645H21.2495L23 12.715V17.6124H20.073",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M15.1758 5.87573H19.0019L21.0394 10.7636",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76151 16.7898C9.76151 18.0525 8.72845 19.076 7.46582 19.076C6.20318 19.076 5.17969 18.0429 5.17969 16.7803C5.17969 15.5176 6.20318 14.4941 7.46582 14.4941C8.72845 14.4941 9.75195 15.5176 9.76151 16.7803C9.76151 16.7803 9.76151 16.7803 9.76151 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8726 16.7898C19.8726 18.062 18.8491 19.0855 17.5769 19.0855C16.3047 19.0855 15.2812 18.062 15.2812 16.7898C15.2812 15.5176 16.3047 14.4941 17.5769 14.4941C18.8491 14.4941 19.8726 15.5176 19.8726 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.08792 7.63574H1.69824",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M7.11229 10.3619H1",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.16084 13.0402H1.92773",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76172 16.7611H15.2809",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.38672 16.7611H5.17025",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),le=()=>E(ne,{"data-testid":"shipping-methods-skeleton",children:[i(b,{size:"small",variant:"heading"}),i(b,{size:"small",variant:"empty"}),i(b,{fullWidth:!0,size:"medium"}),i(b,{fullWidth:!0,size:"medium"})]}),pe=({className:n,isLoading:r=!1,onSelectionChange:m=()=>{},options:a,selection:l,title:S,UIComponentType:C="RadioButton",..._})=>{const M=D({EmptyState:"Checkout.ShippingMethods.emptyState"}),g=(t,d)=>{const L={busy:r,key:t.value,className:"checkout-shipping-methods__method",name:"shipping-method",value:t.value,onChange:()=>m(t)};return d==="RadioButton"?i(se,{...L,checked:(l==null?void 0:l.value)===t.value,"data-testid":"shipping-method-radioButton",description:t.title,id:t.value,label:E(P,{children:[i(R,{amount:t.amount.value,currency:t.amount.currency})," ",i("span",{children:t.carrier.title})]})}):i(ae,{...L,"data-testid":"shipping-method-toggleButton",label:E(P,{children:[i("span",{children:t.carrier.title}),i(R,{amount:t.amount.value,currency:t.amount.currency})]}),selected:(l==null?void 0:l.value)===t.value})};return E("div",{..._,className:j(["checkout-shipping-methods",n]),"data-testid":"checkout-shipping-methods",children:[S&&i(J,{className:"checkout-shipping-methods__title",node:S}),!r&&a.length===0&&i(re,{"data-testid":"checkout-shipping-methods-empty",icon:i(ie,{source:ue}),message:i("p",{children:M.EmptyState})}),E("div",{className:j(["checkout-shipping-methods__content"]),children:[r&&i(oe,{className:"checkout-shipping-methods__spinner"}),i("div",{className:j(["checkout-shipping-methods__options",["checkout-shipping-methods__options--loading",r],["checkout-shipping-methods__options--toggleButton",C==="ToggleButton"]]),children:a.map(t=>g(t,C))})]})]})},de=te(pe,le);function H(n){const r=N.peek();if(!(r!=null&&r.address))return;const m={address:r.address,shippingMethod:n?Y(n):null};T.emit("shipping/estimate",m)}function I(n,r){return n?r.some(m=>m.code===n.code):!1}function he(n,r){return!n||!r?!1:n.code===r.code&&n.carrier.code===r.carrier.code}function me(n){return n?n.isEmpty||n.isVirtual:!0}const He=({displayTitle:n=!0,onShippingMethodSelect:r,initialData:m,slots:a,UIComponentType:l="RadioButton",...S})=>{const[C,_]=x(!0),[M,g]=x(),t=z(!1),d=z(!1),L=o.value,U=Q.value,Z=X.value,q=U||Z,V=D({Title:"Checkout.ShippingMethods.title"}),k=B(e=>{if(!d.current)return;const c={method_code:e.code,carrier_code:e.carrier.code};ee([c]).catch(console.error)},[]),F=e=>{o.value=e,r==null||r(e),k(e),d.current||H(e)},y=B(e=>{var A;const c=me(e)===!1;if(_(c),!c){d.current=!1,t.current=!1,o.value=void 0,g(void 0);return}const f=(A=e.shippingAddresses)==null?void 0:A[0];if(d.current=!!f,!f)return;const h=f.availableShippingMethods??[];if(g(h),h.length===0){o.value=void 0,t.current=!0;return}const p=f.selectedShippingMethod;if(!t.current&&p){o.value=p,t.current=!0;return}if(!t.current&&!p){const v=h[0];o.value=v,k(v),t.current=!0;return}const u=o.peek(),W=I(u,h),G=he(u,p);if(u&&W&&!G){k(u);return}if((!u||!W)&&p){o.value=p;return}if((!u||!W)&&!p){const v=h[0];o.value=v,k(v)}},[k]),w=B(e=>{if(e===void 0)return;const c=e.options??[];g(c);const f=c.length>0,h=o.peek();if(!f){o.value=void 0,H(null);return}if(I(h,c))return;const u=c[0];o.value=u,H(u)},[]);O(()=>{const e=T.on("checkout/initialized",y,{eager:!0});return()=>{e==null||e.off()}},[y]),O(()=>{const e=T.on("checkout/updated",y,{eager:!1});return()=>{e==null||e.off()}},[y]),O(()=>{if(d.current)return;const e=N.subscribe(w);return()=>{e()}},[w]);const $=ce(()=>{if(n)return i(K,{name:"checkout-shipping-methods-title",slot:a==null?void 0:a.Title,children:i("h3",{children:V.Title})})},[n,a==null?void 0:a.Title,V.Title]);return i(de,{...S,UIComponentType:l,isInitialized:M!==void 0,isLoading:q,isVisible:C,options:M??[],selection:L,title:$,onSelectionChange:F})};export{He as ShippingMethods,He as default};
@@ -1,5 +1,5 @@
1
1
  import { AgreementMode } from '../../data/models';
2
- import { Container, SlotMethod, SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container, SlotMethod, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
3
3
 
4
4
  export interface TermsAndConditionsProps {
5
5
  slots?: {
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as e,jsxs as E}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Skeleton as N,SkeletonRow as w,Checkbox as j}from"@dropins/tools/components.js";import{p as y}from"../chunks/TermsAndConditions.js";import{classes as k,VComponent as D,Slot as H}from"@dropins/tools/lib.js";/* empty css *//* empty css *//* empty css */import{A as P}from"../chunks/checkout.js";import{events as p}from"@dropins/tools/event-bus.js";import{s as R}from"../chunks/state.js";import{useState as i,useCallback as g,useEffect as A}from"@dropins/tools/preact-hooks.js";import{useText as V,MarkupText as $}from"@dropins/tools/i18n.js";const q=({html:n})=>{const r=y.sanitize(n,{ADD_ATTR:["target"]});return r===""?null:e("span",{dangerouslySetInnerHTML:{__html:r}})},L=({className:n,agreements:r,error:s,isInitialized:a=!1,...c})=>a?e("div",{className:"checkout-terms-and-conditions","data-testid":"checkout-terms-and-conditions",children:E("form",{...c,className:k(["checkout-terms-and-conditions__form",n]),name:"checkout-terms-and-conditions__form","data-testid":"checkout-terms-and-conditions-form",noValidate:!0,children:[r&&e(D,{node:r,className:k(["checkout-terms-and-conditions__agreements"]),"data-testid":"checkout-terms-and-conditions-agreements"}),s&&e("div",{className:"checkout-terms-and-conditions__error","data-testid":"checkout-terms-and-conditions-error",children:s})]})}):e(O,{}),O=()=>e(N,{"data-testid":"checkout-terms-and-conditions-skeleton",className:"checkout-terms-and-conditions-skeleton",children:e(w,{variant:"row",size:"small",fullWidth:!0})}),ne=({slots:n,...r})=>{const[s,a]=i(!0),[c,_]=i(!1),[C,T]=i(!1),[x,m]=i(""),{errorMessage:l}=V({errorMessage:"Checkout.TermsAndConditions.error"}),I=g(()=>{m("")},[]),v=g(()=>{m(l)},[l]);return A(()=>{const t=p.on("checkout/initialized",()=>{var o;_(!0),a(((o=R.config)==null?void 0:o.isCheckoutAgreementsEnabled)??!0)},{eager:!0});return()=>{t==null||t.off()}},[]),A(()=>{const t=p.on("authenticated",o=>{T(o)},{eager:!0});return()=>{t==null||t.off()}},[]),!s||C?null:e(L,{...r,error:x,isInitialized:c,agreements:e(H,{name:"Agreements",slot:n==null?void 0:n.Agreements,context:{appendAgreement(t){this._registerMethod((...o)=>{const u=t(...o);if(!u)return;const{mode:M,name:h,text:d,translationId:f}=u;if(!d&&!f){console.warn(`The agreement ${h} is misconfigured. Please provide a text or a translationId.`);return}const b=d?e(q,{html:d}):e($,{id:f}),S=e(j,{checked:M===P.AUTO,label:b,name:h,required:!0,onChange:I,onInvalid:v});this._setProps(z=>({children:[...z.children||[],S]}))})}}})})};export{ne as TermsAndConditions,ne as default};
3
+ import{jsx as t,jsxs as V}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Skeleton as N,SkeletonRow as E,Checkbox as w}from"@dropins/tools/components.js";import{p as y}from"../chunks/TermsAndConditions.js";import{classes as k,VComponent as D,Slot as W}from"@dropins/tools/lib.js";/* empty css *//* empty css *//* empty css *//* empty css */import{W as j}from"../chunks/ConditionalWrapper.js";import{A as H}from"../chunks/checkout.js";import{s as P}from"../chunks/subscription-email-statuses.js";import"../chunks/IsBillToShippingSignal.js";import{events as g}from"@dropins/tools/event-bus.js";import{useState as m,useCallback as R,useEffect as _}from"@dropins/tools/preact-hooks.js";import{useText as $,MarkupText as q}from"@dropins/tools/i18n.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";const L=({html:n})=>{const o=y.sanitize(n,{ADD_ATTR:["target"]});return o===""?null:t("span",{dangerouslySetInnerHTML:{__html:o}})},O=()=>t(N,{className:"checkout-terms-and-conditions-skeleton","data-testid":"checkout-terms-and-conditions-skeleton",children:t(E,{fullWidth:!0,size:"small",variant:"row"})}),B=({className:n,agreements:o,error:s,...a})=>t("div",{className:"checkout-terms-and-conditions","data-testid":"checkout-terms-and-conditions",children:V("form",{...a,noValidate:!0,className:k(["checkout-terms-and-conditions__form",n]),"data-testid":"checkout-terms-and-conditions-form",name:"checkout-terms-and-conditions__form",children:[o&&t(D,{className:k(["checkout-terms-and-conditions__agreements"]),"data-testid":"checkout-terms-and-conditions-agreements",node:o}),s&&t("div",{className:"checkout-terms-and-conditions__error","data-testid":"checkout-terms-and-conditions-error",children:s})]})}),F=j(B,O),me=({slots:n,...o})=>{var u;const[s,a]=m(!0),[A,C]=m(!1),[T,l]=m(""),{errorMessage:x}=$({errorMessage:"Checkout.TermsAndConditions.error"}),r=((u=P.config)==null?void 0:u.agreementsEnabled)===!1,b=()=>{l("")},I=()=>{l(x)},i=R(e=>{a(!!e&&!e.isEmpty)},[]);return _(()=>{if(r)return;const e=g.on("checkout/initialized",c=>{C(!0),i(c)},{eager:!0});return()=>{e==null||e.off()}},[r,i]),_(()=>{if(r)return;const e=g.on("checkout/updated",i,{eager:!1});return()=>{e==null||e.off()}},[r,i]),t(F,{...o,agreements:t(W,{context:{appendAgreement(e){this._registerMethod((...c)=>{const f=e(...c);if(!f)return;const{mode:v,name:h,text:d,translationId:p}=f;if(!d&&!p){console.warn(`The agreement ${h} is misconfigured. Please provide a text or a translationId.`);return}const M=d?t(L,{html:d}):t(q,{id:p}),z=t(w,{checked:v===H.AUTO,label:M,name:h,required:!0,onChange:b,onInvalid:I});this._setProps(S=>({children:[...S.children||[],z]}))})}},name:"Agreements",slot:n==null?void 0:n.Agreements}),error:T,isInitialized:A,isVisible:s&&!r})};export{me as TermsAndConditions,me as default};
@@ -18,6 +18,7 @@ export * from './BillToShippingAddress';
18
18
  export * from './EstimateShipping';
19
19
  export * from './LoginForm';
20
20
  export * from './MergedCartBanner';
21
+ export * from './Newsletter';
21
22
  export * from './OutOfStock';
22
23
  export * from './PaymentMethods';
23
24
  export * from './PlaceOrder';