@liquidcommerce/elements-sdk 2.6.0-beta.13 → 2.6.0-beta.131

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 (304) hide show
  1. package/README.md +102 -2518
  2. package/dist/index.checkout.esm.js +22524 -0
  3. package/dist/index.esm.js +30689 -20632
  4. package/dist/ssr-stub.checkout.esm.js +17 -0
  5. package/dist/ssr-stub.esm.js +281 -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 +20 -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-analytics-action.service.d.ts +35 -0
  31. package/dist/types/core/client/actions/client-cart-action.service.d.ts +38 -0
  32. package/dist/types/core/client/actions/client-checkout-action.service.d.ts +81 -0
  33. package/dist/types/core/client/actions/client-product-action.service.d.ts +15 -0
  34. package/dist/types/core/client/client-action.service.d.ts +7 -74
  35. package/dist/types/core/client/client-config.service.d.ts +12 -5
  36. package/dist/types/core/debug-panel/debug-panel.styles.d.ts +1 -1
  37. package/dist/types/core/google-tag-manager.service.d.ts +13 -3
  38. package/dist/types/core/logger/logger.service.d.ts +1 -1
  39. package/dist/types/core/pubsub/interfaces/address.interface.d.ts +3 -0
  40. package/dist/types/core/pubsub/interfaces/cart.interface.d.ts +6 -1
  41. package/dist/types/core/pubsub/interfaces/checkout.interface.d.ts +54 -48
  42. package/dist/types/core/pubsub/interfaces/core.interface.d.ts +18 -7
  43. package/dist/types/core/pubsub/pubsub.service.d.ts +1 -2
  44. package/dist/types/core/singleton-manager.service.d.ts +12 -8
  45. package/dist/types/core/store/interfaces/cart.interface.d.ts +2 -3
  46. package/dist/types/core/store/interfaces/checkout.interface.d.ts +40 -107
  47. package/dist/types/core/store/interfaces/core.interface.d.ts +12 -2
  48. package/dist/types/core/store/interfaces/metadata.interface.d.ts +11 -0
  49. package/dist/types/core/store/interfaces/product-list.interface.d.ts +30 -0
  50. package/dist/types/core/store/interfaces/product.interface.d.ts +1 -0
  51. package/dist/types/core/store/store.constant.d.ts +5 -0
  52. package/dist/types/core/store/store.service.d.ts +1 -0
  53. package/dist/types/core/telemetry/telemetry.service.d.ts +1 -0
  54. package/dist/types/enums/core.enum.d.ts +51 -2
  55. package/dist/types/enums/index.d.ts +0 -1
  56. package/dist/types/index.checkout.d.ts +11 -0
  57. package/dist/types/index.checkout.umd.d.ts +4 -0
  58. package/dist/types/index.d.ts +9 -3
  59. package/dist/types/interfaces/analytics.interface.d.ts +41 -0
  60. package/dist/types/interfaces/api/cart.interface.d.ts +14 -7
  61. package/dist/types/interfaces/api/checkout.interface.d.ts +277 -0
  62. package/dist/types/interfaces/api/delivery.interface.d.ts +24 -0
  63. package/dist/types/interfaces/api/index.d.ts +6 -0
  64. package/dist/types/interfaces/api/product-list.interface.d.ts +15 -6
  65. package/dist/types/interfaces/api/product.interface.d.ts +12 -4
  66. package/dist/types/interfaces/client.interface.d.ts +79 -0
  67. package/dist/types/interfaces/component.interface.d.ts +7 -0
  68. package/dist/types/interfaces/config.interface.d.ts +45 -0
  69. package/dist/types/interfaces/configs/address.interface.d.ts +1 -1
  70. package/dist/types/interfaces/configs/cart.interface.d.ts +2 -1
  71. package/dist/types/interfaces/configs/checkout.interface.d.ts +3 -1
  72. package/dist/types/interfaces/configs/global.interface.d.ts +9 -3
  73. package/dist/types/interfaces/configs/index.d.ts +1 -0
  74. package/dist/types/interfaces/configs/product-list.interface.d.ts +49 -0
  75. package/dist/types/interfaces/configs/product.interface.d.ts +7 -1
  76. package/dist/types/interfaces/injection.interface.d.ts +56 -0
  77. package/dist/types/modules/address/address-display.component.d.ts +3 -1
  78. package/dist/types/modules/address/address-input.component.d.ts +11 -1
  79. package/dist/types/modules/address/address.command.d.ts +3 -2
  80. package/dist/types/modules/address/styles/register-styles.d.ts +1 -0
  81. package/dist/types/modules/cart/cart.commands.d.ts +11 -5
  82. package/dist/types/modules/cart/components/cart-body.component.d.ts +1 -0
  83. package/dist/types/modules/cart/components/cart-fulfillment.component.d.ts +1 -1
  84. package/dist/types/modules/cart/components/cart-item-quantity-price.component.d.ts +5 -0
  85. package/dist/types/modules/cart/components/cart-item.component.d.ts +8 -0
  86. package/dist/types/modules/cart/styles/register-styles.d.ts +1 -0
  87. package/dist/types/modules/checkout/checkout.commands.d.ts +134 -12
  88. package/dist/types/modules/checkout/checkout.component.d.ts +7 -1
  89. package/dist/types/modules/checkout/components/checkout-billing.component.d.ts +5 -2
  90. package/dist/types/modules/checkout/components/checkout-buyer.component.d.ts +1 -0
  91. package/dist/types/modules/checkout/components/checkout-completed.component.d.ts +9 -0
  92. package/dist/types/modules/checkout/components/checkout-deliver-to.component.d.ts +1 -0
  93. package/dist/types/modules/checkout/components/checkout-delivery-method.component.d.ts +24 -0
  94. package/dist/types/modules/checkout/components/checkout-delivery-scheduling.component.d.ts +53 -0
  95. package/dist/types/modules/checkout/components/checkout-express-checkout.component.d.ts +63 -0
  96. package/dist/types/modules/checkout/components/checkout-express-completion.component.d.ts +21 -0
  97. package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
  98. package/dist/types/modules/checkout/components/checkout-item-quantity.component.d.ts +4 -0
  99. package/dist/types/modules/checkout/components/checkout-item.component.d.ts +2 -0
  100. package/dist/types/modules/checkout/components/checkout-items.component.d.ts +4 -3
  101. package/dist/types/modules/checkout/components/checkout-order-summary.component.d.ts +3 -0
  102. package/dist/types/modules/checkout/components/checkout-payment.component.d.ts +9 -1
  103. package/dist/types/modules/checkout/components/checkout-place-order-button.component.d.ts +1 -5
  104. package/dist/types/modules/checkout/components/checkout-presale-countdown.component.d.ts +15 -1
  105. package/dist/types/modules/checkout/components/checkout-presale-expired.component.d.ts +7 -1
  106. package/dist/types/modules/checkout/components/checkout-prop65-warning.component.d.ts +8 -0
  107. package/dist/types/modules/checkout/components/checkout-send-as-gift.component.d.ts +3 -0
  108. package/dist/types/modules/checkout/components/checkout-stripe-form.component.d.ts +7 -3
  109. package/dist/types/modules/checkout/components/checkout-stripe-handler.component.d.ts +4 -0
  110. package/dist/types/modules/checkout/components/checkout-tips.component.d.ts +4 -2
  111. package/dist/types/modules/checkout/components/index.d.ts +5 -0
  112. package/dist/types/modules/checkout/components/promo-pc-gc.component.d.ts +0 -2
  113. package/dist/types/modules/checkout/components/required-fields-legend.d.ts +1 -0
  114. package/dist/types/modules/checkout/constant.d.ts +15 -0
  115. package/dist/types/modules/checkout/customer-prefill.d.ts +5 -0
  116. package/dist/types/modules/checkout/express-wallet.d.ts +12 -0
  117. package/dist/types/modules/checkout/payment-session-error.d.ts +4 -0
  118. package/dist/types/modules/checkout/stripe-js.d.ts +2 -0
  119. package/dist/types/modules/checkout/styles/delivery-method.style.d.ts +1 -0
  120. package/dist/types/modules/checkout/styles/express-checkout.style.d.ts +1 -0
  121. package/dist/types/modules/checkout/styles/express-completion.style.d.ts +1 -0
  122. package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
  123. package/dist/types/modules/product/components/components.d.ts +26 -2
  124. package/dist/types/modules/product/components/index.d.ts +1 -0
  125. package/dist/types/modules/product/components/product-add-to-cart-section.component.d.ts +8 -1
  126. package/dist/types/modules/product/components/product-delivery-estimate.component.d.ts +11 -0
  127. package/dist/types/modules/product/components/product-description.component.d.ts +1 -0
  128. package/dist/types/modules/product/components/product-drawer.component.d.ts +6 -0
  129. package/dist/types/modules/product/components/product-image-carousel.component.d.ts +5 -0
  130. package/dist/types/modules/product/components/product-options.component.d.ts +2 -1
  131. package/dist/types/modules/product/components/product-prop65-warning.d.ts +1 -0
  132. package/dist/types/modules/product/components/product-retailers-carousel.component.d.ts +6 -0
  133. package/dist/types/modules/product/components/product-retailers-popup-list.component.d.ts +12 -2
  134. package/dist/types/modules/product/components/product-retailers-popup.component.d.ts +1 -0
  135. package/dist/types/modules/product/components/product-retailers.component.d.ts +1 -0
  136. package/dist/types/modules/product/product.commands.d.ts +5 -5
  137. package/dist/types/modules/product/product.component.d.ts +3 -0
  138. package/dist/types/modules/product/styles/prop65-warning.style.d.ts +1 -0
  139. package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
  140. package/dist/types/modules/product-list/components/card-components/index.d.ts +6 -0
  141. package/dist/types/modules/product-list/components/card-components/product-badge.d.ts +9 -0
  142. package/dist/types/modules/product-list/components/card-components/product-button.d.ts +11 -0
  143. package/dist/types/modules/product-list/components/card-components/product-fulfillment-text.d.ts +2 -0
  144. package/dist/types/modules/product-list/components/card-components/product-price-and-personalization.d.ts +14 -0
  145. package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +11 -0
  146. package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +14 -0
  147. package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
  148. package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
  149. 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
  150. package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
  151. package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
  152. package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +15 -0
  153. 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
  154. package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +7 -0
  155. package/dist/types/modules/product-list/components/index.d.ts +6 -2
  156. package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +3 -1
  157. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +39 -31
  158. package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +12 -0
  159. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +58 -36
  160. package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +22 -0
  161. package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +54 -0
  162. package/dist/types/modules/product-list/components/product-list-search.component.d.ts +25 -0
  163. package/dist/types/modules/product-list/product-list-filter.registry.d.ts +42 -0
  164. package/dist/types/modules/product-list/product-list-filter.utils.d.ts +7 -0
  165. package/dist/types/modules/product-list/product-list-order.utils.d.ts +3 -0
  166. package/dist/types/modules/product-list/product-list-query-params.utils.d.ts +3 -0
  167. package/dist/types/modules/product-list/product-list.commands.d.ts +27 -7
  168. package/dist/types/modules/product-list/product-list.component.d.ts +23 -47
  169. package/dist/types/modules/product-list/product-list.constants.d.ts +38 -0
  170. package/dist/types/modules/product-list/product-list.interface.d.ts +17 -28
  171. package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
  172. package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
  173. package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
  174. package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
  175. package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
  176. package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
  177. package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
  178. package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
  179. package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -2
  180. package/dist/types/modules/ui-components/alert/alert.component.d.ts +10 -10
  181. package/dist/types/modules/ui-components/buttons/buttons-open-cart.component.d.ts +5 -0
  182. package/dist/types/modules/ui-components/drawer/drawer.component.d.ts +15 -0
  183. package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +9 -1
  184. package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +7 -1
  185. package/dist/types/modules/ui-components/input/index.d.ts +0 -1
  186. package/dist/types/modules/ui-components/input/input.component.d.ts +15 -2
  187. package/dist/types/modules/ui-components/lce-element/lce-element.component.d.ts +2 -1
  188. package/dist/types/modules/ui-components/promo-code-ticker/promo-code-ticker.component.d.ts +1 -1
  189. package/dist/types/modules/ui-components/ui.commands.d.ts +7 -1
  190. package/dist/types/ssr/stub.checkout.d.ts +8 -0
  191. package/dist/types/ssr/stub.d.ts +12 -0
  192. package/dist/types/static/icon/arrow-right.icon.d.ts +1 -1
  193. package/dist/types/static/icon/bag.icon.d.ts +1 -1
  194. package/dist/types/static/icon/check.icon.d.ts +2 -0
  195. package/dist/types/static/icon/checkbox.icon.d.ts +1 -1
  196. package/dist/types/static/icon/chevron-down.icon.d.ts +1 -1
  197. package/dist/types/static/icon/chevron-left.icon.d.ts +1 -1
  198. package/dist/types/static/icon/chevron-up.icon.d.ts +1 -1
  199. package/dist/types/static/icon/close.icon.d.ts +1 -1
  200. package/dist/types/static/icon/error-info.icon.d.ts +1 -1
  201. package/dist/types/static/icon/filter.icon.d.ts +1 -1
  202. package/dist/types/static/icon/icon.a11y.d.ts +1 -0
  203. package/dist/types/static/icon/icon.types.d.ts +1 -0
  204. package/dist/types/static/icon/index.d.ts +2 -0
  205. package/dist/types/static/icon/info.icon.d.ts +1 -1
  206. package/dist/types/static/icon/loading-spinner.icon.d.ts +1 -1
  207. package/dist/types/static/icon/search.icon.d.ts +1 -1
  208. package/dist/types/static/icon/success.icon.d.ts +1 -1
  209. package/dist/types/static/icon/trash.icon.d.ts +1 -1
  210. package/dist/types/static/icon/warning.icon.d.ts +1 -1
  211. package/dist/types/utils/delivery-scheduling.d.ts +72 -0
  212. package/dist/types/utils/dom-compat.d.ts +2 -0
  213. package/dist/types/utils/format.d.ts +9 -14
  214. package/dist/types/utils/image-bg-removal.d.ts +3 -0
  215. package/dist/types/utils/places-session-token.d.ts +1 -0
  216. package/dist/types/utils/product-selection.d.ts +16 -0
  217. package/dist/types/utils/product.d.ts +21 -0
  218. package/dist/types/utils/timezone.d.ts +6 -0
  219. package/docs/v1/README.md +214 -0
  220. package/docs/v1/api/actions/address-actions.md +290 -0
  221. package/docs/v1/api/actions/analytics-actions.md +326 -0
  222. package/docs/v1/api/actions/cart-actions.md +364 -0
  223. package/docs/v1/api/actions/checkout-actions.md +629 -0
  224. package/docs/v1/api/actions/product-actions.md +205 -0
  225. package/docs/v1/api/client.md +671 -0
  226. package/docs/v1/api/configuration.md +587 -0
  227. package/docs/v1/api/injection-methods.md +331 -0
  228. package/docs/v1/api/typescript-types.md +610 -0
  229. package/docs/v1/api/ui-helpers.md +200 -0
  230. package/docs/v1/examples/advanced-patterns.md +199 -0
  231. package/docs/v1/examples/checkout-flow.md +90 -0
  232. package/docs/v1/examples/custom-theming.md +76 -0
  233. package/docs/v1/examples/multi-product-page.md +90 -0
  234. package/docs/v1/examples/simple-product-page.md +89 -0
  235. package/docs/v1/getting-started/concepts.md +521 -0
  236. package/docs/v1/getting-started/installation.md +351 -0
  237. package/docs/v1/getting-started/quick-start.md +410 -0
  238. package/docs/v1/guides/accessibility.md +298 -0
  239. package/docs/v1/guides/address-component.md +441 -0
  240. package/docs/v1/guides/best-practices.md +365 -0
  241. package/docs/v1/guides/cart-component.md +802 -0
  242. package/docs/v1/guides/checkout-component.md +920 -0
  243. package/docs/v1/guides/events.md +1061 -0
  244. package/docs/v1/guides/product-component.md +767 -0
  245. package/docs/v1/guides/product-list-component.md +730 -0
  246. package/docs/v1/guides/theming.md +243 -0
  247. package/docs/v1/integration/angular.md +39 -0
  248. package/docs/v1/integration/laravel.md +41 -0
  249. package/docs/v1/integration/nextjs.md +69 -0
  250. package/docs/v1/integration/proxy-setup.md +106 -0
  251. package/docs/v1/integration/react.md +64 -0
  252. package/docs/v1/integration/vanilla-js.md +84 -0
  253. package/docs/v1/integration/vue.md +58 -0
  254. package/docs/v1/reference/analytics.md +176 -0
  255. package/docs/v1/reference/browser-support.md +47 -0
  256. package/docs/v1/reference/error-handling.md +83 -0
  257. package/docs/v1/reference/performance.md +52 -0
  258. package/docs/v1/reference/telemetry.md +85 -0
  259. package/docs/v1/reference/troubleshooting.md +135 -0
  260. package/package.json +75 -45
  261. package/dist/types/elements-builder-client.d.ts +0 -2
  262. package/dist/types/elements-client-helper.d.ts +0 -4
  263. package/dist/types/elements-client.d.ts +0 -2
  264. package/dist/types/enums/cloud.enum.d.ts +0 -97
  265. package/dist/types/interfaces/cloud/checkout.interface.d.ts +0 -218
  266. package/dist/types/interfaces/cloud/core.interface.d.ts +0 -22
  267. package/dist/types/interfaces/cloud/index.d.ts +0 -3
  268. package/dist/types/interfaces/cloud/retailer.interface.d.ts +0 -67
  269. package/dist/types/interfaces/cloud/user.interface.d.ts +0 -100
  270. package/dist/types/interfaces/core.interface.d.ts +0 -111
  271. package/dist/types/modules/checkout/components/checkout.type.d.ts +0 -4
  272. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
  273. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
  274. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
  275. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +0 -16
  276. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
  277. package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
  278. package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
  279. package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
  280. package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
  281. package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
  282. package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
  283. package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
  284. package/dist/types/utils/helper.d.ts +0 -28
  285. package/docs/ACTIONS.md +0 -1300
  286. package/docs/BROWSER_SUPPORT.md +0 -279
  287. package/docs/CONFIGURATION.md +0 -853
  288. package/docs/DOCUMENTATION_INDEX.md +0 -311
  289. package/docs/EVENTS.md +0 -798
  290. package/docs/PROXY.md +0 -228
  291. package/docs/THEMING.md +0 -592
  292. package/docs/TROUBLESHOOTING.md +0 -793
  293. package/umd/elements.js +0 -1
  294. /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
  295. /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
  296. /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
  297. /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
  298. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
  299. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
  300. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
  301. /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
  302. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
  303. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
  304. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
@@ -0,0 +1,20 @@
1
+ export interface IApiErrorDetail {
2
+ field?: string;
3
+ message: string;
4
+ code?: string;
5
+ fulfillmentId?: string;
6
+ }
7
+ export interface ApiError {
8
+ status: number;
9
+ message: string;
10
+ errors: IApiErrorDetail[];
11
+ }
12
+ export type ApiResult<T> = {
13
+ success: true;
14
+ data: T;
15
+ } | {
16
+ success: false;
17
+ error: ApiError;
18
+ };
19
+ export declare function apiSuccess<T>(data: T): ApiResult<T>;
20
+ export declare function apiError<T = never>(status: number, message: string, errors?: IApiErrorDetail[]): ApiResult<T>;
@@ -1,4 +1,6 @@
1
+ import { type ApiResult } from '@/core/api/api-result';
1
2
  import type { ElementsEnv } from '@/enums';
3
+ import type { IAllConfigs } from '@/interfaces/configs/global.interface';
2
4
  export interface IAuthConfig {
3
5
  apiKey: string;
4
6
  env: ElementsEnv;
@@ -9,34 +11,56 @@ export interface IHttpRequestOptions {
9
11
  body?: any;
10
12
  }
11
13
  export interface IAuth {
12
- token: string;
13
- exp: number;
14
- type: 'ACCESS_TOKEN';
15
- }
16
- export interface IApiResponseBase {
17
- message: string;
14
+ accessToken: string;
15
+ expiration: number;
18
16
  }
19
17
  export interface IApiResponse<T> {
20
18
  message: string;
21
19
  data: T;
22
20
  }
21
+ export interface IApiErrorDetail {
22
+ field?: string;
23
+ message: string;
24
+ code?: string;
25
+ }
26
+ export interface IApiError {
27
+ statusCode: number;
28
+ message: string;
29
+ errors: IApiErrorDetail[];
30
+ }
31
+ export interface IAuthWithConfigs {
32
+ auth: IAuth;
33
+ configs: IAllConfigs;
34
+ }
23
35
  export declare class AuthClientService {
36
+ private static readonly TOKEN_EXPIRATION_BUFFER_MS;
24
37
  private readonly apiKey;
25
38
  private readonly baseUrl;
26
39
  private readonly env;
27
- private accessToken;
28
- private tokenExpiration;
29
- private isAuthenticating;
30
40
  private readonly httpClient;
31
41
  private readonly logger;
32
42
  private readonly clientConfig;
43
+ private accessToken;
44
+ private tokenExpiration;
45
+ private refreshPromise;
33
46
  private constructor();
34
47
  static getInstance(config: IAuthConfig): AuthClientService;
35
- authenticate(): Promise<boolean>;
36
- isTokenExpired(): boolean;
48
+ authenticateAndGetConfigs(): Promise<{
49
+ success: boolean;
50
+ configs?: IAllConfigs;
51
+ }>;
52
+ refreshToken(): Promise<boolean>;
53
+ get<TData = unknown>(path: string, options?: IHttpRequestOptions): Promise<ApiResult<TData>>;
54
+ post<TData = unknown>(path: string, options?: IHttpRequestOptions): Promise<ApiResult<TData>>;
55
+ private performTokenRefresh;
37
56
  private request;
57
+ private handleSuccessResponse;
58
+ private handleAuthError;
59
+ private handleErrorResponse;
60
+ private isTokenExpired;
61
+ private clearToken;
38
62
  private buildUrl;
63
+ private buildHeaders;
39
64
  private getProxyHeaders;
40
- get<T = any>(path: string, options?: IHttpRequestOptions): Promise<T>;
41
- post<T = any>(path: string, options?: IHttpRequestOptions): Promise<T>;
65
+ private isAccessTokenError;
42
66
  }
@@ -21,24 +21,16 @@ export interface IRequestOptions {
21
21
  export interface IHttpRequestConfig {
22
22
  url: string;
23
23
  options: IHttpClientOptions;
24
- retryConfig?: {
25
- maxRetries: number;
26
- retryDelay: number;
27
- shouldRetry?: (error: any, response?: ICustomResponse) => boolean;
28
- };
29
24
  }
30
25
  export declare class HttpClientService {
31
26
  private readonly fetchImpl;
32
27
  private readonly logger;
33
28
  constructor();
34
29
  request(config: IHttpRequestConfig): Promise<ICustomResponse>;
35
- private defaultShouldRetry;
36
30
  private logFailedResponse;
37
31
  private logNetworkError;
38
32
  private diagnosePossibleCauses;
39
33
  private enhanceError;
40
- private sanitizeHeaders;
41
- private delay;
42
34
  private getFetchImplementation;
43
35
  private fetchAdapter;
44
36
  private xhrFetch;
@@ -1,3 +1,4 @@
1
+ import { AnnouncerService } from '@/core/a11y';
1
2
  import { ClientConfigService } from '@/core/client/client-config.service';
2
3
  import { LoggerFactory } from '@/core/logger/logger-factory';
3
4
  import { PubSubService } from '@/core/pubsub/pubsub.service';
@@ -7,6 +8,7 @@ import { TelemetryService } from '@/core/telemetry/telemetry.service';
7
8
  import type { ComponentType } from '@/enums';
8
9
  import type { ConfigsKeyType, ConfigsType } from '@/interfaces/configs';
9
10
  import { ThemeProviderService } from '@/modules/theme-provider/theme-provider.service';
11
+ import { SafeHTMLElement } from '@/utils/dom-compat';
10
12
  import { CommandService } from './command/command.service';
11
13
  export interface IBaseComponentConfig {
12
14
  type: ComponentType;
@@ -25,7 +27,7 @@ export interface IOnStoreChanged {
25
27
  value: any;
26
28
  oldValue: any;
27
29
  }
28
- export declare abstract class BaseComponent<TParams = Record<string, any>, TConfig = ConfigsType> extends HTMLElement {
30
+ export declare abstract class BaseComponent<TParams = Record<string, any>, TConfig = ConfigsType> extends SafeHTMLElement {
29
31
  protected readonly store: StoreService;
30
32
  protected readonly commands: CommandService;
31
33
  protected readonly themeProvider: ThemeProviderService;
@@ -33,6 +35,7 @@ export declare abstract class BaseComponent<TParams = Record<string, any>, TConf
33
35
  protected readonly logger: ReturnType<typeof LoggerFactory.get>;
34
36
  protected readonly clientConfig: ClientConfigService;
35
37
  protected readonly telemetry: TelemetryService;
38
+ protected readonly announcer: AnnouncerService;
36
39
  private initialized;
37
40
  private isDestroyed;
38
41
  private renderScheduled;
@@ -0,0 +1,22 @@
1
+ import { ApiClientService } from '@/core/api/api-client.service';
2
+ import { LoggerFactory } from '@/core/logger/logger-factory';
3
+ import { PubSubService } from '@/core/pubsub/pubsub.service';
4
+ import { StoreService } from '@/core/store/store.service';
5
+ import type { ILocation } from '@/interfaces/api/address.interface';
6
+ import type { IProductSizeEngraving, IProductVariant } from '@/interfaces/api/product.interface';
7
+ import { ThemeProviderService } from '@/modules/theme-provider/theme-provider.service';
8
+ export declare abstract class BaseActionService {
9
+ protected readonly pubSub: PubSubService;
10
+ protected readonly store: StoreService;
11
+ protected readonly api: ApiClientService;
12
+ protected readonly themeProvider: ThemeProviderService;
13
+ protected readonly logger: ReturnType<typeof LoggerFactory.get>;
14
+ constructor(loggerName: string);
15
+ protected getLocation(): ILocation | undefined;
16
+ protected sanitizeEngravingInput(rawLines: string[] | undefined, identifier: string): string[] | undefined;
17
+ protected clampEngravingToSizeLimits(requestedLines: string[], sizeEngraving: IProductSizeEngraving | undefined, identifier: string): string[] | undefined;
18
+ protected findVariantForFulfillment(variants: (IProductVariant | undefined)[], wantsEngraving: boolean): {
19
+ variant: IProductVariant | null;
20
+ engravingDropped: boolean;
21
+ };
22
+ }
@@ -0,0 +1,18 @@
1
+ import type { IAddressAddress, IAddressCoordinates, IAddressData } from '@/interfaces/api/address.interface';
2
+ import { BaseActionService } from './base-action.service';
3
+ export interface IAddressActions {
4
+ setAddressByPlacesId: (placesId: string, sessionToken?: string) => Promise<void>;
5
+ setAddressManually: (address: IAddressAddress, coordinates: IAddressCoordinates) => Promise<void>;
6
+ clear: () => Promise<void>;
7
+ getDetails: () => IAddressData | null;
8
+ }
9
+ export declare class ClientAddressActionService extends BaseActionService {
10
+ private readonly command;
11
+ constructor();
12
+ static getInstance(): ClientAddressActionService;
13
+ get actions(): IAddressActions;
14
+ private setAddressByPlacesId;
15
+ private setAddressManually;
16
+ private clear;
17
+ private getDetails;
18
+ }
@@ -0,0 +1,35 @@
1
+ import type { IAnalyticsAddress, IAnalyticsAddressFailure, IAnalyticsAvailability, IAnalyticsFulfillmentAvailability, IAnalyticsItem, IAnalyticsItemList } from '@/interfaces/analytics.interface';
2
+ import { BaseActionService } from './base-action.service';
3
+ export interface IAnalyticsActions {
4
+ search: (searchTerm: string) => void;
5
+ viewItem: (item: IAnalyticsItem) => void;
6
+ viewItemList: (items: IAnalyticsItem[], list?: IAnalyticsItemList) => void;
7
+ selectItem: (item: IAnalyticsItem, list?: IAnalyticsItemList) => void;
8
+ addToCart: (item: IAnalyticsItem) => void;
9
+ removeFromCart: (item: IAnalyticsItem) => void;
10
+ viewCart: (items: IAnalyticsItem[]) => void;
11
+ beginCheckout: (items: IAnalyticsItem[], options?: {
12
+ coupon?: string;
13
+ }) => void;
14
+ addressUpdated: (address: IAnalyticsAddress) => void;
15
+ addressFailed: (failure: IAnalyticsAddressFailure) => void;
16
+ productNoAvailability: (details: IAnalyticsAvailability) => void;
17
+ productSizeNoAvailability: (details: IAnalyticsAvailability) => void;
18
+ productFulfillmentNoAvailability: (details: IAnalyticsFulfillmentAvailability) => void;
19
+ }
20
+ export declare class ClientAnalyticsActionService extends BaseActionService {
21
+ private readonly googleTagManager;
22
+ constructor();
23
+ static getInstance(): ClientAnalyticsActionService;
24
+ get actions(): IAnalyticsActions;
25
+ private report;
26
+ private check;
27
+ private toGtmItem;
28
+ private toGtmItems;
29
+ private toList;
30
+ private toAvailability;
31
+ private toOptionalString;
32
+ private toAddress;
33
+ private toCoordinates;
34
+ private validateItem;
35
+ }
@@ -0,0 +1,38 @@
1
+ import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface';
2
+ import { type FulfillmentType } from '@/enums';
3
+ import { BaseActionService } from './base-action.service';
4
+ export interface IAddProductParams {
5
+ identifier: string;
6
+ fulfillmentType: FulfillmentType;
7
+ quantity: number;
8
+ engravingLines?: string[];
9
+ }
10
+ export interface ICartActions {
11
+ openCart: () => void;
12
+ closeCart: () => void;
13
+ toggleCart: () => void;
14
+ addProduct: (params: IAddProductParams[], openCart?: boolean) => Promise<void>;
15
+ applyPromoCode: (promoCode: string) => Promise<void>;
16
+ removePromoCode: () => Promise<void>;
17
+ resetCart: () => Promise<void>;
18
+ getDetails: () => IBaseCartEventData;
19
+ }
20
+ export declare class ClientCartActionService extends BaseActionService {
21
+ private readonly command;
22
+ private pendingCartParams;
23
+ private pendingCartOpenFlag;
24
+ constructor();
25
+ static getInstance(): ClientCartActionService;
26
+ get actions(): ICartActions;
27
+ private setupAddressUpdateListener;
28
+ private retryPendingCartOperation;
29
+ private clearPendingCartOperation;
30
+ private openCart;
31
+ private closeCart;
32
+ private toggleCart;
33
+ private addProduct;
34
+ private applyPromoCode;
35
+ private removePromoCode;
36
+ private resetCart;
37
+ private getDetails;
38
+ }
@@ -0,0 +1,81 @@
1
+ import type { ICheckoutDetailsEventData } from '@/core/pubsub/interfaces/checkout.interface';
2
+ import type { IAnonymousCheckoutAddProductParams, IAnonymousCheckoutAddProductResponse, ICheckoutMarketingPreferences } from '@/interfaces/api/checkout.interface';
3
+ import type { DeliverySlot } from '@/interfaces/api/delivery.interface';
4
+ import type { IProductAvailabilityResponse } from '@/interfaces/api/product.interface';
5
+ import type { BillingFieldName, CustomerFieldName, GiftFieldName } from '@/modules/checkout/constant';
6
+ import { BaseActionService } from './base-action.service';
7
+ import type { IAddProductParams } from './client-cart-action.service';
8
+ export interface ISavedPaymentMethodInput {
9
+ id: string;
10
+ card: {
11
+ brand: string;
12
+ last4: string;
13
+ expMonth?: string | number;
14
+ expYear?: string | number;
15
+ };
16
+ }
17
+ export interface ICheckoutActions {
18
+ openCheckout: () => void;
19
+ closeCheckout: () => void;
20
+ toggleCheckout: () => void;
21
+ exitCheckout: () => void;
22
+ setSavedPaymentMethod: (params: ISavedPaymentMethodInput) => void;
23
+ clearSavedPaymentMethod: () => void;
24
+ setSavedMarketingPreferences: (preferences: Partial<ICheckoutMarketingPreferences>) => Promise<void>;
25
+ clearSavedMarketingPreferences: () => void;
26
+ addProduct: (params: IAddProductParams[], openCheckout?: boolean) => Promise<void>;
27
+ applyPromoCode: (promoCode: string) => Promise<void>;
28
+ removePromoCode: () => Promise<void>;
29
+ applyGiftCard: (code: string) => Promise<void>;
30
+ removeGiftCard: (code: string) => Promise<void>;
31
+ toggleIsGift: (active?: boolean) => Promise<void>;
32
+ toggleBillingSameAsShipping: (active?: boolean) => Promise<void>;
33
+ toggleMarketingPreferences: (field: 'canEmail' | 'canSms', active: boolean) => Promise<void>;
34
+ updateCustomerInfo: (params: Record<CustomerFieldName, string>, options?: {
35
+ saveIfValid?: boolean;
36
+ }) => Promise<void>;
37
+ updateBillingInfo: (params: Record<BillingFieldName, string>) => void;
38
+ updateGiftInfo: (params: Record<GiftFieldName, string>) => void;
39
+ loadDeliverySlots: (fulfillmentId: string) => Promise<DeliverySlot[]>;
40
+ chooseDeliverySlot: (fulfillmentId: string, slotId: string | null) => Promise<void>;
41
+ getDetails: () => ICheckoutDetailsEventData;
42
+ getProductAvailabilityByState: (identifiers: string[], state?: string) => Promise<IProductAvailabilityResponse>;
43
+ addAnonymousProduct: (params: IAnonymousCheckoutAddProductParams) => Promise<IAnonymousCheckoutAddProductResponse>;
44
+ }
45
+ export declare class ClientCheckoutActionService extends BaseActionService {
46
+ private readonly command;
47
+ private readonly allowedCustomerFields;
48
+ private readonly allowedBillingFields;
49
+ private readonly allowedGiftFields;
50
+ private cartActionsAddProduct;
51
+ constructor();
52
+ static getInstance(): ClientCheckoutActionService;
53
+ setCartActionsAddProduct(addProductFn: (params: IAddProductParams[]) => Promise<void>): void;
54
+ get actions(): ICheckoutActions;
55
+ private normalizeCheckoutFieldValue;
56
+ private openCheckout;
57
+ private closeCheckout;
58
+ private toggleCheckout;
59
+ private reportCheckoutOpened;
60
+ private exitCheckout;
61
+ private setSavedPaymentMethod;
62
+ private clearSavedPaymentMethod;
63
+ private addProduct;
64
+ private applyPromoCode;
65
+ private removePromoCode;
66
+ private applyGiftCard;
67
+ private removeGiftCard;
68
+ private toggleIsGift;
69
+ private toggleBillingSameAsShipping;
70
+ private setSavedMarketingPreferences;
71
+ private clearSavedMarketingPreferences;
72
+ private toggleMarketingPreferences;
73
+ private updateCustomerInfo;
74
+ private updateBillingInfo;
75
+ private updateGiftInfo;
76
+ private loadDeliverySlots;
77
+ private chooseDeliverySlot;
78
+ private getDetails;
79
+ private addAnonymousProduct;
80
+ private getProductAvailabilityByState;
81
+ }
@@ -0,0 +1,15 @@
1
+ import type { IBaseProductEventData } from '@/core/pubsub/interfaces/product.interface';
2
+ import type { IProductAvailabilityResponse } from '@/interfaces/api/product.interface';
3
+ import { BaseActionService } from './base-action.service';
4
+ export interface IProductActions {
5
+ getDetails: (identifier: string) => IBaseProductEventData;
6
+ getProductAvailabilityByState: (identifiers: string[], state?: string) => Promise<IProductAvailabilityResponse>;
7
+ }
8
+ export declare class ClientProductActionService extends BaseActionService {
9
+ private readonly command;
10
+ constructor();
11
+ static getInstance(): ClientProductActionService;
12
+ get actions(): IProductActions;
13
+ private getDetails;
14
+ private getProductAvailabilityByState;
15
+ }
@@ -1,78 +1,11 @@
1
- import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface';
2
- import type { ICheckoutDetailsEventData } from '@/core/pubsub/interfaces/checkout.interface';
3
- import type { IBaseProductEventData } from '@/core/pubsub/interfaces/product.interface';
4
- import { type FulfillmentType } from '@/enums';
5
- import type { IAddressAddress, IAddressCoordinates, IAddressData } from '@/interfaces/api/address.interface';
6
- import type { BillingFieldName, CustomerFieldName, GiftFieldName } from '@/modules/checkout/components/checkout.type';
7
- export interface IAddProductParams {
8
- identifier: string;
9
- fulfillmentType: FulfillmentType;
10
- quantity: number;
11
- }
12
- export interface IAddressActions {
13
- setAddressByPlacesId: (placesId: string) => Promise<void>;
14
- setAddressManually: (address: IAddressAddress, coordinates: IAddressCoordinates) => Promise<void>;
15
- clear: () => Promise<void>;
16
- getDetails: () => IAddressData | null;
17
- }
18
- export interface ICartActions {
19
- openCart: () => void;
20
- closeCart: () => void;
21
- toggleCart: () => void;
22
- addProduct: (params: IAddProductParams[], openCart?: boolean) => Promise<void>;
23
- applyPromoCode: (promoCode: string) => Promise<void>;
24
- removePromoCode: () => Promise<void>;
25
- resetCart: () => Promise<void>;
26
- getDetails: () => IBaseCartEventData;
27
- }
28
- export interface ICheckoutActions {
29
- openCheckout: () => void;
30
- closeCheckout: () => void;
31
- toggleCheckout: () => void;
32
- addProduct: (params: IAddProductParams[], openCheckout?: boolean) => Promise<void>;
33
- addPresaleProduct: (params: IAddProductParams) => Promise<void>;
34
- applyPromoCode: (promoCode: string) => Promise<void>;
35
- removePromoCode: () => Promise<void>;
36
- applyGiftCard: (code: string) => Promise<void>;
37
- removeGiftCard: (code: string) => Promise<void>;
38
- toggleIsGift: (active?: boolean) => Promise<void>;
39
- toggleBillingSameAsShipping: (active?: boolean) => Promise<void>;
40
- toggleMarketingPreferences: (field: 'canEmail' | 'canSms', active: boolean) => Promise<void>;
41
- updateCustomerInfo: (params: Record<CustomerFieldName, string>) => void;
42
- updateBillingInfo: (params: Record<BillingFieldName, string>) => void;
43
- updateGiftInfo: (params: Record<GiftFieldName, string>) => void;
44
- getDetails: () => ICheckoutDetailsEventData;
45
- }
46
- export interface IProductActions {
47
- getDetails: (identifier: string) => IBaseProductEventData;
48
- }
1
+ import type { ILiquidCommerceElementsActions } from '@/interfaces/client.interface';
49
2
  export declare class ClientActionService {
50
- private readonly pubSub;
51
- private readonly command;
52
- private readonly store;
53
- private readonly api;
54
- private readonly themeProvider;
55
- private readonly logger;
56
- private readonly allowedCustomerFields;
57
- private readonly allowedBillingFields;
58
- private readonly allowedGiftFields;
59
- private pendingCartParams;
60
- private pendingCartOpenFlag;
3
+ private readonly productActionService;
4
+ private readonly addressActionService;
5
+ private readonly cartActionService;
6
+ private readonly checkoutActionService;
7
+ private readonly analyticsActionService;
61
8
  constructor();
62
9
  static getInstance(): ClientActionService;
63
- private setupAddressUpdateListener;
64
- private retryPendingCartOperation;
65
- private clearPendingCartOperation;
66
- private getLocation;
67
- private normalizeCheckoutFieldValue;
68
- private productActions;
69
- private addressActions;
70
- private cartActions;
71
- private checkoutActions;
72
- actions: {
73
- product: IProductActions;
74
- address: IAddressActions;
75
- cart: ICartActions;
76
- checkout: ICheckoutActions;
77
- };
10
+ get actions(): ILiquidCommerceElementsActions;
78
11
  }
@@ -1,6 +1,6 @@
1
1
  import { type DebugMode, type ElementsEnv } from '@/enums';
2
+ import type { IClientCustomThemeConfig, IElementsGTMConfig, IElementsProxyConfig, ILiquidCommerceElementsCheckoutConfig } from '@/interfaces/config.interface';
2
3
  import type { IPromoTicker } from '@/interfaces/configs';
3
- import type { IClientCustomThemeConfig, IElementsProxyConfig } from '@/interfaces/core.interface';
4
4
  export type DeviceType = 'desktop' | 'tablet' | 'mobile';
5
5
  export interface IClientConfigs {
6
6
  apiKey: string;
@@ -12,6 +12,7 @@ export interface IClientConfigs {
12
12
  partnerName?: string;
13
13
  customTheme: IClientCustomThemeConfig | null;
14
14
  proxy: IElementsProxyConfig | null;
15
+ gtm: IElementsGTMConfig | null;
15
16
  deviceType: DeviceType;
16
17
  userDeviceId?: string;
17
18
  localStorageKeyPrefix?: string;
@@ -19,9 +20,12 @@ export interface IClientConfigs {
19
20
  version?: string;
20
21
  clientPrepared: boolean;
21
22
  promoTicker: IPromoTicker[] | null;
22
- paymentMethodId?: string;
23
23
  openShadowDom?: boolean;
24
24
  hasCustomApiUrl?: boolean;
25
+ mockMode: boolean;
26
+ enableExpressCheckout: boolean;
27
+ checkout: ILiquidCommerceElementsCheckoutConfig | null;
28
+ isCheckoutOnly: boolean;
25
29
  }
26
30
  export interface IClientConfigInput {
27
31
  env?: ElementsEnv;
@@ -29,12 +33,16 @@ export interface IClientConfigInput {
29
33
  debugMode?: DebugMode;
30
34
  customTheme?: IClientCustomThemeConfig;
31
35
  proxy?: IElementsProxyConfig;
36
+ gtm?: IElementsGTMConfig;
32
37
  promoTicker?: IPromoTicker[];
33
38
  development?: {
34
39
  customApiUrl?: string;
35
- paymentMethodId?: string;
36
40
  openShadowDom?: boolean;
41
+ mockMode?: boolean;
42
+ enableExpressCheckout?: boolean;
37
43
  };
44
+ checkout?: ILiquidCommerceElementsCheckoutConfig;
45
+ isCheckoutOnly?: boolean;
38
46
  }
39
47
  export declare class ClientConfigService {
40
48
  private config;
@@ -43,16 +51,15 @@ export declare class ClientConfigService {
43
51
  getConfigs(): IClientConfigs;
44
52
  get<K extends keyof IClientConfigs>(key: K): IClientConfigs[K];
45
53
  set<K extends keyof IClientConfigs>(key: K, value: IClientConfigs[K]): void;
46
- isDevelopment(): boolean;
47
54
  isStaging(): boolean;
48
55
  isProduction(): boolean;
49
56
  isBuilder(): boolean;
57
+ isCheckoutOnly(): boolean;
50
58
  isDebuggingEnabled(): boolean;
51
59
  isDebugPanelEnabled(): boolean;
52
60
  debuggingDisabled(): boolean;
53
61
  hasCustomTheme(): boolean;
54
62
  isMobile(): boolean;
55
- isLocalStorageAvailable(): boolean;
56
63
  getProxyConfig(): IElementsProxyConfig | null;
57
64
  private validateInputs;
58
65
  private buildConfiguration;
@@ -1 +1 @@
1
- export declare const DEBUG_PANEL_STYLES = "\n :host {\n position: fixed;\n z-index: 2147483647;\n display: block;\n }\n\n .panel {\n position: relative;\n background: rgba(15, 23, 42, 0.95);\n backdrop-filter: blur(10px);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 12px;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;\n font-size: 12px;\n color: #e2e8f0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n user-select: none;\n transition: all 0.2s ease;\n width: 100%;\n height: 100%;\n }\n\n .panel:hover {\n border-color: rgba(148, 163, 184, 0.4);\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.2);\n background: rgba(30, 41, 59, 0.5);\n cursor: move;\n }\n\n .icon {\n font-size: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n }\n\n .title-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n margin: 0 12px;\n }\n \n .title-container > *:not(:first-child) {\n margin-top: 2px;\n }\n\n .title {\n font-weight: 600;\n color: #f1f5f9;\n font-size: 13px;\n }\n\n\n .subtitle {\n font-size: 10px;\n color: #94a3b8;\n }\n\n .minimize {\n background: none;\n border: none;\n color: #94a3b8;\n font-size: 18px;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n transition: all 0.2s ease;\n line-height: 1;\n font-weight: bold;\n }\n\n .minimize:hover {\n background: rgba(148, 163, 184, 0.1);\n color: #cbd5e1;\n }\n\n .toggles {\n display: flex;\n padding: 8px 16px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.2);\n background: rgba(30, 41, 59, 0.3);\n align-items: center;\n }\n\n .toggles > *:not(:last-child) {\n margin-right: 12px;\n }\n\n .toggle {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-size: 11px;\n color: #cbd5e1;\n transition: color 0.2s ease;\n }\n \n .toggle > *:not(:last-child) {\n margin-right: 6px;\n }\n\n .toggle:hover {\n color: #f1f5f9;\n }\n\n .toggle input[type=\"checkbox\"] {\n width: 12px;\n height: 12px;\n accent-color: #3b82f6;\n cursor: pointer;\n }\n\n .clear-btn {\n background: none;\n border: none;\n color: #ef4444;\n font-size: 14px;\n padding: 0;\n cursor: pointer;\n transition: all 0.2s ease;\n margin-left: auto;\n min-width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .clear-btn:hover {\n transform: scale(1.1);\n color: #dc2626;\n }\n\n .logs {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px;\n background: rgba(15, 23, 42, 0.8);\n min-height: 0;\n max-height: 100%;\n }\n\n .log-entry {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n margin-bottom: 2px;\n border-radius: 6px;\n font-size: 11px;\n line-height: 1.4;\n transition: background-color 0.2s ease;\n user-select: text;\n }\n \n .log-entry > *:not(:last-child) {\n margin-right: 8px;\n }\n\n .log-entry:hover {\n background-color: rgba(148, 163, 184, 0.1);\n }\n\n /* Event type background colors */\n .log-entry.event {\n background: rgba(59, 130, 246, 0.1);\n }\n\n .log-entry.action {\n background: rgba(16, 185, 129, 0.1);\n }\n\n .log-entry.gtm {\n background: rgba(245, 158, 11, 0.1);\n }\n\n .log-entry.logger {\n background: rgba(139, 92, 246, 0.1);\n }\n\n\n .log-meta {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n min-width: 50px;\n }\n \n .log-meta > *:not(:first-child) {\n margin-top: 2px;\n }\n\n .log-type {\n font-weight: 600;\n font-size: 9px;\n padding: 2px 0;\n border-radius: 3px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n font-weight: bold;\n letter-spacing: 0.5px;\n }\n\n .log-timestamp {\n color: #64748b;\n font-size: 9px;\n white-space: nowrap;\n line-height: 1;\n }\n\n .log-type.event {\n background: rgba(59, 130, 246, 0.2);\n color: #60a5fa;\n }\n\n .log-type.action {\n color: #34d399;\n }\n\n .log-type.gtm {\n color: #fbbf24;\n }\n\n .log-type.logger {\n color: #a78bfa;\n }\n\n .log-message {\n flex: 1;\n word-break: break-word;\n user-select: text;\n }\n\n .log-context {\n color: #94a3b8;\n font-size: 10px;\n margin-top: 2px;\n font-style: italic;\n }\n\n .log-data {\n background: rgba(30, 41, 59, 0.6);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 4px;\n padding: 8px;\n margin-top: 6px;\n font-size: 10px;\n color: #cbd5e1;\n max-height: 120px;\n overflow-y: auto;\n font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;\n user-select: text;\n }\n\n .log-data pre {\n margin: 0;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .resize-handle {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 12px;\n height: 12px;\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.3) 30%, rgba(148, 163, 184, 0.3) 70%, transparent 70%);\n cursor: nw-resize;\n border-radius: 0 0 12px 0;\n }\n\n .resize-handle:hover {\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.7) 30%, rgba(148, 163, 184, 0.7) 70%, transparent 70%);\n transform: scale(1.1);\n }\n\n .resize-handle:active {\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.9) 30%, rgba(148, 163, 184, 0.9) 70%, transparent 70%);\n }\n\n /* Scrollbar styling */\n .logs::-webkit-scrollbar {\n width: 6px;\n }\n\n .logs::-webkit-scrollbar-track {\n background: rgba(30, 41, 59, 0.3);\n border-radius: 3px;\n }\n\n .logs::-webkit-scrollbar-thumb {\n background: rgba(148, 163, 184, 0.3);\n border-radius: 3px;\n }\n\n .logs::-webkit-scrollbar-thumb:hover {\n background: rgba(148, 163, 184, 0.5);\n }\n\n .log-data::-webkit-scrollbar {\n width: 4px;\n }\n\n .log-data::-webkit-scrollbar-track {\n background: rgba(30, 41, 59, 0.3);\n border-radius: 2px;\n }\n\n .log-data::-webkit-scrollbar-thumb {\n background: rgba(148, 163, 184, 0.3);\n border-radius: 2px;\n }\n\n .log-data::-webkit-scrollbar-thumb:hover {\n background: rgba(148, 163, 184, 0.5);\n }\n\n /* Floating button styles */\n .floating-btn {\n position: absolute;\n top: 20px;\n left: 20px;\n width: 40px;\n height: 40px;\n background: rgba(15, 23, 42, 0.95);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 50%;\n display: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n font-size: 18px;\n user-select: none;\n z-index: 1;\n }\n\n .floating-btn:hover {\n background: rgba(30, 41, 59, 0.95);\n border-color: rgba(148, 163, 184, 0.4);\n }\n\n /* Mobile Responsiveness */\n @media (max-width: 768px) {\n .panel {\n font-size: 11px;\n border-radius: 8px;\n }\n\n .header {\n padding: 8px 12px;\n }\n\n .title {\n font-size: 12px;\n }\n\n .subtitle {\n font-size: 9px;\n }\n\n .toggles {\n padding: 6px 12px;\n flex-wrap: wrap;\n }\n \n .toggles > *:not(:last-child) {\n margin-right: 8px;\n }\n\n .toggle {\n font-size: 10px;\n }\n\n .toggle input[type=\"checkbox\"] {\n width: 10px;\n height: 10px;\n }\n\n .logs {\n padding: 6px;\n }\n\n .log-entry {\n padding: 6px 8px;\n font-size: 10px;\n }\n\n .log-type {\n font-size: 8px;\n }\n\n .log-timestamp {\n font-size: 8px;\n }\n\n .log-data {\n font-size: 9px;\n padding: 6px;\n max-height: 80px;\n }\n\n .floating-btn {\n width: 36px;\n height: 36px;\n font-size: 16px;\n top: 15px;\n left: 15px;\n }\n }\n\n @media (max-width: 480px) {\n .panel {\n font-size: 10px;\n border-radius: 6px;\n }\n\n .header {\n padding: 6px 10px;\n }\n\n .title {\n font-size: 11px;\n }\n\n .subtitle {\n font-size: 8px;\n }\n\n .toggles {\n padding: 4px 10px;\n }\n \n .toggles > *:not(:first-child) {\n margin-right: 6px;\n }\n\n .toggle {\n font-size: 9px;\n }\n\n .logs {\n padding: 4px;\n }\n\n .log-entry {\n padding: 4px 6px;\n font-size: 9px;\n }\n \n .log-entry > *:not(:first-child) {\n margin-top: 4px;\n }\n\n .log-meta {\n min-width: 40px;\n }\n\n .log-type {\n font-size: 7px;\n }\n\n .log-timestamp {\n font-size: 7px;\n }\n\n .log-data {\n font-size: 8px;\n padding: 4px;\n max-height: 60px;\n }\n\n .floating-btn {\n width: 32px;\n height: 32px;\n font-size: 14px;\n top: 10px;\n left: 10px;\n }\n }\n";
1
+ export declare const DEBUG_PANEL_STYLES = "\n :host {\n position: fixed;\n z-index: 2147483647;\n display: block;\n letter-spacing: normal;\n }\n\n .panel {\n position: relative;\n background: rgba(15, 23, 42, 0.95);\n backdrop-filter: blur(10px);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 12px;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;\n font-size: 12px;\n color: #e2e8f0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n user-select: none;\n transition: all 0.2s ease;\n width: 100%;\n height: 100%;\n }\n\n .panel:hover {\n border-color: rgba(148, 163, 184, 0.4);\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.2);\n background: rgba(30, 41, 59, 0.5);\n cursor: move;\n }\n\n .icon {\n font-size: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n }\n\n .title-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n margin: 0 12px;\n }\n\n .title-container > *:not(:first-child) {\n margin-top: 2px;\n }\n\n .title {\n font-weight: 600;\n color: #f1f5f9;\n font-size: 13px;\n }\n\n\n .subtitle {\n font-size: 10px;\n color: #94a3b8;\n }\n\n .minimize {\n background: none;\n border: none;\n color: #94a3b8;\n font-size: 18px;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n transition: all 0.2s ease;\n line-height: 1;\n font-weight: bold;\n }\n\n .minimize:hover {\n background: rgba(148, 163, 184, 0.1);\n color: #cbd5e1;\n }\n\n .toggles {\n display: flex;\n padding: 8px 16px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.2);\n background: rgba(30, 41, 59, 0.3);\n align-items: center;\n }\n\n .toggles > *:not(:last-child) {\n margin-right: 12px;\n }\n\n .toggle {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-size: 11px;\n color: #cbd5e1;\n transition: color 0.2s ease;\n }\n\n .toggle > *:not(:last-child) {\n margin-right: 6px;\n }\n\n .toggle:hover {\n color: #f1f5f9;\n }\n\n .toggle input[type=\"checkbox\"] {\n width: 12px;\n height: 12px;\n accent-color: #3b82f6;\n cursor: pointer;\n }\n\n .clear-btn {\n background: none;\n border: none;\n color: #ef4444;\n font-size: 14px;\n padding: 0;\n cursor: pointer;\n transition: all 0.2s ease;\n margin-left: auto;\n min-width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .clear-btn:hover {\n transform: scale(1.1);\n color: #dc2626;\n }\n\n .logs {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px;\n background: rgba(15, 23, 42, 0.8);\n min-height: 0;\n max-height: 100%;\n }\n\n .log-entry {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n margin-bottom: 2px;\n border-radius: 6px;\n font-size: 11px;\n line-height: 1.4;\n transition: background-color 0.2s ease;\n user-select: text;\n }\n\n .log-entry > *:not(:last-child) {\n margin-right: 8px;\n }\n\n .log-entry:hover {\n background-color: rgba(148, 163, 184, 0.1);\n }\n\n /* Event type background colors */\n .log-entry.event {\n background: rgba(59, 130, 246, 0.1);\n }\n\n .log-entry.action {\n background: rgba(16, 185, 129, 0.1);\n }\n\n .log-entry.gtm {\n background: rgba(245, 158, 11, 0.1);\n }\n\n .log-entry.logger {\n background: rgba(139, 92, 246, 0.1);\n }\n\n\n .log-meta {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n min-width: 50px;\n }\n\n .log-meta > *:not(:first-child) {\n margin-top: 2px;\n }\n\n .log-type {\n font-weight: 600;\n font-size: 9px;\n padding: 2px 0;\n border-radius: 3px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n font-weight: bold;\n letter-spacing: 0.5px;\n }\n\n .log-timestamp {\n color: #64748b;\n font-size: 9px;\n white-space: nowrap;\n line-height: 1;\n }\n\n .log-type.event {\n background: rgba(59, 130, 246, 0.2);\n color: #60a5fa;\n }\n\n .log-type.action {\n color: #34d399;\n }\n\n .log-type.gtm {\n color: #fbbf24;\n }\n\n .log-type.logger {\n color: #a78bfa;\n }\n\n .log-message {\n flex: 1;\n word-break: break-word;\n user-select: text;\n }\n\n .log-context {\n color: #94a3b8;\n font-size: 10px;\n margin-top: 2px;\n font-style: italic;\n }\n\n .log-data {\n background: rgba(30, 41, 59, 0.6);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 4px;\n padding: 8px;\n margin-top: 6px;\n font-size: 10px;\n color: #cbd5e1;\n max-height: 120px;\n overflow-y: auto;\n font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;\n user-select: text;\n }\n\n .log-data pre {\n margin: 0;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .resize-handle {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 12px;\n height: 12px;\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.3) 30%, rgba(148, 163, 184, 0.3) 70%, transparent 70%);\n cursor: nw-resize;\n border-radius: 0 0 12px 0;\n }\n\n .resize-handle:hover {\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.7) 30%, rgba(148, 163, 184, 0.7) 70%, transparent 70%);\n transform: scale(1.1);\n }\n\n .resize-handle:active {\n background: linear-gradient(-45deg, transparent 30%, rgba(148, 163, 184, 0.9) 30%, rgba(148, 163, 184, 0.9) 70%, transparent 70%);\n }\n\n /* Scrollbar styling */\n .logs::-webkit-scrollbar {\n width: 6px;\n }\n\n .logs::-webkit-scrollbar-track {\n background: rgba(30, 41, 59, 0.3);\n border-radius: 3px;\n }\n\n .logs::-webkit-scrollbar-thumb {\n background: rgba(148, 163, 184, 0.3);\n border-radius: 3px;\n }\n\n .logs::-webkit-scrollbar-thumb:hover {\n background: rgba(148, 163, 184, 0.5);\n }\n\n .log-data::-webkit-scrollbar {\n width: 4px;\n }\n\n .log-data::-webkit-scrollbar-track {\n background: rgba(30, 41, 59, 0.3);\n border-radius: 2px;\n }\n\n .log-data::-webkit-scrollbar-thumb {\n background: rgba(148, 163, 184, 0.3);\n border-radius: 2px;\n }\n\n .log-data::-webkit-scrollbar-thumb:hover {\n background: rgba(148, 163, 184, 0.5);\n }\n\n /* Floating button styles */\n .floating-btn {\n position: absolute;\n top: 20px;\n left: 20px;\n width: 40px;\n height: 40px;\n background: rgba(15, 23, 42, 0.95);\n border: 1px solid rgba(148, 163, 184, 0.2);\n border-radius: 50%;\n display: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n font-size: 18px;\n user-select: none;\n z-index: 1;\n }\n\n .floating-btn:hover {\n background: rgba(30, 41, 59, 0.95);\n border-color: rgba(148, 163, 184, 0.4);\n }\n\n /* Mobile Responsiveness */\n @media (max-width: 768px) {\n .panel {\n font-size: 11px;\n border-radius: 8px;\n }\n\n .header {\n padding: 8px 12px;\n }\n\n .title {\n font-size: 12px;\n }\n\n .subtitle {\n font-size: 9px;\n }\n\n .toggles {\n padding: 6px 12px;\n flex-wrap: wrap;\n }\n\n .toggles > *:not(:last-child) {\n margin-right: 8px;\n }\n\n .toggle {\n font-size: 10px;\n }\n\n .toggle input[type=\"checkbox\"] {\n width: 10px;\n height: 10px;\n }\n\n .logs {\n padding: 6px;\n }\n\n .log-entry {\n padding: 6px 8px;\n font-size: 10px;\n }\n\n .log-type {\n font-size: 8px;\n }\n\n .log-timestamp {\n font-size: 8px;\n }\n\n .log-data {\n font-size: 9px;\n padding: 6px;\n max-height: 80px;\n }\n\n .floating-btn {\n width: 36px;\n height: 36px;\n font-size: 16px;\n top: 15px;\n left: 15px;\n }\n }\n\n @media (max-width: 480px) {\n .panel {\n font-size: 10px;\n border-radius: 6px;\n }\n\n .header {\n padding: 6px 10px;\n }\n\n .title {\n font-size: 11px;\n }\n\n .subtitle {\n font-size: 8px;\n }\n\n .toggles {\n padding: 4px 10px;\n }\n\n .toggles > *:not(:first-child) {\n margin-right: 6px;\n }\n\n .toggle {\n font-size: 9px;\n }\n\n .logs {\n padding: 4px;\n }\n\n .log-entry {\n padding: 4px 6px;\n font-size: 9px;\n }\n\n .log-entry > *:not(:first-child) {\n margin-top: 4px;\n }\n\n .log-meta {\n min-width: 40px;\n }\n\n .log-type {\n font-size: 7px;\n }\n\n .log-timestamp {\n font-size: 7px;\n }\n\n .log-data {\n font-size: 8px;\n padding: 4px;\n max-height: 60px;\n }\n\n .floating-btn {\n width: 32px;\n height: 32px;\n font-size: 14px;\n top: 10px;\n left: 10px;\n }\n }\n";
@@ -33,6 +33,7 @@ interface BaseItem {
33
33
  quantity?: number;
34
34
  item_type?: string;
35
35
  item_subtype?: string;
36
+ item_image?: string;
36
37
  upc?: string;
37
38
  grouping_id?: string;
38
39
  product_id?: string;
@@ -50,6 +51,7 @@ export declare class GoogleTagManagerService {
50
51
  private partnerName?;
51
52
  private partnerCode?;
52
53
  private partnerGTMId?;
54
+ private partnerGatewayUrl?;
53
55
  private liquidCommerceGTMId?;
54
56
  private enablePartnerGTM;
55
57
  private enableLiquidCommerceGTM;
@@ -62,9 +64,16 @@ export declare class GoogleTagManagerService {
62
64
  private readonly clientConfigService;
63
65
  constructor();
64
66
  static getInstance(): GoogleTagManagerService;
67
+ private isGTMEnabledEnvironment;
65
68
  private waitForDOMReady;
66
69
  private isGTMAlreadyLoaded;
67
70
  private isContainerLoaded;
71
+ private isGatewayScriptForContainer;
72
+ private getPartnerGatewayScripts;
73
+ private parseScriptUrl;
74
+ private resolveGatewayUrl;
75
+ private getContainerRegistry;
76
+ private isContainerRegistered;
68
77
  private isContainerInitialized;
69
78
  private loadGTMScript;
70
79
  private waitForContainerInit;
@@ -92,15 +101,16 @@ export declare class GoogleTagManagerService {
92
101
  gift_cards?: number;
93
102
  net_total?: number;
94
103
  }): void;
104
+ search(searchTerm: string): void;
95
105
  promoCodeAttempt(code: string): void;
96
- promoCodeApplied(code: string, discountAmount?: number): void;
106
+ promoCodeApplied(code: string, discount?: number): void;
97
107
  promoCodeFailed(code: string, reason?: string): void;
98
108
  giftCardAttempt(code: string): void;
99
109
  giftCardApplied(code: string, appliedAmount?: number): void;
100
110
  giftCardFailed(code: string, reason?: string): void;
101
111
  addressUpdated(addressData: {
102
- googlePlacesId: string;
103
- formattedAddress: string;
112
+ googlePlacesId?: string;
113
+ formattedAddress?: string;
104
114
  address: {
105
115
  one?: string;
106
116
  two?: string;
@@ -13,6 +13,6 @@ export declare class LoggerService {
13
13
  debug(message: string, data?: Record<string, any>): void;
14
14
  info(message: string, data?: Record<string, any>): void;
15
15
  warn(message: string, data?: Record<string, any>): void;
16
- error(message: string, error?: Error | Record<string, any>): void;
16
+ error(message: string, errorOrData?: Error | Record<string, any>): void;
17
17
  private sendToTelemetry;
18
18
  }
@@ -5,3 +5,6 @@ export interface IAddressActionEventData {
5
5
  address: IAddressAddress;
6
6
  coordinates: IAddressCoordinates;
7
7
  }
8
+ export interface IAddressFailedEventData extends IAddressActionEventData {
9
+ error: string;
10
+ }
@@ -50,7 +50,7 @@ export interface ICartItemEngravingUpdatedEventData {
50
50
  }
51
51
  export interface ICartPromoCodeEventData {
52
52
  cartId: string;
53
- discountAmount?: number;
53
+ discount?: number;
54
54
  newSubtotal?: number;
55
55
  }
56
56
  export interface ICartPromoCodeFailedEventData {
@@ -67,3 +67,8 @@ export interface ICartProductAddFailedEventData {
67
67
  identifiers: string[];
68
68
  error: string;
69
69
  }
70
+ export interface ICartShopRetailerEventData {
71
+ retailerId: string;
72
+ fulfillmentId: string;
73
+ fulfillmentType: 'onDemand' | 'shipping';
74
+ }