@liquidcommerce/elements-sdk 2.6.0-beta.10 → 2.6.0-beta.101

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 (262) hide show
  1. package/README.md +99 -2518
  2. package/dist/index.checkout.esm.js +17850 -0
  3. package/dist/index.esm.js +25821 -20795
  4. package/dist/ssr-stub.checkout.esm.js +18 -0
  5. package/dist/ssr-stub.esm.js +270 -0
  6. package/dist/types/auto-initialize/checkout.d.ts +2 -0
  7. package/dist/types/auto-initialize/shared-utils.d.ts +50 -0
  8. package/dist/types/{elements-base-client.d.ts → clients/base.d.ts} +15 -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/{elements-client-helper.d.ts → clients/helpers.d.ts} +2 -1
  12. package/dist/types/clients/main.d.ts +3 -0
  13. package/dist/types/constants/core.constant.d.ts +2 -6
  14. package/dist/types/core/a11y/announcer.service.d.ts +16 -0
  15. package/dist/types/core/a11y/focus-manager.service.d.ts +21 -0
  16. package/dist/types/core/a11y/focusable.d.ts +5 -0
  17. package/dist/types/core/a11y/glyph-button.d.ts +8 -0
  18. package/dist/types/core/a11y/index.d.ts +5 -0
  19. package/dist/types/core/a11y/single-select.d.ts +16 -0
  20. package/dist/types/core/api/api-client.service.d.ts +19 -18
  21. package/dist/types/core/api/api-result.d.ts +19 -0
  22. package/dist/types/core/api/auth-client.service.d.ts +37 -13
  23. package/dist/types/core/api/http-client.service.d.ts +0 -8
  24. package/dist/types/core/base-component.service.d.ts +4 -1
  25. package/dist/types/core/client/actions/base-action.service.d.ts +22 -0
  26. package/dist/types/core/client/actions/client-address-action.service.d.ts +18 -0
  27. package/dist/types/core/client/actions/client-cart-action.service.d.ts +38 -0
  28. package/dist/types/core/client/actions/client-checkout-action.service.d.ts +69 -0
  29. package/dist/types/core/client/actions/client-product-action.service.d.ts +15 -0
  30. package/dist/types/core/client/client-action.service.d.ts +6 -74
  31. package/dist/types/core/client/client-config.service.d.ts +8 -5
  32. package/dist/types/core/google-tag-manager.service.d.ts +3 -1
  33. package/dist/types/core/logger/logger.service.d.ts +1 -1
  34. package/dist/types/core/pubsub/interfaces/address.interface.d.ts +3 -0
  35. package/dist/types/core/pubsub/interfaces/cart.interface.d.ts +1 -1
  36. package/dist/types/core/pubsub/interfaces/checkout.interface.d.ts +36 -51
  37. package/dist/types/core/pubsub/interfaces/core.interface.d.ts +11 -6
  38. package/dist/types/core/pubsub/pubsub.service.d.ts +1 -2
  39. package/dist/types/core/singleton-manager.service.d.ts +12 -8
  40. package/dist/types/core/store/interfaces/cart.interface.d.ts +2 -3
  41. package/dist/types/core/store/interfaces/checkout.interface.d.ts +18 -108
  42. package/dist/types/core/store/interfaces/core.interface.d.ts +12 -2
  43. package/dist/types/core/store/interfaces/metadata.interface.d.ts +11 -0
  44. package/dist/types/core/store/interfaces/product-list.interface.d.ts +30 -0
  45. package/dist/types/core/store/interfaces/product.interface.d.ts +1 -0
  46. package/dist/types/core/store/store.constant.d.ts +5 -0
  47. package/dist/types/core/store/store.service.d.ts +1 -0
  48. package/dist/types/core/telemetry/telemetry.service.d.ts +1 -0
  49. package/dist/types/enums/core.enum.d.ts +39 -1
  50. package/dist/types/enums/index.d.ts +0 -1
  51. package/dist/types/index.checkout.d.ts +8 -0
  52. package/dist/types/index.checkout.umd.d.ts +4 -0
  53. package/dist/types/index.d.ts +8 -3
  54. package/dist/types/interfaces/api/cart.interface.d.ts +12 -7
  55. package/dist/types/interfaces/api/checkout.interface.d.ts +239 -0
  56. package/dist/types/interfaces/api/index.d.ts +5 -0
  57. package/dist/types/interfaces/api/product-list.interface.d.ts +14 -5
  58. package/dist/types/interfaces/api/product.interface.d.ts +10 -4
  59. package/dist/types/interfaces/client.interface.d.ts +72 -0
  60. package/dist/types/interfaces/component.interface.d.ts +7 -0
  61. package/dist/types/interfaces/config.interface.d.ts +40 -0
  62. package/dist/types/interfaces/configs/address.interface.d.ts +1 -1
  63. package/dist/types/interfaces/configs/cart.interface.d.ts +1 -1
  64. package/dist/types/interfaces/configs/checkout.interface.d.ts +2 -1
  65. package/dist/types/interfaces/configs/global.interface.d.ts +9 -3
  66. package/dist/types/interfaces/configs/index.d.ts +1 -0
  67. package/dist/types/interfaces/configs/product-list.interface.d.ts +49 -0
  68. package/dist/types/interfaces/configs/product.interface.d.ts +3 -1
  69. package/dist/types/interfaces/injection.interface.d.ts +49 -0
  70. package/dist/types/modules/address/address-display.component.d.ts +3 -1
  71. package/dist/types/modules/address/address-input.component.d.ts +10 -1
  72. package/dist/types/modules/address/address.command.d.ts +2 -1
  73. package/dist/types/modules/address/styles/register-styles.d.ts +1 -0
  74. package/dist/types/modules/cart/cart.commands.d.ts +4 -4
  75. package/dist/types/modules/cart/components/cart-body.component.d.ts +1 -0
  76. package/dist/types/modules/cart/components/cart-item-quantity-price.component.d.ts +5 -0
  77. package/dist/types/modules/cart/components/cart-item.component.d.ts +6 -0
  78. package/dist/types/modules/cart/styles/register-styles.d.ts +1 -0
  79. package/dist/types/modules/checkout/checkout.commands.d.ts +27 -10
  80. package/dist/types/modules/checkout/checkout.component.d.ts +2 -0
  81. package/dist/types/modules/checkout/components/checkout-billing.component.d.ts +2 -2
  82. package/dist/types/modules/checkout/components/checkout-completed.component.d.ts +5 -0
  83. package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
  84. package/dist/types/modules/checkout/components/checkout-item-quantity.component.d.ts +4 -0
  85. package/dist/types/modules/checkout/components/checkout-items.component.d.ts +4 -3
  86. package/dist/types/modules/checkout/components/checkout-payment.component.d.ts +2 -1
  87. package/dist/types/modules/checkout/components/checkout-place-order-button.component.d.ts +2 -0
  88. package/dist/types/modules/checkout/components/checkout-presale-countdown.component.d.ts +15 -1
  89. package/dist/types/modules/checkout/components/checkout-presale-expired.component.d.ts +7 -1
  90. package/dist/types/modules/checkout/components/checkout-stripe-form.component.d.ts +2 -1
  91. package/dist/types/modules/checkout/components/checkout-tips.component.d.ts +2 -2
  92. package/dist/types/modules/checkout/components/promo-pc-gc.component.d.ts +0 -2
  93. package/dist/types/modules/checkout/constant.d.ts +3 -0
  94. package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
  95. package/dist/types/modules/product/components/components.d.ts +6 -1
  96. package/dist/types/modules/product/components/product-add-to-cart-section.component.d.ts +7 -1
  97. package/dist/types/modules/product/components/product-description.component.d.ts +1 -0
  98. package/dist/types/modules/product/components/product-drawer.component.d.ts +6 -0
  99. package/dist/types/modules/product/components/product-image-carousel.component.d.ts +5 -0
  100. package/dist/types/modules/product/components/product-options.component.d.ts +2 -1
  101. package/dist/types/modules/product/components/product-retailers-carousel.component.d.ts +4 -0
  102. package/dist/types/modules/product/components/product-retailers-popup-list.component.d.ts +10 -2
  103. package/dist/types/modules/product/product.commands.d.ts +5 -5
  104. package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
  105. package/dist/types/modules/product-list/components/card-components/index.d.ts +5 -0
  106. package/dist/types/modules/product-list/components/card-components/product-badge.d.ts +9 -0
  107. package/dist/types/modules/product-list/components/card-components/product-button.d.ts +11 -0
  108. package/dist/types/modules/product-list/components/card-components/product-price-and-personalization.d.ts +14 -0
  109. package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +11 -0
  110. package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +14 -0
  111. package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
  112. package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
  113. package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
  114. package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
  115. package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +15 -0
  116. 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} +1 -1
  117. package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +7 -0
  118. package/dist/types/modules/product-list/components/index.d.ts +6 -2
  119. package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +3 -1
  120. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +36 -31
  121. package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +12 -0
  122. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +56 -36
  123. package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +22 -0
  124. package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +53 -0
  125. package/dist/types/modules/product-list/components/product-list-search.component.d.ts +25 -0
  126. package/dist/types/modules/product-list/product-list-filter.utils.d.ts +8 -0
  127. package/dist/types/modules/product-list/product-list-query-params.utils.d.ts +3 -0
  128. package/dist/types/modules/product-list/product-list.commands.d.ts +22 -7
  129. package/dist/types/modules/product-list/product-list.component.d.ts +17 -47
  130. package/dist/types/modules/product-list/product-list.constants.d.ts +38 -0
  131. package/dist/types/modules/product-list/product-list.interface.d.ts +16 -28
  132. package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
  133. package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
  134. package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
  135. package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
  136. package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
  137. package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
  138. package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
  139. package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
  140. package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -2
  141. package/dist/types/modules/ui-components/alert/alert.component.d.ts +1 -1
  142. package/dist/types/modules/ui-components/buttons/buttons-open-cart.component.d.ts +5 -0
  143. package/dist/types/modules/ui-components/drawer/drawer.component.d.ts +15 -0
  144. package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +8 -1
  145. package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +7 -1
  146. package/dist/types/modules/ui-components/input/index.d.ts +0 -1
  147. package/dist/types/modules/ui-components/input/input.component.d.ts +14 -1
  148. package/dist/types/modules/ui-components/lce-element/lce-element.component.d.ts +2 -1
  149. package/dist/types/modules/ui-components/promo-code-ticker/promo-code-ticker.component.d.ts +1 -1
  150. package/dist/types/modules/ui-components/ui.commands.d.ts +7 -1
  151. package/dist/types/ssr/stub.checkout.d.ts +6 -0
  152. package/dist/types/ssr/stub.d.ts +10 -0
  153. package/dist/types/static/icon/arrow-right.icon.d.ts +1 -1
  154. package/dist/types/static/icon/bag.icon.d.ts +1 -1
  155. package/dist/types/static/icon/check.icon.d.ts +2 -0
  156. package/dist/types/static/icon/checkbox.icon.d.ts +1 -1
  157. package/dist/types/static/icon/chevron-down.icon.d.ts +1 -1
  158. package/dist/types/static/icon/chevron-left.icon.d.ts +1 -1
  159. package/dist/types/static/icon/chevron-up.icon.d.ts +1 -1
  160. package/dist/types/static/icon/close.icon.d.ts +1 -1
  161. package/dist/types/static/icon/error-info.icon.d.ts +1 -1
  162. package/dist/types/static/icon/filter.icon.d.ts +1 -1
  163. package/dist/types/static/icon/icon.a11y.d.ts +1 -0
  164. package/dist/types/static/icon/icon.types.d.ts +1 -0
  165. package/dist/types/static/icon/index.d.ts +2 -0
  166. package/dist/types/static/icon/info.icon.d.ts +1 -1
  167. package/dist/types/static/icon/loading-spinner.icon.d.ts +1 -1
  168. package/dist/types/static/icon/search.icon.d.ts +1 -1
  169. package/dist/types/static/icon/success.icon.d.ts +1 -1
  170. package/dist/types/static/icon/trash.icon.d.ts +1 -1
  171. package/dist/types/static/icon/warning.icon.d.ts +1 -1
  172. package/dist/types/utils/dom-compat.d.ts +2 -0
  173. package/dist/types/utils/format.d.ts +5 -14
  174. package/dist/types/utils/image-bg-removal.d.ts +3 -0
  175. package/dist/types/utils/product-selection.d.ts +16 -0
  176. package/dist/types/utils/product.d.ts +15 -0
  177. package/dist/types/utils/timezone.d.ts +6 -0
  178. package/docs/v1/README.md +213 -0
  179. package/docs/v1/api/actions/address-actions.md +286 -0
  180. package/docs/v1/api/actions/cart-actions.md +364 -0
  181. package/docs/v1/api/actions/checkout-actions.md +527 -0
  182. package/docs/v1/api/actions/product-actions.md +204 -0
  183. package/docs/v1/api/client.md +596 -0
  184. package/docs/v1/api/configuration.md +555 -0
  185. package/docs/v1/api/injection-methods.md +292 -0
  186. package/docs/v1/api/typescript-types.md +423 -0
  187. package/docs/v1/api/ui-helpers.md +200 -0
  188. package/docs/v1/examples/advanced-patterns.md +199 -0
  189. package/docs/v1/examples/checkout-flow.md +90 -0
  190. package/docs/v1/examples/custom-theming.md +63 -0
  191. package/docs/v1/examples/multi-product-page.md +90 -0
  192. package/docs/v1/examples/simple-product-page.md +89 -0
  193. package/docs/v1/getting-started/concepts.md +521 -0
  194. package/docs/v1/getting-started/installation.md +349 -0
  195. package/docs/v1/getting-started/quick-start.md +410 -0
  196. package/docs/v1/guides/accessibility.md +173 -0
  197. package/docs/v1/guides/address-component.md +435 -0
  198. package/docs/v1/guides/best-practices.md +365 -0
  199. package/docs/v1/guides/cart-component.md +757 -0
  200. package/docs/v1/guides/checkout-component.md +670 -0
  201. package/docs/v1/guides/events.md +939 -0
  202. package/docs/v1/guides/product-component.md +735 -0
  203. package/docs/v1/guides/product-list-component.md +630 -0
  204. package/docs/v1/guides/theming.md +228 -0
  205. package/docs/v1/integration/angular.md +39 -0
  206. package/docs/v1/integration/laravel.md +41 -0
  207. package/docs/v1/integration/nextjs.md +69 -0
  208. package/docs/v1/integration/proxy-setup.md +106 -0
  209. package/docs/v1/integration/react.md +64 -0
  210. package/docs/v1/integration/vanilla-js.md +84 -0
  211. package/docs/v1/integration/vue.md +58 -0
  212. package/docs/v1/reference/analytics.md +108 -0
  213. package/docs/v1/reference/browser-support.md +47 -0
  214. package/docs/v1/reference/error-handling.md +83 -0
  215. package/docs/v1/reference/performance.md +52 -0
  216. package/docs/v1/reference/telemetry.md +85 -0
  217. package/docs/v1/reference/troubleshooting.md +135 -0
  218. package/package.json +69 -44
  219. package/dist/types/elements-builder-client.d.ts +0 -2
  220. package/dist/types/elements-client.d.ts +0 -2
  221. package/dist/types/enums/cloud.enum.d.ts +0 -97
  222. package/dist/types/interfaces/cloud/checkout.interface.d.ts +0 -218
  223. package/dist/types/interfaces/cloud/core.interface.d.ts +0 -22
  224. package/dist/types/interfaces/cloud/index.d.ts +0 -3
  225. package/dist/types/interfaces/cloud/retailer.interface.d.ts +0 -67
  226. package/dist/types/interfaces/cloud/user.interface.d.ts +0 -100
  227. package/dist/types/interfaces/core.interface.d.ts +0 -111
  228. package/dist/types/modules/checkout/components/checkout.type.d.ts +0 -4
  229. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
  230. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
  231. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
  232. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +0 -16
  233. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
  234. package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
  235. package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
  236. package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
  237. package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
  238. package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
  239. package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
  240. package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
  241. package/dist/types/utils/helper.d.ts +0 -28
  242. package/docs/ACTIONS.md +0 -1300
  243. package/docs/BROWSER_SUPPORT.md +0 -279
  244. package/docs/CONFIGURATION.md +0 -853
  245. package/docs/DOCUMENTATION_INDEX.md +0 -311
  246. package/docs/EVENTS.md +0 -798
  247. package/docs/PROXY.md +0 -228
  248. package/docs/THEMING.md +0 -592
  249. package/docs/TROUBLESHOOTING.md +0 -793
  250. package/umd/elements.js +0 -1
  251. /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
  252. /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
  253. /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
  254. /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
  255. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
  256. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
  257. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
  258. /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} +0 -0
  259. /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
  260. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
  261. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
  262. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
@@ -1,24 +1,21 @@
1
1
  import type { IFilterValue } from '@/interfaces/api/product-list.interface';
2
+ import type { ProductListFilterType } from '@/interfaces/injection.interface';
3
+ export interface IPriceConfig {
4
+ min?: string;
5
+ max?: string;
6
+ }
2
7
  export interface IProductListFilters {
3
- personalized: boolean;
4
- preOrder: boolean;
5
- deliveryOptions: 'all' | 'shipping' | 'onDemand';
6
- price?: {
7
- min?: string;
8
- max?: string;
9
- };
10
- [key: string]: any;
8
+ price?: IPriceConfig;
9
+ [key: string]: boolean | string | string[] | IPriceConfig | undefined;
11
10
  }
12
11
  export interface IExtendedFilterSchema {
13
- category: string;
12
+ type: string;
14
13
  values: IFilterValue[];
15
14
  }
16
- export interface IProductListSearch {
17
- searchTerm?: string;
18
- }
19
15
  export interface IPagination {
20
16
  currentPage: number;
21
17
  totalPages: number;
18
+ totalCount: number;
22
19
  hasMorePages: boolean;
23
20
  }
24
21
  export interface ICheckboxLabelStates {
@@ -31,20 +28,6 @@ export interface ICheckboxLabelStates {
31
28
  iconElement: HTMLElement | null;
32
29
  hasUserInteraction: boolean;
33
30
  }
34
- export interface ICurrentFilters {
35
- personalized: boolean;
36
- preOrder: boolean;
37
- deliveryOptions: 'all' | 'shipping' | 'onDemand';
38
- price?: {
39
- min?: string;
40
- max?: string;
41
- };
42
- [key: string]: any;
43
- }
44
- export interface IPriceConfig {
45
- min: string;
46
- max: string;
47
- }
48
31
  export interface ICreateCheckboxItemParams {
49
32
  filter: IExtendedFilterSchema;
50
33
  state: ICheckboxLabelStates;
@@ -72,6 +55,11 @@ export interface IRenderCheckboxItemsParams {
72
55
  state: ICheckboxLabelStates;
73
56
  onCheckboxChange: (value: string, checked: boolean) => void;
74
57
  }
75
- export interface ICreateFiltersContainerParams {
76
- isDrawerMode?: boolean;
58
+ export interface ILoadInitialProductsParams {
59
+ slug: string;
60
+ page: number;
61
+ perPage: number;
62
+ searchTerm: string;
63
+ currentFilters: IProductListFilters;
64
+ configuredFilters: ProductListFilterType[];
77
65
  }
@@ -0,0 +1 @@
1
+ export declare const getProductListCardStyles: () => string;
@@ -0,0 +1 @@
1
+ export declare const getProductListFiltersStyles: () => string;
@@ -3,3 +3,4 @@ export declare const productGroupComponents: ComponentType[];
3
3
  export declare const addressGroupComponents: ComponentType[];
4
4
  export declare const cartGroupComponents: ComponentType[];
5
5
  export declare const checkoutGroupComponents: ComponentType[];
6
+ export declare const productListGroupComponent: ComponentType[];
@@ -1,2 +1,2 @@
1
- export type StylesheetType = 'global' | 'ui' | 'product' | 'address' | 'cart' | 'checkout';
1
+ export type StylesheetType = 'global' | 'ui' | 'product' | 'address' | 'cart' | 'checkout' | 'product-list';
2
2
  export declare function getCSSVariableMapping(componentPrefix: string): Record<string, string>;
@@ -0,0 +1,16 @@
1
+ import type { StylesheetType } from '../constants/css-variable-mappings';
2
+ export type StyleGetter = () => string;
3
+ declare class StyleRegistryService {
4
+ private static instance;
5
+ private registry;
6
+ private constructor();
7
+ static getInstance(): StyleRegistryService;
8
+ register(type: StylesheetType, getter: StyleGetter, priority?: number): void;
9
+ getStyleGetters(type: StylesheetType): StyleGetter[];
10
+ getStyles(type: StylesheetType): string[];
11
+ hasStyles(type: StylesheetType): boolean;
12
+ getRegisteredTypes(): StylesheetType[];
13
+ clear(): void;
14
+ }
15
+ export declare const styleRegistry: StyleRegistryService;
16
+ export { StyleRegistryService };
@@ -9,5 +9,4 @@ export declare class StylesheetGeneratorService {
9
9
  private createStylesheet;
10
10
  private isCSSStyleSheetSupported;
11
11
  updateVariablesInStylesheet(type: StylesheetType, themeConfig: any, prefix: string): void;
12
- private getStylesheetStyles;
13
12
  }
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType } from '@/enums';
2
- import type { ConfigsKeyType, ConfigsType, IAllConfigs, UpdateAddressComponent, UpdateCartComponent, UpdateCheckoutComponent, UpdateComponentGlobalConfigs, UpdateProductComponent } from '@/interfaces/configs';
2
+ import type { ConfigsKeyType, ConfigsType, IAllConfigs, UpdateAddressComponent, UpdateCartComponent, UpdateCheckoutComponent, UpdateComponentGlobalConfigs, UpdateProductComponent, UpdateProductListComponent } from '@/interfaces/configs';
3
3
  import { type GeneratedStylesheet } from './services/stylesheet-generator.service';
4
4
  export declare class ThemeProviderService {
5
5
  private data;
@@ -14,9 +14,9 @@ export declare class ThemeProviderService {
14
14
  updateAddressComponent(data: UpdateAddressComponent): void;
15
15
  updateCartComponent(data: UpdateCartComponent): void;
16
16
  updateCheckoutComponent(data: UpdateCheckoutComponent): void;
17
+ updateProductListComponent(data: UpdateProductListComponent): void;
17
18
  getConfigs<T = any>(type: ConfigsKeyType): T;
18
19
  getComponentConfig(componentType: ComponentType): ConfigsType | undefined;
19
20
  getStylesheet(componentType: ComponentType): GeneratedStylesheet[];
20
21
  private getBaseStylesheets;
21
- private deepMerge;
22
22
  }
@@ -9,8 +9,8 @@ export interface IAlertComponentParams {
9
9
  export declare class AlertComponent extends BaseComponent<IAlertComponentParams, null> {
10
10
  private hideTimeout;
11
11
  private elements;
12
+ private lastAnnouncedKey;
12
13
  get hostClasses(): string[];
13
- get hostAttributes(): Record<string, string>;
14
14
  beforeSetupStoreWatchers(): void;
15
15
  afterRender(): void;
16
16
  onStoreWatch(changes: IOnStoreChanged[]): void;
@@ -5,7 +5,12 @@ export interface IButtonsOpenCartComponentParams {
5
5
  }
6
6
  export declare class ButtonsOpenCartComponent extends BaseComponent<IButtonsOpenCartComponentParams, null> {
7
7
  get hostClasses(): string[];
8
+ private buttonElement;
9
+ private badgeElement;
10
+ private unwatchQuantity;
8
11
  protected template(): HTMLElement[];
9
12
  protected afterRender(): void;
13
+ protected disconnected(): void;
10
14
  private setupCartBadge;
15
+ private applyCartQuantity;
11
16
  }
@@ -6,8 +6,16 @@ export declare class DrawerComponent extends BaseComponent {
6
6
  private backdropElement;
7
7
  private contentContainer;
8
8
  private currentContentType;
9
+ private mode;
9
10
  private isTransitioning;
11
+ private readonly focusManager;
12
+ private releaseFocusTrap;
13
+ private focusEntryFrame;
14
+ private contentTeardownTimeout;
15
+ private previousBodyOverflow;
16
+ private pendingFocusKey;
10
17
  private readonly boundHandleKeydown;
18
+ private readonly boundHandleBackdropClick;
11
19
  constructor();
12
20
  disconnected(): void;
13
21
  onStoreChanged(changes: IOnStoreChanged[]): boolean;
@@ -15,6 +23,13 @@ export declare class DrawerComponent extends BaseComponent {
15
23
  private animateContentSwap;
16
24
  private open;
17
25
  private close;
26
+ private applyDialogSemantics;
27
+ private setupOverlaySemantics;
28
+ private teardownOverlaySemantics;
29
+ private moveFocusIntoDrawer;
30
+ private getTopLevelHost;
31
+ private scheduleContentTeardown;
32
+ private cancelPendingContentTeardown;
18
33
  private cleanupCurrentContent;
19
34
  private handleBackdropClick;
20
35
  private handleKeydown;
@@ -1,12 +1,16 @@
1
1
  import { BaseComponent } from '@/core/base-component.service';
2
+ import { type DisplayModeType } from '@/enums';
2
3
  export interface IEngravingFormComponentParams {
3
4
  identifier: string;
4
- context: 'product' | 'cart';
5
+ context: 'product' | 'cart' | 'product-list';
6
+ slug?: string;
5
7
  lines: string[];
6
8
  maxLines: number;
7
9
  maxCharsPerLine: number;
8
10
  fee: number;
9
11
  location?: string;
12
+ displayMode?: DisplayModeType;
13
+ returnFocusKey?: string;
10
14
  }
11
15
  export declare class EngravingFormComponent extends BaseComponent<IEngravingFormComponentParams, null> {
12
16
  get hostClasses(): string[];
@@ -15,12 +19,15 @@ export declare class EngravingFormComponent extends BaseComponent<IEngravingForm
15
19
  private addToCartButton;
16
20
  private fulfillmentId;
17
21
  private partNumber;
22
+ private isPresale;
18
23
  beforeConnected(): void;
19
24
  private calculateTotalPrice;
20
25
  private productInformationSection;
21
26
  private addToCartButtonText;
27
+ private getFulfillmentData;
22
28
  private retailersSection;
23
29
  private engravingLinesSection;
30
+ private returnToCart;
24
31
  private actionButtonsSection;
25
32
  protected template(): HTMLElement[];
26
33
  }
@@ -2,12 +2,18 @@ import { BaseComponent } from '@/core/base-component.service';
2
2
  import type { IProductComponent } from '@/interfaces/configs';
3
3
  export interface IEngravingViewComponentParams {
4
4
  identifier: string;
5
- context: 'cart' | 'checkout';
5
+ context: 'cart' | 'checkout' | 'product-list';
6
+ slug?: string;
7
+ productListMaxLines?: number;
8
+ productListMaxCharsPerLine?: number;
9
+ productListLocation?: string;
6
10
  }
7
11
  export declare class EngravingViewComponent extends BaseComponent<IEngravingViewComponentParams, IProductComponent> {
8
12
  get hostClasses(): string[];
9
13
  private engravingQuantityFee;
10
14
  private engravingLines;
15
+ private isEngravingRequired;
16
+ private get editFocusKey();
11
17
  private handleEdit;
12
18
  private handleRemove;
13
19
  protected template(): HTMLElement | HTMLElement[] | string;
@@ -1,2 +1 @@
1
- export * from './birthdate-input.component';
2
1
  export * from './input.component';
@@ -5,9 +5,13 @@ export interface IInputValidation {
5
5
  max?: number;
6
6
  pattern?: string;
7
7
  customValidator?: (value: string) => string | null;
8
+ minYear?: number;
9
+ maxYear?: number;
10
+ minAge?: number;
11
+ maxAge?: number;
8
12
  }
9
13
  export interface IInputComponentParams {
10
- inputType: 'text' | 'number' | 'email' | 'tel' | 'date';
14
+ inputType: 'text' | 'number' | 'email' | 'tel' | 'date' | 'birthdate';
11
15
  value?: string | null;
12
16
  placeholder?: string;
13
17
  className?: string;
@@ -16,21 +20,30 @@ export interface IInputComponentParams {
16
20
  onValidation?: (isValid: boolean, errors: string[]) => void;
17
21
  onChange?: (value: string) => void;
18
22
  label?: string;
23
+ ariaLabel?: string;
19
24
  name: string;
20
25
  autocomplete?: boolean;
21
26
  disabled?: boolean;
22
27
  }
23
28
  export declare class InputComponent extends BaseComponent<IInputComponentParams, null> {
29
+ private readonly uid;
24
30
  get hostClasses(): string[];
31
+ private get controlId();
32
+ private get errorContainerId();
25
33
  private inputElement;
26
34
  private errorContainer;
27
35
  private validationTimeout;
36
+ private announceNextErrors;
37
+ private pendingValue;
28
38
  private handlePhoneKeydown;
29
39
  private formatPhoneNumber;
30
40
  private formatDate;
31
41
  private validateEmail;
32
42
  private validateTel;
33
43
  private validateDate;
44
+ private parseDateString;
45
+ private calculateAge;
46
+ private validateDateConstraints;
34
47
  private isFieldComplete;
35
48
  private validateInput;
36
49
  private scheduleValidation;
@@ -1,5 +1,6 @@
1
1
  import type { ComponentType } from '@/enums';
2
- export declare class LceElementComponent extends HTMLElement {
2
+ import { SafeHTMLElement } from '@/utils/dom-compat';
3
+ export declare class LceElementComponent extends SafeHTMLElement {
3
4
  private _initialized;
4
5
  protected _container: ShadowRoot | null;
5
6
  private _wrappedComponentRerender;
@@ -1,7 +1,7 @@
1
1
  import { BaseComponent, type IOnStoreChanged } from '@/core/base-component.service';
2
2
  import type { IPromoTicker } from '@/interfaces/configs';
3
3
  export interface IPromoCodeTickerParams {
4
- context: 'cart' | 'checkout';
4
+ context: 'cart';
5
5
  tickers: IPromoTicker[];
6
6
  }
7
7
  export declare class PromoCodeTickerComponent extends BaseComponent<IPromoCodeTickerParams, null> {
@@ -2,6 +2,12 @@ import { BaseCommand } from '@/core/command/base-command.service';
2
2
  import type { IDrawerContentConfig } from '@/core/store/interfaces/core.interface';
3
3
  export declare class UICommands extends BaseCommand {
4
4
  static getInstance(): UICommands;
5
- openDrawer(contentType: IDrawerContentConfig['type'], data?: Record<string, any>): void;
5
+ openDrawer({ mode, contentType, data, trigger, triggerFallback, }: {
6
+ mode?: 'drawer' | 'modal';
7
+ contentType: IDrawerContentConfig['type'];
8
+ data?: Record<string, any>;
9
+ trigger?: HTMLElement | null;
10
+ triggerFallback?: () => HTMLElement | null;
11
+ }): void;
6
12
  closeDrawer(): void;
7
13
  }
@@ -0,0 +1,6 @@
1
+ export type { DebugMode, ElementsEnv } from '../enums/core.enum';
2
+ export { DEBUG_MODE, ELEMENTS_ENV } from '../enums/core.enum';
3
+ export type { IElementsCheckoutActions, IElementsCheckoutClient, } from '../interfaces/client.interface';
4
+ export type { IInjectedComponent } from '../interfaces/component.interface';
5
+ export type { ILiquidCommerceElementsCheckoutClientConfig } from '../interfaces/config.interface';
6
+ export declare function ElementsCheckout(..._args: any[]): Promise<null>;
@@ -0,0 +1,10 @@
1
+ export { SDKError, isSDKError } from '../core/sdk-error-handler';
2
+ export type { CartEventLevel, CartEventType, CheckoutEventLevel, CheckoutEventType, ComponentType, DebugMode, DisplayModeType, ElementsEnv, FulfillmentType, NavigationSourceType, } from '../enums/core.enum';
3
+ export { CART_EVENT_LEVEL, CART_EVENT_TYPE, CHECKOUT_EVENT_LEVEL, CHECKOUT_EVENT_TYPE, COMPONENT_TYPE, DEBUG_MODE, DISPLAY_MODE, ELEMENTS_ACTIONS_EVENT, ELEMENTS_ENV, ELEMENTS_FORM, FULFILLMENT_TYPE, NAVIGATION_SOURCE, } from '../enums/core.enum';
4
+ export type { ILiquidCommerceElementsActions, ILiquidCommerceElementsBuilderClient, ILiquidCommerceElementsClient, } from '../interfaces/client.interface';
5
+ export type { IInjectedComponent } from '../interfaces/component.interface';
6
+ export type { IElementsProxyConfig, ILiquidCommerceElementsBuilderConfig, ILiquidCommerceElementsCheckoutConfig, ILiquidCommerceElementsConfig, ILiquidCommerceElementsDevelopmentConfig, } from '../interfaces/config.interface';
7
+ export type * from '../interfaces/configs';
8
+ export type { IBuilderInjectElementParams, IInjectCheckoutBuilderParams, IInjectCheckoutParams, IInjectProductElement, IInjectProductListFiltersParams, IInjectProductListParams, IInjectProductListSearchParams, ProductListFilterType, } from '../interfaces/injection.interface';
9
+ export declare function Elements(..._args: any[]): Promise<null>;
10
+ export declare function ElementsBuilder(..._args: any[]): Promise<null>;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const ArrowRightIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const ArrowRightIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const BagIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const BagIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -0,0 +1,2 @@
1
+ import type { IconProps } from './icon.types';
2
+ export declare const CheckIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const CheckboxIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const CheckboxIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const ChevronDownIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const ChevronDownIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const ChevronLeftIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const ChevronLeftIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const ChevronUpIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const ChevronUpIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const CloseIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const CloseIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const ErrorInfoIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const ErrorInfoIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const FilterIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const FilterIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -0,0 +1 @@
1
+ export declare function iconA11yAttributes(label?: string): string;
@@ -3,4 +3,5 @@ export interface IconProps {
3
3
  height?: number;
4
4
  className?: string;
5
5
  color?: string | null;
6
+ label?: string;
6
7
  }
@@ -1,11 +1,13 @@
1
1
  export * from './arrow-right.icon';
2
2
  export * from './bag.icon';
3
+ export * from './check.icon';
3
4
  export * from './checkbox.icon';
4
5
  export * from './chevron-down.icon';
5
6
  export * from './chevron-left.icon';
6
7
  export * from './chevron-up.icon';
7
8
  export * from './close.icon';
8
9
  export * from './error-info.icon';
10
+ export * from './icon.a11y';
9
11
  export * from './icon.types';
10
12
  export * from './info.icon';
11
13
  export * from './loading-spinner.icon';
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const InfoIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const InfoIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const LoadingSpinnerIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const LoadingSpinnerIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const SearchIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const SearchIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const SuccessIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const SuccessIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const TrashIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const TrashIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from './icon.types';
2
- export declare const WarningIcon: ({ width, height, className, color }: IconProps) => string;
2
+ export declare const WarningIcon: ({ width, height, className, color, label }: IconProps) => string;
@@ -0,0 +1,2 @@
1
+ export declare const SafeHTMLElement: typeof HTMLElement;
2
+ export declare function isHTMLElement(value: unknown): value is HTMLElement;
@@ -1,24 +1,15 @@
1
1
  export declare function centToDollar(cent: number): number;
2
2
  export declare function formatCentToDollarText(cent: number, showZeroDecimals?: boolean): string;
3
3
  export declare function htmlStringToElement(htmlString: string): HTMLElement;
4
- export declare function format24TimeTo12(time24h: string): string;
5
4
  export declare function formatISODateToMMDDYYYY(isoDateString: string | null | undefined): string;
6
- export declare function validateMinimumAge(birthDate: string | Date | null | undefined, minimumAge?: number, minimumYear?: number): {
7
- isValid: boolean;
8
- age: number | null;
9
- error?: string;
10
- };
11
- export declare function buildFormattedAddressString(address: {
12
- one: string;
13
- two: string;
14
- city: string;
15
- state: string;
16
- zip: string;
17
- country?: string;
18
- }): string;
5
+ export declare function formatISOInstantToMMDDYYYY(isoInstant: string | null | undefined, timeZone?: string): string;
19
6
  export declare function capitalizeFirstLetter(text: string): string;
20
7
  export declare function splitCategoryPath(catPath?: string): {
21
8
  category: string;
22
9
  category2: string;
23
10
  category3: string;
24
11
  };
12
+ export declare function normalizeEngravingLines(lines: readonly (string | null | undefined)[] | null | undefined): string[];
13
+ export declare function normalizeText<T extends string | null | undefined>(value: T): T;
14
+ export declare function normalizeEmail<T extends string | null | undefined>(value: T): T;
15
+ export declare function normalizeCode<T extends string | null | undefined>(value: T): T;
@@ -0,0 +1,3 @@
1
+ export declare const IMG_BG_REMOVAL_HOST_CLASS = "lc-bg-removal";
2
+ export declare function applyImageBackgroundTreatment(target: HTMLElement | null, imageUrl: string | undefined | null, bgProbe?: Element): void;
3
+ export declare const getImageBgRemovalStyles: () => string;
@@ -0,0 +1,16 @@
1
+ import type { IProductFulfillmentStore, IProductSizeStore } from '@/core/store/interfaces/product.interface';
2
+ import { type FulfillmentType } from '@/enums';
3
+ export interface ISizeSelectionResult {
4
+ selectedFulfillmentType: FulfillmentType;
5
+ selectedFulfillment: IProductFulfillmentStore | null;
6
+ selectedFulfillmentId: string | null;
7
+ productHasAvailability: boolean;
8
+ fulfillmentHasAvailability: boolean;
9
+ }
10
+ export interface IFulfillmentTypeChangeResult {
11
+ selectedFulfillment: IProductFulfillmentStore | null;
12
+ selectedFulfillmentId: string | null;
13
+ fulfillmentHasAvailability: boolean;
14
+ }
15
+ export declare function calculateSizeSelection(productSize: IProductSizeStore, currentFulfillmentType: FulfillmentType): ISizeSelectionResult;
16
+ export declare function calculateFulfillmentTypeChange(productSize: IProductSizeStore, newFulfillmentType: FulfillmentType): IFulfillmentTypeChangeResult | null;
@@ -0,0 +1,15 @@
1
+ import type { IProductStore } from '@/core/store/interfaces/product.interface';
2
+ import type { IPLProductStore } from '@/core/store/interfaces/product-list.interface';
3
+ import type { IProduct, IProductAvailabilityResponse } from '@/interfaces/api/product.interface';
4
+ export interface IPrepareApiProductForStoreParams {
5
+ context: 'product-list' | 'product-page';
6
+ product: IProduct;
7
+ retailers: IProductAvailabilityResponse['retailers'];
8
+ enableShippingFulfillment: boolean;
9
+ }
10
+ export declare function buildSizeLabel(size: {
11
+ size: string;
12
+ pack: boolean;
13
+ packDesc: string;
14
+ }): string;
15
+ export declare function prepareApiProductForStore({ context, product, retailers, enableShippingFulfillment, }: IPrepareApiProductForStoreParams): IProductStore | IPLProductStore;
@@ -1,3 +1,9 @@
1
+ export declare const BUSINESS_CONTRACT_TIMEZONE = "America/New_York";
2
+ export declare function getDatePartsInTimezone(instant: Date, timeZone: string): {
3
+ year: string;
4
+ month: string;
5
+ day: string;
6
+ } | null;
1
7
  export declare function detectUserTimezone(addressState?: string): string;
2
8
  export declare function getCurrentTimeInTimezone(timezone: string): Date;
3
9
  export declare function getCurrentTimeInUserTimezone(addressState?: string): Date;