@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,25 +1,56 @@
1
- import type { ICartItemAttributes } from '@/interfaces/api/cart.interface';
2
- import type { ICheckoutTotalAmounts } from '@/interfaces/cloud';
1
+ import type { ICheckoutAmounts, ICheckoutItem } from '@/interfaces/api/checkout.interface';
3
2
  export interface IBaseCheckoutEventData {
3
+ token: string;
4
4
  cartId: string;
5
+ isGift: boolean;
6
+ billingSameAsShipping: boolean;
7
+ marketingPreferences: {
8
+ canEmail: boolean;
9
+ canSms: boolean;
10
+ };
11
+ hasPromoCode: boolean;
12
+ hasGiftCards: boolean;
13
+ amounts: ICheckoutAmounts;
14
+ itemCount: number;
15
+ items: Record<string, ICheckoutItem>;
5
16
  }
6
17
  export interface ICheckoutLoadedEventData extends IBaseCheckoutEventData {
7
18
  }
19
+ export interface ICheckoutDetailsEventData extends IBaseCheckoutEventData {
20
+ }
21
+ export interface ICheckoutCustomerInformationUpdatedEventData {
22
+ cartId: string;
23
+ }
24
+ export interface ICheckoutGiftInformationUpdatedEventData {
25
+ cartId: string;
26
+ }
27
+ export interface ICheckoutBillingInformationUpdatedEventData {
28
+ cartId: string;
29
+ }
8
30
  export interface ICheckoutTipUpdatedEventData {
31
+ cartId: string;
9
32
  deliveryTips: Array<{
10
- fulfillmentId?: string;
11
- tipAmount?: number;
33
+ fulfillmentId: string;
34
+ tip: number;
35
+ }>;
36
+ previousDeliveryTips: Array<{
37
+ fulfillmentId: string;
38
+ tip: number;
12
39
  }>;
13
40
  }
14
41
  export interface ICheckoutFailedEventData {
15
42
  message: string;
16
43
  }
17
44
  export interface ICheckoutToggleEventData {
45
+ cartId: string;
18
46
  isActive: boolean;
47
+ previousIsActive: boolean;
19
48
  }
20
49
  export interface ICheckoutMarketingPreferencesToggleEventData {
50
+ cartId: string;
21
51
  fieldName: 'canEmail' | 'canSms';
22
52
  isActive: boolean;
53
+ previousIsActive: boolean;
23
54
  }
24
55
  export interface ICheckoutSubmitStartedEventData {
25
56
  started: boolean;
@@ -49,7 +80,7 @@ export interface ICheckoutItemEngravingUpdatedEventData {
49
80
  }
50
81
  export interface ICheckoutPromoCodeEventData {
51
82
  cartId: string;
52
- discountAmount?: number;
83
+ discount?: number;
53
84
  newTotal?: number;
54
85
  }
55
86
  export interface ICheckoutPromoCodeFailedEventData {
@@ -76,49 +107,8 @@ export interface ICheckoutProductAddFailedEventData {
76
107
  error: string;
77
108
  isPresale?: boolean;
78
109
  }
79
- export interface ICheckoutItemEventData {
80
- liquidId: string;
81
- variantId: string;
82
- cartItemId: string;
83
- retailerId: string;
84
- fulfillmentId: string;
85
- salsifyGrouping: string;
86
- name: string;
87
- catPath: string;
88
- volume: string;
89
- uom: string;
90
- proof: string;
91
- abv: string;
92
- containerType: string;
93
- container: string;
94
- size: string;
95
- pack: boolean;
96
- packDesc: string;
97
- mainImage: string;
98
- brand: string;
99
- partNumber: string;
100
- upc: string;
101
- sku: string;
102
- price: number;
103
- unitPrice: number;
104
- quantity: number;
105
- unitTax: number;
106
- bottleDeposits: number;
107
- attributes: ICartItemAttributes;
108
- retailerName: string;
109
- expectationDetail: string;
110
- }
111
- export interface ICheckoutDetailsEventData {
110
+ export interface ICheckoutExpressCheckoutAvailabilityEventData {
112
111
  cartId: string;
113
- isGift: boolean;
114
- billingSameAsShipping: boolean;
115
- marketingPreferences: {
116
- canEmail: boolean;
117
- canSms: boolean;
118
- };
119
- hasPromoCode: boolean;
120
- hasGiftCards: boolean;
121
- amounts: ICheckoutTotalAmounts;
122
- itemCount: number;
123
- items: Record<string, ICheckoutItemEventData>;
112
+ available: boolean;
113
+ wallets: string[];
124
114
  }
@@ -1,6 +1,6 @@
1
- import type { IAddressActionEventData } from '@/core/pubsub/interfaces/address.interface';
2
- import type { ICartFailedEventData, ICartItemAddedEventData, ICartItemEngravingUpdatedEventData, ICartItemQuantityChangedEventData, ICartItemRemovedEventData, ICartLoadedEventData, ICartProductAddEventData, ICartProductAddFailedEventData, ICartPromoCodeEventData, ICartPromoCodeFailedEventData, ICartUpdatedEventData } from '@/core/pubsub/interfaces/cart.interface';
3
- import type { ICheckoutFailedEventData, ICheckoutGiftCardEventData, ICheckoutGiftCardFailedEventData, ICheckoutItemEngravingUpdatedEventData, ICheckoutItemQuantityChangedEventData, ICheckoutItemRemovedEventData, ICheckoutLoadedEventData, ICheckoutMarketingPreferencesToggleEventData, ICheckoutProductAddEventData, ICheckoutProductAddFailedEventData, ICheckoutPromoCodeEventData, ICheckoutPromoCodeFailedEventData, ICheckoutSubmitCompletedEventData, ICheckoutSubmitFailedEventData, ICheckoutSubmitStartedEventData, ICheckoutTipUpdatedEventData, ICheckoutToggleEventData } from '@/core/pubsub/interfaces/checkout.interface';
1
+ import type { IAddressActionEventData, IAddressFailedEventData } from '@/core/pubsub/interfaces/address.interface';
2
+ import type { ICartFailedEventData, ICartItemAddedEventData, ICartItemEngravingUpdatedEventData, ICartItemQuantityChangedEventData, ICartItemRemovedEventData, ICartLoadedEventData, ICartProductAddEventData, ICartProductAddFailedEventData, ICartPromoCodeEventData, ICartPromoCodeFailedEventData, ICartShopRetailerEventData, ICartUpdatedEventData } from '@/core/pubsub/interfaces/cart.interface';
3
+ import type { ICheckoutBillingInformationUpdatedEventData, ICheckoutCustomerInformationUpdatedEventData, ICheckoutExpressCheckoutAvailabilityEventData, ICheckoutFailedEventData, ICheckoutGiftCardEventData, ICheckoutGiftCardFailedEventData, ICheckoutGiftInformationUpdatedEventData, ICheckoutItemEngravingUpdatedEventData, ICheckoutItemQuantityChangedEventData, ICheckoutItemRemovedEventData, ICheckoutLoadedEventData, ICheckoutMarketingPreferencesToggleEventData, ICheckoutProductAddEventData, ICheckoutProductAddFailedEventData, ICheckoutPromoCodeEventData, ICheckoutPromoCodeFailedEventData, ICheckoutSubmitCompletedEventData, ICheckoutSubmitFailedEventData, ICheckoutSubmitStartedEventData, ICheckoutTipUpdatedEventData, ICheckoutToggleEventData } from '@/core/pubsub/interfaces/checkout.interface';
4
4
  import type { IProductAddToCartEventData, IProductFulfillmentChangedEventData, IProductFulfillmentTypeChangedEventData, IProductLoadedEventData, IProductQuantityChangedEventData, IProductSizeChangedEventData } from '@/core/pubsub/interfaces/product.interface';
5
5
  import { ELEMENTS_ACTIONS_EVENT } from '@/enums';
6
6
  export interface IElementsClientIsReadyEventData {
@@ -16,6 +16,10 @@ export interface IEventMetadata {
16
16
  originalEvent: string;
17
17
  actionNamespace?: 'address' | 'product' | 'cart' | 'checkout' | 'other';
18
18
  timestamp: number;
19
+ sdkVersion: string;
20
+ env: string;
21
+ tenantName: string;
22
+ tenantCode: string;
19
23
  }
20
24
  export interface IEnhancedEventData<T> {
21
25
  data: T;
@@ -25,7 +29,7 @@ export interface IElementsActionsEventsMap {
25
29
  [ELEMENTS_ACTIONS_EVENT.CLIENT_READY]: IElementsClientIsReadyEventData;
26
30
  [ELEMENTS_ACTIONS_EVENT.ADDRESS_UPDATED]: IAddressActionEventData;
27
31
  [ELEMENTS_ACTIONS_EVENT.ADDRESS_CLEARED]: boolean;
28
- [ELEMENTS_ACTIONS_EVENT.ADDRESS_FAILED]: IAddressActionEventData;
32
+ [ELEMENTS_ACTIONS_EVENT.ADDRESS_FAILED]: IAddressFailedEventData;
29
33
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_LOADED]: IProductLoadedEventData;
30
34
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_QUANTITY_DECREASE]: IProductQuantityChangedEventData;
31
35
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_QUANTITY_INCREASE]: IProductQuantityChangedEventData;
@@ -33,6 +37,7 @@ export interface IElementsActionsEventsMap {
33
37
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_SIZE_CHANGED]: IProductSizeChangedEventData;
34
38
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_FULFILLMENT_TYPE_CHANGED]: IProductFulfillmentTypeChangedEventData;
35
39
  [ELEMENTS_ACTIONS_EVENT.PRODUCT_FULFILLMENT_CHANGED]: IProductFulfillmentChangedEventData;
40
+ [ELEMENTS_ACTIONS_EVENT.CART_SHOP_RETAILER]: ICartShopRetailerEventData;
36
41
  [ELEMENTS_ACTIONS_EVENT.CART_CLOSED]: boolean;
37
42
  [ELEMENTS_ACTIONS_EVENT.CART_OPENED]: boolean;
38
43
  [ELEMENTS_ACTIONS_EVENT.CART_UPDATED]: ICartUpdatedEventData;
@@ -49,6 +54,7 @@ export interface IElementsActionsEventsMap {
49
54
  [ELEMENTS_ACTIONS_EVENT.CART_PROMO_CODE_FAILED]: ICartPromoCodeFailedEventData;
50
55
  [ELEMENTS_ACTIONS_EVENT.CART_PRODUCT_ADD_SUCCESS]: ICartProductAddEventData;
51
56
  [ELEMENTS_ACTIONS_EVENT.CART_PRODUCT_ADD_FAILED]: ICartProductAddFailedEventData;
57
+ [ELEMENTS_ACTIONS_EVENT.INTERNAL_CART_TO_CHECKOUT]: object;
52
58
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_OPENED]: boolean;
53
59
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_CLOSED]: boolean;
54
60
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_LOADED]: ICheckoutLoadedEventData;
@@ -56,9 +62,9 @@ export interface IElementsActionsEventsMap {
56
62
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_IS_GIFT_TOGGLED]: ICheckoutToggleEventData;
57
63
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_SAME_AS_SHIPPING_TOGGLED]: ICheckoutToggleEventData;
58
64
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_MARKETING_PREFERENCES_TOGGLED]: ICheckoutMarketingPreferencesToggleEventData;
59
- [ELEMENTS_ACTIONS_EVENT.CHECKOUT_CUSTOMER_INFORMATION_UPDATED]: boolean;
60
- [ELEMENTS_ACTIONS_EVENT.CHECKOUT_GIFT_INFORMATION_UPDATED]: boolean;
61
- [ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_INFORMATION_UPDATED]: boolean;
65
+ [ELEMENTS_ACTIONS_EVENT.CHECKOUT_CUSTOMER_INFORMATION_UPDATED]: ICheckoutCustomerInformationUpdatedEventData;
66
+ [ELEMENTS_ACTIONS_EVENT.CHECKOUT_GIFT_INFORMATION_UPDATED]: ICheckoutGiftInformationUpdatedEventData;
67
+ [ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_INFORMATION_UPDATED]: ICheckoutBillingInformationUpdatedEventData;
62
68
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_REMOVED]: ICheckoutItemRemovedEventData;
63
69
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_QUANTITY_INCREASE]: ICheckoutItemQuantityChangedEventData;
64
70
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_QUANTITY_DECREASE]: ICheckoutItemQuantityChangedEventData;
@@ -75,6 +81,7 @@ export interface IElementsActionsEventsMap {
75
81
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_GIFT_CARD_FAILED]: ICheckoutGiftCardFailedEventData;
76
82
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_PRODUCT_ADD_SUCCESS]: ICheckoutProductAddEventData;
77
83
  [ELEMENTS_ACTIONS_EVENT.CHECKOUT_PRODUCT_ADD_FAILED]: ICheckoutProductAddFailedEventData;
84
+ [ELEMENTS_ACTIONS_EVENT.CHECKOUT_EXPRESS_CHECKOUT_AVAILABILITY]: ICheckoutExpressCheckoutAvailabilityEventData;
78
85
  }
79
86
  export type SpecificActionEvent = keyof IElementsActionsEventsMap;
80
87
  export interface IFormEventData {
@@ -1,7 +1,7 @@
1
1
  import type { IElementsActionsEventsMap, IElementsFormsEventsMap, SpecificActionEvent, SpecificFormEvent } from '@/core/pubsub/interfaces/core.interface';
2
2
  export declare class PubSubService {
3
3
  private readonly logger;
4
- private clientReadyEvent;
4
+ private readonly clientConfig;
5
5
  constructor();
6
6
  private readonly eventPrefix;
7
7
  static getInstance(): PubSubService;
@@ -9,5 +9,4 @@ export declare class PubSubService {
9
9
  publishForm<K extends SpecificFormEvent>(eventType: K, data: IElementsFormsEventsMap[K]): void;
10
10
  private publishSpecific;
11
11
  private dispatchNativeEvents;
12
- private setupClientReadyBuffering;
13
12
  }
@@ -1,17 +1,21 @@
1
1
  import type { IClientConfigs } from '@/core/client/client-config.service';
2
- import type { LiquidCommerceElementsBuilderClientConstructor, LiquidCommerceElementsClientConstructor } from '@/interfaces/core.interface';
2
+ import type { LiquidCommerceElementsBuilderClientConstructor, LiquidCommerceElementsCheckoutClientConstructor, LiquidCommerceElementsClientConstructor } from '@/interfaces/client.interface';
3
+ type ClientConstructor = LiquidCommerceElementsClientConstructor | LiquidCommerceElementsBuilderClientConstructor | LiquidCommerceElementsCheckoutClientConstructor;
4
+ export type SDKContext = 'regular' | 'builder' | 'checkout';
3
5
  export declare class SingletonManager {
4
6
  private static clientConstructor;
5
- private static regularClientInstances;
6
- private static builderClientInstances;
7
+ private static contexts;
7
8
  private static currentContext;
9
+ private static initializationInProgress;
8
10
  private static getInstances;
9
11
  private constructor();
10
- static setContext({ isBuilder }: {
11
- isBuilder: boolean;
12
- }): void;
13
- static setClientConstructor(lceConstructor: LiquidCommerceElementsClientConstructor | LiquidCommerceElementsBuilderClientConstructor): void;
14
- static getClientConstructor(): LiquidCommerceElementsClientConstructor | LiquidCommerceElementsBuilderClientConstructor | null;
12
+ static setContext(context: SDKContext): void;
13
+ static finalizeInitialization(): void;
14
+ static hasContext(context: SDKContext): boolean;
15
+ static destroyContext(context: SDKContext): void;
16
+ static setClientConstructor(lceConstructor: ClientConstructor): void;
17
+ static getClientConstructor(): ClientConstructor | null;
15
18
  static getClassInstance<T>(className: string, instanceCreator: () => T): T;
16
19
  static getClient<T>(clientConfigs: IClientConfigs): Promise<T>;
17
20
  }
21
+ export {};
@@ -1,5 +1,4 @@
1
- import type { IElementsCartEvent } from 'utils/helper';
2
- import type { ICartFulfillment, ICartItemAttributes, ICartPromoCode, ICartRetailer } from '@/interfaces/api/cart.interface';
1
+ import type { ICartEvent, ICartFulfillment, ICartItemAttributes, ICartPromoCode, ICartRetailer } from '@/interfaces/api/cart.interface';
3
2
  export interface ICartItemStore {
4
3
  id: string;
5
4
  variantId: string;
@@ -48,7 +47,7 @@ export interface ICartStore {
48
47
  fulfillments: Record<string, ICartFulfillmentStore>;
49
48
  retailers: Record<string, ICartRetailerStore>;
50
49
  promoCode: ICartPromoCode | null;
51
- events: IElementsCartEvent[];
50
+ events: ICartEvent[];
52
51
  loading: boolean;
53
52
  error: string | null;
54
53
  rerender: boolean;
@@ -1,142 +1,64 @@
1
- import type { IElementsCheckoutEvents } from 'utils/helper';
2
- import type { ICartItemAttributes } from '@/interfaces/api/cart.interface';
3
- export interface ICheckoutMarketingPreferencesStore {
4
- canEmail: boolean;
5
- canSms: boolean;
6
- }
7
- export interface ICheckoutPromoCodeStore {
8
- code: string;
9
- discountAmount: number;
10
- }
11
- export interface ICheckoutGiftCardStore {
12
- code: string;
13
- discountAmount: number;
14
- }
15
- export interface ICheckoutItemStore {
16
- liquidId: string;
17
- variantId: string;
18
- cartItemId: string;
19
- retailerId: string;
20
- fulfillmentId: string;
21
- salsifyGrouping: string;
22
- name: string;
23
- catPath: string;
24
- volume: string;
25
- uom: string;
26
- proof: string;
27
- abv: string;
28
- containerType: string;
29
- container: string;
30
- size: string;
31
- pack: boolean;
32
- packDesc: string;
33
- mainImage: string;
34
- brand: string;
35
- partNumber: string;
36
- upc: string;
37
- sku: string;
38
- price: number;
39
- unitPrice: number;
40
- quantity: number;
41
- unitTax: number;
42
- bottleDeposits: number;
43
- attributes: ICartItemAttributes;
44
- retailerName: string;
45
- expectationDetail: string;
1
+ import type { ICheckoutAmounts, ICheckoutBilling, ICheckoutCustomer, ICheckoutEvent, ICheckoutFulfillment, ICheckoutGiftCard, ICheckoutGiftRecipient, ICheckoutItem, ICheckoutMarketingPreferences, ICheckoutPaymentConfirm, ICheckoutPaymentSession, ICheckoutPresale, ICheckoutPromoCode, ICheckoutRetailer, ICheckoutShippingAddress } from '@/interfaces/api/checkout.interface';
2
+ export interface ICheckoutItemStore extends ICheckoutItem {
46
3
  loading: boolean;
47
4
  updating: boolean;
48
5
  error: string | null;
49
6
  }
50
- export interface IOnDemandFulfillmentTipInfo {
51
- fulfillmentId: string;
52
- retailerId: string;
53
- retailerName: string;
54
- subtotal: number;
55
- tip: number;
56
- }
57
- export interface ICheckoutPresaleStore {
58
- isLocked: boolean;
59
- expiresAt: string | null;
60
- }
61
- export interface ICheckoutCustomerStore {
62
- id?: string;
63
- firstName: string;
64
- lastName: string;
65
- email: string;
66
- phone: string;
67
- birthDate: string;
68
- company: string;
69
- }
70
7
  export interface ICheckoutCustomerFormStore {
71
- data: ICheckoutCustomerStore;
8
+ data: ICheckoutCustomer;
72
9
  isEditing: boolean;
73
10
  isValid: boolean;
74
11
  isSaving: boolean;
75
12
  }
76
- export interface ICheckoutGiftRecipientStore {
77
- firstName: string;
78
- lastName: string;
79
- email: string;
80
- phone: string;
81
- message: string;
82
- }
83
13
  export interface ICheckoutGiftRecipientFormStore {
84
- data: ICheckoutGiftRecipientStore;
14
+ data: ICheckoutGiftRecipient;
85
15
  isEditing: boolean;
86
16
  isValid: boolean;
87
17
  isSaving: boolean;
88
18
  }
89
- export interface ICheckoutBillingStore {
90
- firstName: string;
91
- lastName: string;
92
- email: string;
93
- phone: string;
94
- company: string;
95
- addressOne: string;
96
- addressTwo: string;
97
- city: string;
98
- state: string;
99
- zipCode: string;
19
+ export interface ICheckoutPaymentMethodStore extends ICheckoutPaymentConfirm {
100
20
  }
101
- export interface ICheckoutPaymentCardStore {
102
- brand: string;
103
- last4: string;
104
- expMonth: string;
105
- expYear: string;
21
+ export interface ICheckoutPaymentSessionStore extends ICheckoutPaymentSession {
106
22
  }
107
- export interface ICheckoutPaymentMethodStore {
108
- id: string;
109
- card: ICheckoutPaymentCardStore;
110
- }
111
- export interface ICheckoutPaymentSessionStore {
112
- key: string;
113
- secret: string;
23
+ export type CheckoutExpressStatus = 'idle' | 'preparing' | 'birthDate' | 'completing' | 'failed';
24
+ export interface ICheckoutExpressStore {
25
+ status: CheckoutExpressStatus;
26
+ wallet: string | null;
27
+ intentId: string | null;
28
+ approvedTotal: number | null;
29
+ error: string | null;
114
30
  }
115
31
  export interface ICheckoutPaymentFormStore {
116
32
  paymentSession: ICheckoutPaymentSessionStore | null;
117
33
  paymentMethod: ICheckoutPaymentMethodStore | null;
118
- data: ICheckoutBillingStore | null;
34
+ data: ICheckoutBilling | null;
119
35
  billingSameAsShipping: boolean;
120
36
  isEditing: boolean;
121
37
  isValid: boolean;
122
38
  isSaving: boolean;
123
39
  }
124
40
  export interface ICheckoutStore {
41
+ initialized: boolean;
125
42
  token: string;
126
43
  cartId: string;
127
- presale: ICheckoutPresaleStore | null;
44
+ presale: ICheckoutPresale | null;
128
45
  isGift: boolean;
129
- marketingPreferences: ICheckoutMarketingPreferencesStore;
46
+ marketingPreferences: ICheckoutMarketingPreferences;
47
+ appliedSavedMarketingPreferences: Partial<ICheckoutMarketingPreferences>;
130
48
  customerForm: ICheckoutCustomerFormStore;
131
49
  giftRecipientForm: ICheckoutGiftRecipientFormStore;
132
50
  paymentForm: ICheckoutPaymentFormStore;
133
- shippingAddressTwo: string;
134
- promoCode: ICheckoutPromoCodeStore | null;
135
- giftCards: ICheckoutGiftCardStore[];
51
+ injectedPaymentMethod: ICheckoutPaymentMethodStore | null;
52
+ express: ICheckoutExpressStore;
53
+ shippingAddress: ICheckoutShippingAddress;
54
+ promoCode: ICheckoutPromoCode | null;
55
+ giftCards: ICheckoutGiftCard[];
56
+ itemsQuantity: number;
136
57
  items: Record<string, ICheckoutItemStore>;
137
- amounts: any;
58
+ fulfillments: Record<string, ICheckoutFulfillment>;
59
+ retailers: Record<string, ICheckoutRetailer>;
60
+ amounts: ICheckoutAmounts;
138
61
  orderNumber: string | null;
139
- onDemandFulfillmentTipInfo: Record<string, IOnDemandFulfillmentTipInfo>;
140
62
  tipSelection: number;
141
63
  deliveryInstructions: string;
142
64
  giftCardError: string | null;
@@ -145,6 +67,5 @@ export interface ICheckoutStore {
145
67
  loading: boolean;
146
68
  updating: boolean;
147
69
  error: string | null;
148
- warning: string[];
149
- events: IElementsCheckoutEvents[];
70
+ events: ICheckoutEvent[];
150
71
  }
@@ -1,16 +1,21 @@
1
1
  import type { IAddressStore } from '@/core/store/interfaces/address.interface';
2
2
  import type { ICartFulfillmentStore, ICartItemStore, ICartRetailerStore, ICartStore } from '@/core/store/interfaces/cart.interface';
3
- import type { ICheckoutCustomerFormStore, ICheckoutGiftRecipientFormStore, ICheckoutGiftRecipientStore, ICheckoutItemStore, ICheckoutMarketingPreferencesStore, ICheckoutPaymentFormStore, ICheckoutPaymentMethodStore, ICheckoutPaymentSessionStore, ICheckoutPresaleStore, ICheckoutPromoCodeStore, ICheckoutStore } from '@/core/store/interfaces/checkout.interface';
3
+ import type { ICheckoutCustomerFormStore, ICheckoutExpressStore, ICheckoutGiftRecipientFormStore, ICheckoutItemStore, ICheckoutPaymentFormStore, ICheckoutPaymentMethodStore, ICheckoutPaymentSessionStore, ICheckoutStore } from '@/core/store/interfaces/checkout.interface';
4
+ import type { ICheckoutInjection, ICheckoutMetadata, IElementsMetadataStore } from '@/core/store/interfaces/metadata.interface';
4
5
  import type { IProductSizeStore, IProductStore } from '@/core/store/interfaces/product.interface';
6
+ import type { IPLProductStore, IProductListStore } from '@/core/store/interfaces/product-list.interface';
5
7
  import type { ComponentType } from '@/enums';
6
8
  import type { ICartPromoCode } from '@/interfaces/api/cart.interface';
9
+ import type { ICheckoutGiftRecipient, ICheckoutMarketingPreferences, ICheckoutPresale, ICheckoutPromoCode, ICheckoutRetailer } from '@/interfaces/api/checkout.interface';
7
10
  export interface IDrawerContentConfig {
8
11
  type: ComponentType;
9
12
  data?: Record<string, any>;
10
13
  }
14
+ export type UIDrawerMode = 'drawer' | 'modal';
11
15
  export interface IDrawerStore {
12
16
  isOpen: boolean;
13
17
  contentConfig: IDrawerContentConfig | null;
18
+ mode: UIDrawerMode;
14
19
  }
15
20
  export interface IUIStore {
16
21
  drawer: IDrawerStore;
@@ -20,13 +25,18 @@ export interface IGlobalStore {
20
25
  products: Record<string, IProductStore>;
21
26
  cart: ICartStore;
22
27
  checkout: ICheckoutStore;
28
+ productsList: Record<string, IProductListStore>;
23
29
  ui: IUIStore;
30
+ metadata: IElementsMetadataStore;
24
31
  }
25
32
  export interface IPersistedStore {
26
33
  p?: string;
27
34
  c?: string;
28
35
  }
29
- export type StorePaths = keyof IGlobalStore | `products.${string}` | `products.${string}.${keyof IProductStore}` | `products.${string}.sizes.${string}` | `products.${string}.sizes.${string}.${keyof IProductSizeStore}` | `address.${keyof IAddressStore}` | `cart.${keyof ICartStore}` | `cart.items.${string}` | `cart.items.${string}.${keyof ICartItemStore}` | `cart.retailers.${string}` | `cart.items.${string}.${keyof ICartRetailerStore}` | `cart.fulfillments.${string}` | `cart.fulfillments.${string}.${keyof ICartFulfillmentStore}` | `cart.promoCode.${keyof ICartPromoCode}` | `ui.${keyof IUIStore}` | `ui.drawer.${keyof IDrawerStore}` | `checkout.${keyof ICheckoutStore}` | `checkout.customerForm.${keyof ICheckoutCustomerFormStore}` | `checkout.giftRecipientForm.${keyof ICheckoutGiftRecipientFormStore}` | `checkout.paymentForm.${keyof ICheckoutPaymentFormStore}` | `checkout.paymentForm.paymentSession.${keyof ICheckoutPaymentSessionStore}` | `checkout.paymentForm.paymentMethod.${keyof ICheckoutPaymentMethodStore}` | `checkout.presale.${keyof ICheckoutPresaleStore}` | `checkout.marketingPreferences.${keyof ICheckoutMarketingPreferencesStore}` | `checkout.giftRecipient.${keyof ICheckoutGiftRecipientStore}` | `checkout.giftCards.${string}` | `checkout.promoCode.${keyof ICheckoutPromoCodeStore}` | `checkout.items.${string}` | `checkout.items.${string}.${keyof ICheckoutItemStore}` | `checkout.onDemandFulfillmentTipInfo.${string}`;
36
+ export interface IPersistedStoreAction {
37
+ success: boolean;
38
+ }
39
+ export type StorePaths = keyof IGlobalStore | `products.${string}` | `products.${string}.${keyof IProductStore}` | `products.${string}.sizes.${string}` | `products.${string}.sizes.${string}.${keyof IProductSizeStore}` | `address.${keyof IAddressStore}` | `cart.${keyof ICartStore}` | `cart.items.${string}` | `cart.items.${string}.${keyof ICartItemStore}` | `cart.retailers.${string}` | `cart.items.${string}.${keyof ICartRetailerStore}` | `cart.fulfillments.${string}` | `cart.fulfillments.${string}.${keyof ICartFulfillmentStore}` | `cart.promoCode.${keyof ICartPromoCode}` | `ui.${keyof IUIStore}` | `ui.drawer.${keyof IDrawerStore}` | `checkout.${keyof ICheckoutStore}` | `checkout.customerForm.${keyof ICheckoutCustomerFormStore}` | `checkout.giftRecipientForm.${keyof ICheckoutGiftRecipientFormStore}` | `checkout.paymentForm.${keyof ICheckoutPaymentFormStore}` | `checkout.paymentForm.paymentSession.${keyof ICheckoutPaymentSessionStore}` | `checkout.paymentForm.paymentMethod.${keyof ICheckoutPaymentMethodStore}` | `checkout.express.${keyof ICheckoutExpressStore}` | `checkout.presale.${keyof ICheckoutPresale}` | `checkout.marketingPreferences.${keyof ICheckoutMarketingPreferences}` | `checkout.giftRecipient.${keyof ICheckoutGiftRecipient}` | `checkout.giftCards.${string}` | `checkout.promoCode.${keyof ICheckoutPromoCode}` | `checkout.items.${string}` | `checkout.items.${string}.${keyof ICheckoutItemStore}` | `checkout.retailers.${string}` | `checkout.retailers.${string}.${keyof ICheckoutRetailer}` | `checkout.fulfillments.${string}` | `productsList.${string}` | `productsList.${string}.${keyof IProductListStore}` | `productsList.${string}.products.${string}` | `productsList.${string}.products.${string}.${keyof IPLProductStore}` | `metadata.${keyof IElementsMetadataStore}` | `metadata.checkout.${keyof ICheckoutMetadata}` | `metadata.checkout.injection.${keyof ICheckoutInjection}`;
30
40
  interface MiddlewareContext {
31
41
  action: string;
32
42
  payload: any;
@@ -0,0 +1,11 @@
1
+ export interface ICheckoutInjection {
2
+ containerId: string;
3
+ injectedAt: number;
4
+ }
5
+ export interface ICheckoutMetadata {
6
+ injection: ICheckoutInjection | null;
7
+ returnUrl: string | null;
8
+ }
9
+ export interface IElementsMetadataStore {
10
+ checkout: ICheckoutMetadata;
11
+ }
@@ -0,0 +1,30 @@
1
+ import type { FulfillmentType } from '@/enums';
2
+ import type { IProduct } from '@/interfaces/api/product.interface';
3
+ import type { IFilterSchema } from '@/interfaces/api/product-list.interface';
4
+ import type { IPagination } from '@/modules/product-list/product-list.interface';
5
+ import type { IProductFulfillmentStore, IProductSizeStore } from './product.interface';
6
+ export interface IPLProductStore extends Omit<IProduct, 'sizes'> {
7
+ id: string;
8
+ sizes: Record<string, IProductSizeStore>;
9
+ quantity: number;
10
+ selectedSizeId: string | null;
11
+ selectedFulfillmentType: FulfillmentType;
12
+ selectedFulfillmentId: string | null;
13
+ selectedFulfillment: IProductFulfillmentStore | null;
14
+ engravingLines: string[];
15
+ productHasAvailability: boolean;
16
+ fulfillmentHasAvailability: boolean;
17
+ loading: boolean;
18
+ updating: boolean;
19
+ }
20
+ export interface IProductListStore {
21
+ products: Record<string, IPLProductStore>;
22
+ appliedFilters: Record<string, string[]>;
23
+ filters: IFilterSchema[];
24
+ pagination: IPagination;
25
+ searchTerm: string;
26
+ rows: number;
27
+ columns: number;
28
+ loading: boolean;
29
+ rerender: boolean;
30
+ }
@@ -13,6 +13,7 @@ export type IProductFulfillmentStore = IFulfillment & {
13
13
  retailerAddress: IRetailerAddress;
14
14
  retailerAddressFormatted: string;
15
15
  variant: IProductVariant;
16
+ image?: string;
16
17
  };
17
18
  export interface IProductSizeStore extends Omit<IProductSize, 'shippingVariants' | 'onDemandVariants'> {
18
19
  onDemandFulfillments: Record<string, IProductFulfillmentStore>;
@@ -2,11 +2,16 @@ import type { IAddressStore } from '@/core/store/interfaces/address.interface';
2
2
  import type { ICartStore } from '@/core/store/interfaces/cart.interface';
3
3
  import type { ICheckoutStore } from '@/core/store/interfaces/checkout.interface';
4
4
  import type { IGlobalStore, IUIStore } from '@/core/store/interfaces/core.interface';
5
+ import type { IElementsMetadataStore } from '@/core/store/interfaces/metadata.interface';
5
6
  import type { IProductStore } from '@/core/store/interfaces/product.interface';
7
+ import type { IProductListStore } from './interfaces/product-list.interface';
6
8
  export declare const LOCAL_STORAGE_PREFIX = "lce";
7
9
  export declare const initialAddressState: IAddressStore;
8
10
  export declare const initialProductState: IProductStore;
9
11
  export declare const initialCartState: ICartStore;
10
12
  export declare const initialCheckoutState: ICheckoutStore;
11
13
  export declare const initialUIState: IUIStore;
14
+ export declare const initialMetadataState: IElementsMetadataStore;
15
+ export declare const initialProductsListState: Record<string, IProductListStore>;
16
+ export declare function createInitialProductListState(): IProductListStore;
12
17
  export declare const initialStoreState: IGlobalStore;
@@ -28,6 +28,7 @@ export declare class StoreService {
28
28
  createProductInstance(productId: string): boolean;
29
29
  removeProductInstance(productId: string): boolean;
30
30
  getProductInstances(): Record<string, IProductStore>;
31
+ destroy(): void;
31
32
  getState(): IGlobalStore;
32
33
  private setupMiddleware;
33
34
  private loggingMiddleware;
@@ -10,6 +10,7 @@ export declare class TelemetryService {
10
10
  constructor();
11
11
  static getInstance(): TelemetryService;
12
12
  isEnabled(): boolean;
13
+ destroy(): void;
13
14
  captureEvent(level: TelemetryLevel, message: string, options?: ITelemetryEventOptions): void;
14
15
  private buildErrorContext;
15
16
  private buildSDKContext;