@tet/tet-components 1.3.157-testing → 1.4.0-staging

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 (722) hide show
  1. package/dist/cjs/{address-5271d3aa.js → address-b695d769.js} +1 -1
  2. package/dist/cjs/{assets-e3bb045c.js → assets-39f8cd2c.js} +1 -1
  3. package/dist/cjs/{async-request-29b32d63.js → async-request-77d8e0b8.js} +27 -26
  4. package/dist/cjs/compare-cards-tab-products-filters-10b06fe0.js +100 -0
  5. package/dist/cjs/{http-codes-2f72a8b2.js → http-codes-38914116.js} +25 -19
  6. package/dist/cjs/{index-f559cb2e.js → index-28359ea5.js} +1672 -1598
  7. package/dist/cjs/{index-84ede372.js → index-bf7cfd19.js} +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/{phone-d414fe5a.js → phone-ed64bd26.js} +8 -6
  10. package/dist/cjs/{product-comparison-f784fb1b.js → product-comparison-ae2ccae4.js} +1 -1
  11. package/dist/cjs/{tasks-af99ad61.js → tasks-57ad40ae.js} +2 -2
  12. package/dist/cjs/tet-accordion_2.cjs.entry.js +62 -46
  13. package/dist/cjs/tet-address-offers-filters-products_2.cjs.entry.js +249 -232
  14. package/dist/cjs/tet-address-offers-view.cjs.entry.js +43 -35
  15. package/dist/cjs/tet-address-offers_4.cjs.entry.js +343 -313
  16. package/dist/cjs/tet-address-search.cjs.entry.js +175 -167
  17. package/dist/cjs/tet-asset-addresses.cjs.entry.js +106 -95
  18. package/dist/cjs/tet-autocomplete-dropdown.cjs.entry.js +40 -30
  19. package/dist/cjs/tet-autocomplete.cjs.entry.js +203 -190
  20. package/dist/cjs/tet-b2b-check-out-form_5.cjs.entry.js +280 -241
  21. package/dist/cjs/tet-b2b-configurator.cjs.entry.js +396 -378
  22. package/dist/cjs/tet-b2b-service-calculator.cjs.entry.js +28 -28
  23. package/dist/cjs/tet-banner-nav.cjs.entry.js +23 -11
  24. package/dist/cjs/tet-bar-graph.cjs.entry.js +222 -215
  25. package/dist/cjs/tet-border-radius.cjs.entry.js +1 -1
  26. package/dist/cjs/tet-business-card.cjs.entry.js +38 -32
  27. package/dist/cjs/tet-business-compare-card.cjs.entry.js +18 -11
  28. package/dist/cjs/tet-business-lines.cjs.entry.js +25 -26
  29. package/dist/cjs/tet-business-round-stepper.cjs.entry.js +10 -10
  30. package/dist/cjs/tet-button.cjs.entry.js +9 -9
  31. package/dist/cjs/tet-card-list.cjs.entry.js +557 -530
  32. package/dist/cjs/tet-carousel.cjs.entry.js +180 -184
  33. package/dist/cjs/tet-checkbox.cjs.entry.js +15 -11
  34. package/dist/cjs/tet-cloud-application-form-dialog.cjs.entry.js +30 -4
  35. package/dist/cjs/tet-cloud-configurator.cjs.entry.js +132 -124
  36. package/dist/cjs/tet-colors.cjs.entry.js +42 -42
  37. package/dist/cjs/tet-compare-card-v2.cjs.entry.js +51 -49
  38. package/dist/cjs/tet-compare-cards-tab.cjs.entry.js +29 -28
  39. package/dist/cjs/tet-compare-cards_2.cjs.entry.js +41 -34
  40. package/dist/cjs/tet-components.cjs.js +3 -3
  41. package/dist/cjs/tet-contact-form.cjs.entry.js +55 -46
  42. package/dist/cjs/tet-contact-info.cjs.entry.js +1 -1
  43. package/dist/cjs/tet-container_2.cjs.entry.js +62 -58
  44. package/dist/cjs/tet-customer-assets.cjs.entry.js +90 -85
  45. package/dist/cjs/tet-datepicker-header_4.cjs.entry.js +202 -187
  46. package/dist/cjs/tet-datepicker.cjs.entry.js +35 -30
  47. package/dist/cjs/tet-dialog.cjs.entry.js +41 -35
  48. package/dist/cjs/tet-dropdown_2.cjs.entry.js +137 -115
  49. package/dist/cjs/tet-dynamic-card.cjs.entry.js +68 -71
  50. package/dist/cjs/tet-expandable-input.cjs.entry.js +97 -80
  51. package/dist/cjs/tet-expansion-panel.cjs.entry.js +17 -19
  52. package/dist/cjs/tet-filter.cjs.entry.js +26 -11
  53. package/dist/cjs/tet-font-weight.cjs.entry.js +1 -1
  54. package/dist/cjs/tet-fonts.cjs.entry.js +1 -1
  55. package/dist/cjs/tet-grid.cjs.entry.js +1 -1
  56. package/dist/cjs/tet-icon.cjs.entry.js +25 -24
  57. package/dist/cjs/tet-inline-message.cjs.entry.js +7 -7
  58. package/dist/cjs/tet-input.cjs.entry.js +47 -37
  59. package/dist/cjs/tet-label.cjs.entry.js +3 -3
  60. package/dist/cjs/tet-layout.cjs.entry.js +1 -1
  61. package/dist/cjs/tet-link.cjs.entry.js +1 -1
  62. package/dist/cjs/tet-loader.cjs.entry.js +1 -1
  63. package/dist/cjs/tet-macd-view.cjs.entry.js +50 -23
  64. package/dist/cjs/tet-menu-mobile.cjs.entry.js +13 -14
  65. package/dist/cjs/tet-menu.cjs.entry.js +4 -5
  66. package/dist/cjs/tet-multi-step-dialog.cjs.entry.js +86 -72
  67. package/dist/cjs/tet-navigation-mobile.cjs.entry.js +19 -15
  68. package/dist/cjs/tet-news-card-list.cjs.entry.js +35 -36
  69. package/dist/cjs/tet-number-input.cjs.entry.js +56 -42
  70. package/dist/cjs/tet-placeholder.cjs.entry.js +1 -1
  71. package/dist/cjs/tet-price-view.cjs.entry.js +4 -4
  72. package/dist/cjs/tet-radio.cjs.entry.js +11 -7
  73. package/dist/cjs/tet-range-slider.cjs.entry.js +632 -620
  74. package/dist/cjs/tet-referral.cjs.entry.js +30 -26
  75. package/dist/cjs/tet-round-stepper.cjs.entry.js +2 -2
  76. package/dist/cjs/tet-spacing.cjs.entry.js +1 -1
  77. package/dist/cjs/tet-spinner.cjs.entry.js +16 -16
  78. package/dist/cjs/tet-stepper-input.cjs.entry.js +32 -26
  79. package/dist/cjs/tet-stepper-v2.cjs.entry.js +28 -29
  80. package/dist/cjs/tet-stepper-v3.cjs.entry.js +20 -21
  81. package/dist/cjs/tet-stepper.cjs.entry.js +62 -63
  82. package/dist/cjs/tet-switch.cjs.entry.js +4 -2
  83. package/dist/cjs/tet-tab-header.cjs.entry.js +68 -65
  84. package/dist/cjs/tet-table.cjs.entry.js +132 -138
  85. package/dist/cjs/tet-tag_2.cjs.entry.js +11 -11
  86. package/dist/cjs/tet-text-list.cjs.entry.js +12 -4
  87. package/dist/cjs/tet-textarea.cjs.entry.js +14 -14
  88. package/dist/cjs/tet-thank-you-view-v2.cjs.entry.js +36 -33
  89. package/dist/cjs/tet-thank-you-view-v3.cjs.entry.js +36 -33
  90. package/dist/cjs/tet-thank-you-view.cjs.entry.js +52 -46
  91. package/dist/cjs/tet-tv-gift-block.cjs.entry.js +15 -15
  92. package/dist/cjs/tet-tv-gift-list.cjs.entry.js +15 -15
  93. package/dist/cjs/{theme-wrapper-a5bbadf6.js → theme-wrapper-6ae60d67.js} +2 -2
  94. package/dist/cjs/{translations-ed68775f.js → translations-2637e1f9.js} +52 -51
  95. package/dist/cjs/{utils-ac9be2ff.js → utils-1f67c4b7.js} +23 -8
  96. package/dist/collection/collection-manifest.json +1 -1
  97. package/dist/collection/components/advanced/address/tet-address-offers/tet-address-offers.js +108 -101
  98. package/dist/collection/components/advanced/address/tet-address-offers-filters/address-offers-filters.js +128 -129
  99. package/dist/collection/components/advanced/address/tet-address-offers-filters/tet-address-offers-filters.js +17 -17
  100. package/dist/collection/components/advanced/address/tet-address-offers-filters-products/address-offers-products-filters.js +90 -89
  101. package/dist/collection/components/advanced/address/tet-address-offers-filters-products/tet-address-offers-filters-products.js +33 -19
  102. package/dist/collection/components/advanced/address/tet-address-search/tet-address-search.js +171 -163
  103. package/dist/collection/components/advanced/address/tet-autocomplete/tet-autocomplete.js +203 -206
  104. package/dist/collection/components/advanced/address/tet-autocomplete-dropdown/tet-autocomplete-dropdown.js +39 -29
  105. package/dist/collection/components/advanced/cards/tet-b2b-compare-card/tet-b2b-compare-card.js +75 -62
  106. package/dist/collection/components/advanced/cards/tet-business-card/tet-business-card.js +40 -30
  107. package/dist/collection/components/advanced/cards/tet-business-compare-card/tet-business-compare-card.js +17 -10
  108. package/dist/collection/components/advanced/cards/tet-business-summary-card/tet-business-summary-card.js +38 -32
  109. package/dist/collection/components/advanced/cards/tet-card-list/tet-card-list.js +356 -337
  110. package/dist/collection/components/advanced/cards/tet-compare-card/tet-compare-card.js +125 -119
  111. package/dist/collection/components/advanced/cards/tet-compare-card-v2/tet-compare-card-v2.js +51 -45
  112. package/dist/collection/components/advanced/cards/tet-compare-cards/tet-compare-cards.js +21 -15
  113. package/dist/collection/components/advanced/cards/tet-compare-cards-tab/compare-cards-tab-products-filters.js +89 -88
  114. package/dist/collection/components/advanced/cards/tet-compare-cards-tab/tet-compare-cards-tab.js +25 -22
  115. package/dist/collection/components/advanced/cards/tet-dynamic-card/tet-dynamic-card.js +67 -70
  116. package/dist/collection/components/advanced/cards/utils.js +23 -8
  117. package/dist/collection/components/advanced/customer/tet-asset-addresses/tet-asset-addresses.js +103 -92
  118. package/dist/collection/components/advanced/customer/tet-asset-availability-addresses/tet-asset-availability-addresses.js +29 -14
  119. package/dist/collection/components/advanced/customer/tet-customer-assets/tet-customer-assets.js +87 -82
  120. package/dist/collection/components/advanced/customer/tet-referral/tet-referral.js +24 -19
  121. package/dist/collection/components/advanced/dialog/tet-multi-step-dialog/tet-multi-step-dialog.js +83 -69
  122. package/dist/collection/components/advanced/forms/tet-availability-contact-form/tet-availability-contact-form.js +54 -43
  123. package/dist/collection/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.js +11 -3
  124. package/dist/collection/components/advanced/forms/tet-contact-form/tet-contact-form.js +49 -40
  125. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-block/tet-tv-gift-block.js +14 -13
  126. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-list/tet-tv-gift-list.js +15 -13
  127. package/dist/collection/components/basic/buttons/tet-button/tet-button.js +8 -8
  128. package/dist/collection/components/basic/buttons/tet-checkbox/tet-checkbox.js +14 -10
  129. package/dist/collection/components/basic/buttons/tet-radio/tet-radio.js +10 -6
  130. package/dist/collection/components/basic/buttons/tet-switch/tet-switch.js +3 -1
  131. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-content/tet-tab-content.js +17 -13
  132. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-header/tet-tab-header.js +67 -63
  133. package/dist/collection/components/basic/buttons/tet-tag-group/tet-tag-group.js +8 -8
  134. package/dist/collection/components/basic/carousel/tet-carousel/tet-carousel.js +177 -181
  135. package/dist/collection/components/basic/icon/tet-icon.js +23 -22
  136. package/dist/collection/components/basic/loaders/tet-spinner/tet-spinner.js +15 -14
  137. package/dist/collection/components/basic/steppers/tet-banner-nav/tet-banner-nav.js +20 -8
  138. package/dist/collection/components/basic/steppers/tet-business-round-stepper/tet-business-round-stepper.js +9 -9
  139. package/dist/collection/components/basic/steppers/tet-round-stepper/tet-round-stepper.js +4 -0
  140. package/dist/collection/components/basic/steppers/tet-stepper/tet-stepper.js +61 -62
  141. package/dist/collection/components/basic/steppers/tet-stepper-v2/tet-stepper-v2.js +27 -28
  142. package/dist/collection/components/basic/steppers/tet-stepper-v3/tet-stepper-v3.js +19 -20
  143. package/dist/collection/components/simple/filter/tet-filter/tet-filter.js +25 -10
  144. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-header/tet-datepicker-header.js +20 -16
  145. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-month-view/tet-datepicker-month-view.js +135 -132
  146. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-multi-year-view/tet-datepicker-multi-year-view.js +20 -17
  147. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-year-view/tet-datepicker-year-view.js +26 -21
  148. package/dist/collection/components/simple/inputs/tet-datepicker/tet-datepicker.js +34 -28
  149. package/dist/collection/components/simple/inputs/tet-dropdown/tet-dropdown.js +20 -8
  150. package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.js +99 -78
  151. package/dist/collection/components/simple/inputs/tet-input/tet-input.js +44 -34
  152. package/dist/collection/components/simple/inputs/tet-number-input/tet-number-input.js +55 -41
  153. package/dist/collection/components/simple/inputs/tet-range-slider/tet-range-slider.js +631 -618
  154. package/dist/collection/components/simple/inputs/tet-stepper-input/tet-stepper-input.js +29 -23
  155. package/dist/collection/components/simple/inputs/tet-textarea/tet-textarea.js +13 -13
  156. package/dist/collection/components/simple/lists/tet-news-card-list/tet-news-card-list.js +37 -34
  157. package/dist/collection/components/simple/lists/tet-selection-list/tet-selection-list.js +61 -57
  158. package/dist/collection/components/simple/lists/tet-text-list/tet-text-list.js +14 -2
  159. package/dist/collection/components/simple/menu/tet-business-navigation/tet-business-navigation.js +48 -45
  160. package/dist/collection/components/simple/menu/tet-menu/tet-menu.js +3 -4
  161. package/dist/collection/components/simple/menu/tet-menu-mobile/tet-menu-mobile.js +15 -12
  162. package/dist/collection/components/simple/menu/tet-navigation-mobile/tet-navigation-mobile.js +18 -14
  163. package/dist/collection/components/simple/structural/tet-accordion/tet-accordion.js +37 -20
  164. package/dist/collection/components/simple/structural/tet-expansion-panel/tet-expansion-panel.js +16 -17
  165. package/dist/collection/components/simple/tables-and-graphs/tet-bar-graph/tet-bar-graph.js +222 -213
  166. package/dist/collection/components/simple/tables-and-graphs/tet-table/tet-table.js +132 -136
  167. package/dist/collection/components/simple/text-blocks/tet-cloud-application-form-dialog/tet-cloud-application-form-dialog.js +27 -1
  168. package/dist/collection/components/simple/text-blocks/tet-dialog/tet-dialog.js +39 -31
  169. package/dist/collection/components/simple/text-blocks/tet-inline-message/tet-inline-message.js +6 -6
  170. package/dist/collection/components/simple/text-blocks/tet-notification/tet-notification.js +27 -23
  171. package/dist/collection/components/simple/text-blocks/tet-tooltip/tet-tooltip.js +119 -105
  172. package/dist/collection/components/views/tet-address-offers-view/tet-address-offers-view.js +40 -32
  173. package/dist/collection/components/views/tet-b2b-configurator/partials/tet-b2b-configurator-cart/tet-b2b-configurator-cart.js +99 -88
  174. package/dist/collection/components/views/tet-b2b-configurator/tet-b2b-configurator.js +392 -373
  175. package/dist/collection/components/views/tet-b2b-service-calculator/tet-b2b-service-calculator.js +25 -25
  176. package/dist/collection/components/views/tet-business-lines/tet-business-lines.js +21 -22
  177. package/dist/collection/components/views/tet-cloud-configurator/tet-cloud-configurator.js +130 -120
  178. package/dist/collection/components/views/tet-macd-view/tet-macd-view.js +42 -13
  179. package/dist/collection/components/views/tet-price-view/tet-price-view.js +4 -2
  180. package/dist/collection/components/views/tet-thank-you-view/tet-thank-you-view.js +52 -44
  181. package/dist/collection/components/views/tet-thank-you-view-v2/tet-thank-you-view-v2.js +34 -29
  182. package/dist/collection/components/views/tet-thank-you-view-v3/tet-thank-you-view-v3.js +34 -29
  183. package/dist/collection/config/bradcasting.js +1 -2
  184. package/dist/collection/config/endpoints.js +7 -5
  185. package/dist/collection/config/forms-portal.js +1 -2
  186. package/dist/collection/config/landing-pages.js +1 -2
  187. package/dist/collection/config/mytet-portal.js +1 -2
  188. package/dist/collection/docs/styling/colors/tet-colors.js +41 -41
  189. package/dist/collection/services/api/async-request.js +26 -25
  190. package/dist/collection/services/api/request.js +16 -11
  191. package/dist/collection/services/api/services/tv/tv-channel-count-parser.js +73 -74
  192. package/dist/collection/services/translations/translations-manager.js +46 -47
  193. package/dist/collection/services/translations/translations.js +1 -2
  194. package/dist/collection/services/translations/translations.store.js +2 -3
  195. package/dist/collection/services/utils/inertia-scroll.js +203 -191
  196. package/dist/collection/services/utils/object.js +5 -3
  197. package/dist/collection/services/validators/validators/e-mail.js +6 -5
  198. package/dist/collection/services/validators/validators/phone.js +6 -5
  199. package/dist/collection/services/validators/validators/required.js +2 -1
  200. package/dist/components/index.js +1 -1
  201. package/dist/components/{p-35e72a2b.js → p-01f21691.js} +58 -44
  202. package/dist/components/{p-cec65d0a.js → p-02c55c0d.js} +121 -116
  203. package/dist/components/{p-7ddd71bd.js → p-08fbbbf9.js} +3 -3
  204. package/dist/components/{p-00c91e96.js → p-0e0dcb37.js} +2 -2
  205. package/dist/components/{p-639c9d1a.js → p-11a7865e.js} +80 -69
  206. package/dist/components/{p-ca66b4b1.js → p-12649d6e.js} +8 -6
  207. package/dist/components/{p-03177920.js → p-1278b6e9.js} +181 -173
  208. package/dist/components/{p-f18e5ae3.js → p-153245c0.js} +28 -23
  209. package/dist/components/{p-7b3c7bf1.js → p-243407f8.js} +4 -2
  210. package/dist/components/p-245f534d.js +869 -0
  211. package/dist/components/{p-856695a3.js → p-2630a661.js} +43 -37
  212. package/dist/components/{p-3fd7310f.js → p-269298f7.js} +1 -1
  213. package/dist/components/{p-50f207fd.js → p-27b54fb3.js} +54 -34
  214. package/dist/components/{p-53ca0a91.js → p-281300b4.js} +39 -23
  215. package/dist/components/{p-163de6e2.js → p-29df1df5.js} +23 -11
  216. package/dist/components/{p-42ff76b5.js → p-2c7320b5.js} +22 -18
  217. package/dist/components/{p-aca28e71.js → p-3444731e.js} +53 -52
  218. package/dist/components/{p-9a47b95f.js → p-35eefb16.js} +26 -26
  219. package/dist/components/{p-68f0e894.js → p-36c5e434.js} +10 -10
  220. package/dist/components/{p-9573f82c.js → p-392981a3.js} +41 -35
  221. package/dist/components/{p-965cea5b.js → p-39c66558.js} +137 -134
  222. package/dist/components/{p-9fe57fd0.js → p-3bb2ad44.js} +68 -65
  223. package/dist/components/{p-a188f09e.js → p-3e04ea5b.js} +11 -7
  224. package/dist/components/{p-eb54f5b9.js → p-4ae2dab9.js} +21 -18
  225. package/dist/components/{p-9bf262a8.js → p-52152f5b.js} +33 -27
  226. package/dist/components/{p-a0d406ca.js → p-549fe76f.js} +117 -72
  227. package/dist/components/{p-e707e73a.js → p-65770d46.js} +13 -5
  228. package/dist/components/{p-bb324278.js → p-68024f5b.js} +1 -1
  229. package/dist/components/{p-4d33055f.js → p-6bfd47c5.js} +117 -107
  230. package/dist/components/{p-a81e545d.js → p-6e8a8d28.js} +1 -1
  231. package/dist/components/{p-489ae3a0.js → p-6f4bf94f.js} +27 -26
  232. package/dist/components/{p-df1fe72c.js → p-754dce81.js} +47 -37
  233. package/dist/components/{p-5c8c2d8d.js → p-7dd65c3a.js} +1 -1
  234. package/dist/components/{p-6a2a81d8.js → p-85821f41.js} +104 -94
  235. package/dist/components/{p-817bee22.js → p-8b4a75b2.js} +12 -12
  236. package/dist/{esm/http-codes-7faa9f6e.js → components/p-94a1eb7a.js} +66 -59
  237. package/dist/components/{p-045bec85.js → p-98b10b48.js} +16 -16
  238. package/dist/components/{p-7790eae2.js → p-99823afc.js} +128 -126
  239. package/dist/components/{p-b0d6ed2e.js → p-9ee3e98b.js} +25 -24
  240. package/dist/components/{p-6847eb2d.js → p-a09504f7.js} +62 -63
  241. package/dist/components/{p-88b42c67.js → p-a15512ce.js} +63 -59
  242. package/dist/components/{p-6b7e73c0.js → p-bd9b1f18.js} +218 -202
  243. package/dist/components/{p-881093d4.js → p-bf642eca.js} +206 -194
  244. package/dist/components/{p-91651432.js → p-bfcce1dd.js} +1 -1
  245. package/dist/components/{p-21c5cfc4.js → p-c47caf67.js} +64 -53
  246. package/dist/components/{p-c1876db7.js → p-c7dba63e.js} +36 -21
  247. package/dist/components/{p-5dc5e13c.js → p-c8fc3c1f.js} +2 -2
  248. package/dist/components/{p-bd3402f6.js → p-c97d9f10.js} +17 -15
  249. package/dist/components/p-c996a768.js +169 -0
  250. package/dist/components/{p-37ed3ebb.js → p-c9d79ad4.js} +190 -135
  251. package/dist/components/{p-029ff2b3.js → p-d22e1c96.js} +24 -24
  252. package/dist/components/{p-0088d040.js → p-d7d60ba4.js} +16 -12
  253. package/dist/components/{p-00e689fb.js → p-d92a53ea.js} +1 -1
  254. package/dist/components/{p-e04716ac.js → p-da4e6cfb.js} +29 -30
  255. package/dist/components/{p-cb2daf20.js → p-dcf5c661.js} +25 -16
  256. package/dist/components/{p-04fe59fc.js → p-dcffa870.js} +50 -47
  257. package/dist/components/{p-616c71e1.js → p-e4f00545.js} +559 -532
  258. package/dist/components/{p-530ef38b.js → p-f44eb3d8.js} +4 -4
  259. package/dist/components/{p-144dffdc.js → p-f7bd56ce.js} +1 -1
  260. package/dist/components/{p-818742ad.js → p-f8ef72c1.js} +21 -22
  261. package/dist/components/tet-accordion.js +1 -1
  262. package/dist/components/tet-address-offers-filters-products.js +1 -1
  263. package/dist/components/tet-address-offers-filters.js +1 -1
  264. package/dist/components/tet-address-offers-view.js +65 -57
  265. package/dist/components/tet-address-offers.js +1 -1
  266. package/dist/components/tet-address-search.js +1 -1
  267. package/dist/components/tet-asset-addresses.js +116 -105
  268. package/dist/components/tet-asset-availability-addresses.js +1 -1
  269. package/dist/components/tet-autocomplete-dropdown.js +44 -34
  270. package/dist/components/tet-autocomplete.js +1 -1
  271. package/dist/components/tet-availability-contact-form.js +1 -1
  272. package/dist/components/tet-b2b-check-out-form.js +1 -1
  273. package/dist/components/tet-b2b-compare-card.js +1 -1
  274. package/dist/components/tet-b2b-configurator-cart.js +1 -1
  275. package/dist/components/tet-b2b-configurator.js +411 -393
  276. package/dist/components/tet-b2b-service-calculator.js +33 -33
  277. package/dist/components/tet-banner-nav.js +23 -11
  278. package/dist/components/tet-bar-graph.js +222 -215
  279. package/dist/components/tet-border-radius.js +1 -1
  280. package/dist/components/tet-business-card.js +38 -32
  281. package/dist/components/tet-business-compare-card.js +20 -13
  282. package/dist/components/tet-business-lines.js +26 -27
  283. package/dist/components/tet-business-navigation.js +1 -1
  284. package/dist/components/tet-business-round-stepper.js +11 -11
  285. package/dist/components/tet-business-summary-card.js +1 -1
  286. package/dist/components/tet-button.js +1 -1
  287. package/dist/components/tet-card-list.js +1 -1
  288. package/dist/components/tet-carousel.js +181 -185
  289. package/dist/components/tet-checkbox.js +1 -1
  290. package/dist/components/tet-cloud-application-form-dialog.js +35 -9
  291. package/dist/components/tet-cloud-configurator.js +140 -132
  292. package/dist/components/tet-colors.js +42 -42
  293. package/dist/components/tet-compare-card-v2.js +57 -55
  294. package/dist/components/tet-compare-card.js +1 -1
  295. package/dist/components/tet-compare-cards-tab.js +40 -39
  296. package/dist/components/tet-compare-cards.js +1 -1
  297. package/dist/components/tet-contact-form.js +59 -50
  298. package/dist/components/tet-contact-info.js +1 -1
  299. package/dist/components/tet-container.js +1 -1
  300. package/dist/components/tet-customer-assets.js +95 -90
  301. package/dist/components/tet-datepicker-header.js +1 -1
  302. package/dist/components/tet-datepicker-month-view.js +1 -1
  303. package/dist/components/tet-datepicker-multi-year-view.js +1 -1
  304. package/dist/components/tet-datepicker-year-view.js +1 -1
  305. package/dist/components/tet-datepicker.js +41 -36
  306. package/dist/components/tet-dialog.js +1 -1
  307. package/dist/components/tet-dropdown.js +1 -1
  308. package/dist/components/tet-dynamic-card.js +71 -74
  309. package/dist/components/tet-expandable-input.js +99 -82
  310. package/dist/components/tet-expansion-panel.js +17 -19
  311. package/dist/components/tet-filter.js +29 -14
  312. package/dist/components/tet-font-weight.js +1 -1
  313. package/dist/components/tet-fonts.js +1 -1
  314. package/dist/components/tet-grid.js +1 -1
  315. package/dist/components/tet-icon.js +1 -1
  316. package/dist/components/tet-inline-message.js +8 -8
  317. package/dist/components/tet-input.js +1 -1
  318. package/dist/components/tet-label.js +3 -3
  319. package/dist/components/tet-layout.js +1 -1
  320. package/dist/components/tet-link.js +1 -1
  321. package/dist/components/tet-loader.js +1 -1
  322. package/dist/components/tet-macd-view.js +55 -28
  323. package/dist/components/tet-menu-mobile.js +14 -15
  324. package/dist/components/tet-menu.js +5 -6
  325. package/dist/components/tet-multi-step-dialog.js +88 -74
  326. package/dist/components/tet-navigation-mobile.js +20 -16
  327. package/dist/components/tet-news-card-list.js +38 -39
  328. package/dist/components/tet-notification.js +1 -1
  329. package/dist/components/tet-number-input.js +1 -1
  330. package/dist/components/tet-placeholder.js +1 -1
  331. package/dist/components/tet-price-view.js +1 -1
  332. package/dist/components/tet-radio.js +1 -1
  333. package/dist/components/tet-range-slider.js +1 -1
  334. package/dist/components/tet-referral.js +32 -28
  335. package/dist/components/tet-round-stepper.js +3 -3
  336. package/dist/components/tet-selection-list.js +1 -1
  337. package/dist/components/tet-spacing.js +1 -1
  338. package/dist/components/tet-spinner.js +1 -1
  339. package/dist/components/tet-stepper-input.js +1 -1
  340. package/dist/components/tet-stepper-v2.js +1 -1
  341. package/dist/components/tet-stepper-v3.js +1 -1
  342. package/dist/components/tet-stepper.js +1 -1
  343. package/dist/components/tet-switch.js +1 -1
  344. package/dist/components/tet-tab-content.js +1 -1
  345. package/dist/components/tet-tab-header.js +1 -1
  346. package/dist/components/tet-table.js +134 -140
  347. package/dist/components/tet-tag-group.js +1 -1
  348. package/dist/components/tet-tag.js +1 -1
  349. package/dist/components/tet-text-list.js +1 -1
  350. package/dist/components/tet-textarea.js +14 -14
  351. package/dist/components/tet-thank-you-view-v2.js +38 -35
  352. package/dist/components/tet-thank-you-view-v3.js +38 -35
  353. package/dist/components/tet-thank-you-view.js +55 -49
  354. package/dist/components/tet-tooltip.js +1 -1
  355. package/dist/components/tet-tv-gift-block.js +15 -15
  356. package/dist/components/tet-tv-gift-list.js +16 -16
  357. package/dist/esm/{address-979a9993.js → address-1ff7cd1f.js} +1 -1
  358. package/dist/esm/{assets-b971f105.js → assets-79f78adb.js} +1 -1
  359. package/dist/esm/{async-request-6675e5f5.js → async-request-ab25480d.js} +27 -26
  360. package/dist/esm/compare-cards-tab-products-filters-79b7b7c6.js +98 -0
  361. package/dist/{components/p-6830b44d.js → esm/http-codes-eb08ff6f.js} +65 -60
  362. package/dist/esm/{index-1bf36cb9.js → index-8ebb7ad1.js} +1 -1
  363. package/dist/esm/{index-7f1e2a22.js → index-950abbb7.js} +1672 -1598
  364. package/dist/esm/loader.js +3 -3
  365. package/dist/esm/{phone-99c2f297.js → phone-4b016684.js} +8 -6
  366. package/dist/esm/{product-comparison-830e2764.js → product-comparison-286ce057.js} +1 -1
  367. package/dist/esm/{tasks-3dfcc330.js → tasks-770dc32d.js} +2 -2
  368. package/dist/esm/tet-accordion_2.entry.js +62 -46
  369. package/dist/esm/tet-address-offers-filters-products_2.entry.js +250 -233
  370. package/dist/esm/tet-address-offers-view.entry.js +44 -36
  371. package/dist/esm/tet-address-offers_4.entry.js +344 -314
  372. package/dist/esm/tet-address-search.entry.js +176 -168
  373. package/dist/esm/tet-asset-addresses.entry.js +106 -95
  374. package/dist/esm/tet-autocomplete-dropdown.entry.js +40 -30
  375. package/dist/esm/tet-autocomplete.entry.js +204 -191
  376. package/dist/esm/tet-b2b-check-out-form_5.entry.js +281 -242
  377. package/dist/esm/tet-b2b-configurator.entry.js +397 -379
  378. package/dist/esm/tet-b2b-service-calculator.entry.js +29 -29
  379. package/dist/esm/tet-banner-nav.entry.js +24 -12
  380. package/dist/esm/tet-bar-graph.entry.js +222 -215
  381. package/dist/esm/tet-border-radius.entry.js +1 -1
  382. package/dist/esm/tet-business-card.entry.js +38 -32
  383. package/dist/esm/tet-business-compare-card.entry.js +18 -11
  384. package/dist/esm/tet-business-lines.entry.js +26 -27
  385. package/dist/esm/tet-business-round-stepper.entry.js +10 -10
  386. package/dist/esm/tet-button.entry.js +9 -9
  387. package/dist/esm/tet-card-list.entry.js +557 -530
  388. package/dist/esm/tet-carousel.entry.js +181 -185
  389. package/dist/esm/tet-checkbox.entry.js +15 -11
  390. package/dist/esm/tet-cloud-application-form-dialog.entry.js +31 -5
  391. package/dist/esm/tet-cloud-configurator.entry.js +133 -125
  392. package/dist/esm/tet-colors.entry.js +42 -42
  393. package/dist/esm/tet-compare-card-v2.entry.js +51 -49
  394. package/dist/esm/tet-compare-cards-tab.entry.js +29 -28
  395. package/dist/esm/tet-compare-cards_2.entry.js +41 -34
  396. package/dist/esm/tet-components.js +4 -4
  397. package/dist/esm/tet-contact-form.entry.js +56 -47
  398. package/dist/esm/tet-contact-info.entry.js +1 -1
  399. package/dist/esm/tet-container_2.entry.js +63 -59
  400. package/dist/esm/tet-customer-assets.entry.js +90 -85
  401. package/dist/esm/tet-datepicker-header_4.entry.js +203 -188
  402. package/dist/esm/tet-datepicker.entry.js +36 -31
  403. package/dist/esm/tet-dialog.entry.js +42 -36
  404. package/dist/esm/tet-dropdown_2.entry.js +137 -115
  405. package/dist/esm/tet-dynamic-card.entry.js +68 -71
  406. package/dist/esm/tet-expandable-input.entry.js +97 -80
  407. package/dist/esm/tet-expansion-panel.entry.js +17 -19
  408. package/dist/esm/tet-filter.entry.js +26 -11
  409. package/dist/esm/tet-font-weight.entry.js +1 -1
  410. package/dist/esm/tet-fonts.entry.js +1 -1
  411. package/dist/esm/tet-grid.entry.js +1 -1
  412. package/dist/esm/tet-icon.entry.js +25 -24
  413. package/dist/esm/tet-inline-message.entry.js +7 -7
  414. package/dist/esm/tet-input.entry.js +48 -38
  415. package/dist/esm/tet-label.entry.js +4 -4
  416. package/dist/esm/tet-layout.entry.js +1 -1
  417. package/dist/esm/tet-link.entry.js +1 -1
  418. package/dist/esm/tet-loader.entry.js +1 -1
  419. package/dist/esm/tet-macd-view.entry.js +51 -24
  420. package/dist/esm/tet-menu-mobile.entry.js +13 -14
  421. package/dist/esm/tet-menu.entry.js +4 -5
  422. package/dist/esm/tet-multi-step-dialog.entry.js +87 -73
  423. package/dist/esm/tet-navigation-mobile.entry.js +19 -15
  424. package/dist/esm/tet-news-card-list.entry.js +35 -36
  425. package/dist/esm/tet-number-input.entry.js +56 -42
  426. package/dist/esm/tet-placeholder.entry.js +1 -1
  427. package/dist/esm/tet-price-view.entry.js +4 -4
  428. package/dist/esm/tet-radio.entry.js +11 -7
  429. package/dist/esm/tet-range-slider.entry.js +632 -620
  430. package/dist/esm/tet-referral.entry.js +31 -27
  431. package/dist/esm/tet-round-stepper.entry.js +2 -2
  432. package/dist/esm/tet-spacing.entry.js +1 -1
  433. package/dist/esm/tet-spinner.entry.js +16 -16
  434. package/dist/esm/tet-stepper-input.entry.js +33 -27
  435. package/dist/esm/tet-stepper-v2.entry.js +28 -29
  436. package/dist/esm/tet-stepper-v3.entry.js +20 -21
  437. package/dist/esm/tet-stepper.entry.js +62 -63
  438. package/dist/esm/tet-switch.entry.js +4 -2
  439. package/dist/esm/tet-tab-header.entry.js +68 -65
  440. package/dist/esm/tet-table.entry.js +132 -138
  441. package/dist/esm/tet-tag_2.entry.js +12 -12
  442. package/dist/esm/tet-text-list.entry.js +12 -4
  443. package/dist/esm/tet-textarea.entry.js +14 -14
  444. package/dist/esm/tet-thank-you-view-v2.entry.js +37 -34
  445. package/dist/esm/tet-thank-you-view-v3.entry.js +37 -34
  446. package/dist/esm/tet-thank-you-view.entry.js +52 -46
  447. package/dist/esm/tet-tv-gift-block.entry.js +15 -15
  448. package/dist/esm/tet-tv-gift-list.entry.js +15 -15
  449. package/dist/esm/{theme-wrapper-6e6b2089.js → theme-wrapper-f83deed6.js} +2 -2
  450. package/dist/esm/{translations-eff34607.js → translations-baabae60.js} +53 -52
  451. package/dist/esm/{typecheck-31fd6c02.js → typecheck-4abf0258.js} +1 -1
  452. package/dist/esm/{utils-f8f08058.js → utils-c110a4b1.js} +23 -8
  453. package/dist/tet-components/{p-c7dbb16f.entry.js → p-0847a214.entry.js} +1 -1
  454. package/dist/tet-components/p-086f464e.entry.js +1 -0
  455. package/dist/tet-components/{p-eed2b508.entry.js → p-0ecbcf94.entry.js} +1 -1
  456. package/dist/tet-components/p-1215e5c0.entry.js +1 -0
  457. package/dist/tet-components/p-12649d6e.js +1 -0
  458. package/dist/tet-components/p-15cd7158.entry.js +1 -0
  459. package/dist/tet-components/p-203651e5.entry.js +1 -0
  460. package/dist/tet-components/p-20a93866.entry.js +1 -0
  461. package/dist/tet-components/p-25c9957d.js +1 -0
  462. package/dist/tet-components/p-29268caf.entry.js +1 -0
  463. package/dist/tet-components/{p-8f545d45.entry.js → p-29b1a959.entry.js} +1 -1
  464. package/dist/tet-components/p-2a0bbc16.js +1 -0
  465. package/dist/tet-components/p-2a346803.entry.js +1 -0
  466. package/dist/tet-components/p-300dcb5e.entry.js +1 -0
  467. package/dist/tet-components/{p-1a89919e.entry.js → p-30677f37.entry.js} +1 -1
  468. package/dist/tet-components/p-30f27049.entry.js +1 -0
  469. package/dist/tet-components/p-316f0d93.entry.js +1 -0
  470. package/dist/tet-components/{p-66dd0ede.entry.js → p-39153b16.entry.js} +1 -1
  471. package/dist/tet-components/p-3b5c1dfc.entry.js +1 -0
  472. package/dist/tet-components/p-3f630a8d.entry.js +1 -0
  473. package/dist/tet-components/p-446f550d.entry.js +1 -0
  474. package/dist/tet-components/{p-a07cada6.entry.js → p-44827a7f.entry.js} +1 -1
  475. package/dist/tet-components/p-47f100fa.entry.js +1 -0
  476. package/dist/tet-components/{p-9b027102.entry.js → p-4b4626ec.entry.js} +1 -1
  477. package/dist/tet-components/p-4e4095c1.js +1 -0
  478. package/dist/tet-components/{p-46e5b573.entry.js → p-50479341.entry.js} +1 -1
  479. package/dist/tet-components/p-536dd157.entry.js +1 -0
  480. package/dist/tet-components/{p-ecff869b.entry.js → p-56b8b4ec.entry.js} +1 -1
  481. package/dist/tet-components/p-56d32115.entry.js +1 -0
  482. package/dist/tet-components/p-5d2f0c13.entry.js +1 -0
  483. package/dist/tet-components/p-618e8591.entry.js +1 -0
  484. package/dist/tet-components/p-63a909de.entry.js +1 -0
  485. package/dist/tet-components/p-63b83c11.entry.js +1 -0
  486. package/dist/tet-components/p-641f4ab5.entry.js +1 -0
  487. package/dist/tet-components/p-6d468c83.entry.js +1 -0
  488. package/dist/tet-components/{p-e263ecdf.js → p-6d681c43.js} +1 -1
  489. package/dist/tet-components/p-72082f3b.entry.js +1 -0
  490. package/dist/tet-components/{p-7a04bcd7.entry.js → p-739d3344.entry.js} +1 -1
  491. package/dist/tet-components/p-77d8a2a5.entry.js +1 -0
  492. package/dist/tet-components/p-77dea317.entry.js +1 -0
  493. package/dist/tet-components/p-78eb86ff.entry.js +1 -0
  494. package/dist/tet-components/p-7b91c3d4.entry.js +1 -0
  495. package/dist/tet-components/{p-f9a1fbb2.entry.js → p-7f520852.entry.js} +1 -1
  496. package/dist/tet-components/p-8254455b.entry.js +1 -0
  497. package/dist/tet-components/p-87be3264.entry.js +1 -0
  498. package/dist/tet-components/{p-918e4e84.entry.js → p-87f36453.entry.js} +1 -1
  499. package/dist/tet-components/p-88c9ef00.entry.js +1 -0
  500. package/dist/tet-components/{p-de142575.js → p-88f7bb98.js} +1 -1
  501. package/dist/tet-components/p-89ae73f2.entry.js +1 -0
  502. package/dist/tet-components/p-8aecb130.entry.js +1 -0
  503. package/dist/tet-components/{p-77372984.js → p-90205e46.js} +1 -1
  504. package/dist/tet-components/p-9081ba98.entry.js +1 -0
  505. package/dist/tet-components/{p-b680d126.entry.js → p-90ef663e.entry.js} +1 -1
  506. package/dist/tet-components/p-93e2d958.entry.js +1 -0
  507. package/dist/tet-components/p-9464cc18.entry.js +1 -0
  508. package/dist/tet-components/{p-bb9f1a6f.entry.js → p-988b6712.entry.js} +1 -1
  509. package/dist/tet-components/p-98f93bec.entry.js +1 -0
  510. package/dist/tet-components/p-9a2b6ee2.js +1 -0
  511. package/dist/tet-components/{p-8c964cca.js → p-9af9c5e3.js} +2 -2
  512. package/dist/tet-components/p-9c188d1b.entry.js +1 -0
  513. package/dist/tet-components/p-a263681d.entry.js +1 -0
  514. package/dist/tet-components/{p-8b405467.entry.js → p-a43badd1.entry.js} +1 -1
  515. package/dist/tet-components/{p-775aa778.entry.js → p-a77b7388.entry.js} +1 -1
  516. package/dist/tet-components/p-ad14115e.entry.js +1 -0
  517. package/dist/tet-components/{p-36d2a380.entry.js → p-af82e64e.entry.js} +1 -1
  518. package/dist/tet-components/p-b47e0d55.entry.js +1 -0
  519. package/dist/tet-components/p-b4b92f9b.js +2 -0
  520. package/dist/tet-components/p-b9359fea.entry.js +1 -0
  521. package/dist/tet-components/p-ba494985.entry.js +1 -0
  522. package/dist/tet-components/p-bda2a644.entry.js +1 -0
  523. package/dist/tet-components/{p-bc16c07b.js → p-c2a00b6a.js} +1 -1
  524. package/dist/tet-components/p-c3d9064d.entry.js +1 -0
  525. package/dist/tet-components/{p-a9ed4e2b.entry.js → p-c61ef9e0.entry.js} +1 -1
  526. package/dist/tet-components/p-c6818401.entry.js +1 -0
  527. package/dist/tet-components/{p-ed67bd52.entry.js → p-c7830c8a.entry.js} +1 -1
  528. package/dist/tet-components/p-c7e4365a.entry.js +1 -0
  529. package/dist/tet-components/{p-9f1a810e.entry.js → p-c88cdf25.entry.js} +1 -1
  530. package/dist/tet-components/p-c9cdf98c.js +1 -0
  531. package/dist/tet-components/p-cba8d001.js +1 -0
  532. package/dist/tet-components/p-ce271068.entry.js +1 -0
  533. package/dist/tet-components/p-d55c2f9e.entry.js +1 -0
  534. package/dist/tet-components/p-db090557.entry.js +1 -0
  535. package/dist/tet-components/p-df542648.entry.js +1 -0
  536. package/dist/tet-components/p-e11eb73d.entry.js +1 -0
  537. package/dist/tet-components/{p-49122f6a.entry.js → p-e6fea049.entry.js} +1 -1
  538. package/dist/tet-components/p-e87226cb.entry.js +1 -0
  539. package/dist/tet-components/{p-b2b384d2.js → p-ec1c990e.js} +1 -1
  540. package/dist/tet-components/p-ec892e18.entry.js +1 -0
  541. package/dist/tet-components/p-ede893e6.entry.js +1 -0
  542. package/dist/tet-components/p-eefc4f3d.entry.js +1 -0
  543. package/dist/tet-components/{p-44d068ac.entry.js → p-efa6f09b.entry.js} +1 -1
  544. package/dist/tet-components/p-f6f98ea9.entry.js +1 -0
  545. package/dist/tet-components/{p-5c86ad42.entry.js → p-fca864a8.entry.js} +1 -1
  546. package/dist/tet-components/{p-f023f124.entry.js → p-ffd1a0d9.entry.js} +1 -1
  547. package/dist/tet-components/tet-components.esm.js +1 -1
  548. package/dist/types/components/advanced/address/tet-autocomplete/tet-autocomplete.d.ts +3 -2
  549. package/dist/types/components.d.ts +0 -8
  550. package/dist/types/stencil-public-runtime.d.ts +3 -10
  551. package/loader/cdn.js +1 -3
  552. package/loader/index.cjs.js +1 -3
  553. package/loader/index.d.ts +3 -0
  554. package/loader/index.es2017.js +1 -3
  555. package/loader/index.js +1 -3
  556. package/package.json +6 -12
  557. package/dist/cjs/compare-cards-tab-products-filters-58410792.js +0 -99
  558. package/dist/collection/components/advanced/address/tet-address-offers-filters/address-offers-filters.spec.js +0 -105
  559. package/dist/collection/components/advanced/address/tet-address-offers-filters/test/tet-address-offers-filters.spec.js +0 -23
  560. package/dist/collection/components/advanced/address/tet-address-offers-filters-products/test/tet-address-offers-filters-products.spec.js +0 -23
  561. package/dist/collection/components/advanced/address/tet-autocomplete/test/tet-autocomplete.spec.js +0 -110
  562. package/dist/collection/components/advanced/cards/tet-b2b-compare-card/test/tet-b2b-compare-card.spec.js +0 -86
  563. package/dist/collection/components/advanced/cards/tet-card-list/test/tet-card-list.spec.js +0 -69
  564. package/dist/collection/components/advanced/cards/tet-compare-card/test/tet-compare-card.spec.js +0 -292
  565. package/dist/collection/components/advanced/cards/tet-compare-card-v2/test/tet-compare-card-v2.spec.js +0 -40
  566. package/dist/collection/components/advanced/cards/tet-compare-cards/test/tet-compare-cards.spec.js +0 -65
  567. package/dist/collection/components/advanced/cards/tet-compare-cards-tab/test/tet-compare-cards-tab.spec.js +0 -399
  568. package/dist/collection/components/advanced/customer/tet-asset-addresses/test/tet-asset-addresses.spec.js +0 -30
  569. package/dist/collection/components/advanced/customer/tet-asset-availability-addresses/test/tet-asset-availability-addresses.spec.js +0 -30
  570. package/dist/collection/components/advanced/customer/tet-referral/test/tet-referral.spec.js +0 -85
  571. package/dist/collection/components/advanced/dialog/tet-multi-step-dialog/test/tet-multi-step-dialog.spec.js +0 -53
  572. package/dist/collection/components/advanced/forms/tet-availability-contact-form/test/tet-availability-contact-form.spec.js +0 -35
  573. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-block/test/tet-tv-gift-block.spec.js +0 -61
  574. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-list/test/tet-tv-gift-list.spec.js +0 -55
  575. package/dist/collection/components/basic/buttons/tet-button/test/tet-button.spec.js +0 -131
  576. package/dist/collection/components/basic/buttons/tet-checkbox/test/tet-checkbox.spec.js +0 -28
  577. package/dist/collection/components/basic/buttons/tet-radio/test/tet-radio.spec.js +0 -26
  578. package/dist/collection/components/basic/buttons/tet-switch/test/tet-switch.spec.js +0 -27
  579. package/dist/collection/components/basic/buttons/tet-tabs/test/tet-tab-content.spec.js +0 -35
  580. package/dist/collection/components/basic/buttons/tet-tabs/test/tet-tab-header.spec.js +0 -42
  581. package/dist/collection/components/basic/buttons/tet-tag/test/tet-tag.spec.js +0 -76
  582. package/dist/collection/components/basic/buttons/tet-tag-group/test/tet-tag-group.spec.js +0 -92
  583. package/dist/collection/components/basic/carousel/tet-carousel/test/tet-carousel.spec.js +0 -63
  584. package/dist/collection/components/basic/container/tet-container/test/tet-container.spec.js +0 -50
  585. package/dist/collection/components/basic/loaders/tet-loader/test/tet-loader.spec.js +0 -19
  586. package/dist/collection/components/basic/loaders/tet-placeholder/test/tet-placeholder.spec.js +0 -19
  587. package/dist/collection/components/basic/loaders/tet-spinner/test/tet-spinner.spec.js +0 -52
  588. package/dist/collection/components/basic/steppers/tet-business-round-stepper/test/tet-business-round-stepper.spec.js +0 -82
  589. package/dist/collection/components/basic/steppers/tet-round-stepper/test/tet-round-stepper.spec.js +0 -78
  590. package/dist/collection/components/basic/steppers/tet-stepper/test/tet-stepper.spec.js +0 -110
  591. package/dist/collection/components/basic/steppers/tet-stepper-v2/test/tet-stepper-v2.spec.js +0 -136
  592. package/dist/collection/components/basic/steppers/tet-stepper-v3/test/tet-stepper-v3.spec.js +0 -135
  593. package/dist/collection/components/simple/inputs/tet-dropdown/test/tet-dropdown.spec.js +0 -122
  594. package/dist/collection/components/simple/inputs/tet-input/test/tet-input.spec.js +0 -110
  595. package/dist/collection/components/simple/inputs/tet-range-slider/test/tet-range-slider.spec.js +0 -145
  596. package/dist/collection/components/simple/lists/tet-news-card-list/test/tet-news-card-list.spec.js +0 -111
  597. package/dist/collection/components/simple/lists/tet-selection-list/test/tet-selection-list.spec.js +0 -64
  598. package/dist/collection/components/simple/lists/tet-text-list/test/tet-text-list.spec.js +0 -171
  599. package/dist/collection/components/simple/menu/tet-menu/test/tet-menu.spec.js +0 -231
  600. package/dist/collection/components/simple/menu/tet-menu-mobile/test/tet-menu-mobile.spec.js +0 -87
  601. package/dist/collection/components/simple/menu/tet-navigation-mobile/test/tet-navigation-mobile.spec.js +0 -81
  602. package/dist/collection/components/simple/structural/tet-accordion/test/tet-accordion.spec.js +0 -108
  603. package/dist/collection/components/simple/structural/tet-expansion-panel/test/tet-expansion-panel.spec.js +0 -42
  604. package/dist/collection/components/simple/tables-and-graphs/tet-bar-graph/test/tet-bar-graph.spec.js +0 -85
  605. package/dist/collection/components/simple/tables-and-graphs/tet-table/test/tet-table.spec.js +0 -360
  606. package/dist/collection/components/simple/text-blocks/tet-dialog/test/tet-dialog.spec.js +0 -84
  607. package/dist/collection/components/simple/text-blocks/tet-inline-message/test/tet-inline-message.spec.js +0 -22
  608. package/dist/collection/components/simple/text-blocks/tet-notification/test/tet-notification.spec.js +0 -88
  609. package/dist/collection/components/simple/text-blocks/tet-tooltip/test/tet-tooltip.spec.js +0 -79
  610. package/dist/collection/components/views/tet-b2b-configurator/partials/tet-b2b-configurator-cart/test/tet-b2b-configurator-cart.spec.js +0 -50
  611. package/dist/collection/components/views/tet-b2b-configurator/test/tet-b2b-configurator.spec.js +0 -136
  612. package/dist/collection/components/views/tet-business-lines/test/tet-business-lines.spec.js +0 -23
  613. package/dist/collection/components/views/tet-contact-info/test/tet-contact-info.spec.js +0 -44
  614. package/dist/collection/components/views/tet-macd-view/test/tet-macd-view.spec.js +0 -498
  615. package/dist/collection/components/views/tet-price-view/test/tet-price-view.spec.js +0 -98
  616. package/dist/collection/components/views/tet-thank-you-view/test/tet-thank-you-view.spec.js +0 -275
  617. package/dist/collection/components/views/tet-thank-you-view-v2/test/tet-thank-you-view-v2.spec.js +0 -175
  618. package/dist/collection/components/views/tet-thank-you-view-v3/test/tet-thank-you-view-v3.spec.js +0 -175
  619. package/dist/collection/services/api/async-request.spec.js +0 -37
  620. package/dist/collection/services/api/request.spec.js +0 -32
  621. package/dist/collection/services/api/services/address.spec.js +0 -39
  622. package/dist/collection/services/api/services/catalog/product-comparison.spec.js +0 -22
  623. package/dist/collection/services/api/services/components/component-data.spec.js +0 -20
  624. package/dist/collection/services/api/services/customer/assets.spec.js +0 -25
  625. package/dist/collection/services/api/services/customer/query.spec.js +0 -25
  626. package/dist/collection/services/api/services/macd/macd.spec.js +0 -91
  627. package/dist/collection/services/api/services/operations/operations.spec.js +0 -19
  628. package/dist/collection/services/api/services/tasks.spec.js +0 -25
  629. package/dist/collection/services/api/services/translations.spec.js +0 -20
  630. package/dist/collection/services/products/product-codes.spec.js +0 -11
  631. package/dist/collection/services/translations/translations.spec.js +0 -30
  632. package/dist/collection/services/url/build-url-params.spec.js +0 -11
  633. package/dist/collection/services/url/url.spec.js +0 -16
  634. package/dist/collection/services/utils/array.spec.js +0 -10
  635. package/dist/collection/services/utils/debounce.spec.js +0 -19
  636. package/dist/collection/services/utils/execute-until.spec.js +0 -10
  637. package/dist/collection/services/utils/inertia-scroll.spec.js +0 -56
  638. package/dist/collection/services/utils/isFocusableElementOrChild.spec.js +0 -67
  639. package/dist/collection/services/utils/object.spec.js +0 -84
  640. package/dist/collection/services/utils/price.spec.js +0 -18
  641. package/dist/collection/services/utils/random.spec.js +0 -10
  642. package/dist/collection/services/utils/reactive.spec.js +0 -15
  643. package/dist/collection/services/utils/size.spec.js +0 -13
  644. package/dist/collection/services/utils/string.spec.js +0 -9
  645. package/dist/collection/services/utils/throttle.spec.js +0 -32
  646. package/dist/collection/services/utils/typecheck.spec.js +0 -49
  647. package/dist/collection/services/validators/validator-group.spec.js +0 -30
  648. package/dist/collection/services/validators/validators/e-mail.spec.js +0 -20
  649. package/dist/collection/services/validators/validators/phone.spec.js +0 -23
  650. package/dist/collection/services/validators/validators/required.spec.js +0 -16
  651. package/dist/components/p-8e19c5da.js +0 -857
  652. package/dist/components/p-e34bf267.js +0 -170
  653. package/dist/esm/compare-cards-tab-products-filters-f0fa0712.js +0 -97
  654. package/dist/esm/polyfills/core-js.js +0 -11
  655. package/dist/esm/polyfills/dom.js +0 -79
  656. package/dist/esm/polyfills/es5-html-element.js +0 -1
  657. package/dist/esm/polyfills/index.js +0 -34
  658. package/dist/esm/polyfills/system.js +0 -6
  659. package/dist/tet-components/p-021268b7.entry.js +0 -1
  660. package/dist/tet-components/p-02e548d5.entry.js +0 -1
  661. package/dist/tet-components/p-06bf08a4.entry.js +0 -1
  662. package/dist/tet-components/p-0738afc0.entry.js +0 -1
  663. package/dist/tet-components/p-1b797a96.entry.js +0 -1
  664. package/dist/tet-components/p-1be23b32.entry.js +0 -1
  665. package/dist/tet-components/p-1e840eca.entry.js +0 -1
  666. package/dist/tet-components/p-1ec7f341.js +0 -2
  667. package/dist/tet-components/p-2e870f4d.entry.js +0 -1
  668. package/dist/tet-components/p-2f029068.entry.js +0 -1
  669. package/dist/tet-components/p-34ed0dd7.entry.js +0 -1
  670. package/dist/tet-components/p-3604bf21.entry.js +0 -1
  671. package/dist/tet-components/p-3d2dc872.entry.js +0 -1
  672. package/dist/tet-components/p-48bd3f87.entry.js +0 -1
  673. package/dist/tet-components/p-4e3c6172.entry.js +0 -1
  674. package/dist/tet-components/p-4e917b52.entry.js +0 -1
  675. package/dist/tet-components/p-511680d5.entry.js +0 -1
  676. package/dist/tet-components/p-5d920c98.entry.js +0 -1
  677. package/dist/tet-components/p-618134c3.entry.js +0 -1
  678. package/dist/tet-components/p-695cdc78.entry.js +0 -1
  679. package/dist/tet-components/p-6a5eca28.js +0 -1
  680. package/dist/tet-components/p-71cbde0c.entry.js +0 -1
  681. package/dist/tet-components/p-7751035d.entry.js +0 -1
  682. package/dist/tet-components/p-78014763.entry.js +0 -1
  683. package/dist/tet-components/p-78a0c398.entry.js +0 -1
  684. package/dist/tet-components/p-79255c00.entry.js +0 -1
  685. package/dist/tet-components/p-805c9ef3.entry.js +0 -1
  686. package/dist/tet-components/p-88885ba1.entry.js +0 -1
  687. package/dist/tet-components/p-8a6831bc.entry.js +0 -1
  688. package/dist/tet-components/p-8c7c6590.entry.js +0 -1
  689. package/dist/tet-components/p-8c89d1f5.entry.js +0 -1
  690. package/dist/tet-components/p-8d644f8b.entry.js +0 -1
  691. package/dist/tet-components/p-9102c6d9.entry.js +0 -1
  692. package/dist/tet-components/p-977ea27a.entry.js +0 -1
  693. package/dist/tet-components/p-9a5b8dbc.entry.js +0 -1
  694. package/dist/tet-components/p-a15d2b6a.entry.js +0 -1
  695. package/dist/tet-components/p-a549f1dd.entry.js +0 -1
  696. package/dist/tet-components/p-a8030923.entry.js +0 -1
  697. package/dist/tet-components/p-aff1e911.entry.js +0 -1
  698. package/dist/tet-components/p-b0112dde.entry.js +0 -1
  699. package/dist/tet-components/p-b14b8531.entry.js +0 -1
  700. package/dist/tet-components/p-bc2e65ab.entry.js +0 -1
  701. package/dist/tet-components/p-bfa02c13.entry.js +0 -1
  702. package/dist/tet-components/p-c4a95bbe.entry.js +0 -1
  703. package/dist/tet-components/p-c4ed060b.entry.js +0 -1
  704. package/dist/tet-components/p-ca66b4b1.js +0 -1
  705. package/dist/tet-components/p-cf7d5c84.js +0 -1
  706. package/dist/tet-components/p-d0d6a340.js +0 -1
  707. package/dist/tet-components/p-d2919aae.js +0 -1
  708. package/dist/tet-components/p-d795f9c3.entry.js +0 -1
  709. package/dist/tet-components/p-dc12dee9.entry.js +0 -1
  710. package/dist/tet-components/p-dcbe09b5.js +0 -1
  711. package/dist/tet-components/p-de040767.entry.js +0 -1
  712. package/dist/tet-components/p-de4c32ee.entry.js +0 -1
  713. package/dist/tet-components/p-e423fe76.entry.js +0 -1
  714. package/dist/tet-components/p-e69056de.entry.js +0 -1
  715. package/dist/tet-components/p-e86164ef.entry.js +0 -1
  716. package/dist/tet-components/p-eb66d7b2.js +0 -1
  717. package/dist/tet-components/p-ecbfde88.entry.js +0 -1
  718. package/dist/tet-components/p-ed4b8bbe.entry.js +0 -1
  719. package/dist/tet-components/p-eed7244f.entry.js +0 -1
  720. package/dist/tet-components/p-f48500fd.entry.js +0 -1
  721. package/dist/tet-components/p-fab4ab39.entry.js +0 -1
  722. package/dist/tet-components/p-fd4131ad.entry.js +0 -1
@@ -8,340 +8,6 @@ import { getConvertedPixels, InertiaScroll } from "../../../../services/utils/in
8
8
  */
9
9
  export class TetCardList {
10
10
  constructor() {
11
- /**
12
- * The arrays containing cloned content elements.
13
- */
14
- this.virtualScrollPrependClones = [];
15
- this.virtualScrollAppendClones = [];
16
- /**
17
- * Stores the content scroll and pointer positions for use with pointer events.
18
- */
19
- this.scrollDetails = null;
20
- /**
21
- * Stores the `element` left and width values to limit html reflows.
22
- */
23
- this.dimensions = { element: { left: 0, width: 0 } };
24
- /**
25
- * The css gap value set between elements.
26
- */
27
- this.elementGap = 16;
28
- /**
29
- * Determines if the content is currently being scrolled.
30
- */
31
- this.isScrolling = false;
32
- /**
33
- * Scrolls the element to the horizontal center of the viewport.
34
- * @param querySelector The query selector of the element that will be scrolled to the center of view.
35
- * @param isSmooth determines whether the scroll should be animated.
36
- * @param isQuiet determines wheter scroll events should be triggered.
37
- */
38
- this.scrollToElementCenter = async (querySelector, isSmooth = true, isQuiet = false) => {
39
- let childNodes = Array.from(this.element.children);
40
- if (this.withVirtualScroll) {
41
- childNodes = Array.from(this.element.querySelectorAll('[data-id]'));
42
- }
43
- const elementToCenter = childNodes.find(childNode => childNode.matches(querySelector));
44
- if (elementToCenter === null || elementToCenter === undefined) {
45
- return;
46
- }
47
- await this.inertialScroll.scrollToElement(elementToCenter, isSmooth, isQuiet);
48
- if (this.withOverflowOpacity) {
49
- this.updateChildElementOverflowOpacity();
50
- }
51
- };
52
- /**
53
- * Calculates the width of the scroll thumb in percentage relative to the content. Sets up the
54
- * width parameters of the scroll thumb.
55
- */
56
- this.setupScrollbar = () => {
57
- const { currentScroll } = this.inertialScroll;
58
- this.scrollThumbWidth =
59
- (this.scrollContainerRef.clientWidth / (currentScroll.scrollWidth + this.scrollContainerRef.clientWidth)) * 100;
60
- if (this.scrollbarRef === undefined) {
61
- return;
62
- }
63
- this.scrollbarRef.style.width = `${this.scrollThumbWidth}%`;
64
- this.scrollbarRef.style.left = `${this.currentScrollbarScroll}%`;
65
- };
66
- /**
67
- * Prevents the event if scrolling is disabled.
68
- * @param event Event
69
- */
70
- this.handleDisableScroll = (event) => {
71
- if (!this.disableScroll) {
72
- return;
73
- }
74
- event.preventDefault();
75
- };
76
- /**
77
- * The scroll event handler. Updates the card item classes as they are scrolled out of view.
78
- * Updates the control element classes as the content scroll reaches either end of the scroll.
79
- * Updates the position of the visual scrollbar thumb element.
80
- */
81
- this.handleScroll = () => {
82
- this.cardScroll.emit({
83
- totalAvailableScrollWidth: this.scrollDetails.scrollWidth,
84
- currentScroll: this.scrollDetails.scrollLeft,
85
- });
86
- const elementChildren = Array.from(this.element.children);
87
- if (this.withActiveElement) {
88
- const activeClone = elementChildren.find(element => element.attributes['data-clone-id'] && element.classList.contains(this.activeElementClass));
89
- if (activeClone !== undefined) {
90
- activeClone.classList.remove(this.activeElementClass);
91
- const cloneOffset = activeClone.getBoundingClientRect().left;
92
- const activeOriginal = elementChildren.find(element => element.classList.contains(this.activeElementClass));
93
- if (activeOriginal !== undefined) {
94
- const originalOffset = activeOriginal.getBoundingClientRect().left;
95
- const scrollDelta = cloneOffset - originalOffset;
96
- this.inertialScroll.scrollTo({ left: this.scrollDetails.scrollLeft - scrollDelta }, true);
97
- this.updateChildElementOverflowOpacity();
98
- }
99
- }
100
- this.setActiveCenteredElement();
101
- }
102
- if (this.withVirtualScroll) {
103
- this.moveElements();
104
- this.updateChildElementOverflowOpacity();
105
- }
106
- };
107
- /**
108
- * Handles toggling of the `activeElementClass` on elements during pointer drag events.
109
- */
110
- this.setActiveCenteredElement = () => {
111
- let isScrollRight = this.scrollDetails.scrollSpeed > 0;
112
- let isScrollLeft = this.scrollDetails.scrollSpeed < 0;
113
- const elementChildren = Array.from(this.element.children);
114
- const elementPositions = elementChildren.map(child => child.getBoundingClientRect());
115
- const elementRect = this.element.getBoundingClientRect();
116
- /** Determine the center point of the bounding element */
117
- const centerPoint = elementRect.width / 2 + elementRect.left;
118
- /** Determine the index of the child card overlapping with the `centerPoint` */
119
- let centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width >= centerPoint);
120
- /** Set index to the first element in case list is scrolled to the start */
121
- if (centeredElementIndex === 1 && isScrollLeft && this.scrollDetails.scrollLeft === 0) {
122
- centeredElementIndex = 0;
123
- }
124
- /** Set index to the last element in case list is scrolled to the end */
125
- if (centeredElementIndex === elementPositions.length - 2 &&
126
- isScrollRight &&
127
- this.scrollDetails.scrollLeft + this.scrollContainerRef.getBoundingClientRect().width >=
128
- this.scrollDetails.scrollWidth) {
129
- centeredElementIndex = elementPositions.length - 1;
130
- }
131
- /** Calculate the index of the next element in case `centerPoint` is in between two elements */
132
- if (centeredElementIndex === -1) {
133
- if (isScrollRight) {
134
- centeredElementIndex = elementPositions.findIndex(element => element.left - this.elementGap <= centerPoint && element.left + element.width >= centerPoint);
135
- }
136
- if (isScrollLeft) {
137
- centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width + this.elementGap >= centerPoint);
138
- }
139
- }
140
- const currentActiveElements = elementChildren.filter(element => element.classList.contains(this.activeElementClass));
141
- currentActiveElements.forEach(element => element.classList.remove(this.activeElementClass));
142
- const nextElement = elementChildren[centeredElementIndex];
143
- if (this.withVirtualScroll && (nextElement === null || nextElement === void 0 ? void 0 : nextElement.hasAttribute('data-clone-id'))) {
144
- const nextOriginalElement = elementChildren.find(element => { var _a; return ((_a = element.attributes['data-id']) === null || _a === void 0 ? void 0 : _a.value) === nextElement.getAttribute('data-clone-id'); });
145
- nextOriginalElement.classList.add(this.activeElementClass);
146
- }
147
- if (nextElement !== undefined) {
148
- nextElement.classList.add(this.activeElementClass);
149
- }
150
- this.updateControlVisibility();
151
- };
152
- /**
153
- * Shifts the elements and scroll position.
154
- * Gets the first and the last of the original elements and shifts both the original
155
- * and the cloned elements depending on the scroll direction.
156
- * Updates the currently set scroll values to hide the shift of the elements.
157
- */
158
- this.moveElements = () => {
159
- var _a, _b;
160
- if (!this.withVirtualScroll) {
161
- return;
162
- }
163
- const { width, left } = this.dimensions.element;
164
- const firstOriginalElement = this.getFirstOriginal();
165
- const lastOriginalElement = this.getLastOriginal();
166
- const firstOriginalRect = firstOriginalElement.getBoundingClientRect();
167
- const lastOriginalRect = lastOriginalElement.getBoundingClientRect();
168
- const lastOriginalRight = lastOriginalRect.right - left;
169
- const isLastOriginalInViewport = lastOriginalRight < width;
170
- if (isLastOriginalInViewport && ((_a = this.scrollDetails) === null || _a === void 0 ? void 0 : _a.scrollSpeed) < 0) {
171
- const movedElementDataId = parseInt(firstOriginalElement.getAttribute('data-id'), 10);
172
- const positionDelta = firstOriginalRect.width + this.elementGap;
173
- const secondOriginalElement = firstOriginalElement.nextElementSibling;
174
- this.inertialScroll.scrollBy({ left: -positionDelta }, true);
175
- lastOriginalElement.insertAdjacentElement('afterend', firstOriginalElement);
176
- secondOriginalElement.insertAdjacentElement('beforebegin', this.virtualScrollPrependClones[movedElementDataId]);
177
- this.element.insertAdjacentElement('beforeend', this.virtualScrollAppendClones[movedElementDataId]);
178
- }
179
- const firstOriginalLeft = firstOriginalRect.left - left;
180
- const isFirstOriginalInViewport = firstOriginalLeft > 0;
181
- if (isFirstOriginalInViewport && ((_b = this.scrollDetails) === null || _b === void 0 ? void 0 : _b.scrollSpeed) > 0) {
182
- const secondToLastElement = lastOriginalElement.previousElementSibling;
183
- const positionDelta = lastOriginalRect.width + this.elementGap;
184
- const movedElementDataId = parseInt(lastOriginalElement.getAttribute('data-id'), 10);
185
- this.inertialScroll.scrollBy({ left: positionDelta }, true);
186
- firstOriginalElement.insertAdjacentElement('beforebegin', lastOriginalElement);
187
- secondToLastElement.insertAdjacentElement('afterend', this.virtualScrollAppendClones[movedElementDataId]);
188
- this.element.insertAdjacentElement('afterbegin', this.virtualScrollPrependClones[movedElementDataId]);
189
- }
190
- };
191
- /**
192
- * Stops event propagation bubbling to the `contentElement`
193
- * @param event PointerEvent
194
- */
195
- this.handleControlPointerDown = (event) => {
196
- event.preventDefault();
197
- event.stopPropagation();
198
- event.stopImmediatePropagation();
199
- };
200
- /**
201
- * Handles the left control click.
202
- */
203
- this.handleLeftControl = async () => {
204
- if (this.isScrolling) {
205
- return;
206
- }
207
- this.isScrolling = true;
208
- if (this.withActiveElement) {
209
- const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
210
- let previousElement = currentActive.previousElementSibling;
211
- if (previousElement === null) {
212
- return;
213
- }
214
- currentActive.classList.remove(this.activeElementClass);
215
- if (previousElement.hasAttribute('data-clone-id')) {
216
- this.scrollDetails.scrollSpeed = 1;
217
- this.moveElements();
218
- previousElement = currentActive.previousElementSibling;
219
- if (this.withOverflowOpacity) {
220
- this.updateChildElementOverflowOpacity();
221
- }
222
- }
223
- previousElement.classList.add(this.activeElementClass);
224
- await this.scrollToElementCenter(`.${this.activeElementClass}`);
225
- this.moveElements();
226
- this.updateControlVisibility();
227
- }
228
- else if (this.scrollFullWidth) {
229
- const scrollRect = this.scrollContainerRef.getBoundingClientRect();
230
- const scrollWidth = scrollRect.width;
231
- const scrollStart = scrollRect.left;
232
- const firstElement = Array.from(this.element.children).find(child => {
233
- const childRect = child.getBoundingClientRect();
234
- return childRect.left < scrollStart && childRect.right + this.elementGap > scrollStart;
235
- });
236
- if (firstElement !== undefined) {
237
- const firstElementRight = firstElement.getBoundingClientRect().right;
238
- const scrollEnd = scrollRect.left + scrollWidth;
239
- await this.inertialScroll.scrollBy({ left: -(scrollEnd - firstElementRight), behavior: 'smooth' });
240
- }
241
- else {
242
- await this.inertialScroll.scrollBy({ left: -scrollWidth, behavior: 'smooth' });
243
- }
244
- }
245
- else {
246
- await this.inertialScroll.scrollBy({ left: -this.controlScrollAmount, behavior: 'smooth' });
247
- }
248
- this.isScrolling = false;
249
- };
250
- /**
251
- * Handles the right control click.
252
- */
253
- this.handleRightControl = async () => {
254
- if (this.isScrolling) {
255
- return;
256
- }
257
- this.isScrolling = true;
258
- if (this.withActiveElement) {
259
- const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
260
- let nextElement = currentActive.nextElementSibling;
261
- if (nextElement === null) {
262
- return;
263
- }
264
- currentActive.classList.remove(this.activeElementClass);
265
- if (nextElement.hasAttribute('data-clone-id')) {
266
- this.scrollDetails.scrollSpeed = -1;
267
- this.moveElements();
268
- nextElement = currentActive.nextElementSibling;
269
- if (this.withOverflowOpacity) {
270
- this.updateChildElementOverflowOpacity();
271
- }
272
- }
273
- nextElement.classList.add(this.activeElementClass);
274
- await this.scrollToElementCenter(`.${this.activeElementClass}`);
275
- this.moveElements();
276
- this.updateControlVisibility();
277
- }
278
- else if (this.scrollFullWidth) {
279
- const scrollRect = this.scrollContainerRef.getBoundingClientRect();
280
- const scrollWidth = scrollRect.width;
281
- const scrollEnd = scrollWidth + scrollRect.left;
282
- const lastElement = Array.from(this.element.children).find(child => {
283
- const childRect = child.getBoundingClientRect();
284
- return childRect.left - this.elementGap < scrollEnd && childRect.right > scrollEnd;
285
- });
286
- if (lastElement !== undefined) {
287
- const lastElementLeft = lastElement.getBoundingClientRect().left;
288
- const scrollStart = scrollRect.left;
289
- await this.inertialScroll.scrollBy({ left: lastElementLeft - scrollStart, behavior: 'smooth' });
290
- }
291
- else {
292
- await this.inertialScroll.scrollBy({ left: scrollWidth, behavior: 'smooth' });
293
- }
294
- }
295
- else {
296
- await this.inertialScroll.scrollBy({ left: this.controlScrollAmount, behavior: 'smooth' });
297
- }
298
- this.isScrolling = false;
299
- };
300
- /**
301
- * Handles the keyup event on the right control.
302
- * If the key is "Enter" or "Space", will trigger navigation to the next card.
303
- * @param e - The keyboard event object.
304
- */
305
- this.handleRightControlKeyUp = (e) => {
306
- if (e.key === ' ' || e.key === 'Enter') {
307
- this.handleRightControl();
308
- }
309
- };
310
- /**
311
- * Handles the keyup event on the left control.
312
- * If the key is "Enter" or "Space", will trigger navigation to the previous card.
313
- * @param e - The keyboard event object.
314
- */
315
- this.handleLeftControlKeyUp = (e) => {
316
- if (e.key === ' ' || e.key === 'Enter') {
317
- this.handleLeftControl();
318
- }
319
- };
320
- /**
321
- * Updates the visibility of the control element.
322
- */
323
- this.updateControlVisibility = (scroll = this.scrollDetails) => {
324
- let controlVisibility = {
325
- left: false,
326
- right: false,
327
- };
328
- if (this.withControls) {
329
- if (scroll === null) {
330
- controlVisibility = {
331
- left: false,
332
- right: true,
333
- };
334
- }
335
- else {
336
- controlVisibility.left = scroll.scrollLeft - 1 <= 0 ? false : true;
337
- controlVisibility.right = scroll.scrollLeft >= scroll.scrollWidth ? false : true;
338
- }
339
- }
340
- // Only update if there are changes.
341
- if (JSON.stringify(controlVisibility) !== JSON.stringify(this.controlVisibility)) {
342
- this.controlVisibility = controlVisibility;
343
- }
344
- };
345
11
  this.controlVisibility = { left: true, right: true };
346
12
  this.scrollThumbWidth = 0;
347
13
  this.isSmallContainer = false;
@@ -362,6 +28,48 @@ export class TetCardList {
362
28
  this.iconPrev = '';
363
29
  this.iconNext = '';
364
30
  }
31
+ inertialScroll;
32
+ /**
33
+ * The DOM root component element.
34
+ */
35
+ element;
36
+ /**
37
+ * The DOM element of the scrollable content container.
38
+ */
39
+ scrollContainerRef;
40
+ /**
41
+ * The DOM element of the scroll thumb.
42
+ */
43
+ scrollbarRef;
44
+ /**
45
+ * The arrays containing cloned content elements.
46
+ */
47
+ virtualScrollPrependClones = [];
48
+ virtualScrollAppendClones = [];
49
+ /**
50
+ * Stores the content scroll and pointer positions for use with pointer events.
51
+ */
52
+ scrollDetails = null;
53
+ /**
54
+ * Stores the `element` left and width values to limit html reflows.
55
+ */
56
+ dimensions = { element: { left: 0, width: 0 } };
57
+ /**
58
+ * The css gap value set between elements.
59
+ */
60
+ elementGap = 16;
61
+ /**
62
+ * Determines if the content is currently being scrolled.
63
+ */
64
+ isScrolling = false;
65
+ /**
66
+ * The event that is emitted when the component is scrolled.
67
+ */
68
+ cardScroll;
69
+ /**
70
+ * The event that is emitted when the component is scrolled.
71
+ */
72
+ contentScrollEnd;
365
73
  /**
366
74
  * Adds and removes event pointer event handles to the `element` on `withMouseDrag` change.
367
75
  * @param withMouseDrag boolean
@@ -420,6 +128,26 @@ export class TetCardList {
420
128
  async scrollListToElementCenter(querySelector, isQuiet = false) {
421
129
  await this.scrollToElementCenter(querySelector, true, isQuiet);
422
130
  }
131
+ /**
132
+ * Scrolls the element to the horizontal center of the viewport.
133
+ * @param querySelector The query selector of the element that will be scrolled to the center of view.
134
+ * @param isSmooth determines whether the scroll should be animated.
135
+ * @param isQuiet determines wheter scroll events should be triggered.
136
+ */
137
+ scrollToElementCenter = async (querySelector, isSmooth = true, isQuiet = false) => {
138
+ let childNodes = Array.from(this.element.children);
139
+ if (this.withVirtualScroll) {
140
+ childNodes = Array.from(this.element.querySelectorAll('[data-id]'));
141
+ }
142
+ const elementToCenter = childNodes.find(childNode => childNode.matches(querySelector));
143
+ if (elementToCenter === null || elementToCenter === undefined) {
144
+ return;
145
+ }
146
+ await this.inertialScroll.scrollToElement(elementToCenter, isSmooth, isQuiet);
147
+ if (this.withOverflowOpacity) {
148
+ this.updateChildElementOverflowOpacity();
149
+ }
150
+ };
423
151
  /**
424
152
  * The lifecycle method that called once just after the component is fully loaded and the first
425
153
  * `render()` occurs. Attaches the event listeners to the root element of the component and
@@ -572,11 +300,148 @@ export class TetCardList {
572
300
  * Removes the event listeners.
573
301
  */
574
302
  disconnectedCallback() {
575
- var _a, _b;
576
303
  this.inertialScroll.detach();
577
- (_a = this.scrollContainerRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('mousewheel', this.handleDisableScroll);
578
- (_b = this.scrollContainerRef) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchmove', this.handleDisableScroll);
304
+ this.scrollContainerRef?.removeEventListener('mousewheel', this.handleDisableScroll);
305
+ this.scrollContainerRef?.removeEventListener('touchmove', this.handleDisableScroll);
579
306
  }
307
+ /**
308
+ * Calculates the width of the scroll thumb in percentage relative to the content. Sets up the
309
+ * width parameters of the scroll thumb.
310
+ */
311
+ setupScrollbar = () => {
312
+ const { currentScroll } = this.inertialScroll;
313
+ this.scrollThumbWidth =
314
+ (this.scrollContainerRef.clientWidth / (currentScroll.scrollWidth + this.scrollContainerRef.clientWidth)) * 100;
315
+ if (this.scrollbarRef === undefined) {
316
+ return;
317
+ }
318
+ this.scrollbarRef.style.width = `${this.scrollThumbWidth}%`;
319
+ this.scrollbarRef.style.left = `${this.currentScrollbarScroll}%`;
320
+ };
321
+ /**
322
+ * Prevents the event if scrolling is disabled.
323
+ * @param event Event
324
+ */
325
+ handleDisableScroll = (event) => {
326
+ if (!this.disableScroll) {
327
+ return;
328
+ }
329
+ event.preventDefault();
330
+ };
331
+ /**
332
+ * The scroll event handler. Updates the card item classes as they are scrolled out of view.
333
+ * Updates the control element classes as the content scroll reaches either end of the scroll.
334
+ * Updates the position of the visual scrollbar thumb element.
335
+ */
336
+ handleScroll = () => {
337
+ this.cardScroll.emit({
338
+ totalAvailableScrollWidth: this.scrollDetails.scrollWidth,
339
+ currentScroll: this.scrollDetails.scrollLeft,
340
+ });
341
+ const elementChildren = Array.from(this.element.children);
342
+ if (this.withActiveElement) {
343
+ const activeClone = elementChildren.find(element => element.attributes['data-clone-id'] && element.classList.contains(this.activeElementClass));
344
+ if (activeClone !== undefined) {
345
+ activeClone.classList.remove(this.activeElementClass);
346
+ const cloneOffset = activeClone.getBoundingClientRect().left;
347
+ const activeOriginal = elementChildren.find(element => element.classList.contains(this.activeElementClass));
348
+ if (activeOriginal !== undefined) {
349
+ const originalOffset = activeOriginal.getBoundingClientRect().left;
350
+ const scrollDelta = cloneOffset - originalOffset;
351
+ this.inertialScroll.scrollTo({ left: this.scrollDetails.scrollLeft - scrollDelta }, true);
352
+ this.updateChildElementOverflowOpacity();
353
+ }
354
+ }
355
+ this.setActiveCenteredElement();
356
+ }
357
+ if (this.withVirtualScroll) {
358
+ this.moveElements();
359
+ this.updateChildElementOverflowOpacity();
360
+ }
361
+ };
362
+ /**
363
+ * Handles toggling of the `activeElementClass` on elements during pointer drag events.
364
+ */
365
+ setActiveCenteredElement = () => {
366
+ let isScrollRight = this.scrollDetails.scrollSpeed > 0;
367
+ let isScrollLeft = this.scrollDetails.scrollSpeed < 0;
368
+ const elementChildren = Array.from(this.element.children);
369
+ const elementPositions = elementChildren.map(child => child.getBoundingClientRect());
370
+ const elementRect = this.element.getBoundingClientRect();
371
+ /** Determine the center point of the bounding element */
372
+ const centerPoint = elementRect.width / 2 + elementRect.left;
373
+ /** Determine the index of the child card overlapping with the `centerPoint` */
374
+ let centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width >= centerPoint);
375
+ /** Set index to the first element in case list is scrolled to the start */
376
+ if (centeredElementIndex === 1 && isScrollLeft && this.scrollDetails.scrollLeft === 0) {
377
+ centeredElementIndex = 0;
378
+ }
379
+ /** Set index to the last element in case list is scrolled to the end */
380
+ if (centeredElementIndex === elementPositions.length - 2 &&
381
+ isScrollRight &&
382
+ this.scrollDetails.scrollLeft + this.scrollContainerRef.getBoundingClientRect().width >=
383
+ this.scrollDetails.scrollWidth) {
384
+ centeredElementIndex = elementPositions.length - 1;
385
+ }
386
+ /** Calculate the index of the next element in case `centerPoint` is in between two elements */
387
+ if (centeredElementIndex === -1) {
388
+ if (isScrollRight) {
389
+ centeredElementIndex = elementPositions.findIndex(element => element.left - this.elementGap <= centerPoint && element.left + element.width >= centerPoint);
390
+ }
391
+ if (isScrollLeft) {
392
+ centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width + this.elementGap >= centerPoint);
393
+ }
394
+ }
395
+ const currentActiveElements = elementChildren.filter(element => element.classList.contains(this.activeElementClass));
396
+ currentActiveElements.forEach(element => element.classList.remove(this.activeElementClass));
397
+ const nextElement = elementChildren[centeredElementIndex];
398
+ if (this.withVirtualScroll && nextElement?.hasAttribute('data-clone-id')) {
399
+ const nextOriginalElement = elementChildren.find(element => element.attributes['data-id']?.value === nextElement.getAttribute('data-clone-id'));
400
+ nextOriginalElement.classList.add(this.activeElementClass);
401
+ }
402
+ if (nextElement !== undefined) {
403
+ nextElement.classList.add(this.activeElementClass);
404
+ }
405
+ this.updateControlVisibility();
406
+ };
407
+ /**
408
+ * Shifts the elements and scroll position.
409
+ * Gets the first and the last of the original elements and shifts both the original
410
+ * and the cloned elements depending on the scroll direction.
411
+ * Updates the currently set scroll values to hide the shift of the elements.
412
+ */
413
+ moveElements = () => {
414
+ if (!this.withVirtualScroll) {
415
+ return;
416
+ }
417
+ const { width, left } = this.dimensions.element;
418
+ const firstOriginalElement = this.getFirstOriginal();
419
+ const lastOriginalElement = this.getLastOriginal();
420
+ const firstOriginalRect = firstOriginalElement.getBoundingClientRect();
421
+ const lastOriginalRect = lastOriginalElement.getBoundingClientRect();
422
+ const lastOriginalRight = lastOriginalRect.right - left;
423
+ const isLastOriginalInViewport = lastOriginalRight < width;
424
+ if (isLastOriginalInViewport && this.scrollDetails?.scrollSpeed < 0) {
425
+ const movedElementDataId = parseInt(firstOriginalElement.getAttribute('data-id'), 10);
426
+ const positionDelta = firstOriginalRect.width + this.elementGap;
427
+ const secondOriginalElement = firstOriginalElement.nextElementSibling;
428
+ this.inertialScroll.scrollBy({ left: -positionDelta }, true);
429
+ lastOriginalElement.insertAdjacentElement('afterend', firstOriginalElement);
430
+ secondOriginalElement.insertAdjacentElement('beforebegin', this.virtualScrollPrependClones[movedElementDataId]);
431
+ this.element.insertAdjacentElement('beforeend', this.virtualScrollAppendClones[movedElementDataId]);
432
+ }
433
+ const firstOriginalLeft = firstOriginalRect.left - left;
434
+ const isFirstOriginalInViewport = firstOriginalLeft > 0;
435
+ if (isFirstOriginalInViewport && this.scrollDetails?.scrollSpeed > 0) {
436
+ const secondToLastElement = lastOriginalElement.previousElementSibling;
437
+ const positionDelta = lastOriginalRect.width + this.elementGap;
438
+ const movedElementDataId = parseInt(lastOriginalElement.getAttribute('data-id'), 10);
439
+ this.inertialScroll.scrollBy({ left: positionDelta }, true);
440
+ firstOriginalElement.insertAdjacentElement('beforebegin', lastOriginalElement);
441
+ secondToLastElement.insertAdjacentElement('afterend', this.virtualScrollAppendClones[movedElementDataId]);
442
+ this.element.insertAdjacentElement('afterbegin', this.virtualScrollPrependClones[movedElementDataId]);
443
+ }
444
+ };
580
445
  /**
581
446
  * Returns the current scroll in percentage.
582
447
  * @returns number representing the current scroll value in percent.
@@ -601,6 +466,160 @@ export class TetCardList {
601
466
  }
602
467
  return scrollThumbPosition;
603
468
  }
469
+ /**
470
+ * Stops event propagation bubbling to the `contentElement`
471
+ * @param event PointerEvent
472
+ */
473
+ handleControlPointerDown = (event) => {
474
+ event.preventDefault();
475
+ event.stopPropagation();
476
+ event.stopImmediatePropagation();
477
+ };
478
+ /**
479
+ * Handles the left control click.
480
+ */
481
+ handleLeftControl = async () => {
482
+ if (this.isScrolling) {
483
+ return;
484
+ }
485
+ this.isScrolling = true;
486
+ if (this.withActiveElement) {
487
+ const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
488
+ let previousElement = currentActive.previousElementSibling;
489
+ if (previousElement === null) {
490
+ return;
491
+ }
492
+ currentActive.classList.remove(this.activeElementClass);
493
+ if (previousElement.hasAttribute('data-clone-id')) {
494
+ this.scrollDetails.scrollSpeed = 1;
495
+ this.moveElements();
496
+ previousElement = currentActive.previousElementSibling;
497
+ if (this.withOverflowOpacity) {
498
+ this.updateChildElementOverflowOpacity();
499
+ }
500
+ }
501
+ previousElement.classList.add(this.activeElementClass);
502
+ await this.scrollToElementCenter(`.${this.activeElementClass}`);
503
+ this.moveElements();
504
+ this.updateControlVisibility();
505
+ }
506
+ else if (this.scrollFullWidth) {
507
+ const scrollRect = this.scrollContainerRef.getBoundingClientRect();
508
+ const scrollWidth = scrollRect.width;
509
+ const scrollStart = scrollRect.left;
510
+ const firstElement = Array.from(this.element.children).find(child => {
511
+ const childRect = child.getBoundingClientRect();
512
+ return childRect.left < scrollStart && childRect.right + this.elementGap > scrollStart;
513
+ });
514
+ if (firstElement !== undefined) {
515
+ const firstElementRight = firstElement.getBoundingClientRect().right;
516
+ const scrollEnd = scrollRect.left + scrollWidth;
517
+ await this.inertialScroll.scrollBy({ left: -(scrollEnd - firstElementRight), behavior: 'smooth' });
518
+ }
519
+ else {
520
+ await this.inertialScroll.scrollBy({ left: -scrollWidth, behavior: 'smooth' });
521
+ }
522
+ }
523
+ else {
524
+ await this.inertialScroll.scrollBy({ left: -this.controlScrollAmount, behavior: 'smooth' });
525
+ }
526
+ this.isScrolling = false;
527
+ };
528
+ /**
529
+ * Handles the right control click.
530
+ */
531
+ handleRightControl = async () => {
532
+ if (this.isScrolling) {
533
+ return;
534
+ }
535
+ this.isScrolling = true;
536
+ if (this.withActiveElement) {
537
+ const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
538
+ let nextElement = currentActive.nextElementSibling;
539
+ if (nextElement === null) {
540
+ return;
541
+ }
542
+ currentActive.classList.remove(this.activeElementClass);
543
+ if (nextElement.hasAttribute('data-clone-id')) {
544
+ this.scrollDetails.scrollSpeed = -1;
545
+ this.moveElements();
546
+ nextElement = currentActive.nextElementSibling;
547
+ if (this.withOverflowOpacity) {
548
+ this.updateChildElementOverflowOpacity();
549
+ }
550
+ }
551
+ nextElement.classList.add(this.activeElementClass);
552
+ await this.scrollToElementCenter(`.${this.activeElementClass}`);
553
+ this.moveElements();
554
+ this.updateControlVisibility();
555
+ }
556
+ else if (this.scrollFullWidth) {
557
+ const scrollRect = this.scrollContainerRef.getBoundingClientRect();
558
+ const scrollWidth = scrollRect.width;
559
+ const scrollEnd = scrollWidth + scrollRect.left;
560
+ const lastElement = Array.from(this.element.children).find(child => {
561
+ const childRect = child.getBoundingClientRect();
562
+ return childRect.left - this.elementGap < scrollEnd && childRect.right > scrollEnd;
563
+ });
564
+ if (lastElement !== undefined) {
565
+ const lastElementLeft = lastElement.getBoundingClientRect().left;
566
+ const scrollStart = scrollRect.left;
567
+ await this.inertialScroll.scrollBy({ left: lastElementLeft - scrollStart, behavior: 'smooth' });
568
+ }
569
+ else {
570
+ await this.inertialScroll.scrollBy({ left: scrollWidth, behavior: 'smooth' });
571
+ }
572
+ }
573
+ else {
574
+ await this.inertialScroll.scrollBy({ left: this.controlScrollAmount, behavior: 'smooth' });
575
+ }
576
+ this.isScrolling = false;
577
+ };
578
+ /**
579
+ * Handles the keyup event on the right control.
580
+ * If the key is "Enter" or "Space", will trigger navigation to the next card.
581
+ * @param e - The keyboard event object.
582
+ */
583
+ handleRightControlKeyUp = (e) => {
584
+ if (e.key === ' ' || e.key === 'Enter') {
585
+ this.handleRightControl();
586
+ }
587
+ };
588
+ /**
589
+ * Handles the keyup event on the left control.
590
+ * If the key is "Enter" or "Space", will trigger navigation to the previous card.
591
+ * @param e - The keyboard event object.
592
+ */
593
+ handleLeftControlKeyUp = (e) => {
594
+ if (e.key === ' ' || e.key === 'Enter') {
595
+ this.handleLeftControl();
596
+ }
597
+ };
598
+ /**
599
+ * Updates the visibility of the control element.
600
+ */
601
+ updateControlVisibility = (scroll = this.scrollDetails) => {
602
+ let controlVisibility = {
603
+ left: false,
604
+ right: false,
605
+ };
606
+ if (this.withControls) {
607
+ if (scroll === null) {
608
+ controlVisibility = {
609
+ left: false,
610
+ right: true,
611
+ };
612
+ }
613
+ else {
614
+ controlVisibility.left = scroll.scrollLeft - 1 <= 0 ? false : true;
615
+ controlVisibility.right = scroll.scrollLeft >= scroll.scrollWidth ? false : true;
616
+ }
617
+ }
618
+ // Only update if there are changes.
619
+ if (JSON.stringify(controlVisibility) !== JSON.stringify(this.controlVisibility)) {
620
+ this.controlVisibility = controlVisibility;
621
+ }
622
+ };
604
623
  /**
605
624
  * Adds or removes the transparency effect to the card items as they enter or leave the viewport.
606
625
  */