@liquidcommerce/elements-sdk 2.6.7 → 2.7.0

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 (115) hide show
  1. package/README.md +302 -71
  2. package/dist/index.checkout.esm.js +16034 -0
  3. package/dist/index.esm.js +14201 -12166
  4. package/dist/types/auto-initialize/checkout.d.ts +2 -0
  5. package/dist/types/auto-initialize/shared-utils.d.ts +22 -0
  6. package/dist/types/{elements-base-client.d.ts → clients/base.d.ts} +11 -1
  7. package/dist/types/clients/checkout.d.ts +13 -0
  8. package/dist/types/constants/core.constant.d.ts +9 -3
  9. package/dist/types/core/api/api-client.service.d.ts +0 -2
  10. package/dist/types/core/client/actions/base-action.service.d.ts +15 -0
  11. package/dist/types/core/client/actions/client-address-action.service.d.ts +18 -0
  12. package/dist/types/core/client/actions/client-cart-action.service.d.ts +37 -0
  13. package/dist/types/core/client/actions/client-checkout-action.service.d.ts +50 -0
  14. package/dist/types/core/client/actions/client-product-action.service.d.ts +12 -0
  15. package/dist/types/core/client/client-action.service.d.ts +6 -73
  16. package/dist/types/core/client/client-config.service.d.ts +3 -4
  17. package/dist/types/core/store/interfaces/core.interface.d.ts +14 -1
  18. package/dist/types/core/store/interfaces/metadata.interface.d.ts +11 -0
  19. package/dist/types/core/store/interfaces/product-list.interface.d.ts +45 -0
  20. package/dist/types/core/store/interfaces/product.interface.d.ts +1 -0
  21. package/dist/types/core/store/store.constant.d.ts +4 -0
  22. package/dist/types/enums/core.enum.d.ts +3 -1
  23. package/dist/types/enums/index.d.ts +0 -1
  24. package/dist/types/index.checkout.d.ts +7 -0
  25. package/dist/types/index.checkout.umd.d.ts +4 -0
  26. package/dist/types/index.d.ts +2 -2
  27. package/dist/types/interfaces/api/checkout.interface.d.ts +2 -1
  28. package/dist/types/interfaces/api/product-list.interface.d.ts +13 -5
  29. package/dist/types/interfaces/configs/checkout.interface.d.ts +1 -0
  30. package/dist/types/interfaces/configs/global.interface.d.ts +4 -2
  31. package/dist/types/interfaces/configs/index.d.ts +1 -0
  32. package/dist/types/interfaces/configs/product-list.interface.d.ts +28 -0
  33. package/dist/types/interfaces/core.interface.d.ts +28 -6
  34. package/dist/types/modules/address/styles/register-styles.d.ts +1 -0
  35. package/dist/types/modules/cart/styles/register-styles.d.ts +1 -0
  36. package/dist/types/modules/checkout/checkout.commands.d.ts +6 -2
  37. package/dist/types/modules/checkout/checkout.component.d.ts +2 -0
  38. package/dist/types/modules/checkout/components/checkout-completed.component.d.ts +2 -0
  39. package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
  40. package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
  41. package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
  42. package/dist/types/modules/product-list/components/card-components/index.d.ts +4 -0
  43. package/dist/types/modules/product-list/components/card-components/product-button.d.ts +11 -0
  44. package/dist/types/modules/product-list/components/card-components/product-fulfillments.d.ts +10 -0
  45. package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +10 -0
  46. package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +9 -0
  47. package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
  48. package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
  49. package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
  50. package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
  51. package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +14 -0
  52. 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
  53. package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +13 -0
  54. package/dist/types/modules/product-list/components/index.d.ts +6 -3
  55. package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +2 -1
  56. package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +6 -0
  57. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +58 -37
  58. package/dist/types/modules/product-list/components/product-list-retailers.component.d.ts +18 -0
  59. package/dist/types/modules/product-list/components/product-list-search.component.d.ts +22 -0
  60. package/dist/types/modules/product-list/product-list-card.component.d.ts +35 -0
  61. package/dist/types/modules/product-list/product-list.commands.d.ts +53 -3
  62. package/dist/types/modules/product-list/product-list.component.d.ts +16 -43
  63. package/dist/types/{enums/cloud.enum.d.ts → modules/product-list/product-list.constants.d.ts} +20 -1
  64. package/dist/types/modules/product-list/product-list.interface.d.ts +32 -24
  65. package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
  66. package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
  67. package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
  68. package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
  69. package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
  70. package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
  71. package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
  72. package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
  73. package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -1
  74. package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +4 -1
  75. package/dist/types/modules/ui-components/input/index.d.ts +0 -1
  76. package/dist/types/modules/ui-components/input/input.component.d.ts +8 -1
  77. package/dist/types/modules/ui-components/modal/modal.component.d.ts +23 -0
  78. package/dist/types/modules/ui-components/styles/modal.style.d.ts +1 -0
  79. package/dist/types/modules/ui-components/ui.commands.d.ts +3 -1
  80. package/dist/types/static/icon/check.icon.d.ts +2 -0
  81. package/dist/types/static/icon/index.d.ts +1 -0
  82. package/docs/ACTIONS.md +1 -0
  83. package/docs/CONFIGURATION.md +178 -34
  84. package/docs/DOCUMENTATION_INDEX.md +12 -4
  85. package/docs/THEMING.md +107 -18
  86. package/package.json +19 -12
  87. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +0 -37
  88. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
  89. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
  90. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
  91. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +0 -16
  92. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
  93. package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
  94. package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
  95. package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
  96. package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
  97. package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
  98. package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
  99. package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
  100. package/umd/elements.js +0 -1
  101. /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
  102. /package/dist/types/{elements-builder-client.d.ts → clients/builder.d.ts} +0 -0
  103. /package/dist/types/{elements-client-helper.d.ts → clients/helpers.d.ts} +0 -0
  104. /package/dist/types/{elements-client.d.ts → clients/main.d.ts} +0 -0
  105. /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
  106. /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
  107. /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
  108. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
  109. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
  110. /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
  111. /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
  112. /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
  113. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
  114. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
  115. /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
@@ -39,7 +39,12 @@ Complete guide to the LiquidCommerce Elements SDK documentation.
39
39
  **Contents:**
40
40
  - Basic configuration
41
41
  - All configuration options with types
42
+ - Hosted checkout configuration
42
43
  - Auto-initialization attributes
44
+ - Product list configuration (filters, search, grid)
45
+ - Mobile cart button attributes
46
+ - Custom cart elements (toggle, items count)
47
+ - Checkout-only build configuration
43
48
  - URL parameter configuration
44
49
  - TypeScript types
45
50
  - Configuration examples
@@ -59,6 +64,7 @@ Complete guide to the LiquidCommerce Elements SDK documentation.
59
64
  - Cart component theme
60
65
  - Checkout component theme
61
66
  - Address component theme
67
+ - Product list component theme (card styles, display modes)
62
68
  - Dynamic theme updates (builder mode)
63
69
  - Theme presets (example configurations)
64
70
  - Best practices
@@ -72,7 +78,7 @@ Complete guide to the LiquidCommerce Elements SDK documentation.
72
78
  - Product actions
73
79
  - Address actions (Google Places & manual)
74
80
  - Cart actions (including programmatic addProduct)
75
- - Checkout actions (including programmatic addProduct)
81
+ - Checkout actions (including programmatic addProduct, exitCheckout)
76
82
  - Action feedback events
77
83
  - Event handling best practices
78
84
  - Real-world business scenarios
@@ -238,6 +244,8 @@ docs/
238
244
  ### Features
239
245
  - [Product Engraving](../README.md#product-engraving)
240
246
  - [Product List](../README.md#product-list)
247
+ - [Product List Search & Filters](../README.md#product-list-search)
248
+ - [Hosted Checkout](../README.md#hosted-checkout-external-checkout-page)
241
249
  - [Gift Options](../README.md#gift-options)
242
250
  - [Promo Codes](../README.md#promo-codes)
243
251
  - [Gift Cards](../README.md#gift-cards)
@@ -301,9 +309,9 @@ Want to contribute an example?
301
309
 
302
310
  ---
303
311
 
304
- **Last updated:** October 2025
305
- **SDK Version:** 2.x+
306
- **Documentation Version:** 2.0
312
+ **Last updated:** January 2026
313
+ **SDK Version:** 2.6.x+
314
+ **Documentation Version:** 2.1
307
315
 
308
316
 
309
317
  ---
package/docs/THEMING.md CHANGED
@@ -180,6 +180,7 @@ interface IProductComponent {
180
180
  };
181
181
  layout: {
182
182
  showImages: boolean;
183
+ showOnlyMainImage: boolean;
183
184
  showTitle: boolean;
184
185
  showDescription: boolean;
185
186
  showQuantityCounter: boolean;
@@ -192,6 +193,8 @@ interface IProductComponent {
192
193
  addToCartButtonShowTotalPrice: boolean;
193
194
  buyNowButtonText: string;
194
195
  preSaleButtonText: string;
196
+ prioritizeEngraving: boolean;
197
+ noAvailabilityText: string;
195
198
  };
196
199
  }
197
200
  ```
@@ -205,6 +208,7 @@ customTheme: {
205
208
  },
206
209
  layout: {
207
210
  showImages: true,
211
+ showOnlyMainImage: false,
208
212
  showTitle: true,
209
213
  showDescription: true,
210
214
  showQuantityCounter: true,
@@ -216,7 +220,9 @@ customTheme: {
216
220
  addToCartButtonText: 'Add to Cart',
217
221
  addToCartButtonShowTotalPrice: true,
218
222
  buyNowButtonText: 'Buy Now',
219
- preSaleButtonText: 'Pre-Order'
223
+ preSaleButtonText: 'Pre-Order',
224
+ prioritizeEngraving: false,
225
+ noAvailabilityText: 'Not available in your area'
220
226
  }
221
227
  }
222
228
  }
@@ -261,10 +267,6 @@ customTheme: {
261
267
  interface ICheckoutComponent {
262
268
  theme: {
263
269
  backgroundColor: string;
264
- checkoutCompleted: {
265
- customLogo: string;
266
- customText: string | null;
267
- };
268
270
  };
269
271
  layout: {
270
272
  emailOptIn: {
@@ -282,10 +284,15 @@ interface ICheckoutComponent {
282
284
  show: boolean;
283
285
  text: string;
284
286
  };
287
+ continueShoppingUrl: string;
285
288
  exitUrl: string;
286
289
  thankYouButtonText: string;
287
290
  drawerHeaderText: string;
288
291
  placeOrderButtonText: string;
292
+ checkoutCompleted: {
293
+ customLogo: string;
294
+ customText: string | null;
295
+ };
289
296
  };
290
297
  }
291
298
  ```
@@ -295,11 +302,7 @@ interface ICheckoutComponent {
295
302
  customTheme: {
296
303
  checkout: {
297
304
  theme: {
298
- backgroundColor: '#ffffff',
299
- checkoutCompleted: {
300
- customLogo: 'https://yourdomain.com/logo.png',
301
- customText: 'Thank you for your order!'
302
- }
305
+ backgroundColor: '#ffffff'
303
306
  },
304
307
  layout: {
305
308
  emailOptIn: {
@@ -317,15 +320,26 @@ customTheme: {
317
320
  show: true,
318
321
  text: 'By placing this order, you agree to our terms and conditions.'
319
322
  },
323
+ continueShoppingUrl: '/',
320
324
  exitUrl: '/',
321
325
  thankYouButtonText: 'Continue Shopping',
322
326
  drawerHeaderText: 'Checkout',
323
- placeOrderButtonText: 'Place Order'
327
+ placeOrderButtonText: 'Place Order',
328
+ checkoutCompleted: {
329
+ customLogo: 'https://yourdomain.com/logo.png',
330
+ customText: 'Thank you for your order!'
331
+ }
324
332
  }
325
333
  }
326
334
  }
327
335
  ```
328
336
 
337
+ **Layout Properties:**
338
+
339
+ - **`continueShoppingUrl`** (string): URL to redirect to when customer clicks "Continue Shopping" after order completion
340
+ - **`exitUrl`** (string): URL for the exit/close action in checkout
341
+ - **`legalMessage.text`** (string): Supports rich text / HTML content
342
+
329
343
  ## Address Component
330
344
 
331
345
  ```typescript
@@ -347,6 +361,77 @@ customTheme: {
347
361
  }
348
362
  ```
349
363
 
364
+ ## Product List Component
365
+
366
+ ```typescript
367
+ interface IProductListComponent {
368
+ theme: {
369
+ backgroundColor: string;
370
+ };
371
+ layout: {
372
+ productCard: {
373
+ style: 'card' | 'ghost';
374
+ cornerRadius: 'rounded' | 'sharp';
375
+ showPrice: boolean;
376
+ showSizeSelector: boolean;
377
+ showFulfillment: boolean;
378
+ showRetailerName: boolean;
379
+ showQuantityCounter: boolean;
380
+ enableShippingFulfillment: boolean;
381
+ enableOnDemandFulfillment: boolean;
382
+ showCollections: boolean;
383
+ enablePersonalization: boolean;
384
+ };
385
+ displayMode: 'modal' | 'drawer';
386
+ };
387
+ }
388
+ ```
389
+
390
+ **Example:**
391
+ ```javascript
392
+ customTheme: {
393
+ productList: {
394
+ theme: {
395
+ backgroundColor: '#f8f9fa'
396
+ },
397
+ layout: {
398
+ productCard: {
399
+ style: 'card',
400
+ cornerRadius: 'rounded',
401
+ showPrice: true,
402
+ showSizeSelector: true,
403
+ showFulfillment: true,
404
+ showRetailerName: false,
405
+ showQuantityCounter: true,
406
+ enableShippingFulfillment: true,
407
+ enableOnDemandFulfillment: true,
408
+ showCollections: false,
409
+ enablePersonalization: true
410
+ },
411
+ displayMode: 'drawer'
412
+ }
413
+ }
414
+ }
415
+ ```
416
+
417
+ **Card Style Options:**
418
+
419
+ - **`style`**: `'card'` shows a bordered card with background, `'ghost'` shows a minimal borderless card
420
+ - **`cornerRadius`**: `'rounded'` uses rounded corners, `'sharp'` uses square corners
421
+ - **`displayMode`**: `'modal'` opens product details in a modal, `'drawer'` opens in a side drawer
422
+
423
+ **Card Feature Flags:**
424
+
425
+ - **`showPrice`**: Display price on the product card
426
+ - **`showSizeSelector`**: Show size/variant selector on the card
427
+ - **`showFulfillment`**: Show fulfillment type indicator
428
+ - **`showRetailerName`**: Show the retailer name
429
+ - **`showQuantityCounter`**: Show quantity increment/decrement controls
430
+ - **`enableShippingFulfillment`**: Allow shipping fulfillment option
431
+ - **`enableOnDemandFulfillment`**: Allow on-demand fulfillment option
432
+ - **`showCollections`**: Show product collection/tag labels
433
+ - **`enablePersonalization`**: Show personalization/engraving option on cards
434
+
350
435
  ## Complete Configuration Example
351
436
 
352
437
  ```javascript
@@ -390,6 +475,7 @@ const client = await Elements('YOUR_API_KEY', {
390
475
  },
391
476
  layout: {
392
477
  showImages: true,
478
+ showOnlyMainImage: false,
393
479
  showTitle: true,
394
480
  showDescription: true,
395
481
  showQuantityCounter: true,
@@ -401,7 +487,9 @@ const client = await Elements('YOUR_API_KEY', {
401
487
  addToCartButtonText: 'Add to Cart',
402
488
  addToCartButtonShowTotalPrice: true,
403
489
  buyNowButtonText: 'Buy Now',
404
- preSaleButtonText: 'Pre-Order'
490
+ preSaleButtonText: 'Pre-Order',
491
+ prioritizeEngraving: false,
492
+ noAvailabilityText: 'Not available in your area'
405
493
  }
406
494
  },
407
495
  cart: {
@@ -417,11 +505,7 @@ const client = await Elements('YOUR_API_KEY', {
417
505
  },
418
506
  checkout: {
419
507
  theme: {
420
- backgroundColor: '#ffffff',
421
- checkoutCompleted: {
422
- customLogo: 'https://yourdomain.com/logo.png',
423
- customText: null
424
- }
508
+ backgroundColor: '#ffffff'
425
509
  },
426
510
  layout: {
427
511
  emailOptIn: {
@@ -439,10 +523,15 @@ const client = await Elements('YOUR_API_KEY', {
439
523
  show: false,
440
524
  text: ''
441
525
  },
526
+ continueShoppingUrl: '/',
442
527
  exitUrl: '/',
443
528
  thankYouButtonText: 'Continue Shopping',
444
529
  drawerHeaderText: 'Checkout',
445
- placeOrderButtonText: 'Place Order'
530
+ placeOrderButtonText: 'Place Order',
531
+ checkoutCompleted: {
532
+ customLogo: 'https://yourdomain.com/logo.png',
533
+ customText: null
534
+ }
446
535
  }
447
536
  },
448
537
  address: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "LiquidCommerce Elements SDK",
4
4
  "license": "UNLICENSED",
5
5
  "author": "LiquidCommerce Team",
6
- "version": "2.6.7",
6
+ "version": "2.7.0",
7
7
  "homepage": "https://docs.liquidcommerce.co/elements-sdk",
8
8
  "repository": {
9
9
  "type": "git",
@@ -13,21 +13,23 @@
13
13
  "url": "https://github.com/liquidcommerce/elements-sdk/issues"
14
14
  },
15
15
  "module": "./dist/index.esm.js",
16
- "browser": "./umd/elements.js",
17
16
  "types": "./dist/types/index.d.ts",
18
17
  "packageManager": "pnpm@10.0.0",
19
18
  "exports": {
20
19
  ".": {
21
20
  "types": "./dist/types/index.d.ts",
22
21
  "import": "./dist/index.esm.js",
23
- "browser": "./umd/elements.js",
24
22
  "default": "./dist/index.esm.js"
25
23
  },
24
+ "./checkout": {
25
+ "types": "./dist/types/index.checkout.d.ts",
26
+ "import": "./dist/index.checkout.esm.js",
27
+ "default": "./dist/index.checkout.esm.js"
28
+ },
26
29
  "./package.json": "./package.json"
27
30
  },
28
31
  "files": [
29
32
  "dist",
30
- "umd",
31
33
  "docs",
32
34
  "README.md",
33
35
  "LICENSE"
@@ -39,21 +41,26 @@
39
41
  "type": "module",
40
42
  "sideEffects": [
41
43
  "dist/index.esm.js",
44
+ "dist/index.checkout.esm.js",
42
45
  "umd/elements.js",
46
+ "umd/elements-checkout.js",
43
47
  "src/index.ts",
44
- "src/index.umd.ts"
48
+ "src/index.umd.ts",
49
+ "src/index.checkout.ts",
50
+ "src/index.checkout.umd.ts"
45
51
  ],
46
52
  "scripts": {
47
53
  "build": "rollup -c",
54
+ "build:checkout": "rollup -c rollup.config.checkout.mjs",
48
55
  "build:dev": "rollup -c --environment NODE_ENV:development",
49
56
  "dev": "rollup -c -w",
50
57
  "type-check": "tsc --noEmit",
51
58
  "lint": "pnpm biome lint --write",
52
59
  "format": "biome format --write",
53
60
  "check": "pnpm biome check --write .",
54
- "fl": "pnpm check && pnpm build:dev",
61
+ "fl": "pnpm check && pnpm build && pnpm build:checkout",
55
62
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
56
- "clean": "rm -rf dist umd node_modules && pnpm install && pnpm build",
63
+ "clean": "rm -rf dist umd node_modules && pnpm install && pnpm build && pnpm build:checkout",
57
64
  "prepublishOnly": "pnpm run build",
58
65
  "deprecate:old": "npm deprecate @liquidcommerceteam/elements-sdk@\"*\" \"Package moved to @liquidcommerce/elements-sdk\"",
59
66
  "prepare": "husky"
@@ -70,9 +77,9 @@
70
77
  "embeddable commerce"
71
78
  ],
72
79
  "devDependencies": {
73
- "@biomejs/biome": "2.3.10",
74
- "@commitlint/cli": "^20.2.0",
75
- "@commitlint/config-conventional": "^20.2.0",
80
+ "@biomejs/biome": "2.3.12",
81
+ "@commitlint/cli": "^20.3.1",
82
+ "@commitlint/config-conventional": "^20.3.1",
76
83
  "@rollup/plugin-alias": "^6.0.0",
77
84
  "@rollup/plugin-commonjs": "^29.0.0",
78
85
  "@rollup/plugin-json": "^6.1.0",
@@ -86,11 +93,11 @@
86
93
  "@semantic-release/npm": "^13.1.3",
87
94
  "@semantic-release/release-notes-generator": "^14.1.0",
88
95
  "@types/core-js": "^2.5.8",
89
- "@types/node": "^25.0.3",
96
+ "@types/node": "^25.0.10",
90
97
  "conventional-changelog-cli": "^5.0.0",
91
98
  "husky": "^9.1.7",
92
99
  "process": "^0.11.10",
93
- "rollup": "^4.54.0",
100
+ "rollup": "^4.56.0",
94
101
  "rollup-obfuscator": "^4.1.1",
95
102
  "rollup-plugin-typescript2": "^0.36.0",
96
103
  "semantic-release": "^25.0.2",
@@ -1,37 +0,0 @@
1
- import { BaseComponent } from '@/core/base-component.service';
2
- import type { IFulfillment, IProduct } from '@/interfaces/api/product.interface';
3
- import type { ProductListCardVariantType } from '@/interfaces/core.interface';
4
- export interface IProductListCardParams {
5
- variant: ProductListCardVariantType;
6
- fillCard: boolean;
7
- product: IProduct;
8
- shippingFulfillment: IFulfillment | null;
9
- onDemandFulfillment: IFulfillment | null;
10
- productUrl?: string;
11
- }
12
- export interface IProductAvailabilityData {
13
- hasAvailability: boolean;
14
- upc: string;
15
- fulfillmentId: string;
16
- partNumber: string;
17
- quantity: number;
18
- state: string;
19
- isPresale: boolean;
20
- isPresaleActive: boolean;
21
- }
22
- export interface IProductVariantParams {
23
- image: string;
24
- name: string;
25
- size: string | null;
26
- price: number;
27
- availability: IProductAvailabilityData;
28
- }
29
- export declare class ProductListCardComponent extends BaseComponent<IProductListCardParams> {
30
- get hostClasses(): string[];
31
- private getAvailabilityData;
32
- private isPresaleActive;
33
- private handleAddToCart;
34
- protected template(): HTMLElement[];
35
- private generateProductUrl;
36
- private createVariantStandard;
37
- }
@@ -1,6 +0,0 @@
1
- export * from './product-list-apply-filter-button.component';
2
- export * from './product-list-checkbox-filter.components';
3
- export * from './product-list-delivery-options-filter.components';
4
- export * from './product-list-price-filter.components';
5
- export * from './product-list-search.component';
6
- export * from './product-list-toggle-filters.components';
@@ -1 +0,0 @@
1
- export declare function createApplyFiltersButton(onCloseDrawer: VoidFunction): HTMLElement;
@@ -1,16 +0,0 @@
1
- export interface ICreateDeliveryOptionsFilterParams {
2
- currentFilters?: {
3
- deliveryOptions?: string;
4
- personalized?: boolean;
5
- preOrder?: boolean;
6
- };
7
- deliveryCollapsed: boolean;
8
- isSameDayDeliveryDisabled: boolean;
9
- onDeliveryOptionsChange?: (value: 'all' | 'shipping' | 'onDemand') => void;
10
- onToggleCollapse: () => void;
11
- }
12
- export declare function createDeliveryOptionsFilter(params: ICreateDeliveryOptionsFilterParams): {
13
- elements: HTMLElement[];
14
- chevronContainer: HTMLElement;
15
- deliveryOptionsList: HTMLElement;
16
- };
@@ -1,16 +0,0 @@
1
- import { BaseComponent } from '@/core/base-component.service';
2
- export interface IProductListSearchParams {
3
- searchTerm?: string;
4
- handleInputChange?: (search: string) => void;
5
- clearSearch?: VoidFunction;
6
- }
7
- export declare class ProductListSearchComponent extends BaseComponent<IProductListSearchParams> {
8
- private searchInput?;
9
- private clearButton?;
10
- private readonly ALLOWED_CHARACTERS;
11
- private readonly MAX_LENGTH;
12
- get hostClasses(): string[];
13
- protected template(): HTMLElement[];
14
- private sanitizeInput;
15
- private updateClearButtonVisibility;
16
- }
@@ -1,18 +0,0 @@
1
- export interface ICreatePersonalizedFilterParams {
2
- currentFilters?: {
3
- personalized?: boolean;
4
- deliveryOptions?: string;
5
- };
6
- isPersonalizationDisabled: boolean;
7
- onPersonalizedChange?: (enabled: boolean) => void;
8
- }
9
- export interface ICreatePreOrderFilterParams {
10
- currentFilters?: {
11
- preOrder?: boolean;
12
- deliveryOptions?: string;
13
- };
14
- isPreOrderDisabled: boolean;
15
- onPreOrderChange?: (enabled: boolean) => void;
16
- }
17
- export declare function createPersonalizedFilter(params: ICreatePersonalizedFilterParams): HTMLElement[];
18
- export declare function createPreOrderFilter(params: ICreatePreOrderFilterParams): HTMLElement[];
@@ -1 +0,0 @@
1
- export * from './address.style';
@@ -1 +0,0 @@
1
- export * from './cart.style';
@@ -1 +0,0 @@
1
- export * from './checkout.style';
@@ -1,3 +0,0 @@
1
- export * from './image-carousel.style';
2
- export * from './product.style';
3
- export * from './retailers.style';
@@ -1 +0,0 @@
1
- export * from './product-list.style';
@@ -1,3 +0,0 @@
1
- export * from './drawer.style';
2
- export * from './loading.style';
3
- export * from './promo-code-ticker.style';
@@ -1,53 +0,0 @@
1
- import { BaseComponent } from '@/core/base-component.service';
2
- export interface IBirthdateValidation {
3
- required?: boolean;
4
- minYear?: number;
5
- maxYear?: number;
6
- minAge?: number;
7
- maxAge?: number;
8
- customValidator?: (date: string) => string | null;
9
- }
10
- export interface IBirthdateInputComponentParams {
11
- value?: string;
12
- className?: string;
13
- validation?: IBirthdateValidation;
14
- onValidation?: (isValid: boolean, errors: string[]) => void;
15
- onChange?: (value: string) => void;
16
- label?: string;
17
- name: string;
18
- disabled?: boolean;
19
- }
20
- export declare class BirthdateInputComponent extends BaseComponent<IBirthdateInputComponentParams, null> {
21
- get hostClasses(): string[];
22
- private monthInput;
23
- private dayInput;
24
- private yearInput;
25
- private errorContainer;
26
- private validationTimeout;
27
- afterRender(): void;
28
- private populateInitialValue;
29
- private setupEventListeners;
30
- private formatMonth;
31
- private formatDay;
32
- private formatYear;
33
- private padMonthOnBlur;
34
- private padDayOnBlur;
35
- private handleNavigation;
36
- private handleChange;
37
- private isFieldsComplete;
38
- private scheduleValidation;
39
- private getFormattedValue;
40
- private validateDate;
41
- private calculateAge;
42
- private validateInput;
43
- private showErrors;
44
- private clearErrors;
45
- getValue(): string;
46
- setValue(value: string): void;
47
- validate(): boolean;
48
- focus(): void;
49
- disable(): void;
50
- enable(): void;
51
- clear(): void;
52
- protected template(): HTMLElement[];
53
- }