@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
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-37ed3ebb.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-c9d79ad4.js';
2
2
  import { g as getConvertedPixels } from './p-165a8492.js';
3
- import { d as defineCustomElement$2 } from './p-68f0e894.js';
4
- import { d as defineCustomElement$1 } from './p-b0d6ed2e.js';
3
+ import { d as defineCustomElement$2 } from './p-36c5e434.js';
4
+ import { d as defineCustomElement$1 } from './p-9ee3e98b.js';
5
5
 
6
6
  /**
7
7
  * Adds the `mobile-like` inertial scroll logic without calling the native `scroll` event
@@ -10,195 +10,39 @@ import { d as defineCustomElement$1 } from './p-b0d6ed2e.js';
10
10
  * dispatches `content-scroll` and `content-scroll-end` events to the `rootElement`.
11
11
  */
12
12
  class InertiaScroll {
13
+ /** Determines whether the scroll logic is enabled. */
14
+ isEnabled = false;
15
+ /** Determines whether the user is currently dragging the content. */
16
+ isDragging = false;
17
+ /** Determines whether the content is currently being scrolled with inertia. */
18
+ isScrolling = false;
19
+ /** The current pointer position on the X asis. */
20
+ pointerX = 0;
21
+ /** The previous pointer position on the X asis from ~50ms ago. */
22
+ pointerXOld = 0;
23
+ /** The speed of the pointer movement for calculating the innertia after the user interaction. */
24
+ pointerSpeedXOld = 0;
25
+ /** The speed of current scroll */
26
+ scrollSpeed = 0;
27
+ /** The root element of the scroll. */
28
+ rootElement = null;
29
+ /** the scroll container created inside of `element` to mimic scroll behaviour. */
30
+ scrollContainer = null;
31
+ /** The reference of the interval timer used for updating pointer related values. */
32
+ timer = null;
33
+ /** The custom class to be applied to the `scrollContainer`. */
34
+ scrollableElementClass = '';
35
+ /** The speed of `animateScroll` scroll animation. */
36
+ animationSpeed = 0;
37
+ /** The amount of horizontal scroll from which to disable vertical scrolling. */
38
+ scrollAmount = 10;
39
+ /** The width of the window beneath witch to disable vertical scroll when scrolling horizontally. */
40
+ mobileBreakpoint = 740;
13
41
  /**
14
42
  * Attaches the `window` listeners and initialises the
15
43
  * @param {IInertiaScroll} configuration
16
44
  */
17
45
  constructor({ rootElement, scrollableElementClass, animationSpeed = 200 }) {
18
- /** Determines whether the scroll logic is enabled. */
19
- this.isEnabled = false;
20
- /** Determines whether the user is currently dragging the content. */
21
- this.isDragging = false;
22
- /** Determines whether the content is currently being scrolled with inertia. */
23
- this.isScrolling = false;
24
- /** The current pointer position on the X asis. */
25
- this.pointerX = 0;
26
- /** The previous pointer position on the X asis from ~50ms ago. */
27
- this.pointerXOld = 0;
28
- /** The speed of the pointer movement for calculating the innertia after the user interaction. */
29
- this.pointerSpeedXOld = 0;
30
- /** The speed of current scroll */
31
- this.scrollSpeed = 0;
32
- /** The root element of the scroll. */
33
- this.rootElement = null;
34
- /** the scroll container created inside of `element` to mimic scroll behaviour. */
35
- this.scrollContainer = null;
36
- /** The reference of the interval timer used for updating pointer related values. */
37
- this.timer = null;
38
- /** The custom class to be applied to the `scrollContainer`. */
39
- this.scrollableElementClass = '';
40
- /** The speed of `animateScroll` scroll animation. */
41
- this.animationSpeed = 0;
42
- /** The amount of horizontal scroll from which to disable vertical scrolling. */
43
- this.scrollAmount = 10;
44
- /** The width of the window beneath witch to disable vertical scroll when scrolling horizontally. */
45
- this.mobileBreakpoint = 740;
46
- /**
47
- * Applies required styles to the `rootElement`.
48
- * Creates `scrollContainer` inside of the `rootElement`.
49
- * Moves the `rootElement` innerHTML into the `scrollContainer`.
50
- * Attaches listeners to the `rootElement`.
51
- */
52
- this.makeScrollable = () => {
53
- this.rootElement.style.display = 'grid';
54
- this.rootElement.style.gridAutoFlow = 'column';
55
- this.rootElement.style.position = 'relative';
56
- this.rootElement.style.overflow = 'hidden';
57
- this.rootElement.style.width = '100%';
58
- this.rootElement.style.height = '100%';
59
- const innerHTML = this.rootElement.innerHTML;
60
- this.scrollContainer = document.createElement('div');
61
- this.rootElement.innerHTML = '';
62
- this.rootElement.appendChild(this.scrollContainer);
63
- this.scrollContainer.innerHTML = innerHTML;
64
- this.scrollContainer.setAttribute('part', 'scroll-container');
65
- this.scrollContainer.classList.add(this.scrollableElementClass);
66
- this.scrollContainer.style.overflow = 'visible';
67
- this.scrollContainer.style.position = 'relative';
68
- this.scrollContainer.style.left = '0px';
69
- this.scrollContainer.style.display = 'grid';
70
- this.scrollContainer.style.gridAutoFlow = 'column';
71
- this.scrollSpeed = 0;
72
- this.rootElement.addEventListener('mousedown', this.onMouseDown, { passive: false });
73
- this.rootElement.addEventListener('touchstart', this.onTouchStart);
74
- };
75
- /** Mouse down event handler. */
76
- this.onMouseDown = (event) => {
77
- this.onPointerDown(event.clientX);
78
- };
79
- /** Touch start event handler. */
80
- this.onTouchStart = (event) => {
81
- for (let i = 0; i < event.changedTouches.length; i++) {
82
- const touch = event.changedTouches[i];
83
- this.onPointerDown(touch.clientX);
84
- }
85
- };
86
- /** Mouse move event handler. */
87
- this.onMouseMove = (event) => {
88
- if (this.isDragging) {
89
- this.onPointerMove(event.clientX);
90
- }
91
- };
92
- /** Touch move event handler. */
93
- this.onTouchMove = (event) => {
94
- if (this.isDragging) {
95
- for (let i = 0; i < event.changedTouches.length; i++) {
96
- const touch = event.changedTouches[i];
97
- this.onPointerMove(touch.clientX);
98
- }
99
- }
100
- };
101
- /** Mouse up event handler. */
102
- this.onMouseUp = () => {
103
- this.onPointerRelease();
104
- };
105
- /** Touch end event handler. */
106
- this.onTouchEnd = (event) => {
107
- for (let i = 0; i < event.changedTouches.length; i++) {
108
- this.onPointerRelease();
109
- }
110
- };
111
- /** Sets the scroll parameters to the initial state for scroll start. */
112
- this.onPointerDown = (x) => {
113
- if (!this.isEnabled) {
114
- return;
115
- }
116
- this.scrollSpeed = 0;
117
- this.pointerSpeedXOld = 0;
118
- this.isDragging = true;
119
- this.pointerX = this.pointerXOld = x;
120
- };
121
- /** Stops the manual scroll by user and sets the initial state for the inertia scroll. */
122
- this.onPointerRelease = () => {
123
- if (!this.isEnabled) {
124
- return;
125
- }
126
- if (this.isDragging) {
127
- this.scrollSpeed = this.pointerSpeedXOld;
128
- this.isScrolling = true;
129
- this.isDragging = false;
130
- this.scrollContainer.style.userSelect = null;
131
- this.scrollContainer.style.pointerEvents = null;
132
- document.querySelector('body').style.overflowY = null;
133
- }
134
- };
135
- /** Calculates the distance traveled by the pointer while it's pressed updating the `scrollContainer` position. */
136
- this.onPointerMove = (x) => {
137
- if (!this.isEnabled) {
138
- return;
139
- }
140
- if (!this.isDragging) {
141
- return;
142
- }
143
- this.scrollContainer.style.userSelect = 'none';
144
- this.scrollContainer.style.pointerEvents = 'none';
145
- // Get the distance the mouse has moved.
146
- let scrollDelta = x - this.pointerX;
147
- if (Math.abs(scrollDelta) > this.scrollAmount && window.innerWidth < this.mobileBreakpoint) {
148
- document.querySelector('body').style.overflowY = 'hidden';
149
- }
150
- const { scrollLeft, scrollWidth } = this;
151
- // Scroll past the end of content, to mimic bounce.
152
- if ((scrollLeft < 0 && scrollDelta > 0) || (scrollLeft > scrollWidth && scrollDelta < 0)) {
153
- scrollDelta /= 3;
154
- }
155
- // Increase the left position by the amount scrolled.
156
- this.scrollContainer.style.left = `-${scrollLeft - scrollDelta}px`;
157
- // Store the position to calculate the next pointer move.
158
- this.pointerX = x;
159
- };
160
- /**
161
- * Animation cycle.
162
- * Handles the inertial scroll after user has stoped the interaction.
163
- */
164
- this.scrollUpdate = () => {
165
- if (this.isEnabled) {
166
- requestAnimationFrame(this.scrollUpdate);
167
- }
168
- if (!this.isDragging && !this.isScrolling) {
169
- return;
170
- }
171
- // Continue scrolling after drag end with scroll innertia.
172
- let { scrollLeft } = this;
173
- scrollLeft -= this.scrollSpeed;
174
- // Slow down gradually.
175
- this.scrollSpeed *= 0.9;
176
- if (Math.abs(this.scrollSpeed) < 0.1) {
177
- this.scrollSpeed = 0;
178
- }
179
- // Reach content left end. Trigger a bounce effect.
180
- if (scrollLeft < 0) {
181
- scrollLeft *= 0.7;
182
- }
183
- // Reach content right end. Trigger a bounce effect.
184
- const { scrollWidth } = this;
185
- if (scrollLeft > scrollWidth) {
186
- scrollLeft = scrollWidth + (scrollLeft - scrollWidth) * 0.3;
187
- }
188
- // Update scroll position.
189
- this.scrollContainer.style.left = -scrollLeft + 'px';
190
- if (this.scrollSpeed === 0 && !this.isDragging && this.isScrolling) {
191
- this.isScrolling = false;
192
- this.rootElement.dispatchEvent(new CustomEvent('content-scroll-end', {
193
- detail: Object.assign({}, this.currentScroll),
194
- }));
195
- }
196
- if (this.isDragging || this.isScrolling) {
197
- this.rootElement.dispatchEvent(new CustomEvent('content-scroll', {
198
- detail: Object.assign({}, this.currentScroll),
199
- }));
200
- }
201
- };
202
46
  this.rootElement = rootElement;
203
47
  this.scrollableElementClass = scrollableElementClass;
204
48
  this.animationSpeed = animationSpeed;
@@ -252,13 +96,11 @@ class InertiaScroll {
252
96
  }
253
97
  /** Gets the current `scrollLeft` value of the `scrollableContainer`. */
254
98
  get scrollLeft() {
255
- var _a, _b;
256
- return Math.round(Math.abs(parseFloat((_b = (_a = this.scrollContainer) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.left) || 0));
99
+ return Math.round(Math.abs(parseFloat(this.scrollContainer?.style?.left) || 0));
257
100
  }
258
101
  /** Get the total available `scrollWidth` value of the `scrollableContainer`. */
259
102
  get scrollWidth() {
260
- var _a, _b;
261
- return Math.round(((_a = this.scrollContainer) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) - ((_b = this.rootElement) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) || 0);
103
+ return Math.round(this.scrollContainer?.getBoundingClientRect().width - this.rootElement?.getBoundingClientRect().width || 0);
262
104
  }
263
105
  /** Enables the scroll. */
264
106
  enable() {
@@ -292,7 +134,10 @@ class InertiaScroll {
292
134
  return;
293
135
  }
294
136
  this.rootElement.dispatchEvent(new CustomEvent('content-scroll-end', {
295
- detail: Object.assign(Object.assign({}, this.currentScroll), { scrollSpeed: scrollResult > scrollLeft ? -1 : 1 }),
137
+ detail: {
138
+ ...this.currentScroll,
139
+ scrollSpeed: scrollResult > scrollLeft ? -1 : 1,
140
+ },
296
141
  }));
297
142
  }
298
143
  /** Scrolls the passed element to the center of the viewport if possible.
@@ -330,7 +175,10 @@ class InertiaScroll {
330
175
  return;
331
176
  }
332
177
  this.rootElement.dispatchEvent(new CustomEvent('content-scroll-end', {
333
- detail: Object.assign(Object.assign({}, this.currentScroll), { scrollSpeed: scrollOptions.left > scrollLeft ? -1 : 1 }),
178
+ detail: {
179
+ ...this.currentScroll,
180
+ scrollSpeed: scrollOptions.left > scrollLeft ? -1 : 1,
181
+ },
334
182
  }));
335
183
  }
336
184
  /**
@@ -361,13 +209,177 @@ class InertiaScroll {
361
209
  resolve();
362
210
  }
363
211
  this.rootElement.dispatchEvent(new CustomEvent('content-scroll', {
364
- detail: Object.assign(Object.assign({}, this.currentScroll), { scrollSpeed: scrollAmount < 0 ? -1 : 1, isUserScroll: false }),
212
+ detail: {
213
+ ...this.currentScroll,
214
+ scrollSpeed: scrollAmount < 0 ? -1 : 1,
215
+ isUserScroll: false,
216
+ },
365
217
  }));
366
218
  };
367
219
  animate(currentTime);
368
220
  });
369
221
  await promise;
370
222
  }
223
+ /**
224
+ * Applies required styles to the `rootElement`.
225
+ * Creates `scrollContainer` inside of the `rootElement`.
226
+ * Moves the `rootElement` innerHTML into the `scrollContainer`.
227
+ * Attaches listeners to the `rootElement`.
228
+ */
229
+ makeScrollable = () => {
230
+ this.rootElement.style.display = 'grid';
231
+ this.rootElement.style.gridAutoFlow = 'column';
232
+ this.rootElement.style.position = 'relative';
233
+ this.rootElement.style.overflow = 'hidden';
234
+ this.rootElement.style.width = '100%';
235
+ this.rootElement.style.height = '100%';
236
+ const innerHTML = this.rootElement.innerHTML;
237
+ this.scrollContainer = document.createElement('div');
238
+ this.rootElement.innerHTML = '';
239
+ this.rootElement.appendChild(this.scrollContainer);
240
+ this.scrollContainer.innerHTML = innerHTML;
241
+ this.scrollContainer.setAttribute('part', 'scroll-container');
242
+ this.scrollContainer.classList.add(this.scrollableElementClass);
243
+ this.scrollContainer.style.overflow = 'visible';
244
+ this.scrollContainer.style.position = 'relative';
245
+ this.scrollContainer.style.left = '0px';
246
+ this.scrollContainer.style.display = 'grid';
247
+ this.scrollContainer.style.gridAutoFlow = 'column';
248
+ this.scrollSpeed = 0;
249
+ this.rootElement.addEventListener('mousedown', this.onMouseDown, { passive: false });
250
+ this.rootElement.addEventListener('touchstart', this.onTouchStart);
251
+ };
252
+ /** Mouse down event handler. */
253
+ onMouseDown = (event) => {
254
+ this.onPointerDown(event.clientX);
255
+ };
256
+ /** Touch start event handler. */
257
+ onTouchStart = (event) => {
258
+ for (let i = 0; i < event.changedTouches.length; i++) {
259
+ const touch = event.changedTouches[i];
260
+ this.onPointerDown(touch.clientX);
261
+ }
262
+ };
263
+ /** Mouse move event handler. */
264
+ onMouseMove = (event) => {
265
+ if (this.isDragging) {
266
+ this.onPointerMove(event.clientX);
267
+ }
268
+ };
269
+ /** Touch move event handler. */
270
+ onTouchMove = (event) => {
271
+ if (this.isDragging) {
272
+ for (let i = 0; i < event.changedTouches.length; i++) {
273
+ const touch = event.changedTouches[i];
274
+ this.onPointerMove(touch.clientX);
275
+ }
276
+ }
277
+ };
278
+ /** Mouse up event handler. */
279
+ onMouseUp = () => {
280
+ this.onPointerRelease();
281
+ };
282
+ /** Touch end event handler. */
283
+ onTouchEnd = (event) => {
284
+ for (let i = 0; i < event.changedTouches.length; i++) {
285
+ this.onPointerRelease();
286
+ }
287
+ };
288
+ /** Sets the scroll parameters to the initial state for scroll start. */
289
+ onPointerDown = (x) => {
290
+ if (!this.isEnabled) {
291
+ return;
292
+ }
293
+ this.scrollSpeed = 0;
294
+ this.pointerSpeedXOld = 0;
295
+ this.isDragging = true;
296
+ this.pointerX = this.pointerXOld = x;
297
+ };
298
+ /** Stops the manual scroll by user and sets the initial state for the inertia scroll. */
299
+ onPointerRelease = () => {
300
+ if (!this.isEnabled) {
301
+ return;
302
+ }
303
+ if (this.isDragging) {
304
+ this.scrollSpeed = this.pointerSpeedXOld;
305
+ this.isScrolling = true;
306
+ this.isDragging = false;
307
+ this.scrollContainer.style.userSelect = null;
308
+ this.scrollContainer.style.pointerEvents = null;
309
+ document.querySelector('body').style.overflowY = null;
310
+ }
311
+ };
312
+ /** Calculates the distance traveled by the pointer while it's pressed updating the `scrollContainer` position. */
313
+ onPointerMove = (x) => {
314
+ if (!this.isEnabled) {
315
+ return;
316
+ }
317
+ if (!this.isDragging) {
318
+ return;
319
+ }
320
+ this.scrollContainer.style.userSelect = 'none';
321
+ this.scrollContainer.style.pointerEvents = 'none';
322
+ // Get the distance the mouse has moved.
323
+ let scrollDelta = x - this.pointerX;
324
+ if (Math.abs(scrollDelta) > this.scrollAmount && window.innerWidth < this.mobileBreakpoint) {
325
+ document.querySelector('body').style.overflowY = 'hidden';
326
+ }
327
+ const { scrollLeft, scrollWidth } = this;
328
+ // Scroll past the end of content, to mimic bounce.
329
+ if ((scrollLeft < 0 && scrollDelta > 0) || (scrollLeft > scrollWidth && scrollDelta < 0)) {
330
+ scrollDelta /= 3;
331
+ }
332
+ // Increase the left position by the amount scrolled.
333
+ this.scrollContainer.style.left = `-${scrollLeft - scrollDelta}px`;
334
+ // Store the position to calculate the next pointer move.
335
+ this.pointerX = x;
336
+ };
337
+ /**
338
+ * Animation cycle.
339
+ * Handles the inertial scroll after user has stoped the interaction.
340
+ */
341
+ scrollUpdate = () => {
342
+ if (this.isEnabled) {
343
+ requestAnimationFrame(this.scrollUpdate);
344
+ }
345
+ if (!this.isDragging && !this.isScrolling) {
346
+ return;
347
+ }
348
+ // Continue scrolling after drag end with scroll innertia.
349
+ let { scrollLeft } = this;
350
+ scrollLeft -= this.scrollSpeed;
351
+ // Slow down gradually.
352
+ this.scrollSpeed *= 0.9;
353
+ if (Math.abs(this.scrollSpeed) < 0.1) {
354
+ this.scrollSpeed = 0;
355
+ }
356
+ // Reach content left end. Trigger a bounce effect.
357
+ if (scrollLeft < 0) {
358
+ scrollLeft *= 0.7;
359
+ }
360
+ // Reach content right end. Trigger a bounce effect.
361
+ const { scrollWidth } = this;
362
+ if (scrollLeft > scrollWidth) {
363
+ scrollLeft = scrollWidth + (scrollLeft - scrollWidth) * 0.3;
364
+ }
365
+ // Update scroll position.
366
+ this.scrollContainer.style.left = -scrollLeft + 'px';
367
+ if (this.scrollSpeed === 0 && !this.isDragging && this.isScrolling) {
368
+ this.isScrolling = false;
369
+ this.rootElement.dispatchEvent(new CustomEvent('content-scroll-end', {
370
+ detail: {
371
+ ...this.currentScroll,
372
+ },
373
+ }));
374
+ }
375
+ if (this.isDragging || this.isScrolling) {
376
+ this.rootElement.dispatchEvent(new CustomEvent('content-scroll', {
377
+ detail: {
378
+ ...this.currentScroll,
379
+ },
380
+ }));
381
+ }
382
+ };
371
383
  }
372
384
 
373
385
  const tetCardListCss = "@font-face{font-family:Avenir Next;src:url(assets/fonts/8e7462a9501f48c43c58f870188b3fb2.eot?#iefix);src:url(assets/fonts/8e7462a9501f48c43c58f870188b3fb2.eot?#iefix) format(\"eot\"),url(assets/fonts/3c3e10968ffc97c2a52c5830f9886d1f.woff2) format(\"woff2\"),url(assets/fonts/660fbf858d30d7685fa4b166080f5980.woff) format(\"woff\"),url(assets/fonts/2b7748589092fd1a10b806abdfb562ff.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/d5e25ad69d0ea31f3b8f66d634ca40fe.eot?#iefix);src:url(assets/fonts/d5e25ad69d0ea31f3b8f66d634ca40fe.eot?#iefix) format(\"eot\"),url(assets/fonts/aad36ecead30948bb30fe0ef818b749c.woff2) format(\"woff2\"),url(assets/fonts/c437d7752feaf3f056bbf8613e898d3a.woff) format(\"woff\"),url(assets/fonts/b8df4d02ef5de13a813917a85bc4a9c4.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/046190c9a2f724b925df848737b03819.eot?#iefix);src:url(assets/fonts/046190c9a2f724b925df848737b03819.eot?#iefix) format(\"eot\"),url(assets/fonts/4d52f8276a74ea8efbad833ed790367c.woff2) format(\"woff2\"),url(assets/fonts/a067695dd1b87e927f4056c040d84669.woff) format(\"woff\"),url(assets/fonts/510a664af9771b72d4ce5e637109ca3c.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/0715de188f56c99aa615905f7e06292e.eot?#iefix);src:url(assets/fonts/0715de188f56c99aa615905f7e06292e.eot?#iefix) format(\"eot\"),url(assets/fonts/63f5acc71d9852468683a4bfe824a28f.woff2) format(\"woff2\"),url(assets/fonts/ed94c737da267752ce0abd79bb003ff6.woff) format(\"woff\"),url(assets/fonts/6302f55a6dc6b12365177dc89b7d63cf.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/3f76abc23eef0596c499840db84213bb.eot?#iefix);src:url(assets/fonts/3f76abc23eef0596c499840db84213bb.eot?#iefix) format(\"eot\"),url(assets/fonts/1fe7da97fe9dbe1349aca9b54b5fdf69.woff2) format(\"woff2\"),url(assets/fonts/dacc6a84278e221422902af99579ada5.woff) format(\"woff\"),url(assets/fonts/e530c573663a3a07243d303fbf7db508.ttf) format(\"truetype\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(assets/fonts/75f8489ba53f19968feaa3e2eb78c569.eot?#iefix);src:url(assets/fonts/75f8489ba53f19968feaa3e2eb78c569.eot?#iefix) format(\"eot\"),url(assets/fonts/93ec0034623fc696601ab99aba652d4c.woff2) format(\"woff2\"),url(assets/fonts/d73c8eb1c13abe1237366aa3ee829a59.woff) format(\"woff\"),url(assets/fonts/7b6dcef99f3f4b23346e23925ec8678f.ttf) format(\"truetype\");font-weight:600;font-style:italic;font-display:swap}.tet-icon{font-family:Tet Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Tet Icons;src:url(assets/fonts/d2ce51cdcd0b9707af186f8d50023d23.eot);src:url(assets/fonts/d2ce51cdcd0b9707af186f8d50023d23.eot?#iefix) format(\"embedded-opentype\"),url(assets/fonts/25f10ef322a1220b2e9e11db38b73892.woff2) format(\"woff2\"),url(assets/fonts/fed75ac1edcf1c25cdd8612d2c365f9a.woff) format(\"woff\"),url(assets/fonts/df7fbe67cabb13cb837172a73c46378a.ttf) format(\"truetype\"),url(assets/fonts/5486d8c87e2abc6c13ed952a6cc96658.svg#tet-icons) format(\"svg\");font-weight:400;font-style:normal}.tet-icon:before{content:\"\\E84E\"}.tet-icon--sm{font-size:1.125rem}.tet-icon--md{font-size:1.5rem}.tet-icon--lg{font-size:2.25rem}.tet-icon--xl{font-size:3rem}.tet-icon--xxl{font-size:4rem}.tet-icon--0{font-size:0}.tet-icon--1{font-size:.0625rem}.tet-icon--2{font-size:.125rem}.tet-icon--3{font-size:.1875rem}.tet-icon--4{font-size:.25rem}.tet-icon--5{font-size:.3125rem}.tet-icon--6{font-size:.375rem}.tet-icon--7{font-size:.4375rem}.tet-icon--8{font-size:.5rem}.tet-icon--9{font-size:.5625rem}.tet-icon--10{font-size:.625rem}.tet-icon--11{font-size:.6875rem}.tet-icon--12{font-size:.75rem}.tet-icon--13{font-size:.8125rem}.tet-icon--14{font-size:.875rem}.tet-icon--15{font-size:.9375rem}.tet-icon--16{font-size:1rem}.tet-icon--17{font-size:1.0625rem}.tet-icon--18{font-size:1.125rem}.tet-icon--19{font-size:1.1875rem}.tet-icon--20{font-size:1.25rem}.tet-icon--21{font-size:1.3125rem}.tet-icon--22{font-size:1.375rem}.tet-icon--23{font-size:1.4375rem}.tet-icon--24{font-size:1.5rem}.tet-icon--25{font-size:1.5625rem}.tet-icon--26{font-size:1.625rem}.tet-icon--27{font-size:1.6875rem}.tet-icon--28{font-size:1.75rem}.tet-icon--29{font-size:1.8125rem}.tet-icon--30{font-size:1.875rem}.tet-icon--31{font-size:1.9375rem}.tet-icon--32{font-size:2rem}.tet-icon--33{font-size:2.0625rem}.tet-icon--34{font-size:2.125rem}.tet-icon--35{font-size:2.1875rem}.tet-icon--36{font-size:2.25rem}.tet-icon--37{font-size:2.3125rem}.tet-icon--38{font-size:2.375rem}.tet-icon--39{font-size:2.4375rem}.tet-icon--40{font-size:2.5rem}.tet-icon--41{font-size:2.5625rem}.tet-icon--42{font-size:2.625rem}.tet-icon--43{font-size:2.6875rem}.tet-icon--44{font-size:2.75rem}.tet-icon--45{font-size:2.8125rem}.tet-icon--46{font-size:2.875rem}.tet-icon--47{font-size:2.9375rem}.tet-icon--48{font-size:3rem}.tet-icon--49{font-size:3.0625rem}.tet-icon--50{font-size:3.125rem}.tet-icon--51{font-size:3.1875rem}.tet-icon--52{font-size:3.25rem}.tet-icon--53{font-size:3.3125rem}.tet-icon--54{font-size:3.375rem}.tet-icon--55{font-size:3.4375rem}.tet-icon--56{font-size:3.5rem}.tet-icon--57{font-size:3.5625rem}.tet-icon--58{font-size:3.625rem}.tet-icon--59{font-size:3.6875rem}.tet-icon--60{font-size:3.75rem}.tet-icon--61{font-size:3.8125rem}.tet-icon--62{font-size:3.875rem}.tet-icon--63{font-size:3.9375rem}.tet-icon--64{font-size:4rem}.tet-icon--65{font-size:4.0625rem}.tet-icon--66{font-size:4.125rem}.tet-icon--67{font-size:4.1875rem}.tet-icon--68{font-size:4.25rem}.tet-icon--69{font-size:4.3125rem}.tet-icon--70{font-size:4.375rem}.tet-icon--71{font-size:4.4375rem}.tet-icon--72{font-size:4.5rem}.tet-icon--73{font-size:4.5625rem}.tet-icon--74{font-size:4.625rem}.tet-icon--75{font-size:4.6875rem}.tet-icon--76{font-size:4.75rem}.tet-icon--77{font-size:4.8125rem}.tet-icon--78{font-size:4.875rem}.tet-icon--79{font-size:4.9375rem}.tet-icon--80{font-size:5rem}.tet-icon--81{font-size:5.0625rem}.tet-icon--82{font-size:5.125rem}.tet-icon--83{font-size:5.1875rem}.tet-icon--84{font-size:5.25rem}.tet-icon--85{font-size:5.3125rem}.tet-icon--86{font-size:5.375rem}.tet-icon--87{font-size:5.4375rem}.tet-icon--88{font-size:5.5rem}.tet-icon--89{font-size:5.5625rem}.tet-icon--90{font-size:5.625rem}.tet-icon--91{font-size:5.6875rem}.tet-icon--92{font-size:5.75rem}.tet-icon--93{font-size:5.8125rem}.tet-icon--94{font-size:5.875rem}.tet-icon--95{font-size:5.9375rem}.tet-icon--96{font-size:6rem}.tet-icon--97{font-size:6.0625rem}.tet-icon--98{font-size:6.125rem}.tet-icon--99{font-size:6.1875rem}.tet-icon--100{font-size:6.25rem}.tet-icon--101{font-size:6.3125rem}.tet-icon__add:before{content:\"\\E800\"}.tet-icon__alert-circled:before{content:\"\\E801\"}.tet-icon__alert:before{content:\"\\E802\"}.tet-icon__bank:before{content:\"\\E803\"}.tet-icon__box:before{content:\"\\E804\"}.tet-icon__download:before{content:\"\\E805\"}.tet-icon__burger:before{content:\"\\E806\"}.tet-icon__cancel:before{content:\"\\E807\"}.tet-icon__printer:before{content:\"\\E808\"}.tet-icon__cart-add:before{content:\"\\E809\"}.tet-icon__cart-remove:before{content:\"\\E80A\"}.tet-icon__cart:before{content:\"\\E80B\"}.tet-icon__chat:before{content:\"\\E80C\"}.tet-icon__arrow-up:before{content:\"\\E80D\"}.tet-icon__calendar:before{content:\"\\E80E\"}.tet-icon__help-circled:before{content:\"\\E80F\"}.tet-icon__edit:before{content:\"\\E810\"}.tet-icon__external-link:before{content:\"\\E811\"}.tet-icon__gift:before{content:\"\\E812\"}.tet-icon__person:before{content:\"\\E813\"}.tet-icon__heart:before{content:\"\\E814\"}.tet-icon__language:before{content:\"\\E815\"}.tet-icon__help:before{content:\"\\E816\"}.tet-icon__home-1:before{content:\"\\E817\"}.tet-icon__location:before{content:\"\\E818\"}.tet-icon__home-3:before{content:\"\\E819\"}.tet-icon__chart-even:before{content:\"\\E81A\"}.tet-icon__info-2:before{content:\"\\E81B\"}.tet-icon__key:before{content:\"\\E81C\"}.tet-icon__info:before{content:\"\\E81D\"}.tet-icon__lock-opened:before{content:\"\\E81E\"}.tet-icon__lock-outlined:before{content:\"\\E81F\"}.tet-icon__lock:before{content:\"\\E820\"}.tet-icon__laptop-filled:before{content:\"\\E821\"}.tet-icon__mail:before{content:\"\\E822\"}.tet-icon__options:before{content:\"\\E823\"}.tet-icon__chart-uneven:before{content:\"\\E824\"}.tet-icon__mail-2:before{content:\"\\E825\"}.tet-icon__remove:before{content:\"\\E826\"}.tet-icon__mobile-filled:before{content:\"\\E827\"}.tet-icon__ilu-calendar-check:before{content:\"\\E828\"}.tet-icon__settings-outlined:before{content:\"\\E829\"}.tet-icon__tablet:before{content:\"\\E82A\"}.tet-icon__thumb-up:before{content:\"\\E82B\"}.tet-icon__ilu-purchase:before{content:\"\\E82C\"}.tet-icon__chart-even-outlined:before{content:\"\\E82D\"}.tet-icon__movie:before{content:\"\\E82E\"}.tet-icon__percent:before{content:\"\\E82F\"}.tet-icon__ilu-change-whenever:before{content:\"\\E830\"}.tet-icon__truck:before{content:\"\\E831\"}.tet-icon__zero:before{content:\"\\E832\"}.tet-icon__attach:before{content:\"\\E833\"}.tet-icon__cloud-done:before{content:\"\\E834\"}.tet-icon__cloud-download:before{content:\"\\E835\"}.tet-icon__cloud-upload:before{content:\"\\E836\"}.tet-icon__cloud:before{content:\"\\E837\"}.tet-icon__folder:before{content:\"\\E838\"}.tet-icon__remote:before{content:\"\\E839\"}.tet-icon__router:before{content:\"\\E83A\"}.tet-icon__shield-filled:before{content:\"\\E83B\"}.tet-icon__shield:before{content:\"\\E83C\"}.tet-icon__ilu-devices:before{content:\"\\E83D\"}.tet-icon__ilu-get-points:before{content:\"\\E83E\"}.tet-icon__tv:before{content:\"\\E83F\"}.tet-icon__ilu-internet:before{content:\"\\E840\"}.tet-icon__wifi-outlined:before{content:\"\\E841\"}.tet-icon__wifi:before{content:\"\\E842\"}.tet-icon__description-outlined:before{content:\"\\E843\"}.tet-icon__laptop:before{content:\"\\E844\"}.tet-icon__chart-uneven-outlined:before{content:\"\\E845\"}.tet-icon__meter:before{content:\"\\E846\"}.tet-icon__mobile:before{content:\"\\E847\"}.tet-icon__phone:before{content:\"\\E848\"}.tet-icon__plug-filled:before{content:\"\\E849\"}.tet-icon__plug:before{content:\"\\E84A\"}.tet-icon__print:before{content:\"\\E84B\"}.tet-icon__camera:before{content:\"\\E84C\"}.tet-icon__clock:before{content:\"\\E84D\"}.tet-icon__placeholder:before{content:\"\\E84E\"}.tet-icon__tv-filled:before{content:\"\\E84F\"}.tet-icon__arrow-down:before{content:\"\\E850\"}.tet-icon__arrow-left:before{content:\"\\E851\"}.tet-icon__arrow-right:before{content:\"\\E852\"}.tet-icon__description:before{content:\"\\E853\"}.tet-icon__login:before{content:\"\\E854\"}.tet-icon__check:before{content:\"\\E855\"}.tet-icon__chevron-down:before{content:\"\\E856\"}.tet-icon__chevron-left:before{content:\"\\E857\"}.tet-icon__chevron-right:before{content:\"\\E858\"}.tet-icon__chevron-up:before{content:\"\\E859\"}.tet-icon__close-circled:before{content:\"\\E85A\"}.tet-icon__close:before{content:\"\\E85B\"}.tet-icon__more-horizontal:before{content:\"\\E85C\"}.tet-icon__more-vertical:before{content:\"\\E85D\"}.tet-icon__refresh:before{content:\"\\E85E\"}.tet-icon__facebook:before{content:\"\\E85F\"}.tet-icon__instagram:before{content:\"\\E860\"}.tet-icon__linkedin:before{content:\"\\E861\"}.tet-icon__people:before{content:\"\\E862\"}.tet-icon__logout:before{content:\"\\E863\"}.tet-icon__share:before{content:\"\\E864\"}.tet-icon__twitter:before{content:\"\\E865\"}.tet-icon__cancel-filled:before{content:\"\\E866\"}.tet-icon__done:before{content:\"\\E867\"}.tet-icon__star-filled:before{content:\"\\E868\"}.tet-icon__star:before{content:\"\\E869\"}.tet-icon__clipboard:before{content:\"\\E86A\"}.tet-icon__ilu-calendar:before{content:\"\\E86B\"}.tet-icon__check-circled:before{content:\"\\E86C\"}.tet-icon__ilu-choose-channels:before{content:\"\\E86D\"}.tet-icon__search:before{content:\"\\E86E\"}.tet-icon__warning:before{content:\"\\E86F\"}.tet-icon__ilu-clock-1:before{content:\"\\E870\"}.tet-icon__ilu-fold:before{content:\"\\E871\"}.tet-icon__ilu-letter:before{content:\"\\E872\"}.tet-icon__ilu-pay:before{content:\"\\E873\"}.tet-icon__ilu-meter:before{content:\"\\E874\"}.tet-icon__ilu-sign:before{content:\"\\E875\"}.tet-icon__smart-watch-filled:before{content:\"\\E876\"}.tet-icon__washing-machine-filled:before{content:\"\\E877\"}.tet-icon__bullet:before{content:\"\\E878\"}.tet-icon__sound:before{content:\"\\E879\"}.tet-icon__dropdown:before{content:\"\\E87A\"}.tet-icon__mask-pass:before{content:\"\\E87B\"}.tet-icon__select:before{content:\"\\E87C\"}.tet-icon__text-area-sizing:before{content:\"\\E87D\"}.tet-icon__unmask-pass:before{content:\"\\E87E\"}.tet-icon__bullet-small:before{content:\"\\E882\"}.tet-icon__electric-bolt:before{content:\"\\E880\"}.tet-icon__sun:before{content:\"\\E881\"}:host{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;padding:0;margin:0}:host{--color-gray-light:#cdd2de;--color-ta070:#f5f6f8;--color-ta080:#e6e8ee;--color-ta100:#cdd2de;--color-ta200:#9ba5be;--color-ta300:#69789c;--color-ta500:#1e356a;--color-ta600:#051d59;--color-tc090:#d6e6fd;--color-tc100:#d1dffe;--color-tc300:#75a1fb;--color-tc500:#1a70f6;--color-tc600:#0060f5;--color-td500:#00F1F2;--color-td600:#01cbe0;--color-tf600:#f53b2a;--color-tg300:#2b3036;--color-tg400:#1d2128;--color-tg500:#12171e;--color-tg600:#01050c;--color-th500:#f5f5f5;--color-ti500:#869198;--color-ti600:#aeb7bc;--text-font:Gilroy, serif;--text-color-darker:var(--color-ta600);--text-color-dark:var(--color-ta500);--text-color-dark-theme:var(--color-th500);--icons-font:Tet Icons, serif}.icon.tet-search{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-search::before{content:\"\\e86e\"}.icon.tet-close-circled{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-close-circled::before{content:\"\\e85a\"}.icon.tet-close{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-close::before{content:\"\\e85b\"}.icon.tet-check-circled{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-check-circled::before{content:\"\\e86c\"}.icon.tet-check{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-check::before{content:\"\\e855\"}.icon.tet-chevron-up{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-chevron-up::before{content:\"\\e859\"}.icon.tet-chevron-down{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-chevron-down::before{content:\"\\e856\"}.icon.tet-clipboard{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-clipboard::before{content:\"\\e86a\"}.icon.tet-info{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-info::before{content:\"\\e81d\"}.icon.tet-done{font-family:var(--icons-font);font-weight:400;font-style:normal;font-size:1.25rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;speak:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}.icon.tet-done::before{content:\"\\e867\"}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Semibold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Semibold.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:700;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Bold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Bold.woff\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Inter-Regular.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Regular.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Inter-Medium.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Medium.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Inter-SemiBold.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-SemiBold.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Medium.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Medium.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Semibold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Semibold.woff\") format(\"woff\")}@font-face{font-family:\"Gilroy\";font-style:normal;font-weight:700;font-display:swap;src:url(\"assets/fonts/Gilroy-W05-Bold.woff2\") format(\"woff2\"), url(\"assets/fonts/Gilroy-W05-Bold.woff\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:400;font-display:swap;src:url(\"assets/fonts/Inter-Regular.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Regular.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:500;font-display:swap;src:url(\"assets/fonts/Inter-Medium.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-Medium.woff?v=3.19\") format(\"woff\")}@font-face{font-family:\"Inter\";font-style:normal;font-weight:600;font-display:swap;src:url(\"assets/fonts/Inter-SemiBold.woff2?v=3.19\") format(\"woff2\"), url(\"assets/fonts/Inter-SemiBold.woff?v=3.19\") format(\"woff\")}:host{--font-family-fallback:Gilroy, Arial, sans-serif;--font-family-headline:Gilroy;--font-family-content:Inter, var(--font-family-fallback);font-family:var(--font-family-content)}:host{--card-list-content-width:100%;--card-list-content-height:100%;--card-list-horizontal-margin:10rem;--card-list-tablet-horizontal-margin:2rem;--card-list-mobile-horizontal-margin:1rem;--card-list-vertical-padding:0;--card-list-control-height:12.5rem;--card-list-control-button-height:3.25rem;--card-list-control-button-width:3.25rem;--card-list-control-horizontal-margin:5rem;--card-list-control-icon-color:var(--tc-button-icon-primary);--card-list-scroll-margin:3.5rem auto 0 auto;--card-list-scroll-background-color:var(--tc-border-quaternary);--card-list-scroll-thumb-background-color:var(--tc-border-secondary);--card-list-gap:1rem}.hidden{display:none}.tet-card-list{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;height:var(--card-list-content-height);gap:var(--card-list-gap);overflow:visible;position:relative;box-sizing:border-box;margin:0 auto;-ms-overflow-style:none;scrollbar-width:none}.tet-card-list__container{display:flex;flex-direction:column;align-items:center;position:relative;-webkit-overflow-scrolling:touch}.tet-card-list__container.dark{--card-list-control-icon-color:var(--tc-button-icon-primary-dark);--card-list-scroll-background-color:var(--tc-border-quaternary-dark);--card-list-scroll-thumb-background-color:var(--tc-border-secondary-dark)}.tet-card-list__scroll-container{width:var(--card-list-content-width);height:var(--card-list-content-height);overflow:hidden;display:block;position:relative}.tet-card-list ::slotted(:first-child){margin-left:var(--card-list-mobile-horizontal-margin) !important}.tet-card-list ::slotted(:last-child){margin-right:var(--card-list-mobile-horizontal-margin) !important}.tet-card-list::-webkit-scrollbar{display:none}.tet-card-list__scroll{position:relative;display:flex;height:0.25rem;background-color:var(--card-list-scroll-background-color);width:70%;margin:var(--card-list-scroll-margin);border-radius:0.25rem}.tet-card-list__scroll--thumb{background-color:var(--card-list-scroll-thumb-background-color);border-radius:0.25rem;display:block;height:100%;left:0;position:absolute}.tet-card-list--no-scroll{overflow-x:hidden}.tet-card-list--no-scroll .tet-card-list__scroll{display:none}.tet-card-list__control{--button-padding:0;cursor:pointer;align-items:center;color:rgb(10, 11, 13);display:none;justify-content:center;position:absolute;top:calc(var(--card-list-control-height) / 2 - var(--card-list-control-button-height) / 2);user-select:none;z-index:2}.tet-card-list__control--left{left:var(--card-list-control-horizontal-margin)}.tet-card-list__control--right{right:var(--card-list-control-horizontal-margin)}.tet-card-list__control__icon{--icon-size:1.25rem;--icon-color:var(--card-list-control-icon-color);display:flex;align-items:center;justify-content:center;border-radius:50%;height:var(--card-list-control-button-height);width:var(--card-list-control-button-width)}.tet-card-list--hidden,.tet-card-list__control--hidden{display:none;opacity:0;visibility:hidden}.tet-card-list--dragging{user-select:none;cursor:grabbing}.tet-card-list--dragging *{pointer-events:none}@media all and (min-width: 22.5rem){.tet-card-list__scroll{width:50%}.tet-card-list ::slotted(:first-child){margin-left:var(--card-list-tablet-horizontal-margin) !important}.tet-card-list ::slotted(:last-child){margin-right:var(--card-list-tablet-horizontal-margin) !important}}@media all and (min-width: 48rem){.tet-card-list__scroll{width:min(40%, var(--card-list-content-width) * 0.325)}.tet-card-list__control{display:flex}.tet-card-list ::slotted(:first-child){margin-left:var(--card-list-horizontal-margin) !important}.tet-card-list ::slotted(:last-child){margin-right:var(--card-list-horizontal-margin) !important}}";
@@ -380,340 +392,6 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
380
392
  this.__attachShadow();
381
393
  this.cardScroll = createEvent(this, "cardScroll", 7);
382
394
  this.contentScrollEnd = createEvent(this, "contentScrollEnd", 7);
383
- /**
384
- * The arrays containing cloned content elements.
385
- */
386
- this.virtualScrollPrependClones = [];
387
- this.virtualScrollAppendClones = [];
388
- /**
389
- * Stores the content scroll and pointer positions for use with pointer events.
390
- */
391
- this.scrollDetails = null;
392
- /**
393
- * Stores the `element` left and width values to limit html reflows.
394
- */
395
- this.dimensions = { element: { left: 0, width: 0 } };
396
- /**
397
- * The css gap value set between elements.
398
- */
399
- this.elementGap = 16;
400
- /**
401
- * Determines if the content is currently being scrolled.
402
- */
403
- this.isScrolling = false;
404
- /**
405
- * Scrolls the element to the horizontal center of the viewport.
406
- * @param querySelector The query selector of the element that will be scrolled to the center of view.
407
- * @param isSmooth determines whether the scroll should be animated.
408
- * @param isQuiet determines wheter scroll events should be triggered.
409
- */
410
- this.scrollToElementCenter = async (querySelector, isSmooth = true, isQuiet = false) => {
411
- let childNodes = Array.from(this.element.children);
412
- if (this.withVirtualScroll) {
413
- childNodes = Array.from(this.element.querySelectorAll('[data-id]'));
414
- }
415
- const elementToCenter = childNodes.find(childNode => childNode.matches(querySelector));
416
- if (elementToCenter === null || elementToCenter === undefined) {
417
- return;
418
- }
419
- await this.inertialScroll.scrollToElement(elementToCenter, isSmooth, isQuiet);
420
- if (this.withOverflowOpacity) {
421
- this.updateChildElementOverflowOpacity();
422
- }
423
- };
424
- /**
425
- * Calculates the width of the scroll thumb in percentage relative to the content. Sets up the
426
- * width parameters of the scroll thumb.
427
- */
428
- this.setupScrollbar = () => {
429
- const { currentScroll } = this.inertialScroll;
430
- this.scrollThumbWidth =
431
- (this.scrollContainerRef.clientWidth / (currentScroll.scrollWidth + this.scrollContainerRef.clientWidth)) * 100;
432
- if (this.scrollbarRef === undefined) {
433
- return;
434
- }
435
- this.scrollbarRef.style.width = `${this.scrollThumbWidth}%`;
436
- this.scrollbarRef.style.left = `${this.currentScrollbarScroll}%`;
437
- };
438
- /**
439
- * Prevents the event if scrolling is disabled.
440
- * @param event Event
441
- */
442
- this.handleDisableScroll = (event) => {
443
- if (!this.disableScroll) {
444
- return;
445
- }
446
- event.preventDefault();
447
- };
448
- /**
449
- * The scroll event handler. Updates the card item classes as they are scrolled out of view.
450
- * Updates the control element classes as the content scroll reaches either end of the scroll.
451
- * Updates the position of the visual scrollbar thumb element.
452
- */
453
- this.handleScroll = () => {
454
- this.cardScroll.emit({
455
- totalAvailableScrollWidth: this.scrollDetails.scrollWidth,
456
- currentScroll: this.scrollDetails.scrollLeft,
457
- });
458
- const elementChildren = Array.from(this.element.children);
459
- if (this.withActiveElement) {
460
- const activeClone = elementChildren.find(element => element.attributes['data-clone-id'] && element.classList.contains(this.activeElementClass));
461
- if (activeClone !== undefined) {
462
- activeClone.classList.remove(this.activeElementClass);
463
- const cloneOffset = activeClone.getBoundingClientRect().left;
464
- const activeOriginal = elementChildren.find(element => element.classList.contains(this.activeElementClass));
465
- if (activeOriginal !== undefined) {
466
- const originalOffset = activeOriginal.getBoundingClientRect().left;
467
- const scrollDelta = cloneOffset - originalOffset;
468
- this.inertialScroll.scrollTo({ left: this.scrollDetails.scrollLeft - scrollDelta }, true);
469
- this.updateChildElementOverflowOpacity();
470
- }
471
- }
472
- this.setActiveCenteredElement();
473
- }
474
- if (this.withVirtualScroll) {
475
- this.moveElements();
476
- this.updateChildElementOverflowOpacity();
477
- }
478
- };
479
- /**
480
- * Handles toggling of the `activeElementClass` on elements during pointer drag events.
481
- */
482
- this.setActiveCenteredElement = () => {
483
- let isScrollRight = this.scrollDetails.scrollSpeed > 0;
484
- let isScrollLeft = this.scrollDetails.scrollSpeed < 0;
485
- const elementChildren = Array.from(this.element.children);
486
- const elementPositions = elementChildren.map(child => child.getBoundingClientRect());
487
- const elementRect = this.element.getBoundingClientRect();
488
- /** Determine the center point of the bounding element */
489
- const centerPoint = elementRect.width / 2 + elementRect.left;
490
- /** Determine the index of the child card overlapping with the `centerPoint` */
491
- let centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width >= centerPoint);
492
- /** Set index to the first element in case list is scrolled to the start */
493
- if (centeredElementIndex === 1 && isScrollLeft && this.scrollDetails.scrollLeft === 0) {
494
- centeredElementIndex = 0;
495
- }
496
- /** Set index to the last element in case list is scrolled to the end */
497
- if (centeredElementIndex === elementPositions.length - 2 &&
498
- isScrollRight &&
499
- this.scrollDetails.scrollLeft + this.scrollContainerRef.getBoundingClientRect().width >=
500
- this.scrollDetails.scrollWidth) {
501
- centeredElementIndex = elementPositions.length - 1;
502
- }
503
- /** Calculate the index of the next element in case `centerPoint` is in between two elements */
504
- if (centeredElementIndex === -1) {
505
- if (isScrollRight) {
506
- centeredElementIndex = elementPositions.findIndex(element => element.left - this.elementGap <= centerPoint && element.left + element.width >= centerPoint);
507
- }
508
- if (isScrollLeft) {
509
- centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width + this.elementGap >= centerPoint);
510
- }
511
- }
512
- const currentActiveElements = elementChildren.filter(element => element.classList.contains(this.activeElementClass));
513
- currentActiveElements.forEach(element => element.classList.remove(this.activeElementClass));
514
- const nextElement = elementChildren[centeredElementIndex];
515
- if (this.withVirtualScroll && (nextElement === null || nextElement === void 0 ? void 0 : nextElement.hasAttribute('data-clone-id'))) {
516
- 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'); });
517
- nextOriginalElement.classList.add(this.activeElementClass);
518
- }
519
- if (nextElement !== undefined) {
520
- nextElement.classList.add(this.activeElementClass);
521
- }
522
- this.updateControlVisibility();
523
- };
524
- /**
525
- * Shifts the elements and scroll position.
526
- * Gets the first and the last of the original elements and shifts both the original
527
- * and the cloned elements depending on the scroll direction.
528
- * Updates the currently set scroll values to hide the shift of the elements.
529
- */
530
- this.moveElements = () => {
531
- var _a, _b;
532
- if (!this.withVirtualScroll) {
533
- return;
534
- }
535
- const { width, left } = this.dimensions.element;
536
- const firstOriginalElement = this.getFirstOriginal();
537
- const lastOriginalElement = this.getLastOriginal();
538
- const firstOriginalRect = firstOriginalElement.getBoundingClientRect();
539
- const lastOriginalRect = lastOriginalElement.getBoundingClientRect();
540
- const lastOriginalRight = lastOriginalRect.right - left;
541
- const isLastOriginalInViewport = lastOriginalRight < width;
542
- if (isLastOriginalInViewport && ((_a = this.scrollDetails) === null || _a === void 0 ? void 0 : _a.scrollSpeed) < 0) {
543
- const movedElementDataId = parseInt(firstOriginalElement.getAttribute('data-id'), 10);
544
- const positionDelta = firstOriginalRect.width + this.elementGap;
545
- const secondOriginalElement = firstOriginalElement.nextElementSibling;
546
- this.inertialScroll.scrollBy({ left: -positionDelta }, true);
547
- lastOriginalElement.insertAdjacentElement('afterend', firstOriginalElement);
548
- secondOriginalElement.insertAdjacentElement('beforebegin', this.virtualScrollPrependClones[movedElementDataId]);
549
- this.element.insertAdjacentElement('beforeend', this.virtualScrollAppendClones[movedElementDataId]);
550
- }
551
- const firstOriginalLeft = firstOriginalRect.left - left;
552
- const isFirstOriginalInViewport = firstOriginalLeft > 0;
553
- if (isFirstOriginalInViewport && ((_b = this.scrollDetails) === null || _b === void 0 ? void 0 : _b.scrollSpeed) > 0) {
554
- const secondToLastElement = lastOriginalElement.previousElementSibling;
555
- const positionDelta = lastOriginalRect.width + this.elementGap;
556
- const movedElementDataId = parseInt(lastOriginalElement.getAttribute('data-id'), 10);
557
- this.inertialScroll.scrollBy({ left: positionDelta }, true);
558
- firstOriginalElement.insertAdjacentElement('beforebegin', lastOriginalElement);
559
- secondToLastElement.insertAdjacentElement('afterend', this.virtualScrollAppendClones[movedElementDataId]);
560
- this.element.insertAdjacentElement('afterbegin', this.virtualScrollPrependClones[movedElementDataId]);
561
- }
562
- };
563
- /**
564
- * Stops event propagation bubbling to the `contentElement`
565
- * @param event PointerEvent
566
- */
567
- this.handleControlPointerDown = (event) => {
568
- event.preventDefault();
569
- event.stopPropagation();
570
- event.stopImmediatePropagation();
571
- };
572
- /**
573
- * Handles the left control click.
574
- */
575
- this.handleLeftControl = async () => {
576
- if (this.isScrolling) {
577
- return;
578
- }
579
- this.isScrolling = true;
580
- if (this.withActiveElement) {
581
- const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
582
- let previousElement = currentActive.previousElementSibling;
583
- if (previousElement === null) {
584
- return;
585
- }
586
- currentActive.classList.remove(this.activeElementClass);
587
- if (previousElement.hasAttribute('data-clone-id')) {
588
- this.scrollDetails.scrollSpeed = 1;
589
- this.moveElements();
590
- previousElement = currentActive.previousElementSibling;
591
- if (this.withOverflowOpacity) {
592
- this.updateChildElementOverflowOpacity();
593
- }
594
- }
595
- previousElement.classList.add(this.activeElementClass);
596
- await this.scrollToElementCenter(`.${this.activeElementClass}`);
597
- this.moveElements();
598
- this.updateControlVisibility();
599
- }
600
- else if (this.scrollFullWidth) {
601
- const scrollRect = this.scrollContainerRef.getBoundingClientRect();
602
- const scrollWidth = scrollRect.width;
603
- const scrollStart = scrollRect.left;
604
- const firstElement = Array.from(this.element.children).find(child => {
605
- const childRect = child.getBoundingClientRect();
606
- return childRect.left < scrollStart && childRect.right + this.elementGap > scrollStart;
607
- });
608
- if (firstElement !== undefined) {
609
- const firstElementRight = firstElement.getBoundingClientRect().right;
610
- const scrollEnd = scrollRect.left + scrollWidth;
611
- await this.inertialScroll.scrollBy({ left: -(scrollEnd - firstElementRight), behavior: 'smooth' });
612
- }
613
- else {
614
- await this.inertialScroll.scrollBy({ left: -scrollWidth, behavior: 'smooth' });
615
- }
616
- }
617
- else {
618
- await this.inertialScroll.scrollBy({ left: -this.controlScrollAmount, behavior: 'smooth' });
619
- }
620
- this.isScrolling = false;
621
- };
622
- /**
623
- * Handles the right control click.
624
- */
625
- this.handleRightControl = async () => {
626
- if (this.isScrolling) {
627
- return;
628
- }
629
- this.isScrolling = true;
630
- if (this.withActiveElement) {
631
- const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
632
- let nextElement = currentActive.nextElementSibling;
633
- if (nextElement === null) {
634
- return;
635
- }
636
- currentActive.classList.remove(this.activeElementClass);
637
- if (nextElement.hasAttribute('data-clone-id')) {
638
- this.scrollDetails.scrollSpeed = -1;
639
- this.moveElements();
640
- nextElement = currentActive.nextElementSibling;
641
- if (this.withOverflowOpacity) {
642
- this.updateChildElementOverflowOpacity();
643
- }
644
- }
645
- nextElement.classList.add(this.activeElementClass);
646
- await this.scrollToElementCenter(`.${this.activeElementClass}`);
647
- this.moveElements();
648
- this.updateControlVisibility();
649
- }
650
- else if (this.scrollFullWidth) {
651
- const scrollRect = this.scrollContainerRef.getBoundingClientRect();
652
- const scrollWidth = scrollRect.width;
653
- const scrollEnd = scrollWidth + scrollRect.left;
654
- const lastElement = Array.from(this.element.children).find(child => {
655
- const childRect = child.getBoundingClientRect();
656
- return childRect.left - this.elementGap < scrollEnd && childRect.right > scrollEnd;
657
- });
658
- if (lastElement !== undefined) {
659
- const lastElementLeft = lastElement.getBoundingClientRect().left;
660
- const scrollStart = scrollRect.left;
661
- await this.inertialScroll.scrollBy({ left: lastElementLeft - scrollStart, behavior: 'smooth' });
662
- }
663
- else {
664
- await this.inertialScroll.scrollBy({ left: scrollWidth, behavior: 'smooth' });
665
- }
666
- }
667
- else {
668
- await this.inertialScroll.scrollBy({ left: this.controlScrollAmount, behavior: 'smooth' });
669
- }
670
- this.isScrolling = false;
671
- };
672
- /**
673
- * Handles the keyup event on the right control.
674
- * If the key is "Enter" or "Space", will trigger navigation to the next card.
675
- * @param e - The keyboard event object.
676
- */
677
- this.handleRightControlKeyUp = (e) => {
678
- if (e.key === ' ' || e.key === 'Enter') {
679
- this.handleRightControl();
680
- }
681
- };
682
- /**
683
- * Handles the keyup event on the left control.
684
- * If the key is "Enter" or "Space", will trigger navigation to the previous card.
685
- * @param e - The keyboard event object.
686
- */
687
- this.handleLeftControlKeyUp = (e) => {
688
- if (e.key === ' ' || e.key === 'Enter') {
689
- this.handleLeftControl();
690
- }
691
- };
692
- /**
693
- * Updates the visibility of the control element.
694
- */
695
- this.updateControlVisibility = (scroll = this.scrollDetails) => {
696
- let controlVisibility = {
697
- left: false,
698
- right: false,
699
- };
700
- if (this.withControls) {
701
- if (scroll === null) {
702
- controlVisibility = {
703
- left: false,
704
- right: true,
705
- };
706
- }
707
- else {
708
- controlVisibility.left = scroll.scrollLeft - 1 <= 0 ? false : true;
709
- controlVisibility.right = scroll.scrollLeft >= scroll.scrollWidth ? false : true;
710
- }
711
- }
712
- // Only update if there are changes.
713
- if (JSON.stringify(controlVisibility) !== JSON.stringify(this.controlVisibility)) {
714
- this.controlVisibility = controlVisibility;
715
- }
716
- };
717
395
  this.controlVisibility = { left: true, right: true };
718
396
  this.scrollThumbWidth = 0;
719
397
  this.isSmallContainer = false;
@@ -734,6 +412,45 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
734
412
  this.iconPrev = '';
735
413
  this.iconNext = '';
736
414
  }
415
+ inertialScroll;
416
+ get element() { return this; }
417
+ /**
418
+ * The DOM element of the scrollable content container.
419
+ */
420
+ scrollContainerRef;
421
+ /**
422
+ * The DOM element of the scroll thumb.
423
+ */
424
+ scrollbarRef;
425
+ /**
426
+ * The arrays containing cloned content elements.
427
+ */
428
+ virtualScrollPrependClones = [];
429
+ virtualScrollAppendClones = [];
430
+ /**
431
+ * Stores the content scroll and pointer positions for use with pointer events.
432
+ */
433
+ scrollDetails = null;
434
+ /**
435
+ * Stores the `element` left and width values to limit html reflows.
436
+ */
437
+ dimensions = { element: { left: 0, width: 0 } };
438
+ /**
439
+ * The css gap value set between elements.
440
+ */
441
+ elementGap = 16;
442
+ /**
443
+ * Determines if the content is currently being scrolled.
444
+ */
445
+ isScrolling = false;
446
+ /**
447
+ * The event that is emitted when the component is scrolled.
448
+ */
449
+ cardScroll;
450
+ /**
451
+ * The event that is emitted when the component is scrolled.
452
+ */
453
+ contentScrollEnd;
737
454
  /**
738
455
  * Adds and removes event pointer event handles to the `element` on `withMouseDrag` change.
739
456
  * @param withMouseDrag boolean
@@ -792,6 +509,26 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
792
509
  async scrollListToElementCenter(querySelector, isQuiet = false) {
793
510
  await this.scrollToElementCenter(querySelector, true, isQuiet);
794
511
  }
512
+ /**
513
+ * Scrolls the element to the horizontal center of the viewport.
514
+ * @param querySelector The query selector of the element that will be scrolled to the center of view.
515
+ * @param isSmooth determines whether the scroll should be animated.
516
+ * @param isQuiet determines wheter scroll events should be triggered.
517
+ */
518
+ scrollToElementCenter = async (querySelector, isSmooth = true, isQuiet = false) => {
519
+ let childNodes = Array.from(this.element.children);
520
+ if (this.withVirtualScroll) {
521
+ childNodes = Array.from(this.element.querySelectorAll('[data-id]'));
522
+ }
523
+ const elementToCenter = childNodes.find(childNode => childNode.matches(querySelector));
524
+ if (elementToCenter === null || elementToCenter === undefined) {
525
+ return;
526
+ }
527
+ await this.inertialScroll.scrollToElement(elementToCenter, isSmooth, isQuiet);
528
+ if (this.withOverflowOpacity) {
529
+ this.updateChildElementOverflowOpacity();
530
+ }
531
+ };
795
532
  /**
796
533
  * The lifecycle method that called once just after the component is fully loaded and the first
797
534
  * `render()` occurs. Attaches the event listeners to the root element of the component and
@@ -944,11 +681,148 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
944
681
  * Removes the event listeners.
945
682
  */
946
683
  disconnectedCallback() {
947
- var _a, _b;
948
684
  this.inertialScroll.detach();
949
- (_a = this.scrollContainerRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('mousewheel', this.handleDisableScroll);
950
- (_b = this.scrollContainerRef) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchmove', this.handleDisableScroll);
685
+ this.scrollContainerRef?.removeEventListener('mousewheel', this.handleDisableScroll);
686
+ this.scrollContainerRef?.removeEventListener('touchmove', this.handleDisableScroll);
951
687
  }
688
+ /**
689
+ * Calculates the width of the scroll thumb in percentage relative to the content. Sets up the
690
+ * width parameters of the scroll thumb.
691
+ */
692
+ setupScrollbar = () => {
693
+ const { currentScroll } = this.inertialScroll;
694
+ this.scrollThumbWidth =
695
+ (this.scrollContainerRef.clientWidth / (currentScroll.scrollWidth + this.scrollContainerRef.clientWidth)) * 100;
696
+ if (this.scrollbarRef === undefined) {
697
+ return;
698
+ }
699
+ this.scrollbarRef.style.width = `${this.scrollThumbWidth}%`;
700
+ this.scrollbarRef.style.left = `${this.currentScrollbarScroll}%`;
701
+ };
702
+ /**
703
+ * Prevents the event if scrolling is disabled.
704
+ * @param event Event
705
+ */
706
+ handleDisableScroll = (event) => {
707
+ if (!this.disableScroll) {
708
+ return;
709
+ }
710
+ event.preventDefault();
711
+ };
712
+ /**
713
+ * The scroll event handler. Updates the card item classes as they are scrolled out of view.
714
+ * Updates the control element classes as the content scroll reaches either end of the scroll.
715
+ * Updates the position of the visual scrollbar thumb element.
716
+ */
717
+ handleScroll = () => {
718
+ this.cardScroll.emit({
719
+ totalAvailableScrollWidth: this.scrollDetails.scrollWidth,
720
+ currentScroll: this.scrollDetails.scrollLeft,
721
+ });
722
+ const elementChildren = Array.from(this.element.children);
723
+ if (this.withActiveElement) {
724
+ const activeClone = elementChildren.find(element => element.attributes['data-clone-id'] && element.classList.contains(this.activeElementClass));
725
+ if (activeClone !== undefined) {
726
+ activeClone.classList.remove(this.activeElementClass);
727
+ const cloneOffset = activeClone.getBoundingClientRect().left;
728
+ const activeOriginal = elementChildren.find(element => element.classList.contains(this.activeElementClass));
729
+ if (activeOriginal !== undefined) {
730
+ const originalOffset = activeOriginal.getBoundingClientRect().left;
731
+ const scrollDelta = cloneOffset - originalOffset;
732
+ this.inertialScroll.scrollTo({ left: this.scrollDetails.scrollLeft - scrollDelta }, true);
733
+ this.updateChildElementOverflowOpacity();
734
+ }
735
+ }
736
+ this.setActiveCenteredElement();
737
+ }
738
+ if (this.withVirtualScroll) {
739
+ this.moveElements();
740
+ this.updateChildElementOverflowOpacity();
741
+ }
742
+ };
743
+ /**
744
+ * Handles toggling of the `activeElementClass` on elements during pointer drag events.
745
+ */
746
+ setActiveCenteredElement = () => {
747
+ let isScrollRight = this.scrollDetails.scrollSpeed > 0;
748
+ let isScrollLeft = this.scrollDetails.scrollSpeed < 0;
749
+ const elementChildren = Array.from(this.element.children);
750
+ const elementPositions = elementChildren.map(child => child.getBoundingClientRect());
751
+ const elementRect = this.element.getBoundingClientRect();
752
+ /** Determine the center point of the bounding element */
753
+ const centerPoint = elementRect.width / 2 + elementRect.left;
754
+ /** Determine the index of the child card overlapping with the `centerPoint` */
755
+ let centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width >= centerPoint);
756
+ /** Set index to the first element in case list is scrolled to the start */
757
+ if (centeredElementIndex === 1 && isScrollLeft && this.scrollDetails.scrollLeft === 0) {
758
+ centeredElementIndex = 0;
759
+ }
760
+ /** Set index to the last element in case list is scrolled to the end */
761
+ if (centeredElementIndex === elementPositions.length - 2 &&
762
+ isScrollRight &&
763
+ this.scrollDetails.scrollLeft + this.scrollContainerRef.getBoundingClientRect().width >=
764
+ this.scrollDetails.scrollWidth) {
765
+ centeredElementIndex = elementPositions.length - 1;
766
+ }
767
+ /** Calculate the index of the next element in case `centerPoint` is in between two elements */
768
+ if (centeredElementIndex === -1) {
769
+ if (isScrollRight) {
770
+ centeredElementIndex = elementPositions.findIndex(element => element.left - this.elementGap <= centerPoint && element.left + element.width >= centerPoint);
771
+ }
772
+ if (isScrollLeft) {
773
+ centeredElementIndex = elementPositions.findIndex(element => element.left <= centerPoint && element.left + element.width + this.elementGap >= centerPoint);
774
+ }
775
+ }
776
+ const currentActiveElements = elementChildren.filter(element => element.classList.contains(this.activeElementClass));
777
+ currentActiveElements.forEach(element => element.classList.remove(this.activeElementClass));
778
+ const nextElement = elementChildren[centeredElementIndex];
779
+ if (this.withVirtualScroll && nextElement?.hasAttribute('data-clone-id')) {
780
+ const nextOriginalElement = elementChildren.find(element => element.attributes['data-id']?.value === nextElement.getAttribute('data-clone-id'));
781
+ nextOriginalElement.classList.add(this.activeElementClass);
782
+ }
783
+ if (nextElement !== undefined) {
784
+ nextElement.classList.add(this.activeElementClass);
785
+ }
786
+ this.updateControlVisibility();
787
+ };
788
+ /**
789
+ * Shifts the elements and scroll position.
790
+ * Gets the first and the last of the original elements and shifts both the original
791
+ * and the cloned elements depending on the scroll direction.
792
+ * Updates the currently set scroll values to hide the shift of the elements.
793
+ */
794
+ moveElements = () => {
795
+ if (!this.withVirtualScroll) {
796
+ return;
797
+ }
798
+ const { width, left } = this.dimensions.element;
799
+ const firstOriginalElement = this.getFirstOriginal();
800
+ const lastOriginalElement = this.getLastOriginal();
801
+ const firstOriginalRect = firstOriginalElement.getBoundingClientRect();
802
+ const lastOriginalRect = lastOriginalElement.getBoundingClientRect();
803
+ const lastOriginalRight = lastOriginalRect.right - left;
804
+ const isLastOriginalInViewport = lastOriginalRight < width;
805
+ if (isLastOriginalInViewport && this.scrollDetails?.scrollSpeed < 0) {
806
+ const movedElementDataId = parseInt(firstOriginalElement.getAttribute('data-id'), 10);
807
+ const positionDelta = firstOriginalRect.width + this.elementGap;
808
+ const secondOriginalElement = firstOriginalElement.nextElementSibling;
809
+ this.inertialScroll.scrollBy({ left: -positionDelta }, true);
810
+ lastOriginalElement.insertAdjacentElement('afterend', firstOriginalElement);
811
+ secondOriginalElement.insertAdjacentElement('beforebegin', this.virtualScrollPrependClones[movedElementDataId]);
812
+ this.element.insertAdjacentElement('beforeend', this.virtualScrollAppendClones[movedElementDataId]);
813
+ }
814
+ const firstOriginalLeft = firstOriginalRect.left - left;
815
+ const isFirstOriginalInViewport = firstOriginalLeft > 0;
816
+ if (isFirstOriginalInViewport && this.scrollDetails?.scrollSpeed > 0) {
817
+ const secondToLastElement = lastOriginalElement.previousElementSibling;
818
+ const positionDelta = lastOriginalRect.width + this.elementGap;
819
+ const movedElementDataId = parseInt(lastOriginalElement.getAttribute('data-id'), 10);
820
+ this.inertialScroll.scrollBy({ left: positionDelta }, true);
821
+ firstOriginalElement.insertAdjacentElement('beforebegin', lastOriginalElement);
822
+ secondToLastElement.insertAdjacentElement('afterend', this.virtualScrollAppendClones[movedElementDataId]);
823
+ this.element.insertAdjacentElement('afterbegin', this.virtualScrollPrependClones[movedElementDataId]);
824
+ }
825
+ };
952
826
  /**
953
827
  * Returns the current scroll in percentage.
954
828
  * @returns number representing the current scroll value in percent.
@@ -973,6 +847,160 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
973
847
  }
974
848
  return scrollThumbPosition;
975
849
  }
850
+ /**
851
+ * Stops event propagation bubbling to the `contentElement`
852
+ * @param event PointerEvent
853
+ */
854
+ handleControlPointerDown = (event) => {
855
+ event.preventDefault();
856
+ event.stopPropagation();
857
+ event.stopImmediatePropagation();
858
+ };
859
+ /**
860
+ * Handles the left control click.
861
+ */
862
+ handleLeftControl = async () => {
863
+ if (this.isScrolling) {
864
+ return;
865
+ }
866
+ this.isScrolling = true;
867
+ if (this.withActiveElement) {
868
+ const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
869
+ let previousElement = currentActive.previousElementSibling;
870
+ if (previousElement === null) {
871
+ return;
872
+ }
873
+ currentActive.classList.remove(this.activeElementClass);
874
+ if (previousElement.hasAttribute('data-clone-id')) {
875
+ this.scrollDetails.scrollSpeed = 1;
876
+ this.moveElements();
877
+ previousElement = currentActive.previousElementSibling;
878
+ if (this.withOverflowOpacity) {
879
+ this.updateChildElementOverflowOpacity();
880
+ }
881
+ }
882
+ previousElement.classList.add(this.activeElementClass);
883
+ await this.scrollToElementCenter(`.${this.activeElementClass}`);
884
+ this.moveElements();
885
+ this.updateControlVisibility();
886
+ }
887
+ else if (this.scrollFullWidth) {
888
+ const scrollRect = this.scrollContainerRef.getBoundingClientRect();
889
+ const scrollWidth = scrollRect.width;
890
+ const scrollStart = scrollRect.left;
891
+ const firstElement = Array.from(this.element.children).find(child => {
892
+ const childRect = child.getBoundingClientRect();
893
+ return childRect.left < scrollStart && childRect.right + this.elementGap > scrollStart;
894
+ });
895
+ if (firstElement !== undefined) {
896
+ const firstElementRight = firstElement.getBoundingClientRect().right;
897
+ const scrollEnd = scrollRect.left + scrollWidth;
898
+ await this.inertialScroll.scrollBy({ left: -(scrollEnd - firstElementRight), behavior: 'smooth' });
899
+ }
900
+ else {
901
+ await this.inertialScroll.scrollBy({ left: -scrollWidth, behavior: 'smooth' });
902
+ }
903
+ }
904
+ else {
905
+ await this.inertialScroll.scrollBy({ left: -this.controlScrollAmount, behavior: 'smooth' });
906
+ }
907
+ this.isScrolling = false;
908
+ };
909
+ /**
910
+ * Handles the right control click.
911
+ */
912
+ handleRightControl = async () => {
913
+ if (this.isScrolling) {
914
+ return;
915
+ }
916
+ this.isScrolling = true;
917
+ if (this.withActiveElement) {
918
+ const currentActive = this.element.querySelector(`.${this.activeElementClass}`);
919
+ let nextElement = currentActive.nextElementSibling;
920
+ if (nextElement === null) {
921
+ return;
922
+ }
923
+ currentActive.classList.remove(this.activeElementClass);
924
+ if (nextElement.hasAttribute('data-clone-id')) {
925
+ this.scrollDetails.scrollSpeed = -1;
926
+ this.moveElements();
927
+ nextElement = currentActive.nextElementSibling;
928
+ if (this.withOverflowOpacity) {
929
+ this.updateChildElementOverflowOpacity();
930
+ }
931
+ }
932
+ nextElement.classList.add(this.activeElementClass);
933
+ await this.scrollToElementCenter(`.${this.activeElementClass}`);
934
+ this.moveElements();
935
+ this.updateControlVisibility();
936
+ }
937
+ else if (this.scrollFullWidth) {
938
+ const scrollRect = this.scrollContainerRef.getBoundingClientRect();
939
+ const scrollWidth = scrollRect.width;
940
+ const scrollEnd = scrollWidth + scrollRect.left;
941
+ const lastElement = Array.from(this.element.children).find(child => {
942
+ const childRect = child.getBoundingClientRect();
943
+ return childRect.left - this.elementGap < scrollEnd && childRect.right > scrollEnd;
944
+ });
945
+ if (lastElement !== undefined) {
946
+ const lastElementLeft = lastElement.getBoundingClientRect().left;
947
+ const scrollStart = scrollRect.left;
948
+ await this.inertialScroll.scrollBy({ left: lastElementLeft - scrollStart, behavior: 'smooth' });
949
+ }
950
+ else {
951
+ await this.inertialScroll.scrollBy({ left: scrollWidth, behavior: 'smooth' });
952
+ }
953
+ }
954
+ else {
955
+ await this.inertialScroll.scrollBy({ left: this.controlScrollAmount, behavior: 'smooth' });
956
+ }
957
+ this.isScrolling = false;
958
+ };
959
+ /**
960
+ * Handles the keyup event on the right control.
961
+ * If the key is "Enter" or "Space", will trigger navigation to the next card.
962
+ * @param e - The keyboard event object.
963
+ */
964
+ handleRightControlKeyUp = (e) => {
965
+ if (e.key === ' ' || e.key === 'Enter') {
966
+ this.handleRightControl();
967
+ }
968
+ };
969
+ /**
970
+ * Handles the keyup event on the left control.
971
+ * If the key is "Enter" or "Space", will trigger navigation to the previous card.
972
+ * @param e - The keyboard event object.
973
+ */
974
+ handleLeftControlKeyUp = (e) => {
975
+ if (e.key === ' ' || e.key === 'Enter') {
976
+ this.handleLeftControl();
977
+ }
978
+ };
979
+ /**
980
+ * Updates the visibility of the control element.
981
+ */
982
+ updateControlVisibility = (scroll = this.scrollDetails) => {
983
+ let controlVisibility = {
984
+ left: false,
985
+ right: false,
986
+ };
987
+ if (this.withControls) {
988
+ if (scroll === null) {
989
+ controlVisibility = {
990
+ left: false,
991
+ right: true,
992
+ };
993
+ }
994
+ else {
995
+ controlVisibility.left = scroll.scrollLeft - 1 <= 0 ? false : true;
996
+ controlVisibility.right = scroll.scrollLeft >= scroll.scrollWidth ? false : true;
997
+ }
998
+ }
999
+ // Only update if there are changes.
1000
+ if (JSON.stringify(controlVisibility) !== JSON.stringify(this.controlVisibility)) {
1001
+ this.controlVisibility = controlVisibility;
1002
+ }
1003
+ };
976
1004
  /**
977
1005
  * Adds or removes the transparency effect to the card items as they enter or leave the viewport.
978
1006
  */
@@ -1032,7 +1060,6 @@ const TetCardList = /*@__PURE__*/ proxyCustomElement(class TetCardList extends H
1032
1060
  'tet-card-list__control--hidden': !this.controlVisibility.right,
1033
1061
  }, onPointerDown: this.handleControlPointerDown, onPointerUp: this.handleRightControl, onKeyUp: this.handleRightControlKeyUp }, h("tet-icon", { key: 'b19ee3803dd3fcf44a11816372555b6be84150f9', name: this.iconNext && this.iconNext !== '' ? this.iconNext : 'chevron-right', class: "tet-card-list__control__icon" })), h("div", { key: '9d93b130142f3675cb2d6436a84ff78df28c092a', class: { 'tet-card-list__scroll': true, 'tet-card-list--hidden': !this.withScrollbar } }, h("div", { key: 'b71a2c641265034396d4b0a350ba3aa57e8d7c49', class: "tet-card-list__scroll--thumb", ref: el => (this.scrollbarRef = el) })))));
1034
1062
  }
1035
- get element() { return this; }
1036
1063
  static get watchers() { return {
1037
1064
  "withMouseDrag": ["onWithMouseDragChange"],
1038
1065
  "disableScroll": ["onDisableScrollChange"],