@liquidcommerce/elements-sdk 2.6.0-beta.12 → 2.6.0-beta.120

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 (292) hide show
  1. package/README.md +100 -2518
  2. package/dist/index.checkout.esm.js +19988 -0
  3. package/dist/index.esm.js +27974 -20438
  4. package/dist/ssr-stub.checkout.esm.js +17 -0
  5. package/dist/ssr-stub.esm.js +275 -0
  6. package/dist/types/auto-initialize/checkout.d.ts +2 -0
  7. package/dist/types/auto-initialize/shared-utils.d.ts +51 -0
  8. package/dist/types/{elements-base-client.d.ts → clients/base.d.ts} +16 -2
  9. package/dist/types/clients/builder.d.ts +3 -0
  10. package/dist/types/clients/checkout.d.ts +6 -0
  11. package/dist/types/clients/helpers.d.ts +8 -0
  12. package/dist/types/clients/main.d.ts +3 -0
  13. package/dist/types/constants/core.constant.d.ts +13 -18
  14. package/dist/types/constants/index.d.ts +1 -0
  15. package/dist/types/constants/prop65.constant.d.ts +8 -0
  16. package/dist/types/core/a11y/announcer.service.d.ts +16 -0
  17. package/dist/types/core/a11y/focus-manager.service.d.ts +21 -0
  18. package/dist/types/core/a11y/focusable.d.ts +5 -0
  19. package/dist/types/core/a11y/glyph-button.d.ts +8 -0
  20. package/dist/types/core/a11y/index.d.ts +6 -0
  21. package/dist/types/core/a11y/required.d.ts +1 -0
  22. package/dist/types/core/a11y/single-select.d.ts +20 -0
  23. package/dist/types/core/api/api-client.service.d.ts +22 -18
  24. package/dist/types/core/api/api-result.d.ts +19 -0
  25. package/dist/types/core/api/auth-client.service.d.ts +37 -13
  26. package/dist/types/core/api/http-client.service.d.ts +0 -8
  27. package/dist/types/core/base-component.service.d.ts +4 -1
  28. package/dist/types/core/client/actions/base-action.service.d.ts +22 -0
  29. package/dist/types/core/client/actions/client-address-action.service.d.ts +18 -0
  30. package/dist/types/core/client/actions/client-cart-action.service.d.ts +38 -0
  31. package/dist/types/core/client/actions/client-checkout-action.service.d.ts +75 -0
  32. package/dist/types/core/client/actions/client-product-action.service.d.ts +15 -0
  33. package/dist/types/core/client/client-action.service.d.ts +6 -74
  34. package/dist/types/core/client/client-config.service.d.ts +10 -5
  35. package/dist/types/core/debug-panel/debug-panel.styles.d.ts +1 -1
  36. package/dist/types/core/google-tag-manager.service.d.ts +10 -1
  37. package/dist/types/core/logger/logger.service.d.ts +1 -1
  38. package/dist/types/core/pubsub/interfaces/address.interface.d.ts +3 -0
  39. package/dist/types/core/pubsub/interfaces/cart.interface.d.ts +6 -1
  40. package/dist/types/core/pubsub/interfaces/checkout.interface.d.ts +39 -49
  41. package/dist/types/core/pubsub/interfaces/core.interface.d.ts +14 -7
  42. package/dist/types/core/pubsub/pubsub.service.d.ts +1 -2
  43. package/dist/types/core/singleton-manager.service.d.ts +12 -8
  44. package/dist/types/core/store/interfaces/cart.interface.d.ts +2 -3
  45. package/dist/types/core/store/interfaces/checkout.interface.d.ts +28 -107
  46. package/dist/types/core/store/interfaces/core.interface.d.ts +12 -2
  47. package/dist/types/core/store/interfaces/metadata.interface.d.ts +11 -0
  48. package/dist/types/core/store/interfaces/product-list.interface.d.ts +30 -0
  49. package/dist/types/core/store/interfaces/product.interface.d.ts +1 -0
  50. package/dist/types/core/store/store.constant.d.ts +5 -0
  51. package/dist/types/core/store/store.service.d.ts +1 -0
  52. package/dist/types/core/telemetry/telemetry.service.d.ts +1 -0
  53. package/dist/types/enums/core.enum.d.ts +45 -2
  54. package/dist/types/enums/index.d.ts +0 -1
  55. package/dist/types/index.checkout.d.ts +9 -0
  56. package/dist/types/index.checkout.umd.d.ts +4 -0
  57. package/dist/types/index.d.ts +8 -3
  58. package/dist/types/interfaces/api/cart.interface.d.ts +12 -7
  59. package/dist/types/interfaces/api/checkout.interface.d.ts +246 -0
  60. package/dist/types/interfaces/api/index.d.ts +5 -0
  61. package/dist/types/interfaces/api/product-list.interface.d.ts +15 -6
  62. package/dist/types/interfaces/api/product.interface.d.ts +10 -4
  63. package/dist/types/interfaces/client.interface.d.ts +74 -0
  64. package/dist/types/interfaces/component.interface.d.ts +7 -0
  65. package/dist/types/interfaces/config.interface.d.ts +44 -0
  66. package/dist/types/interfaces/configs/address.interface.d.ts +1 -1
  67. package/dist/types/interfaces/configs/cart.interface.d.ts +2 -1
  68. package/dist/types/interfaces/configs/checkout.interface.d.ts +3 -1
  69. package/dist/types/interfaces/configs/global.interface.d.ts +9 -3
  70. package/dist/types/interfaces/configs/index.d.ts +1 -0
  71. package/dist/types/interfaces/configs/product-list.interface.d.ts +49 -0
  72. package/dist/types/interfaces/configs/product.interface.d.ts +7 -1
  73. package/dist/types/interfaces/injection.interface.d.ts +56 -0
  74. package/dist/types/modules/address/address-display.component.d.ts +3 -1
  75. package/dist/types/modules/address/address-input.component.d.ts +10 -1
  76. package/dist/types/modules/address/address.command.d.ts +2 -1
  77. package/dist/types/modules/address/styles/register-styles.d.ts +1 -0
  78. package/dist/types/modules/cart/cart.commands.d.ts +9 -5
  79. package/dist/types/modules/cart/components/cart-body.component.d.ts +1 -0
  80. package/dist/types/modules/cart/components/cart-fulfillment.component.d.ts +1 -1
  81. package/dist/types/modules/cart/components/cart-item-quantity-price.component.d.ts +5 -0
  82. package/dist/types/modules/cart/components/cart-item.component.d.ts +6 -0
  83. package/dist/types/modules/cart/styles/register-styles.d.ts +1 -0
  84. package/dist/types/modules/checkout/checkout.commands.d.ts +84 -12
  85. package/dist/types/modules/checkout/checkout.component.d.ts +6 -1
  86. package/dist/types/modules/checkout/components/checkout-billing.component.d.ts +5 -2
  87. package/dist/types/modules/checkout/components/checkout-buyer.component.d.ts +1 -0
  88. package/dist/types/modules/checkout/components/checkout-completed.component.d.ts +5 -0
  89. package/dist/types/modules/checkout/components/checkout-deliver-to.component.d.ts +1 -0
  90. package/dist/types/modules/checkout/components/checkout-express-checkout.component.d.ts +61 -0
  91. package/dist/types/modules/checkout/components/checkout-express-completion.component.d.ts +21 -0
  92. package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
  93. package/dist/types/modules/checkout/components/checkout-item-quantity.component.d.ts +4 -0
  94. package/dist/types/modules/checkout/components/checkout-items.component.d.ts +4 -3
  95. package/dist/types/modules/checkout/components/checkout-order-summary.component.d.ts +3 -0
  96. package/dist/types/modules/checkout/components/checkout-payment.component.d.ts +6 -1
  97. package/dist/types/modules/checkout/components/checkout-place-order-button.component.d.ts +2 -0
  98. package/dist/types/modules/checkout/components/checkout-presale-countdown.component.d.ts +15 -1
  99. package/dist/types/modules/checkout/components/checkout-presale-expired.component.d.ts +7 -1
  100. package/dist/types/modules/checkout/components/checkout-prop65-warning.component.d.ts +8 -0
  101. package/dist/types/modules/checkout/components/checkout-send-as-gift.component.d.ts +3 -0
  102. package/dist/types/modules/checkout/components/checkout-stripe-form.component.d.ts +7 -2
  103. package/dist/types/modules/checkout/components/checkout-tips.component.d.ts +4 -2
  104. package/dist/types/modules/checkout/components/index.d.ts +3 -0
  105. package/dist/types/modules/checkout/components/promo-pc-gc.component.d.ts +0 -2
  106. package/dist/types/modules/checkout/components/required-fields-legend.d.ts +1 -0
  107. package/dist/types/modules/checkout/constant.d.ts +5 -0
  108. package/dist/types/modules/checkout/customer-prefill.d.ts +5 -0
  109. package/dist/types/modules/checkout/express-wallet.d.ts +12 -0
  110. package/dist/types/modules/checkout/payment-session-error.d.ts +4 -0
  111. package/dist/types/modules/checkout/styles/express-checkout.style.d.ts +1 -0
  112. package/dist/types/modules/checkout/styles/express-completion.style.d.ts +1 -0
  113. package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
  114. package/dist/types/modules/product/components/components.d.ts +26 -2
  115. package/dist/types/modules/product/components/index.d.ts +1 -0
  116. package/dist/types/modules/product/components/product-add-to-cart-section.component.d.ts +8 -1
  117. package/dist/types/modules/product/components/product-delivery-estimate.component.d.ts +11 -0
  118. package/dist/types/modules/product/components/product-description.component.d.ts +1 -0
  119. package/dist/types/modules/product/components/product-drawer.component.d.ts +6 -0
  120. package/dist/types/modules/product/components/product-image-carousel.component.d.ts +5 -0
  121. package/dist/types/modules/product/components/product-options.component.d.ts +2 -1
  122. package/dist/types/modules/product/components/product-prop65-warning.d.ts +1 -0
  123. package/dist/types/modules/product/components/product-retailers-carousel.component.d.ts +6 -0
  124. package/dist/types/modules/product/components/product-retailers-popup-list.component.d.ts +12 -2
  125. package/dist/types/modules/product/components/product-retailers-popup.component.d.ts +1 -0
  126. package/dist/types/modules/product/components/product-retailers.component.d.ts +1 -0
  127. package/dist/types/modules/product/product.commands.d.ts +5 -5
  128. package/dist/types/modules/product/product.component.d.ts +3 -0
  129. package/dist/types/modules/product/styles/prop65-warning.style.d.ts +1 -0
  130. package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
  131. package/dist/types/modules/product-list/components/card-components/index.d.ts +6 -0
  132. package/dist/types/modules/product-list/components/card-components/product-badge.d.ts +9 -0
  133. package/dist/types/modules/product-list/components/card-components/product-button.d.ts +11 -0
  134. package/dist/types/modules/product-list/components/card-components/product-fulfillment-text.d.ts +2 -0
  135. package/dist/types/modules/product-list/components/card-components/product-price-and-personalization.d.ts +14 -0
  136. package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +11 -0
  137. package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +14 -0
  138. package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
  139. package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
  140. package/dist/types/modules/product-list/components/{product-list-filters-subcomponents/product-list-checkbox-filter.components.d.ts → filter-components/product-list-checkbox-filter.d.ts} +1 -0
  141. package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
  142. package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
  143. package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +15 -0
  144. package/dist/types/modules/product-list/components/{product-list-filters-subcomponents/product-list-price-filter.components.d.ts → filter-components/product-list-price-filter.d.ts} +2 -1
  145. package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +7 -0
  146. package/dist/types/modules/product-list/components/index.d.ts +6 -2
  147. package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +3 -1
  148. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +39 -31
  149. package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +12 -0
  150. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +58 -36
  151. package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +22 -0
  152. package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +54 -0
  153. package/dist/types/modules/product-list/components/product-list-search.component.d.ts +25 -0
  154. package/dist/types/modules/product-list/product-list-filter.registry.d.ts +42 -0
  155. package/dist/types/modules/product-list/product-list-filter.utils.d.ts +7 -0
  156. package/dist/types/modules/product-list/product-list-order.utils.d.ts +3 -0
  157. package/dist/types/modules/product-list/product-list-query-params.utils.d.ts +3 -0
  158. package/dist/types/modules/product-list/product-list.commands.d.ts +22 -7
  159. package/dist/types/modules/product-list/product-list.component.d.ts +23 -47
  160. package/dist/types/modules/product-list/product-list.constants.d.ts +38 -0
  161. package/dist/types/modules/product-list/product-list.interface.d.ts +17 -28
  162. package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
  163. package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
  164. package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
  165. package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
  166. package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
  167. package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
  168. package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
  169. package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
  170. package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -2
  171. package/dist/types/modules/ui-components/alert/alert.component.d.ts +1 -1
  172. package/dist/types/modules/ui-components/buttons/buttons-open-cart.component.d.ts +5 -0
  173. package/dist/types/modules/ui-components/drawer/drawer.component.d.ts +15 -0
  174. package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +9 -1
  175. package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +7 -1
  176. package/dist/types/modules/ui-components/input/index.d.ts +0 -1
  177. package/dist/types/modules/ui-components/input/input.component.d.ts +15 -2
  178. package/dist/types/modules/ui-components/lce-element/lce-element.component.d.ts +2 -1
  179. package/dist/types/modules/ui-components/promo-code-ticker/promo-code-ticker.component.d.ts +1 -1
  180. package/dist/types/modules/ui-components/ui.commands.d.ts +7 -1
  181. package/dist/types/ssr/stub.checkout.d.ts +6 -0
  182. package/dist/types/ssr/stub.d.ts +10 -0
  183. package/dist/types/static/icon/arrow-right.icon.d.ts +1 -1
  184. package/dist/types/static/icon/bag.icon.d.ts +1 -1
  185. package/dist/types/static/icon/check.icon.d.ts +2 -0
  186. package/dist/types/static/icon/checkbox.icon.d.ts +1 -1
  187. package/dist/types/static/icon/chevron-down.icon.d.ts +1 -1
  188. package/dist/types/static/icon/chevron-left.icon.d.ts +1 -1
  189. package/dist/types/static/icon/chevron-up.icon.d.ts +1 -1
  190. package/dist/types/static/icon/close.icon.d.ts +1 -1
  191. package/dist/types/static/icon/error-info.icon.d.ts +1 -1
  192. package/dist/types/static/icon/filter.icon.d.ts +1 -1
  193. package/dist/types/static/icon/icon.a11y.d.ts +1 -0
  194. package/dist/types/static/icon/icon.types.d.ts +1 -0
  195. package/dist/types/static/icon/index.d.ts +2 -0
  196. package/dist/types/static/icon/info.icon.d.ts +1 -1
  197. package/dist/types/static/icon/loading-spinner.icon.d.ts +1 -1
  198. package/dist/types/static/icon/search.icon.d.ts +1 -1
  199. package/dist/types/static/icon/success.icon.d.ts +1 -1
  200. package/dist/types/static/icon/trash.icon.d.ts +1 -1
  201. package/dist/types/static/icon/warning.icon.d.ts +1 -1
  202. package/dist/types/utils/dom-compat.d.ts +2 -0
  203. package/dist/types/utils/format.d.ts +9 -14
  204. package/dist/types/utils/image-bg-removal.d.ts +3 -0
  205. package/dist/types/utils/product-selection.d.ts +16 -0
  206. package/dist/types/utils/product.d.ts +21 -0
  207. package/dist/types/utils/timezone.d.ts +6 -0
  208. package/docs/v1/README.md +213 -0
  209. package/docs/v1/api/actions/address-actions.md +286 -0
  210. package/docs/v1/api/actions/cart-actions.md +364 -0
  211. package/docs/v1/api/actions/checkout-actions.md +586 -0
  212. package/docs/v1/api/actions/product-actions.md +204 -0
  213. package/docs/v1/api/client.md +664 -0
  214. package/docs/v1/api/configuration.md +583 -0
  215. package/docs/v1/api/injection-methods.md +331 -0
  216. package/docs/v1/api/typescript-types.md +501 -0
  217. package/docs/v1/api/ui-helpers.md +200 -0
  218. package/docs/v1/examples/advanced-patterns.md +199 -0
  219. package/docs/v1/examples/checkout-flow.md +90 -0
  220. package/docs/v1/examples/custom-theming.md +76 -0
  221. package/docs/v1/examples/multi-product-page.md +90 -0
  222. package/docs/v1/examples/simple-product-page.md +89 -0
  223. package/docs/v1/getting-started/concepts.md +521 -0
  224. package/docs/v1/getting-started/installation.md +351 -0
  225. package/docs/v1/getting-started/quick-start.md +410 -0
  226. package/docs/v1/guides/accessibility.md +280 -0
  227. package/docs/v1/guides/address-component.md +435 -0
  228. package/docs/v1/guides/best-practices.md +365 -0
  229. package/docs/v1/guides/cart-component.md +800 -0
  230. package/docs/v1/guides/checkout-component.md +806 -0
  231. package/docs/v1/guides/events.md +988 -0
  232. package/docs/v1/guides/product-component.md +761 -0
  233. package/docs/v1/guides/product-list-component.md +730 -0
  234. package/docs/v1/guides/theming.md +243 -0
  235. package/docs/v1/integration/angular.md +39 -0
  236. package/docs/v1/integration/laravel.md +41 -0
  237. package/docs/v1/integration/nextjs.md +69 -0
  238. package/docs/v1/integration/proxy-setup.md +106 -0
  239. package/docs/v1/integration/react.md +64 -0
  240. package/docs/v1/integration/vanilla-js.md +84 -0
  241. package/docs/v1/integration/vue.md +58 -0
  242. package/docs/v1/reference/analytics.md +133 -0
  243. package/docs/v1/reference/browser-support.md +47 -0
  244. package/docs/v1/reference/error-handling.md +83 -0
  245. package/docs/v1/reference/performance.md +52 -0
  246. package/docs/v1/reference/telemetry.md +85 -0
  247. package/docs/v1/reference/troubleshooting.md +135 -0
  248. package/package.json +75 -45
  249. package/dist/types/elements-builder-client.d.ts +0 -2
  250. package/dist/types/elements-client-helper.d.ts +0 -4
  251. package/dist/types/elements-client.d.ts +0 -2
  252. package/dist/types/enums/cloud.enum.d.ts +0 -97
  253. package/dist/types/interfaces/cloud/checkout.interface.d.ts +0 -218
  254. package/dist/types/interfaces/cloud/core.interface.d.ts +0 -22
  255. package/dist/types/interfaces/cloud/index.d.ts +0 -3
  256. package/dist/types/interfaces/cloud/retailer.interface.d.ts +0 -67
  257. package/dist/types/interfaces/cloud/user.interface.d.ts +0 -100
  258. package/dist/types/interfaces/core.interface.d.ts +0 -111
  259. package/dist/types/modules/checkout/components/checkout.type.d.ts +0 -4
  260. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
  261. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
  262. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
  263. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +0 -16
  264. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
  265. package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
  266. package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
  267. package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
  268. package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
  269. package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
  270. package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
  271. package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
  272. package/dist/types/utils/helper.d.ts +0 -28
  273. package/docs/ACTIONS.md +0 -1300
  274. package/docs/BROWSER_SUPPORT.md +0 -279
  275. package/docs/CONFIGURATION.md +0 -853
  276. package/docs/DOCUMENTATION_INDEX.md +0 -311
  277. package/docs/EVENTS.md +0 -798
  278. package/docs/PROXY.md +0 -228
  279. package/docs/THEMING.md +0 -592
  280. package/docs/TROUBLESHOOTING.md +0 -793
  281. package/umd/elements.js +0 -1
  282. /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
  283. /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
  284. /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
  285. /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
  286. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
  287. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
  288. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
  289. /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
  290. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
  291. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
  292. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { DeepPartial } from '@/interfaces/core.interface';
1
+ import type { DeepPartial } from '@/interfaces/config.interface';
2
2
  export interface ICheckoutMarketingOptIn {
3
3
  show: boolean;
4
4
  checked: boolean;
@@ -12,7 +12,9 @@ export interface ICheckoutLayout {
12
12
  emailOptIn: ICheckoutMarketingOptIn;
13
13
  smsOptIn: ICheckoutMarketingOptIn;
14
14
  allowGiftCards: boolean;
15
+ requireBirthDate?: boolean;
15
16
  legalMessage: ICheckoutLegalMessage;
17
+ continueShoppingUrl: string;
16
18
  exitUrl: string;
17
19
  thankYouButtonText: string;
18
20
  drawerHeaderText: string;
@@ -1,9 +1,10 @@
1
+ import type { DeepPartial } from '@/interfaces/config.interface';
1
2
  import type { IElementsConfigurations } from '@/interfaces/configs/configurations.interface';
2
- import type { DeepPartial } from '@/interfaces/core.interface';
3
3
  import type { IAddressComponent } from './address.interface';
4
4
  import type { ICartComponent } from './cart.interface';
5
5
  import type { ICheckoutComponent } from './checkout.interface';
6
6
  import type { IProductComponent } from './product.interface';
7
+ import type { IProductListComponent } from './product-list.interface';
7
8
  export interface IFontFamily {
8
9
  name: string;
9
10
  weights: number[];
@@ -22,6 +23,8 @@ export interface IGlobalTheme {
22
23
  warningColor: string;
23
24
  successColor: string;
24
25
  drawerBackgroundColor: string;
26
+ inputBorderColor?: string;
27
+ focusRingColor?: string;
25
28
  }
26
29
  export interface IPromoTicker {
27
30
  promoCode: string;
@@ -39,6 +42,8 @@ export interface IGlobalLayout {
39
42
  personalizationCardStyle: 'outlined' | 'filled';
40
43
  allowPromoCodes: boolean;
41
44
  inputFieldStyle: 'outlined' | 'filled';
45
+ enableOrderedProductSizes: boolean;
46
+ orderedProductSizes: string[];
42
47
  showPoweredBy: boolean;
43
48
  poweredByMode: 'light' | 'dark';
44
49
  }
@@ -52,9 +57,10 @@ export interface IAllConfigs {
52
57
  configurations: IElementsConfigurations;
53
58
  global: IComponentGlobalConfigs;
54
59
  product: IProductComponent;
60
+ productList: IProductListComponent;
55
61
  address: IAddressComponent;
56
62
  cart: ICartComponent;
57
63
  checkout: ICheckoutComponent;
58
64
  }
59
- export type ConfigsKeyType = 'all' | 'configurations' | 'global' | 'product' | 'address' | 'cart' | 'checkout';
60
- export type ConfigsType = IAllConfigs | IElementsConfigurations | IComponentGlobalConfigs | IProductComponent | IAddressComponent | ICartComponent | ICheckoutComponent;
65
+ export type ConfigsKeyType = 'all' | 'configurations' | 'global' | 'product' | 'address' | 'cart' | 'checkout' | 'productList';
66
+ export type ConfigsType = IAllConfigs | IElementsConfigurations | IComponentGlobalConfigs | IProductComponent | IAddressComponent | ICartComponent | ICheckoutComponent | IProductListComponent;
@@ -4,3 +4,4 @@ export * from './checkout.interface';
4
4
  export * from './configurations.interface';
5
5
  export * from './global.interface';
6
6
  export * from './product.interface';
7
+ export * from './product-list.interface';
@@ -0,0 +1,49 @@
1
+ import type { DeepPartial } from '@/interfaces/config.interface';
2
+ import type { ProductListFilterType } from '@/interfaces/injection.interface';
3
+ export type PLCPresentationModeType = 'drawer' | 'modal';
4
+ export type PLCListType = 'curated' | 'dynamic';
5
+ export type PLCCardStyle = 'card' | 'ghost';
6
+ export type PLCProductUrl = string | Record<string, string>;
7
+ export interface IPLCProductCard {
8
+ style: PLCCardStyle;
9
+ cornerRadius: string;
10
+ showPrice: boolean;
11
+ showSizes: boolean;
12
+ showRetailerName: boolean;
13
+ showFulfillmentOptions: boolean;
14
+ enableShippingFulfillment: boolean;
15
+ enableOnDemandFulfillment: boolean;
16
+ enablePersonalization: boolean;
17
+ showQuantityCounter: boolean;
18
+ enablePreCart: boolean;
19
+ showCollectionTags: boolean;
20
+ productUrl: PLCProductUrl | null;
21
+ noAvailabilityText: string;
22
+ }
23
+ export interface IPLCList {
24
+ type: PLCListType;
25
+ name: string;
26
+ slug: string;
27
+ filters: Record<string, string[]>;
28
+ productCard: IPLCProductCard;
29
+ presentationMode: PLCPresentationModeType;
30
+ availableFilters: ProductListFilterType[];
31
+ rows: number;
32
+ columns: number;
33
+ }
34
+ export interface IProductListLayout {
35
+ lists: IPLCList[];
36
+ }
37
+ export interface IProductListTheme {
38
+ backgroundColor: string;
39
+ }
40
+ export interface IProductListComponent {
41
+ theme: IProductListTheme;
42
+ layout: IProductListLayout;
43
+ }
44
+ export interface UpdateProductListComponent {
45
+ theme?: DeepPartial<IProductListTheme>;
46
+ layout?: {
47
+ lists?: Record<string, DeepPartial<IPLCList>>;
48
+ };
49
+ }
@@ -1,16 +1,22 @@
1
- import type { DeepPartial } from '@/interfaces/core.interface';
1
+ import type { FulfillmentType } from '@/enums';
2
+ import type { DeepPartial } from '@/interfaces/config.interface';
2
3
  export type FulfillmentDisplayType = 'carousel' | 'popup';
4
+ export type DescriptionPositionType = 'above' | 'below';
3
5
  export interface IProductLayout {
4
6
  showImages: boolean;
5
7
  showOnlyMainImage: boolean;
6
8
  showTitle: boolean;
7
9
  showDescription: boolean;
10
+ descriptionPosition: DescriptionPositionType;
8
11
  showQuantityCounter: boolean;
9
12
  showOffHours: boolean;
10
13
  quantityCounterStyle: 'outlined' | 'ghost';
11
14
  fulfillmentDisplay: FulfillmentDisplayType;
12
15
  enableShippingFulfillment: boolean;
13
16
  enableOnDemandFulfillment: boolean;
17
+ primaryFulfillmentMethod: FulfillmentType;
18
+ showOnlyOneRetailer: boolean;
19
+ hideRetailerName: boolean;
14
20
  addToCartButtonText: string;
15
21
  addToCartButtonShowTotalPrice: boolean;
16
22
  buyNowButtonText: string;
@@ -0,0 +1,56 @@
1
+ import type { PRODUCT_LIST_FILTER_TYPES } from '@/constants';
2
+ import type { ComponentType } from '@/enums';
3
+ import type { PLCProductUrl } from '@/interfaces/configs/product-list.interface';
4
+ import type { IAddressOptions } from '@/modules/address/address.interface';
5
+ export interface IInjectProductElement {
6
+ containerId: string;
7
+ identifier: string;
8
+ }
9
+ export type ProductListFilterType = (typeof PRODUCT_LIST_FILTER_TYPES)[keyof typeof PRODUCT_LIST_FILTER_TYPES];
10
+ export interface IInjectProductListParams {
11
+ containerId: string;
12
+ slug: string;
13
+ rows?: number;
14
+ columns?: number;
15
+ filters?: ProductListFilterType[];
16
+ productUrl?: PLCProductUrl;
17
+ productOrder?: string[];
18
+ }
19
+ export interface IInjectProductListSearchParams {
20
+ containerId: string;
21
+ slug: string;
22
+ filters?: ProductListFilterType[];
23
+ }
24
+ export interface IInjectProductListFiltersParams {
25
+ containerId: string;
26
+ slug: string;
27
+ filters?: ProductListFilterType[];
28
+ }
29
+ export interface IBuilderInjectElementParams {
30
+ type: ComponentType;
31
+ containerId: string;
32
+ [key: string]: any;
33
+ }
34
+ export interface IProcessInjectElementParams {
35
+ type: ComponentType;
36
+ containerId: string;
37
+ identifier?: string;
38
+ options?: IAddressOptions;
39
+ checkoutId?: string;
40
+ hideHeader?: boolean;
41
+ variant?: 'section' | 'buttons';
42
+ }
43
+ export interface IInjectCheckoutParams {
44
+ containerId: string;
45
+ checkoutId?: string;
46
+ hideHeader?: boolean;
47
+ }
48
+ export interface IInjectExpressCheckoutParams {
49
+ containerId: string;
50
+ checkoutId?: string;
51
+ variant?: 'section' | 'buttons';
52
+ }
53
+ export interface IInjectCheckoutBuilderParams extends IInjectCheckoutParams {
54
+ simulatePresale?: boolean;
55
+ presaleExpiresInMinutes?: number;
56
+ }
@@ -1,4 +1,4 @@
1
- import { BaseComponent } from '@/core/base-component.service';
1
+ import { BaseComponent, type IOnStoreChanged } from '@/core/base-component.service';
2
2
  import type { IAddressComponent } from '@/interfaces/configs';
3
3
  import type { IAddressOptions } from './address.interface';
4
4
  export interface IAddressDisplayComponentParams {
@@ -8,6 +8,8 @@ export interface IAddressDisplayComponentParams {
8
8
  }
9
9
  export declare class AddressDisplayComponent extends BaseComponent<IAddressDisplayComponentParams, IAddressComponent> {
10
10
  get hostClasses(): string[];
11
+ private lastAnnouncedAddress;
11
12
  constructor();
13
+ onStoreChanged(changes: IOnStoreChanged[]): boolean | undefined;
12
14
  protected template(): HTMLElement[];
13
15
  }
@@ -25,10 +25,19 @@ export declare class AddressInputComponent extends BaseComponent<IAddressInputCo
25
25
  private handleCancel;
26
26
  private handleCheckAvailability;
27
27
  private handleSuggestionClick;
28
- private handleDocumentClick;
28
+ private suggestionsStatus;
29
+ private activeSuggestionIndex;
30
+ private handleRootClick;
31
+ private handleFocusOut;
29
32
  private searchAddresses;
30
33
  private updateErrorDisplay;
31
34
  private updateSuggestionsDisplay;
35
+ private updateSuggestionsStatus;
36
+ private getSuggestionOptions;
37
+ private moveActiveSuggestion;
38
+ private setActiveSuggestion;
39
+ private isSuggestionListOpen;
40
+ private handleComboboxKeydown;
32
41
  private showSuggestions;
33
42
  private hideSuggestions;
34
43
  private createElement;
@@ -6,9 +6,10 @@ export declare class AddressCommands extends BaseCommand {
6
6
  constructor();
7
7
  static getInstance(): AddressCommands;
8
8
  searchAddresses(query: string): Promise<IAddressAutocompleteResult[]>;
9
- getAddressDetails(addressId: string): Promise<IAddressDetailsResult>;
9
+ getAddressDetails(addressId: string): Promise<IAddressDetailsResult | null>;
10
10
  setSelectedAddress(addressData: IAddressData): Promise<void>;
11
11
  setAddressManually(address: IAddressAddress, coordinates: IAddressCoordinates): Promise<void>;
12
12
  clearSelectedAddress(): Promise<void>;
13
13
  getDetails(): IAddressData | null;
14
+ private buildFormattedAddressString;
14
15
  }
@@ -1,5 +1,5 @@
1
1
  import { BaseCommand } from '@/core/command/base-command.service';
2
- import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface';
2
+ import type { IBaseCartEventData, ICartShopRetailerEventData } from '@/core/pubsub/interfaces/cart.interface';
3
3
  export interface AddItemParams {
4
4
  fulfillmentId: string;
5
5
  partNumber: string;
@@ -8,17 +8,19 @@ export interface AddItemParams {
8
8
  identifier: string;
9
9
  }
10
10
  export declare class CartCommands extends BaseCommand {
11
- private readonly uiCommands;
12
- private readonly checkoutCommands;
13
- private readonly commonCommands;
14
11
  constructor();
15
12
  static getInstance(): CartCommands;
13
+ getShopRetailerTarget(fulfillmentId: string): (ICartShopRetailerEventData & {
14
+ retailerName: string;
15
+ }) | null;
16
+ shopRetailer(fulfillmentId: string): void;
16
17
  updateItemQuantity(itemId: string, delta: number): Promise<void>;
17
18
  removeItem(itemId: string, isNotStandAlone?: boolean): Promise<void>;
18
19
  updateItemEngraving(productItemId: string, engravingLines: string[]): Promise<void>;
19
20
  addItem(params: AddItemParams): Promise<void>;
20
- addPresaleItem(params: AddItemParams): Promise<void>;
21
21
  handleGoToCheckout(): Promise<void>;
22
+ private trackBeginCheckout;
23
+ private resolveCheckoutRedirectUrl;
22
24
  applyPromoCode(promoCode: string): Promise<void>;
23
25
  removePromoCode(): Promise<void>;
24
26
  rerenderCart(): void;
@@ -31,4 +33,6 @@ export declare class CartCommands extends BaseCommand {
31
33
  private updateFulfillment;
32
34
  private addNewFulfillmentAndRetailer;
33
35
  private cleanupAfterItemRemoval;
36
+ private syncCartState;
37
+ private buildCartLoadedEventData;
34
38
  }
@@ -10,6 +10,7 @@ export declare class CartBodyComponent extends BaseComponent<null, ICartComponen
10
10
  private getRetailerElementById;
11
11
  private getLoadingElement;
12
12
  private showEmptyCartState;
13
+ private preserveDialogFocus;
13
14
  private addLoadingOverlay;
14
15
  private removeLoadingOverlay;
15
16
  private setupEmptyCartListeners;
@@ -9,6 +9,7 @@ export declare class CartFulfillmentComponent extends BaseComponent<ICartFulfill
9
9
  private handleItemsUpdate;
10
10
  private setupItemElements;
11
11
  private setupMinimumPurchaseAlert;
12
+ private removeMinimumControl;
12
13
  private createLoadingOverlay;
13
14
  private hasLoadingOverlay;
14
15
  private showLoadingOverlay;
@@ -16,7 +17,6 @@ export declare class CartFulfillmentComponent extends BaseComponent<ICartFulfill
16
17
  private isAnyItemUpdating;
17
18
  private checkAndUpdateLoadingState;
18
19
  onStoreChanged(changes: IOnStoreChanged[]): boolean | undefined;
19
- private hasFulfillmentDataChanged;
20
20
  protected afterRender(): void;
21
21
  protected disconnected(): void;
22
22
  protected template(): HTMLElement[];
@@ -7,14 +7,19 @@ export declare class CartItemQuantityPriceComponent extends BaseComponent<ICartI
7
7
  private qtyIncreaseButton;
8
8
  private qtyDecreaseButton;
9
9
  private quantitySpan;
10
+ private priceElement;
11
+ private unitPriceElement;
10
12
  get hostClasses(): string[];
11
13
  constructor();
14
+ onStoreChanged(changes: IOnStoreChanged[]): boolean;
12
15
  onStoreWatch(changes: IOnStoreChanged[]): void;
13
16
  private getItemStore;
14
17
  private calculateQuantityLimits;
15
18
  private getAvailableQuantity;
16
19
  private updateButtonStates;
17
20
  private handleQuantityChange;
21
+ private updatePriceText;
22
+ private applyUnitPrice;
18
23
  private createQuantityContainer;
19
24
  private createPriceContainer;
20
25
  protected template(): HTMLElement[];
@@ -6,6 +6,12 @@ export declare class CartItemComponent extends BaseComponent<ICartItemComponentP
6
6
  get hostClasses(): string[];
7
7
  get hostAttributes(): Record<string, string>;
8
8
  constructor();
9
+ private lastFocusedKey;
10
+ private cancelFocusRestore;
11
+ protected connected(): void;
12
+ protected disconnected(): void;
13
+ private readonly handleFocusIn;
14
+ protected afterRender(): void;
9
15
  private handleOpenEngravingForm;
10
16
  protected template(): HTMLElement[];
11
17
  }
@@ -1,23 +1,68 @@
1
1
  import { BaseCommand } from '@/core/command/base-command.service';
2
- import type { ICheckoutBillingStore, ICheckoutCustomerStore, ICheckoutGiftRecipientStore, ICheckoutPaymentMethodStore } from '@/core/store/interfaces/checkout.interface';
2
+ import type { ICheckoutDetailsEventData } from '@/core/pubsub/interfaces/checkout.interface';
3
+ import type { ICheckoutPaymentMethodStore } from '@/core/store/interfaces/checkout.interface';
4
+ import type { CheckoutPaymentSessionType, ICheckoutBilling, ICheckoutCustomer, ICheckoutGiftRecipient, ICheckoutMarketingPreferences, ICheckoutPaymentSession, ICheckoutPrepare } from '@/interfaces/api/checkout.interface';
5
+ import type { AddItemParams } from '@/modules/cart/cart.commands';
6
+ import type { PresaleExpiredReason } from '@/modules/checkout/components';
7
+ import { type IExpressWalletBillingDetails } from '@/modules/checkout/express-wallet';
3
8
  export declare class CheckoutCommands extends BaseCommand {
4
9
  private readonly uiCommands;
5
- private readonly commonCommands;
10
+ private lastLoadParams;
11
+ private paymentGeneration;
12
+ private savedMarketingPreferences;
13
+ private savedMarketingRevision;
14
+ private marketingNeedsPrepare;
15
+ private completingCheckout;
16
+ private savedMarketingError;
17
+ private marketingEdits;
18
+ private marketingQueue;
19
+ private readonly marketingFields;
20
+ private customerEditRevision;
21
+ private customerEditedGeneration;
22
+ private confirmedPayment;
23
+ private expressHandoff;
24
+ private get requiresBirthDate();
25
+ assertPaymentReady(): void;
26
+ retryLoadCheckout(): Promise<void>;
27
+ private paymentSessionRequest;
6
28
  constructor();
7
29
  static getInstance(): CheckoutCommands;
8
- loadCheckout(cartIdParam?: string): Promise<void>;
30
+ addPresaleItem(params: AddItemParams): Promise<void>;
31
+ loadCheckout(params: {
32
+ checkoutId?: string;
33
+ cartId?: string;
34
+ isForPresale?: boolean;
35
+ }): Promise<void>;
36
+ private showAlreadyCompletedCheckout;
37
+ loadCheckoutFromResponse(response: ICheckoutPrepare): void;
9
38
  toggleIsGift(active?: boolean): Promise<void>;
10
39
  toggleBillingSameAsShipping(active?: boolean): Promise<void>;
11
- toggleMarketingPreferences(fieldName: 'canEmail' | 'canSms', active?: boolean): Promise<void>;
40
+ private loadedMarketingState;
41
+ private defaultMarketingPreferences;
42
+ private marketingForPrepare;
43
+ private confirmedSavedMarketing;
44
+ private queueMarketing;
45
+ setSavedMarketingPreferences(preferences: Partial<ICheckoutMarketingPreferences>): Promise<void>;
46
+ clearSavedMarketingPreferences(): void;
47
+ private recordSavedMarketing;
48
+ private assertMarketingRestored;
49
+ private canApplySavedMarketing;
50
+ private applySavedMarketingPreferences;
51
+ toggleMarketingPreferences(fieldName: 'canEmail' | 'canSms', active?: boolean): Promise<boolean>;
12
52
  getPaymentSession(): Promise<void>;
13
- confirmPaymentSession(confirmationTokenId: string, setupIntentId: string): Promise<ICheckoutPaymentMethodStore | null>;
53
+ getExpressPaymentSession(): Promise<ICheckoutPaymentSession | null>;
54
+ private requestPaymentSession;
55
+ confirmPaymentSession(confirmationTokenId: string, setupIntentId: string, sessionType?: CheckoutPaymentSessionType): Promise<ICheckoutPaymentMethodStore>;
14
56
  applyPromoCode(code: string): Promise<void>;
15
57
  removePromoCode(): Promise<void>;
16
58
  clearPromoCodeError(): Promise<void>;
17
59
  applyGiftCard(code: string): Promise<void>;
18
60
  removeGiftCard(code: string): Promise<void>;
19
61
  clearGiftCardError(): Promise<void>;
20
- openPresaleExpiredDrawer(): void;
62
+ showPresaleExpired(reason?: PresaleExpiredReason): void;
63
+ openCheckout(): void;
64
+ getReturnUrl(): string | null;
65
+ private resolveCheckoutPageUrl;
21
66
  rerenderCheckout(): void;
22
67
  updateCheckoutItemQuantity(itemId: string, delta: number): Promise<void>;
23
68
  removeItemEngraving(productItemId: string): Promise<void>;
@@ -26,28 +71,55 @@ export declare class CheckoutCommands extends BaseCommand {
26
71
  updateFulfillmentTip(fulfillmentId: string, tipAmount: number): Promise<void>;
27
72
  removeFulfillmentTip(fulfillmentId: string): Promise<void>;
28
73
  clearCheckoutError(): Promise<void>;
74
+ markCustomerFormEdited(): void;
75
+ canPrefillCustomerForm(): boolean;
76
+ savePrefilledCustomerInfo(): Promise<void>;
29
77
  editCustomerForm(): Promise<void>;
30
78
  saveCustomerForm({ shippingAddressTwo, deliveryInstructions, customerData, }: {
31
- customerData: ICheckoutCustomerStore;
79
+ customerData: ICheckoutCustomer;
32
80
  shippingAddressTwo: string;
33
81
  deliveryInstructions: string;
34
82
  }): Promise<void>;
35
83
  editGiftRecipientForm(): Promise<void>;
36
- saveGiftRecipientForm({ shippingAddressTwo, deliveryInstructions, ...giftRecipientData }: ICheckoutGiftRecipientStore & {
84
+ saveGiftRecipientForm({ shippingAddressTwo, deliveryInstructions, ...giftRecipientData }: ICheckoutGiftRecipient & {
37
85
  shippingAddressTwo: string;
38
86
  deliveryInstructions: string;
39
87
  }): Promise<void>;
40
88
  editPaymentForm(): Promise<void>;
89
+ private resetCheckoutPreservingInjected;
90
+ private markInjectedPaymentReady;
41
91
  savePaymentForm({ billingFormData, paymentSession, }: {
42
- billingFormData?: ICheckoutBillingStore;
92
+ billingFormData?: ICheckoutBilling;
43
93
  paymentSession?: {
44
94
  confirmationTokenId: string;
45
95
  setupIntentId: string;
96
+ sessionType?: CheckoutPaymentSessionType;
46
97
  };
47
98
  }): Promise<void>;
48
- checkoutComplete(): Promise<void>;
99
+ private prepareMarketingForCompletion;
100
+ beginExpressCompletion({ wallet, confirmationTokenId, intentId, approvedTotal, billingDetails, }: {
101
+ wallet: string;
102
+ confirmationTokenId: string;
103
+ intentId: string;
104
+ approvedTotal: number;
105
+ billingDetails: IExpressWalletBillingDetails | undefined;
106
+ }): Promise<void>;
107
+ private prepareExpressPayment;
108
+ completeExpressOrder(birthDate?: string): Promise<void>;
109
+ cancelExpressCompletion(): void;
110
+ private saveExpressCustomer;
111
+ private assertApprovedTotal;
112
+ private setExpressStatus;
113
+ private failExpressCompletion;
114
+ private writeExpress;
115
+ checkoutComplete(options?: {
116
+ expressPaymentIntentId?: string;
117
+ }): Promise<void>;
49
118
  private updateStoreFromCheckoutResponse;
50
- private partialLoadCheckout;
119
+ private syncFromItemUpdate;
120
+ private syncCheckoutState;
121
+ private refreshCheckout;
51
122
  private dataForCheckoutPrepare;
52
- private buildCheckoutItemStore;
123
+ private normalizeForApi;
124
+ getDetails(): ICheckoutDetailsEventData;
53
125
  }
@@ -1,10 +1,15 @@
1
- import { BaseComponent } from '@/core/base-component.service';
1
+ import { BaseComponent, type IOnStoreChanged } from '@/core/base-component.service';
2
2
  import type { ICheckoutComponent } from '@/interfaces/configs';
3
3
  export interface ICheckoutComponentParams {
4
4
  checkoutId: string;
5
5
  isIndependentComponent: boolean;
6
+ hideHeader: boolean;
6
7
  }
7
8
  export declare class CheckoutComponent extends BaseComponent<ICheckoutComponentParams, ICheckoutComponent> {
8
9
  constructor();
10
+ onStoreWatch(_changes: IOnStoreChanged[]): void;
11
+ private updateInitializationState;
12
+ afterRender(): void;
9
13
  protected template(): HTMLElement[];
14
+ private createHeader;
10
15
  }
@@ -1,13 +1,16 @@
1
1
  import { BaseComponent } from '@/core/base-component.service';
2
- import type { ICheckoutBillingStore } from '@/core/store/interfaces/checkout.interface';
2
+ import type { ICheckoutBilling } from '@/interfaces/api/checkout.interface';
3
3
  import type { ICheckoutComponent } from '@/interfaces/configs';
4
4
  export interface ICheckoutBillingComponentParams {
5
- isFormValid: (isValid: boolean, data: ICheckoutBillingStore) => void;
5
+ isFormValid: (isValid: boolean, data: ICheckoutBilling) => void;
6
6
  }
7
7
  export declare class CheckoutBillingComponent extends BaseComponent<ICheckoutBillingComponentParams, ICheckoutComponent> {
8
8
  private billingData;
9
9
  get hostClasses(): string[];
10
10
  constructor();
11
+ private pendingToggleFocus;
12
+ protected afterRender(): void;
13
+ private readonly onBillingSameAsShippingToggle;
11
14
  private billingSameAsShippingToggle;
12
15
  private updateSaveButtonState;
13
16
  protected template(): HTMLElement[];
@@ -7,6 +7,7 @@ export declare class CheckoutBuyer extends BaseComponent<null, ICheckoutComponen
7
7
  get hostClasses(): string[];
8
8
  constructor();
9
9
  onStoreWatch(changes: IOnStoreChanged[]): void;
10
+ private get requiresBirthDate();
10
11
  private updateSaveButtonState;
11
12
  protected template(): HTMLElement[];
12
13
  }
@@ -6,8 +6,13 @@ export interface ICheckoutCompletedComponentParams {
6
6
  cardLast4: string;
7
7
  customerEmail: string;
8
8
  giftRecipientEmail: string | null;
9
+ checkoutToken?: string;
10
+ cartId?: string;
11
+ isCompleted?: boolean;
9
12
  }
10
13
  export declare class CheckoutCompletedComponent extends BaseComponent<ICheckoutCompletedComponentParams, ICheckoutComponent> {
11
14
  get hostClasses(): string[];
15
+ private hasAnnouncedCompletion;
16
+ protected afterRender(): void;
12
17
  protected template(): HTMLElement[];
13
18
  }
@@ -8,6 +8,7 @@ export declare class CheckoutDeliverToComponent extends BaseComponent<null, IChe
8
8
  get hostClasses(): string[];
9
9
  constructor();
10
10
  onStoreWatch(changes: IOnStoreChanged[]): void;
11
+ private get requiresBirthDate();
11
12
  private updateSaveButtonState;
12
13
  protected template(): HTMLElement[];
13
14
  }
@@ -0,0 +1,61 @@
1
+ import { BaseComponent } from '@/core/base-component.service';
2
+ import type { ICheckoutComponent } from '@/interfaces/configs';
3
+ export interface ICheckoutExpressCheckoutComponentParams {
4
+ variant?: 'section' | 'buttons';
5
+ isIndependentComponent?: boolean;
6
+ }
7
+ export declare class CheckoutExpressCheckoutComponent extends BaseComponent<ICheckoutExpressCheckoutComponentParams, ICheckoutComponent> {
8
+ private section;
9
+ private walletHost;
10
+ private completionElement;
11
+ private stripe;
12
+ private stripeElements;
13
+ private expressElement;
14
+ private sessionSecret;
15
+ private expressSession;
16
+ private sessionAmount;
17
+ private isMounting;
18
+ private isProcessing;
19
+ private hasAvailableWallets;
20
+ private availableWallets;
21
+ private hasSettledAvailability;
22
+ private lastPublishedAvailability;
23
+ get hostClasses(): string[];
24
+ constructor();
25
+ protected onStoreWatch(): void;
26
+ private syncCompletionView;
27
+ private get isCompletingExpress();
28
+ private get isButtonsOnly();
29
+ private get isReadyForPayment();
30
+ private get isGiftOrder();
31
+ protected template(): HTMLElement[];
32
+ protected afterRender(): void;
33
+ private createDividerLine;
34
+ private updateVisibility;
35
+ private publishAvailability;
36
+ private reportUnavailable;
37
+ private mountExpressElement;
38
+ private ensurePaymentSession;
39
+ private createWalletHost;
40
+ private findRootComponent;
41
+ private get orderTotal();
42
+ private buildElementsOptions;
43
+ private readIntentTerms;
44
+ private normaliseFutureUsage;
45
+ private buildAppearance;
46
+ private buildElementOptions;
47
+ private buildLineItems;
48
+ private readAvailability;
49
+ private handleAvailability;
50
+ private handleClick;
51
+ private hasUnmetMinimums;
52
+ private handleConfirm;
53
+ private isTotalUnchanged;
54
+ private toBillingDetails;
55
+ private failPayment;
56
+ private handleCancel;
57
+ private loadStripeJS;
58
+ private teardownExpressElement;
59
+ private remountIfTotalMoved;
60
+ protected disconnected(): void;
61
+ }
@@ -0,0 +1,21 @@
1
+ import { BaseComponent } from '@/core/base-component.service';
2
+ import type { ICheckoutComponent } from '@/interfaces/configs';
3
+ export declare class CheckoutExpressCompletionComponent extends BaseComponent<null, ICheckoutComponent> {
4
+ private birthDate;
5
+ private isBirthDateValid;
6
+ private completeButton;
7
+ private announcedState;
8
+ private hasFocusedHeading;
9
+ constructor();
10
+ get hostClasses(): string[];
11
+ private get express();
12
+ private get needsBirthDate();
13
+ protected afterRender(): void;
14
+ protected template(): HTMLElement[];
15
+ private headingFor;
16
+ private copyFor;
17
+ private createDots;
18
+ private createBirthDateInput;
19
+ private createCompleteButton;
20
+ private createBackLink;
21
+ }
@@ -2,6 +2,7 @@ import { BaseComponent } from '@/core/base-component.service';
2
2
  export interface ICheckoutHeaderParams {
3
3
  onClose?: () => void;
4
4
  onBackToCart?: () => void;
5
+ isHostedCheckout?: boolean;
5
6
  }
6
7
  export declare class CheckoutHeaderComponent extends BaseComponent<ICheckoutHeaderParams> {
7
8
  get hostClasses(): string[];