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

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 (294) hide show
  1. package/README.md +100 -2518
  2. package/dist/index.checkout.esm.js +20445 -0
  3. package/dist/index.esm.js +28574 -20597
  4. package/dist/ssr-stub.checkout.esm.js +17 -0
  5. package/dist/ssr-stub.esm.js +277 -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 +23 -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 +45 -49
  41. package/dist/types/core/pubsub/interfaces/core.interface.d.ts +15 -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 +36 -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 +47 -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 +271 -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 +95 -12
  85. package/dist/types/modules/checkout/checkout.component.d.ts +7 -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-delivery-method.component.d.ts +22 -0
  91. package/dist/types/modules/checkout/components/checkout-express-checkout.component.d.ts +61 -0
  92. package/dist/types/modules/checkout/components/checkout-express-completion.component.d.ts +21 -0
  93. package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
  94. package/dist/types/modules/checkout/components/checkout-item-quantity.component.d.ts +4 -0
  95. package/dist/types/modules/checkout/components/checkout-items.component.d.ts +4 -3
  96. package/dist/types/modules/checkout/components/checkout-order-summary.component.d.ts +3 -0
  97. package/dist/types/modules/checkout/components/checkout-payment.component.d.ts +6 -1
  98. package/dist/types/modules/checkout/components/checkout-place-order-button.component.d.ts +1 -5
  99. package/dist/types/modules/checkout/components/checkout-presale-countdown.component.d.ts +15 -1
  100. package/dist/types/modules/checkout/components/checkout-presale-expired.component.d.ts +7 -1
  101. package/dist/types/modules/checkout/components/checkout-prop65-warning.component.d.ts +8 -0
  102. package/dist/types/modules/checkout/components/checkout-send-as-gift.component.d.ts +3 -0
  103. package/dist/types/modules/checkout/components/checkout-stripe-form.component.d.ts +7 -2
  104. package/dist/types/modules/checkout/components/checkout-tips.component.d.ts +4 -2
  105. package/dist/types/modules/checkout/components/index.d.ts +4 -0
  106. package/dist/types/modules/checkout/components/promo-pc-gc.component.d.ts +0 -2
  107. package/dist/types/modules/checkout/components/required-fields-legend.d.ts +1 -0
  108. package/dist/types/modules/checkout/constant.d.ts +15 -0
  109. package/dist/types/modules/checkout/customer-prefill.d.ts +5 -0
  110. package/dist/types/modules/checkout/express-wallet.d.ts +12 -0
  111. package/dist/types/modules/checkout/payment-session-error.d.ts +4 -0
  112. package/dist/types/modules/checkout/styles/delivery-method.style.d.ts +1 -0
  113. package/dist/types/modules/checkout/styles/express-checkout.style.d.ts +1 -0
  114. package/dist/types/modules/checkout/styles/express-completion.style.d.ts +1 -0
  115. package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
  116. package/dist/types/modules/product/components/components.d.ts +26 -2
  117. package/dist/types/modules/product/components/index.d.ts +1 -0
  118. package/dist/types/modules/product/components/product-add-to-cart-section.component.d.ts +8 -1
  119. package/dist/types/modules/product/components/product-delivery-estimate.component.d.ts +11 -0
  120. package/dist/types/modules/product/components/product-description.component.d.ts +1 -0
  121. package/dist/types/modules/product/components/product-drawer.component.d.ts +6 -0
  122. package/dist/types/modules/product/components/product-image-carousel.component.d.ts +5 -0
  123. package/dist/types/modules/product/components/product-options.component.d.ts +2 -1
  124. package/dist/types/modules/product/components/product-prop65-warning.d.ts +1 -0
  125. package/dist/types/modules/product/components/product-retailers-carousel.component.d.ts +6 -0
  126. package/dist/types/modules/product/components/product-retailers-popup-list.component.d.ts +12 -2
  127. package/dist/types/modules/product/components/product-retailers-popup.component.d.ts +1 -0
  128. package/dist/types/modules/product/components/product-retailers.component.d.ts +1 -0
  129. package/dist/types/modules/product/product.commands.d.ts +5 -5
  130. package/dist/types/modules/product/product.component.d.ts +3 -0
  131. package/dist/types/modules/product/styles/prop65-warning.style.d.ts +1 -0
  132. package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
  133. package/dist/types/modules/product-list/components/card-components/index.d.ts +6 -0
  134. package/dist/types/modules/product-list/components/card-components/product-badge.d.ts +9 -0
  135. package/dist/types/modules/product-list/components/card-components/product-button.d.ts +11 -0
  136. package/dist/types/modules/product-list/components/card-components/product-fulfillment-text.d.ts +2 -0
  137. package/dist/types/modules/product-list/components/card-components/product-price-and-personalization.d.ts +14 -0
  138. package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +11 -0
  139. package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +14 -0
  140. package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
  141. package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
  142. 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
  143. package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
  144. package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
  145. package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +15 -0
  146. 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
  147. package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +7 -0
  148. package/dist/types/modules/product-list/components/index.d.ts +6 -2
  149. package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +3 -1
  150. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +39 -31
  151. package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +12 -0
  152. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +58 -36
  153. package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +22 -0
  154. package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +54 -0
  155. package/dist/types/modules/product-list/components/product-list-search.component.d.ts +25 -0
  156. package/dist/types/modules/product-list/product-list-filter.registry.d.ts +42 -0
  157. package/dist/types/modules/product-list/product-list-filter.utils.d.ts +7 -0
  158. package/dist/types/modules/product-list/product-list-order.utils.d.ts +3 -0
  159. package/dist/types/modules/product-list/product-list-query-params.utils.d.ts +3 -0
  160. package/dist/types/modules/product-list/product-list.commands.d.ts +22 -7
  161. package/dist/types/modules/product-list/product-list.component.d.ts +23 -47
  162. package/dist/types/modules/product-list/product-list.constants.d.ts +38 -0
  163. package/dist/types/modules/product-list/product-list.interface.d.ts +17 -28
  164. package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
  165. package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
  166. package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
  167. package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
  168. package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
  169. package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
  170. package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
  171. package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
  172. package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -2
  173. package/dist/types/modules/ui-components/alert/alert.component.d.ts +10 -10
  174. package/dist/types/modules/ui-components/buttons/buttons-open-cart.component.d.ts +5 -0
  175. package/dist/types/modules/ui-components/drawer/drawer.component.d.ts +15 -0
  176. package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +9 -1
  177. package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +7 -1
  178. package/dist/types/modules/ui-components/input/index.d.ts +0 -1
  179. package/dist/types/modules/ui-components/input/input.component.d.ts +15 -2
  180. package/dist/types/modules/ui-components/lce-element/lce-element.component.d.ts +2 -1
  181. package/dist/types/modules/ui-components/promo-code-ticker/promo-code-ticker.component.d.ts +1 -1
  182. package/dist/types/modules/ui-components/ui.commands.d.ts +7 -1
  183. package/dist/types/ssr/stub.checkout.d.ts +6 -0
  184. package/dist/types/ssr/stub.d.ts +10 -0
  185. package/dist/types/static/icon/arrow-right.icon.d.ts +1 -1
  186. package/dist/types/static/icon/bag.icon.d.ts +1 -1
  187. package/dist/types/static/icon/check.icon.d.ts +2 -0
  188. package/dist/types/static/icon/checkbox.icon.d.ts +1 -1
  189. package/dist/types/static/icon/chevron-down.icon.d.ts +1 -1
  190. package/dist/types/static/icon/chevron-left.icon.d.ts +1 -1
  191. package/dist/types/static/icon/chevron-up.icon.d.ts +1 -1
  192. package/dist/types/static/icon/close.icon.d.ts +1 -1
  193. package/dist/types/static/icon/error-info.icon.d.ts +1 -1
  194. package/dist/types/static/icon/filter.icon.d.ts +1 -1
  195. package/dist/types/static/icon/icon.a11y.d.ts +1 -0
  196. package/dist/types/static/icon/icon.types.d.ts +1 -0
  197. package/dist/types/static/icon/index.d.ts +2 -0
  198. package/dist/types/static/icon/info.icon.d.ts +1 -1
  199. package/dist/types/static/icon/loading-spinner.icon.d.ts +1 -1
  200. package/dist/types/static/icon/search.icon.d.ts +1 -1
  201. package/dist/types/static/icon/success.icon.d.ts +1 -1
  202. package/dist/types/static/icon/trash.icon.d.ts +1 -1
  203. package/dist/types/static/icon/warning.icon.d.ts +1 -1
  204. package/dist/types/utils/dom-compat.d.ts +2 -0
  205. package/dist/types/utils/format.d.ts +9 -14
  206. package/dist/types/utils/image-bg-removal.d.ts +3 -0
  207. package/dist/types/utils/product-selection.d.ts +16 -0
  208. package/dist/types/utils/product.d.ts +21 -0
  209. package/dist/types/utils/timezone.d.ts +6 -0
  210. package/docs/v1/README.md +213 -0
  211. package/docs/v1/api/actions/address-actions.md +286 -0
  212. package/docs/v1/api/actions/cart-actions.md +364 -0
  213. package/docs/v1/api/actions/checkout-actions.md +586 -0
  214. package/docs/v1/api/actions/product-actions.md +204 -0
  215. package/docs/v1/api/client.md +664 -0
  216. package/docs/v1/api/configuration.md +583 -0
  217. package/docs/v1/api/injection-methods.md +331 -0
  218. package/docs/v1/api/typescript-types.md +501 -0
  219. package/docs/v1/api/ui-helpers.md +200 -0
  220. package/docs/v1/examples/advanced-patterns.md +199 -0
  221. package/docs/v1/examples/checkout-flow.md +90 -0
  222. package/docs/v1/examples/custom-theming.md +76 -0
  223. package/docs/v1/examples/multi-product-page.md +90 -0
  224. package/docs/v1/examples/simple-product-page.md +89 -0
  225. package/docs/v1/getting-started/concepts.md +521 -0
  226. package/docs/v1/getting-started/installation.md +351 -0
  227. package/docs/v1/getting-started/quick-start.md +410 -0
  228. package/docs/v1/guides/accessibility.md +288 -0
  229. package/docs/v1/guides/address-component.md +435 -0
  230. package/docs/v1/guides/best-practices.md +365 -0
  231. package/docs/v1/guides/cart-component.md +800 -0
  232. package/docs/v1/guides/checkout-component.md +817 -0
  233. package/docs/v1/guides/events.md +1004 -0
  234. package/docs/v1/guides/product-component.md +761 -0
  235. package/docs/v1/guides/product-list-component.md +730 -0
  236. package/docs/v1/guides/theming.md +243 -0
  237. package/docs/v1/integration/angular.md +39 -0
  238. package/docs/v1/integration/laravel.md +41 -0
  239. package/docs/v1/integration/nextjs.md +69 -0
  240. package/docs/v1/integration/proxy-setup.md +106 -0
  241. package/docs/v1/integration/react.md +64 -0
  242. package/docs/v1/integration/vanilla-js.md +84 -0
  243. package/docs/v1/integration/vue.md +58 -0
  244. package/docs/v1/reference/analytics.md +133 -0
  245. package/docs/v1/reference/browser-support.md +47 -0
  246. package/docs/v1/reference/error-handling.md +83 -0
  247. package/docs/v1/reference/performance.md +52 -0
  248. package/docs/v1/reference/telemetry.md +85 -0
  249. package/docs/v1/reference/troubleshooting.md +135 -0
  250. package/package.json +75 -45
  251. package/dist/types/elements-builder-client.d.ts +0 -2
  252. package/dist/types/elements-client-helper.d.ts +0 -4
  253. package/dist/types/elements-client.d.ts +0 -2
  254. package/dist/types/enums/cloud.enum.d.ts +0 -97
  255. package/dist/types/interfaces/cloud/checkout.interface.d.ts +0 -218
  256. package/dist/types/interfaces/cloud/core.interface.d.ts +0 -22
  257. package/dist/types/interfaces/cloud/index.d.ts +0 -3
  258. package/dist/types/interfaces/cloud/retailer.interface.d.ts +0 -67
  259. package/dist/types/interfaces/cloud/user.interface.d.ts +0 -100
  260. package/dist/types/interfaces/core.interface.d.ts +0 -111
  261. package/dist/types/modules/checkout/components/checkout.type.d.ts +0 -4
  262. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
  263. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
  264. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
  265. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +0 -16
  266. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
  267. package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
  268. package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
  269. package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
  270. package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
  271. package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
  272. package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
  273. package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
  274. package/dist/types/utils/helper.d.ts +0 -28
  275. package/docs/ACTIONS.md +0 -1300
  276. package/docs/BROWSER_SUPPORT.md +0 -279
  277. package/docs/CONFIGURATION.md +0 -853
  278. package/docs/DOCUMENTATION_INDEX.md +0 -311
  279. package/docs/EVENTS.md +0 -798
  280. package/docs/PROXY.md +0 -228
  281. package/docs/THEMING.md +0 -592
  282. package/docs/TROUBLESHOOTING.md +0 -793
  283. package/umd/elements.js +0 -1
  284. /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
  285. /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
  286. /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
  287. /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
  288. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
  289. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
  290. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
  291. /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
  292. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
  293. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
  294. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
@@ -1,5 +1,4 @@
1
1
  export declare const ELEMENTS_ENV: {
2
- readonly DEVELOPMENT: "development";
3
2
  readonly STAGING: "staging";
4
3
  readonly PRODUCTION: "production";
5
4
  };
@@ -17,6 +16,7 @@ export declare const ELEMENTS_ACTIONS_EVENT: {
17
16
  readonly PRODUCT_FULFILLMENT_TYPE_CHANGED: "product_fulfillment_type_changed";
18
17
  readonly PRODUCT_FULFILLMENT_CHANGED: "product_fulfillment_changed";
19
18
  readonly CART_LOADED: "cart_loaded";
19
+ readonly CART_SHOP_RETAILER: "cart_shop_retailer";
20
20
  readonly CART_CLOSED: "cart_closed";
21
21
  readonly CART_OPENED: "cart_opened";
22
22
  readonly CART_UPDATED: "cart_updated";
@@ -32,6 +32,7 @@ export declare const ELEMENTS_ACTIONS_EVENT: {
32
32
  readonly CART_PROMO_CODE_FAILED: "cart_promo_code_failed";
33
33
  readonly CART_PRODUCT_ADD_SUCCESS: "cart_product_add_success";
34
34
  readonly CART_PRODUCT_ADD_FAILED: "cart_product_add_failed";
35
+ readonly INTERNAL_CART_TO_CHECKOUT: "internal_cart_to_checkout";
35
36
  readonly CHECKOUT_LOADED: "checkout_loaded";
36
37
  readonly CHECKOUT_OPENED: "checkout_opened";
37
38
  readonly CHECKOUT_CLOSED: "checkout_closed";
@@ -46,6 +47,7 @@ export declare const ELEMENTS_ACTIONS_EVENT: {
46
47
  readonly CHECKOUT_ITEM_QUANTITY_INCREASE: "checkout_item_quantity_increase";
47
48
  readonly CHECKOUT_ITEM_QUANTITY_DECREASE: "checkout_item_quantity_decrease";
48
49
  readonly CHECKOUT_ITEM_ENGRAVING_UPDATED: "checkout_item_engraving_updated";
50
+ readonly CHECKOUT_DELIVERY_METHOD_UPDATED: "checkout_delivery_method_updated";
49
51
  readonly CHECKOUT_TIP_UPDATED: "checkout_tip_updated";
50
52
  readonly CHECKOUT_SUBMIT_STARTED: "checkout_submit_started";
51
53
  readonly CHECKOUT_SUBMIT_COMPLETED: "checkout_submit_completed";
@@ -58,6 +60,7 @@ export declare const ELEMENTS_ACTIONS_EVENT: {
58
60
  readonly CHECKOUT_GIFT_CARD_FAILED: "checkout_gift_card_failed";
59
61
  readonly CHECKOUT_PRODUCT_ADD_SUCCESS: "checkout_product_add_success";
60
62
  readonly CHECKOUT_PRODUCT_ADD_FAILED: "checkout_product_add_failed";
63
+ readonly CHECKOUT_EXPRESS_CHECKOUT_AVAILABILITY: "checkout_express_checkout_availability";
61
64
  };
62
65
  export declare const ELEMENTS_FORM: {
63
66
  readonly CUSTOMER: "customer";
@@ -67,7 +70,6 @@ export declare const ELEMENTS_FORM: {
67
70
  export declare const COMPONENT_TYPE: {
68
71
  readonly DRAWER: "drawer";
69
72
  readonly INPUT: "input";
70
- readonly BIRTHDATE_INPUT: "birthdate-input";
71
73
  readonly ENGRAVING_FORM: "engraving-form";
72
74
  readonly ENGRAVING_VIEW: "engraving-view";
73
75
  readonly BUTTONS_CART_OPEN: "buttons-cart-open";
@@ -88,6 +90,7 @@ export declare const COMPONENT_TYPE: {
88
90
  readonly PRODUCT_RETAILERS_CAROUSEL: "product-retailers-carousel";
89
91
  readonly PRODUCT_RETAILERS_POPUP: "product-retailers-popup";
90
92
  readonly PRODUCT_RETAILERS_POPUP_LIST: "product-retailers-popup-list";
93
+ readonly PRODUCT_DELIVERY_ESTIMATE: "product-delivery-estimate";
91
94
  readonly PRODUCT_PRICE: "product-price";
92
95
  readonly PRODUCT_ADD_TO_CART_SECTION: "product-add-to-cart-section";
93
96
  readonly PRODUCT_DRAWER: "product-drawer";
@@ -97,6 +100,10 @@ export declare const COMPONENT_TYPE: {
97
100
  readonly PRODUCT_LIST_FILTERS: "product-list-filters";
98
101
  readonly PRODUCT_LIST_SEARCH: "product-list-search";
99
102
  readonly PRODUCT_LIST_CARD_LOADING: "product-list-card-loading";
103
+ readonly PRODUCT_LIST_ENGRAVING_FORM: "product-list-engraving-form";
104
+ readonly PRODUCT_LIST_PRODUCT_PRE_CART: "product-list-product-pre-cart";
105
+ readonly PRODUCT_LIST_PRODUCT_ENGRAVING_LINES: "product-list-product-engraving-lines";
106
+ readonly PRODUCT_LIST_SIZE_SELECTOR: "product-list-size-selector";
100
107
  readonly CART: "cart";
101
108
  readonly CART_RETAILER: "cart-retailer";
102
109
  readonly CART_ITEM: "cart-item";
@@ -111,6 +118,7 @@ export declare const COMPONENT_TYPE: {
111
118
  readonly CHECKOUT_INFORMATION: "checkout-information";
112
119
  readonly CHECKOUT_STRIPE_HANDLER: "checkout-stripe-handler";
113
120
  readonly CHECKOUT_STRIPE_FORM: "checkout-stripe-form";
121
+ readonly CHECKOUT_DELIVERY_METHOD: "checkout-delivery-method";
114
122
  readonly CHECKOUT_PAYMENT: "checkout-payment";
115
123
  readonly CHECKOUT_PAYMENT_SUMMARY: "checkout-payment-summary";
116
124
  readonly CHECKOUT_BILLING: "checkout-billing";
@@ -129,10 +137,13 @@ export declare const COMPONENT_TYPE: {
129
137
  readonly CHECKOUT_ITEM: "checkout-item";
130
138
  readonly CHECKOUT_ITEM_QUANTITY: "checkout-item-quantity";
131
139
  readonly CHECKOUT_PLACE_ORDER_BUTTON: "checkout-place-order-button";
140
+ readonly CHECKOUT_PROP65_WARNING: "checkout-prop65-warning";
132
141
  readonly CHECKOUT_HEADER: "checkout-header";
133
142
  readonly CHECKOUT_PRESALE_COUNTDOWN: "checkout-presale-countdown";
134
143
  readonly CHECKOUT_PRESALE_EXPIRED: "checkout-presale-expired";
135
144
  readonly CHECKOUT_SEND_AS_GIFT: "checkout-send-as-gift";
145
+ readonly CHECKOUT_EXPRESS_CHECKOUT: "checkout-express-checkout";
146
+ readonly CHECKOUT_EXPRESS_COMPLETION: "checkout-express-completion";
136
147
  };
137
148
  export type ComponentType = (typeof COMPONENT_TYPE)[keyof typeof COMPONENT_TYPE];
138
149
  export declare const FULFILLMENT_TYPE: {
@@ -146,3 +157,37 @@ export declare const DEBUG_MODE: {
146
157
  readonly PANEL: "panel";
147
158
  };
148
159
  export type DebugMode = (typeof DEBUG_MODE)[keyof typeof DEBUG_MODE];
160
+ export declare const CART_EVENT_TYPE: {
161
+ readonly GENERIC: "generic";
162
+ readonly PROMO_CODE: "promo-code";
163
+ };
164
+ export type CartEventType = (typeof CART_EVENT_TYPE)[keyof typeof CART_EVENT_TYPE];
165
+ export declare const CART_EVENT_LEVEL: {
166
+ readonly SUCCESS: "success";
167
+ readonly WARNING: "warning";
168
+ readonly ERROR: "error";
169
+ };
170
+ export type CartEventLevel = (typeof CART_EVENT_LEVEL)[keyof typeof CART_EVENT_LEVEL];
171
+ export declare const CHECKOUT_EVENT_TYPE: {
172
+ readonly GENERIC: "generic";
173
+ readonly PROMO_CODE: "promo-code";
174
+ readonly GIFT_CARD: "gift-card";
175
+ };
176
+ export type CheckoutEventType = (typeof CHECKOUT_EVENT_TYPE)[keyof typeof CHECKOUT_EVENT_TYPE];
177
+ export declare const CHECKOUT_EVENT_LEVEL: {
178
+ readonly SUCCESS: "success";
179
+ readonly WARNING: "warning";
180
+ readonly ERROR: "error";
181
+ };
182
+ export type CheckoutEventLevel = (typeof CHECKOUT_EVENT_LEVEL)[keyof typeof CHECKOUT_EVENT_LEVEL];
183
+ export declare const DISPLAY_MODE: {
184
+ readonly MODAL: "modal";
185
+ readonly DRAWER: "drawer";
186
+ };
187
+ export type DisplayModeType = (typeof DISPLAY_MODE)[keyof typeof DISPLAY_MODE];
188
+ export declare const NAVIGATION_SOURCE: {
189
+ readonly PRODUCT: "product";
190
+ readonly PRODUCT_LIST_CARD: "product-list-card";
191
+ readonly PRE_CART: "pre-cart";
192
+ };
193
+ export type NavigationSourceType = (typeof NAVIGATION_SOURCE)[keyof typeof NAVIGATION_SOURCE];
@@ -1,2 +1 @@
1
- export * from './cloud.enum';
2
1
  export * from './core.enum';
@@ -0,0 +1,9 @@
1
+ import { ElementsCheckout } from '@/clients/checkout';
2
+ import type { DebugMode, ElementsEnv } from '@/enums';
3
+ import { DEBUG_MODE, ELEMENTS_ENV } from '@/enums';
4
+ import type { IElementsCheckoutActions, IElementsCheckoutClient } from '@/interfaces/client.interface';
5
+ import type { IInjectedComponent } from '@/interfaces/component.interface';
6
+ import type { ILiquidCommerceElementsCheckoutClientConfig } from '@/interfaces/config.interface';
7
+ import type { IInjectCheckoutParams, IInjectExpressCheckoutParams } from '@/interfaces/injection.interface';
8
+ export type { DebugMode, ElementsEnv, IElementsCheckoutActions, IElementsCheckoutClient, IInjectCheckoutParams, IInjectExpressCheckoutParams, IInjectedComponent, ILiquidCommerceElementsCheckoutClientConfig, };
9
+ export { DEBUG_MODE, ELEMENTS_ENV, ElementsCheckout };
@@ -0,0 +1,4 @@
1
+ import type { IElementsCheckoutActions, IElementsCheckoutClient } from '@/interfaces/client.interface';
2
+ import { ElementsCheckout } from './clients/checkout';
3
+ export type { IElementsCheckoutActions, IElementsCheckoutClient };
4
+ export { ElementsCheckout };
@@ -1,6 +1,11 @@
1
+ export * from './clients/builder';
2
+ export * from './clients/main';
1
3
  export * from './core/sdk-error-handler';
2
- export * from './elements-builder-client';
3
- export * from './elements-client';
4
4
  export * from './enums';
5
+ export type { LiquidCommerceGlobal } from './global';
6
+ export * from './interfaces/api';
7
+ export * from './interfaces/client.interface';
8
+ export * from './interfaces/component.interface';
9
+ export * from './interfaces/config.interface';
5
10
  export * from './interfaces/configs';
6
- export * from './interfaces/core.interface';
11
+ export * from './interfaces/injection.interface';
@@ -1,4 +1,4 @@
1
- import type { CartEventEnum, FulfillmentType } from '@/enums';
1
+ import type { CartEventLevel, CartEventType, FulfillmentType } from '@/enums';
2
2
  import type { ILocation } from '@/interfaces/api/address.interface';
3
3
  import type { IProductPresale } from '@/interfaces/api/product.interface';
4
4
  export interface ICartUpdateItem {
@@ -19,6 +19,7 @@ export interface ICartFulfillment {
19
19
  canEngrave: boolean;
20
20
  type: FulfillmentType;
21
21
  expectation: string;
22
+ engravingExpectation: string;
22
23
  itemIds: string[];
23
24
  subtotal: number;
24
25
  hasUnmetMinimumPurchaseAmount: boolean;
@@ -64,7 +65,15 @@ export interface ICartItem {
64
65
  }
65
66
  export interface ICartPromoCode {
66
67
  code: string;
67
- discountAmount: number;
68
+ discount: number;
69
+ freeDelivery: boolean;
70
+ freeServiceFee: boolean;
71
+ freeShipping: boolean;
72
+ }
73
+ export interface ICartEvent {
74
+ type: CartEventType;
75
+ message: string;
76
+ level: CartEventLevel;
68
77
  }
69
78
  export interface ICart {
70
79
  id: string;
@@ -77,6 +86,7 @@ export interface ICart {
77
86
  }
78
87
  export interface ICartItemEngraving {
79
88
  isEngravable: boolean;
89
+ isRequired: boolean;
80
90
  hasEngraving: boolean;
81
91
  fee: number;
82
92
  maxCharsPerLine: number;
@@ -84,8 +94,3 @@ export interface ICartItemEngraving {
84
94
  location: string;
85
95
  lines: string[];
86
96
  }
87
- export interface ICartEvent {
88
- type: CartEventEnum;
89
- message: string;
90
- items?: Array<Partial<ICartItem>>;
91
- }
@@ -0,0 +1,271 @@
1
+ import type { CheckoutEventLevel, CheckoutEventType, FulfillmentType } from '@/enums';
2
+ import type { IAddressAddress, IAddressCoordinates, ILocation } from '@/interfaces/api/address.interface';
3
+ import type { ICart, ICartUpdateItem } from '@/interfaces/api/cart.interface';
4
+ import type { IProductPresale } from '@/interfaces/api/product.interface';
5
+ export interface ICheckoutComplete {
6
+ orderNumber: string;
7
+ }
8
+ export declare const CHECKOUT_PAYMENT_SESSION_TYPE: {
9
+ readonly STANDARD: "standard";
10
+ readonly EXPRESS: "express";
11
+ };
12
+ export type CheckoutPaymentSessionType = (typeof CHECKOUT_PAYMENT_SESSION_TYPE)[keyof typeof CHECKOUT_PAYMENT_SESSION_TYPE];
13
+ export interface ICheckoutPaymentSession {
14
+ key: string;
15
+ secret: string;
16
+ }
17
+ export interface ICheckoutPaymentConfirmParams {
18
+ confirmationTokenId: string;
19
+ setupIntentId: string;
20
+ sessionType?: CheckoutPaymentSessionType;
21
+ checkoutToken?: string;
22
+ }
23
+ export interface ICheckoutPaymentConfirmCard {
24
+ brand: string;
25
+ expMonth: string;
26
+ expYear: string;
27
+ last4: string;
28
+ }
29
+ export interface ICheckoutPaymentConfirm {
30
+ id: string;
31
+ card: ICheckoutPaymentConfirmCard;
32
+ }
33
+ export interface ICheckoutCustomer {
34
+ email: string;
35
+ firstName: string;
36
+ lastName: string;
37
+ company: string;
38
+ phone: string;
39
+ birthDate: string;
40
+ }
41
+ export interface ICheckoutBilling {
42
+ firstName: string;
43
+ lastName: string;
44
+ email: string;
45
+ phone: string;
46
+ company: string;
47
+ one: string;
48
+ two: string;
49
+ city: string;
50
+ state: string;
51
+ zip: string;
52
+ }
53
+ export interface ICheckoutGiftRecipient {
54
+ firstName: string;
55
+ lastName: string;
56
+ email: string;
57
+ phone: string;
58
+ message: string;
59
+ }
60
+ export interface ICheckoutMarketingPreferences {
61
+ canEmail: boolean;
62
+ canSms: boolean;
63
+ }
64
+ export interface ICheckoutDeliveryTip {
65
+ fulfillmentId: string;
66
+ tip: number;
67
+ }
68
+ export interface ICheckoutDeliveryInstructions {
69
+ fulfillmentId: string;
70
+ instructions: string;
71
+ }
72
+ export interface ICheckoutPrepareParams {
73
+ cartId?: string;
74
+ token?: string;
75
+ customer?: ICheckoutCustomer;
76
+ shippingAddressTwo?: string;
77
+ billingAddress?: ICheckoutBilling;
78
+ isGift?: boolean;
79
+ billingSameAsShipping?: boolean;
80
+ giftOptions?: ICheckoutGiftRecipient;
81
+ marketingPreferences?: ICheckoutMarketingPreferences;
82
+ deliveryTips?: ICheckoutDeliveryTip[];
83
+ deliveryInstructions?: ICheckoutDeliveryInstructions[];
84
+ payment?: string;
85
+ promoCode?: string;
86
+ giftCards?: string[];
87
+ }
88
+ export interface ICheckoutUpdateItem {
89
+ id?: string;
90
+ partNumber: string;
91
+ quantity: number;
92
+ fulfillmentId: string;
93
+ engravingLines?: string[];
94
+ }
95
+ export interface ICheckoutItemsUpdateParams {
96
+ cartId: string;
97
+ items: ICheckoutUpdateItem[];
98
+ location?: ILocation;
99
+ }
100
+ export interface ICheckoutItemsUpdateResponse {
101
+ cart: ICart;
102
+ checkout: ICheckoutPrepare;
103
+ }
104
+ export interface IAnonymousCheckoutAddProductItem {
105
+ identifier: string;
106
+ fulfillmentType: FulfillmentType;
107
+ quantity: number;
108
+ }
109
+ export interface IAnonymousCheckoutAddProductParams {
110
+ items?: IAnonymousCheckoutAddProductItem[];
111
+ cartItems?: ICartUpdateItem[];
112
+ location: ILocation;
113
+ promoCode?: string;
114
+ }
115
+ export interface IAnonymousCheckoutUnavailableItem {
116
+ identifier: string;
117
+ productName: string | null;
118
+ fulfillmentType: FulfillmentType;
119
+ reason: 'product_not_available' | 'fulfillment_not_available';
120
+ }
121
+ export interface IAnonymousCheckoutAddProductResponse {
122
+ checkout: ICheckoutPrepare | null;
123
+ unavailableItems: IAnonymousCheckoutUnavailableItem[];
124
+ }
125
+ export type CheckoutFulfillmentUnavailableReason = 'product_not_available' | 'product_not_supported' | 'fulfillment_not_available' | 'outside_operating_hours';
126
+ export interface ICheckoutFulfillmentMethod {
127
+ type: FulfillmentType;
128
+ available: boolean;
129
+ selected: boolean;
130
+ fee: number;
131
+ expectation: string;
132
+ engravingExpectation: string;
133
+ fulfillmentId: string;
134
+ partNumber: string;
135
+ retailerId: string;
136
+ reason: CheckoutFulfillmentUnavailableReason | null;
137
+ }
138
+ export type ICheckoutFulfillmentCarryOver = Omit<ICheckoutPrepareParams, 'cartId' | 'token' | 'deliveryTips' | 'deliveryInstructions'>;
139
+ export interface ICheckoutFulfillmentParams {
140
+ cartId: string;
141
+ location: ILocation;
142
+ fulfillmentType?: FulfillmentType;
143
+ checkout?: ICheckoutFulfillmentCarryOver;
144
+ }
145
+ export interface ICheckoutFulfillmentResponse {
146
+ methods: ICheckoutFulfillmentMethod[];
147
+ cart: ICart | null;
148
+ checkout: ICheckoutPrepare | null;
149
+ }
150
+ export interface ICheckoutAmounts {
151
+ subtotal: number;
152
+ engraving: number;
153
+ service: number;
154
+ shipping: number;
155
+ delivery: number;
156
+ platform: number;
157
+ discounts: number;
158
+ giftCards: number;
159
+ tax: number;
160
+ tip: number;
161
+ total: number;
162
+ }
163
+ export interface ICheckoutPromoCode {
164
+ code: string;
165
+ discount: number;
166
+ freeDelivery: boolean;
167
+ freeServiceFee: boolean;
168
+ freeShipping: boolean;
169
+ }
170
+ export interface ICheckoutGiftCard {
171
+ code: string;
172
+ applied: number;
173
+ }
174
+ export interface ICheckoutShippingAddress {
175
+ formattedAddress: string;
176
+ address: IAddressAddress;
177
+ coordinates: IAddressCoordinates;
178
+ }
179
+ export interface ICheckoutItemEngraving {
180
+ isEngravable: boolean;
181
+ isRequired: boolean;
182
+ hasEngraving: boolean;
183
+ fee: number;
184
+ maxCharsPerLine: number;
185
+ maxLines: number;
186
+ location: string;
187
+ lines: string[];
188
+ }
189
+ export interface ICheckoutItemAttributes {
190
+ engraving: ICheckoutItemEngraving;
191
+ presale: IProductPresale;
192
+ }
193
+ export interface ICheckoutItem {
194
+ variantId: string;
195
+ cartItemId: string;
196
+ liquidId: string;
197
+ retailerId: string;
198
+ fulfillmentId: string;
199
+ salsifyPid?: string;
200
+ salsifyGrouping?: string;
201
+ name: string;
202
+ catPath: string;
203
+ volume: string;
204
+ uom: string;
205
+ proof: string;
206
+ abv: string;
207
+ containerType: string;
208
+ container: string;
209
+ size: string;
210
+ pack: boolean;
211
+ packDesc: string;
212
+ mainImage: string;
213
+ brand: string;
214
+ partNumber: string;
215
+ upc: string;
216
+ sku: string;
217
+ price: number;
218
+ unitPrice: number;
219
+ quantity: number;
220
+ tax: number;
221
+ unitTax: number;
222
+ bottleDeposits: number;
223
+ attributes: ICheckoutItemAttributes;
224
+ }
225
+ export interface ICheckoutFulfillment {
226
+ id: string;
227
+ deliveryInstructions: string;
228
+ type: FulfillmentType;
229
+ expectation: string;
230
+ engravingExpectation: string;
231
+ itemIds: string[];
232
+ doesAllowPromos: boolean;
233
+ doesAllowGiftCards: boolean;
234
+ amounts: ICheckoutAmounts;
235
+ itemsQuantity: number;
236
+ }
237
+ export interface ICheckoutRetailer {
238
+ id: string;
239
+ name: string;
240
+ fulfillments: Record<string, ICheckoutFulfillment>;
241
+ amounts: ICheckoutAmounts;
242
+ }
243
+ export interface ICheckoutPresale {
244
+ isLocked: boolean;
245
+ expiresAt: string;
246
+ }
247
+ export interface ICheckoutEvent {
248
+ type: CheckoutEventType;
249
+ message: string;
250
+ level: CheckoutEventLevel;
251
+ }
252
+ export interface ICheckoutPrepare {
253
+ token: string;
254
+ cartId: string;
255
+ customer: ICheckoutCustomer;
256
+ isGift: boolean;
257
+ billingSameAsShipping: boolean;
258
+ payment?: string;
259
+ giftOptions: ICheckoutGiftRecipient;
260
+ marketingPreferences: ICheckoutMarketingPreferences;
261
+ shippingAddress: ICheckoutShippingAddress;
262
+ billingAddress: ICheckoutBilling;
263
+ promoCode: ICheckoutPromoCode | null;
264
+ amounts: ICheckoutAmounts;
265
+ giftCards: ICheckoutGiftCard[];
266
+ presale: ICheckoutPresale | null;
267
+ itemsQuantity: number;
268
+ items: Record<string, ICheckoutItem>;
269
+ retailers: Record<string, ICheckoutRetailer>;
270
+ events: ICheckoutEvent[];
271
+ }
@@ -0,0 +1,5 @@
1
+ export * from './address.interface';
2
+ export * from './cart.interface';
3
+ export * from './checkout.interface';
4
+ export * from './product.interface';
5
+ export * from './product-list.interface';
@@ -1,22 +1,31 @@
1
- import type { ENUM_FILTER_KEYS } from '@/enums';
2
1
  import type { ILocation } from '@/interfaces/api/address.interface';
3
2
  import type { IProductAvailabilityResponse } from '@/interfaces/api/product.interface';
3
+ import type { FILTER_KEYS } from '@/modules/product-list/product-list.constants';
4
4
  export interface IProductSearchParams {
5
+ slug: string;
5
6
  location?: ILocation;
6
7
  search?: string;
7
8
  pageToken?: string;
8
9
  page?: number;
9
10
  perPage?: number;
10
- filters?: Array<Record<any, any>>;
11
+ filters?: IFilterParams[];
11
12
  }
12
- export type FacetFilterKeys = typeof ENUM_FILTER_KEYS.BRANDS | typeof ENUM_FILTER_KEYS.FLAVOR | typeof ENUM_FILTER_KEYS.REGION | typeof ENUM_FILTER_KEYS.VARIETY | typeof ENUM_FILTER_KEYS.ENGRAVING | typeof ENUM_FILTER_KEYS.PRESALE | typeof ENUM_FILTER_KEYS.PRICE | typeof ENUM_FILTER_KEYS.AVAILABILITY | typeof ENUM_FILTER_KEYS.CATEGORIES | typeof ENUM_FILTER_KEYS.SIZES | typeof ENUM_FILTER_KEYS.COLORS | typeof ENUM_FILTER_KEYS.APPELLATION | typeof ENUM_FILTER_KEYS.COUNTRY | typeof ENUM_FILTER_KEYS.VINTAGE | typeof ENUM_FILTER_KEYS.MATERIALS | typeof ENUM_FILTER_KEYS.TAGS;
13
+ export type IFilterParamsValue = string | string[] | {
14
+ min?: string | number;
15
+ max?: string | number;
16
+ } | boolean;
17
+ export interface IFilterParams {
18
+ key: string;
19
+ values: IFilterParamsValue;
20
+ }
21
+ export type FacetFilterKeys = typeof FILTER_KEYS.BRANDS | typeof FILTER_KEYS.CATEGORIES | typeof FILTER_KEYS.FLAVOR | typeof FILTER_KEYS.REGION | typeof FILTER_KEYS.VARIETY | typeof FILTER_KEYS.VINTAGE | typeof FILTER_KEYS.COUNTRY | typeof FILTER_KEYS.APPELLATION | typeof FILTER_KEYS.TAGS | typeof FILTER_KEYS.MATERIALS | typeof FILTER_KEYS.SIZES | typeof FILTER_KEYS.ENGRAVING | typeof FILTER_KEYS.FULFILLMENT | typeof FILTER_KEYS.PRICE | typeof FILTER_KEYS.AVAILABILITY | typeof FILTER_KEYS.COLORS;
13
22
  export interface IFilterSchema {
14
- category: FacetFilterKeys;
15
- values: IFilterValue[];
23
+ type: FacetFilterKeys;
24
+ values: IFilterValue[] | string[];
16
25
  }
17
26
  export interface IFilterValue {
18
27
  value: string;
19
- formattedValue: string;
28
+ name: string;
20
29
  count: number;
21
30
  }
22
31
  export interface INavigationResponse {
@@ -8,6 +8,12 @@ export interface IProductAvailabilityResponse {
8
8
  products: IProduct[];
9
9
  retailers: Record<string, IRetailer>;
10
10
  }
11
+ export interface IProductPriceInfo {
12
+ currency: string;
13
+ minimum: number;
14
+ average: number;
15
+ maximum: number;
16
+ }
11
17
  export interface IProductVariant {
12
18
  retailerId: string;
13
19
  shippingFulfillmentId: string;
@@ -34,7 +40,6 @@ export interface IProductSize {
34
40
  onDemandVariants: Record<string, IProductVariant>;
35
41
  }
36
42
  export interface IProductFulfillmentHourStatus {
37
- text: string;
38
43
  isOpen: boolean;
39
44
  openTime: string;
40
45
  isClosed: boolean;
@@ -65,7 +70,7 @@ export interface IProduct {
65
70
  type: string;
66
71
  subType: string;
67
72
  salsifyGrouping: string;
68
- noAvailabilityPrice: number;
73
+ priceInfo: IProductPriceInfo | null;
69
74
  sizes: Record<string, IProductSize>;
70
75
  }
71
76
  export interface IFulfillment {
@@ -73,8 +78,8 @@ export interface IFulfillment {
73
78
  type: FulfillmentType;
74
79
  doesAllowGiftCards: boolean;
75
80
  doesAllowPromos: boolean;
76
- expectationText: string;
77
- engravingExpectationText: string;
81
+ expectation: string;
82
+ engravingExpectation: string;
78
83
  fee: number;
79
84
  timezone: string;
80
85
  hourStatus: IProductFulfillmentHourStatus;
@@ -93,6 +98,7 @@ export interface IProductSizeEngraving {
93
98
  maxCharsPerLine: number;
94
99
  fee: number;
95
100
  location: string;
101
+ isRequired: boolean;
96
102
  }
97
103
  export interface IProductSizeAttributes {
98
104
  presale: IProductPresale;
@@ -0,0 +1,74 @@
1
+ import type { IAddressActions } from '@/core/client/actions/client-address-action.service';
2
+ import type { ICartActions } from '@/core/client/actions/client-cart-action.service';
3
+ import type { ICheckoutActions } from '@/core/client/actions/client-checkout-action.service';
4
+ import type { IProductActions } from '@/core/client/actions/client-product-action.service';
5
+ import type { IClientConfigs } from '@/core/client/client-config.service';
6
+ import type { IAddressOptions } from '@/modules/address/address.interface';
7
+ import type { IInjectedComponent } from './component.interface';
8
+ import type { UpdateAddressComponent, UpdateCartComponent, UpdateCheckoutComponent, UpdateComponentGlobalConfigs, UpdateProductComponent, UpdateProductListComponent } from './configs';
9
+ import type { IBuilderInjectElementParams, IInjectCheckoutBuilderParams, IInjectCheckoutParams, IInjectExpressCheckoutParams, IInjectProductElement, IInjectProductListFiltersParams, IInjectProductListParams, IInjectProductListSearchParams } from './injection.interface';
10
+ export interface ILiquidCommerceElementsUIMethod {
11
+ cartButton(containerId: string, showItemsCount?: boolean): void;
12
+ floatingCartButton(showItemsCount?: boolean): void;
13
+ cartSubtotal(elementId: string): void;
14
+ cartItemsCount(elementId: string, options?: {
15
+ hideZero: boolean;
16
+ }): void;
17
+ }
18
+ export interface ILiquidCommerceElementsActions {
19
+ product: IProductActions;
20
+ address: IAddressActions;
21
+ cart: ICartActions;
22
+ checkout: ICheckoutActions;
23
+ }
24
+ export interface IElementsCheckoutActions extends Omit<ICheckoutActions, 'openCheckout' | 'closeCheckout' | 'toggleCheckout'> {
25
+ }
26
+ export interface IElementsCheckoutClient {
27
+ injectCheckout: (params: IInjectCheckoutParams) => Promise<IInjectedComponent | null>;
28
+ injectExpressCheckout: (params: IInjectExpressCheckoutParams) => Promise<IInjectedComponent | null>;
29
+ actions: {
30
+ checkout: IElementsCheckoutActions;
31
+ };
32
+ destroy(): void;
33
+ }
34
+ export interface ILiquidCommerceElementsBuilderClient {
35
+ updateComponentGlobalConfigs(configs: UpdateComponentGlobalConfigs): Promise<void>;
36
+ updateProductComponent(configs: UpdateProductComponent): Promise<void>;
37
+ updateAddressComponent(configs: UpdateAddressComponent): void;
38
+ updateCartComponent(configs: UpdateCartComponent): void;
39
+ updateCheckoutComponent(configs: UpdateCheckoutComponent): void;
40
+ updateProductListComponent(configs: UpdateProductListComponent): void;
41
+ injectElement(params: IBuilderInjectElementParams): Promise<IInjectedComponent | null>;
42
+ injectProductElement(params: IInjectProductElement[]): Promise<IInjectedComponent[]>;
43
+ injectAddressElement(containerId: string, options?: IAddressOptions): Promise<IInjectedComponent | null>;
44
+ injectCartElement(containerId: string): Promise<IInjectedComponent | null>;
45
+ injectCheckoutElement(params: IInjectCheckoutBuilderParams): Promise<IInjectedComponent | null>;
46
+ injectProductList(params: IInjectProductListParams): Promise<void>;
47
+ actions: ILiquidCommerceElementsActions;
48
+ destroy(): void;
49
+ }
50
+ export interface ILiquidCommerceElementsClient {
51
+ injectProductElement(params: IInjectProductElement[]): Promise<IInjectedComponent[]>;
52
+ injectAddressElement(containerId: string, options?: IAddressOptions): Promise<IInjectedComponent | null>;
53
+ injectCartElement(containerId: string): Promise<IInjectedComponent | null>;
54
+ injectCheckoutElement(params: IInjectCheckoutParams): Promise<IInjectedComponent | null>;
55
+ injectExpressCheckoutElement(params: IInjectExpressCheckoutParams): Promise<IInjectedComponent | null>;
56
+ injectProductList(params: IInjectProductListParams): Promise<void>;
57
+ injectProductListSearch(params: IInjectProductListSearchParams): Promise<void>;
58
+ injectProductListFilters(params: IInjectProductListFiltersParams): Promise<void>;
59
+ ui: ILiquidCommerceElementsUIMethod;
60
+ actions: ILiquidCommerceElementsActions;
61
+ getInjectedComponents(): Map<string, IInjectedComponent>;
62
+ destroy(): void;
63
+ }
64
+ export interface ILiquidCommerceElementsCheckoutClient {
65
+ prepare(): Promise<void>;
66
+ injectCheckout(params: IInjectCheckoutParams): Promise<IInjectedComponent | null>;
67
+ actions: {
68
+ checkout: IElementsCheckoutActions;
69
+ };
70
+ destroy(): void;
71
+ }
72
+ export type LiquidCommerceElementsClientConstructor = new (clientConfigs: IClientConfigs) => ILiquidCommerceElementsClient;
73
+ export type LiquidCommerceElementsBuilderClientConstructor = new (clientConfigs: IClientConfigs) => ILiquidCommerceElementsBuilderClient;
74
+ export type LiquidCommerceElementsCheckoutClientConstructor = new (clientConfigs: IClientConfigs) => ILiquidCommerceElementsCheckoutClient;
@@ -0,0 +1,7 @@
1
+ import type { ComponentType } from '@/enums';
2
+ export interface IInjectedComponent {
3
+ getType(): ComponentType;
4
+ getElement(): HTMLElement;
5
+ rerender(): void;
6
+ destroy(): void;
7
+ }