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

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 (724) hide show
  1. package/dist/cjs/{address-5271d3aa.js → address-ac89cbf7.js} +1 -1
  2. package/dist/cjs/{assets-e3bb045c.js → assets-d8d3b4a0.js} +1 -1
  3. package/dist/cjs/{async-request-29b32d63.js → async-request-5585e750.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-910040e7.js} +25 -19
  6. package/dist/cjs/{index-f559cb2e.js → index-4daaccaa.js} +1672 -1598
  7. package/dist/cjs/{index-84ede372.js → index-f89f05b8.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-e7afcafb.js} +1 -1
  11. package/dist/cjs/{tasks-af99ad61.js → tasks-807b08d3.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-3f7c73ee.js} +2 -2
  94. package/dist/cjs/{translations-ed68775f.js → translations-62fb6b1c.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-045bec85.js → p-03f68fa0.js} +16 -16
  202. package/dist/components/{p-4d33055f.js → p-04a30e22.js} +117 -107
  203. package/dist/components/{p-5dc5e13c.js → p-065e8f8b.js} +2 -2
  204. package/dist/components/{p-f18e5ae3.js → p-06650222.js} +28 -23
  205. package/dist/components/{p-ca66b4b1.js → p-12649d6e.js} +8 -6
  206. package/dist/components/{p-856695a3.js → p-13bb64a3.js} +43 -37
  207. package/dist/components/{p-489ae3a0.js → p-1c466832.js} +27 -26
  208. package/dist/components/{p-639c9d1a.js → p-1cccc456.js} +80 -69
  209. package/dist/components/{p-bb324278.js → p-220f3eef.js} +1 -1
  210. package/dist/components/{p-df1fe72c.js → p-2426d691.js} +47 -37
  211. package/dist/components/{p-04fe59fc.js → p-25756e4c.js} +50 -47
  212. package/dist/components/{p-aca28e71.js → p-2627300f.js} +53 -52
  213. package/dist/components/{p-144dffdc.js → p-31662bf6.js} +1 -1
  214. package/dist/components/{p-6b7e73c0.js → p-33725ec2.js} +218 -202
  215. package/dist/components/{p-9a47b95f.js → p-3a80e93a.js} +26 -26
  216. package/dist/components/p-3daf3627.js +869 -0
  217. package/dist/components/{p-cec65d0a.js → p-405417ba.js} +121 -116
  218. package/dist/components/{p-530ef38b.js → p-429b72d5.js} +4 -4
  219. package/dist/components/{p-9573f82c.js → p-496e41f5.js} +41 -35
  220. package/dist/components/{p-a188f09e.js → p-57c53319.js} +11 -7
  221. package/dist/components/{p-a81e545d.js → p-581edb37.js} +1 -1
  222. package/dist/components/{p-3fd7310f.js → p-5d56e6e5.js} +1 -1
  223. package/dist/components/{p-7ddd71bd.js → p-5e206e34.js} +3 -3
  224. package/dist/components/{p-965cea5b.js → p-5fd443f5.js} +137 -134
  225. package/dist/components/{p-6847eb2d.js → p-64ca3cec.js} +62 -63
  226. package/dist/components/{p-0088d040.js → p-7530ef19.js} +16 -12
  227. package/dist/components/{p-eb54f5b9.js → p-78a44de3.js} +21 -18
  228. package/dist/components/{p-7b3c7bf1.js → p-7beec5f2.js} +4 -2
  229. package/dist/components/{p-c1876db7.js → p-7dff5fe9.js} +36 -21
  230. package/dist/components/{p-68f0e894.js → p-7e8270ec.js} +10 -10
  231. package/dist/components/{p-bd3402f6.js → p-7fb96f10.js} +17 -15
  232. package/dist/components/{p-35e72a2b.js → p-8101b09a.js} +58 -44
  233. package/dist/components/{p-37ed3ebb.js → p-88af3744.js} +190 -135
  234. package/dist/components/{p-42ff76b5.js → p-8db05f15.js} +22 -18
  235. package/dist/components/{p-881093d4.js → p-9372e619.js} +206 -194
  236. package/dist/components/{p-9fe57fd0.js → p-962b13ba.js} +68 -65
  237. package/dist/components/{p-b0d6ed2e.js → p-a9b1c410.js} +25 -24
  238. package/dist/components/{p-029ff2b3.js → p-b3001877.js} +24 -24
  239. package/dist/components/{p-00e689fb.js → p-ba709868.js} +1 -1
  240. package/dist/components/{p-50f207fd.js → p-bc84eb7d.js} +54 -34
  241. package/dist/components/{p-91651432.js → p-bfcce1dd.js} +1 -1
  242. package/dist/{esm/http-codes-7faa9f6e.js → components/p-c1f5b99f.js} +66 -59
  243. package/dist/components/{p-e707e73a.js → p-c217775d.js} +13 -5
  244. package/dist/components/{p-cb2daf20.js → p-c62a7fa3.js} +25 -16
  245. package/dist/components/{p-88b42c67.js → p-c7c47790.js} +63 -59
  246. package/dist/components/{p-00c91e96.js → p-c8b44baa.js} +2 -2
  247. package/dist/components/{p-6a2a81d8.js → p-c956b246.js} +104 -94
  248. package/dist/components/{p-53ca0a91.js → p-d3939d35.js} +39 -23
  249. package/dist/components/{p-5c8c2d8d.js → p-d4192716.js} +1 -1
  250. package/dist/components/{p-163de6e2.js → p-d73512b2.js} +23 -11
  251. package/dist/components/{p-e04716ac.js → p-dfee3bd7.js} +29 -30
  252. package/dist/components/{p-9bf262a8.js → p-e474903b.js} +33 -27
  253. package/dist/components/p-ea401595.js +169 -0
  254. package/dist/components/{p-03177920.js → p-ecf59431.js} +181 -173
  255. package/dist/components/{p-818742ad.js → p-ee3bdb7a.js} +21 -22
  256. package/dist/components/{p-817bee22.js → p-f05feebd.js} +12 -12
  257. package/dist/components/{p-21c5cfc4.js → p-f7be6960.js} +64 -53
  258. package/dist/components/{p-616c71e1.js → p-f82069f3.js} +559 -532
  259. package/dist/components/{p-a0d406ca.js → p-f8ac52c6.js} +117 -72
  260. package/dist/components/{p-7790eae2.js → p-f97fa8ff.js} +128 -126
  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-483cfa2e.js} +1 -1
  358. package/dist/esm/{assets-b971f105.js → assets-d6147258.js} +1 -1
  359. package/dist/esm/{async-request-6675e5f5.js → async-request-21a65bdc.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-c2e180c8.js} +65 -60
  362. package/dist/esm/{index-1bf36cb9.js → index-0c5fef2e.js} +1 -1
  363. package/dist/esm/{index-7f1e2a22.js → index-209dece3.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-41b334ab.js} +1 -1
  367. package/dist/esm/{tasks-3dfcc330.js → tasks-24b9f88e.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-58ce8dca.js} +2 -2
  450. package/dist/esm/{translations-eff34607.js → translations-ff21fc65.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-eed2b508.entry.js → p-02441a57.entry.js} +1 -1
  454. package/dist/tet-components/p-032b5507.js +1 -0
  455. package/dist/tet-components/{p-de142575.js → p-0449b998.js} +1 -1
  456. package/dist/tet-components/{p-b680d126.entry.js → p-072fd38b.entry.js} +1 -1
  457. package/dist/tet-components/p-078fae30.entry.js +1 -0
  458. package/dist/tet-components/p-087903b8.entry.js +1 -0
  459. package/dist/tet-components/p-09da9cdb.entry.js +1 -0
  460. package/dist/tet-components/p-0bd28e46.entry.js +1 -0
  461. package/dist/tet-components/p-12649d6e.js +1 -0
  462. package/dist/tet-components/{p-44d068ac.entry.js → p-172f5d46.entry.js} +1 -1
  463. package/dist/tet-components/p-19d71252.entry.js +1 -0
  464. package/dist/tet-components/p-1c34c35d.entry.js +1 -0
  465. package/dist/tet-components/{p-9b027102.entry.js → p-1e637cab.entry.js} +1 -1
  466. package/dist/tet-components/p-216be909.entry.js +1 -0
  467. package/dist/tet-components/p-2204320b.entry.js +1 -0
  468. package/dist/tet-components/p-25c9957d.js +1 -0
  469. package/dist/tet-components/p-274d6839.entry.js +1 -0
  470. package/dist/tet-components/p-278ad754.entry.js +1 -0
  471. package/dist/tet-components/p-2813884f.entry.js +1 -0
  472. package/dist/tet-components/p-290cc145.entry.js +1 -0
  473. package/dist/tet-components/p-29a179e7.entry.js +1 -0
  474. package/dist/tet-components/{p-1a89919e.entry.js → p-2b11b9eb.entry.js} +1 -1
  475. package/dist/tet-components/p-30fed7c2.entry.js +1 -0
  476. package/dist/tet-components/{p-5c86ad42.entry.js → p-3176cf46.entry.js} +1 -1
  477. package/dist/tet-components/{p-46e5b573.entry.js → p-3d60accc.entry.js} +1 -1
  478. package/dist/tet-components/{p-e263ecdf.js → p-3deb6f3c.js} +1 -1
  479. package/dist/tet-components/p-41cdb7f9.entry.js +1 -0
  480. package/dist/tet-components/p-446ae6ef.entry.js +1 -0
  481. package/dist/tet-components/{p-f9a1fbb2.entry.js → p-451b2a49.entry.js} +1 -1
  482. package/dist/tet-components/{p-f023f124.entry.js → p-47233208.entry.js} +1 -1
  483. package/dist/tet-components/p-4c10844d.entry.js +1 -0
  484. package/dist/tet-components/p-4ecb9094.entry.js +1 -0
  485. package/dist/tet-components/{p-36d2a380.entry.js → p-4fd6c1ae.entry.js} +1 -1
  486. package/dist/tet-components/{p-49122f6a.entry.js → p-510150b8.entry.js} +1 -1
  487. package/dist/tet-components/{p-bc16c07b.js → p-56bfd2a5.js} +1 -1
  488. package/dist/tet-components/p-585739ce.entry.js +1 -0
  489. package/dist/tet-components/{p-918e4e84.entry.js → p-5cf65beb.entry.js} +1 -1
  490. package/dist/tet-components/{p-66dd0ede.entry.js → p-6278a886.entry.js} +1 -1
  491. package/dist/tet-components/p-646bddab.entry.js +1 -0
  492. package/dist/tet-components/p-683c2419.entry.js +1 -0
  493. package/dist/tet-components/{p-8b405467.entry.js → p-68709390.entry.js} +1 -1
  494. package/dist/tet-components/{p-c7dbb16f.entry.js → p-6910d35c.entry.js} +1 -1
  495. package/dist/tet-components/p-696f83db.entry.js +1 -0
  496. package/dist/tet-components/p-6a185f76.js +1 -0
  497. package/dist/tet-components/p-6ccea165.entry.js +1 -0
  498. package/dist/tet-components/p-6e166c83.entry.js +1 -0
  499. package/dist/tet-components/{p-775aa778.entry.js → p-70941fcd.entry.js} +1 -1
  500. package/dist/tet-components/p-7145ca73.entry.js +1 -0
  501. package/dist/tet-components/{p-8c964cca.js → p-77d941d8.js} +2 -2
  502. package/dist/tet-components/{p-a9ed4e2b.entry.js → p-7ae725e1.entry.js} +1 -1
  503. package/dist/tet-components/p-8148edc9.entry.js +1 -0
  504. package/dist/tet-components/p-8622e131.entry.js +1 -0
  505. package/dist/tet-components/p-8907f459.entry.js +1 -0
  506. package/dist/tet-components/p-8f7629ca.entry.js +1 -0
  507. package/dist/tet-components/p-94e9a944.js +1 -0
  508. package/dist/tet-components/p-97c743ab.entry.js +1 -0
  509. package/dist/tet-components/p-9a2b6ee2.js +1 -0
  510. package/dist/tet-components/p-9b5cf49f.js +2 -0
  511. package/dist/tet-components/{p-ed67bd52.entry.js → p-9becad06.entry.js} +1 -1
  512. package/dist/tet-components/p-9eb8d93b.entry.js +1 -0
  513. package/dist/tet-components/p-a8091c62.entry.js +1 -0
  514. package/dist/tet-components/p-a8e16d54.entry.js +1 -0
  515. package/dist/tet-components/p-ae2e1d5c.entry.js +1 -0
  516. package/dist/tet-components/{p-ecff869b.entry.js → p-b3598dc1.entry.js} +1 -1
  517. package/dist/tet-components/p-ba803b83.entry.js +1 -0
  518. package/dist/tet-components/p-bda674b0.entry.js +1 -0
  519. package/dist/tet-components/{p-8f545d45.entry.js → p-c07c5b84.entry.js} +1 -1
  520. package/dist/tet-components/p-c14f1445.entry.js +1 -0
  521. package/dist/tet-components/{p-9f1a810e.entry.js → p-c24c48e4.entry.js} +1 -1
  522. package/dist/tet-components/{p-bb9f1a6f.entry.js → p-c3f486bc.entry.js} +1 -1
  523. package/dist/tet-components/{p-77372984.js → p-c4fc2dd6.js} +1 -1
  524. package/dist/tet-components/p-c5bc017a.entry.js +1 -0
  525. package/dist/tet-components/p-c6d7c2b4.entry.js +1 -0
  526. package/dist/tet-components/p-c9cdf98c.js +1 -0
  527. package/dist/tet-components/p-cca96c58.entry.js +1 -0
  528. package/dist/tet-components/p-d4b6b480.entry.js +1 -0
  529. package/dist/tet-components/p-d5cc4a81.entry.js +1 -0
  530. package/dist/tet-components/p-d8bebee4.entry.js +1 -0
  531. package/dist/tet-components/p-d9a826c2.js +1 -0
  532. package/dist/tet-components/p-dd49b83c.entry.js +1 -0
  533. package/dist/tet-components/p-dd6c7252.entry.js +1 -0
  534. package/dist/tet-components/p-ea3ae824.entry.js +1 -0
  535. package/dist/tet-components/p-eba077c3.entry.js +1 -0
  536. package/dist/tet-components/p-ebc29130.entry.js +1 -0
  537. package/dist/tet-components/p-ed09dcf0.entry.js +1 -0
  538. package/dist/tet-components/p-ed46a069.entry.js +1 -0
  539. package/dist/tet-components/p-eda15c93.entry.js +1 -0
  540. package/dist/tet-components/{p-a07cada6.entry.js → p-eeb9d7f5.entry.js} +1 -1
  541. package/dist/tet-components/p-f262aa6f.entry.js +1 -0
  542. package/dist/tet-components/p-f6d5af93.entry.js +1 -0
  543. package/dist/tet-components/p-f704e170.entry.js +1 -0
  544. package/dist/tet-components/p-f86ab4d3.entry.js +1 -0
  545. package/dist/tet-components/p-fcaa909d.entry.js +1 -0
  546. package/dist/tet-components/p-fd1d7955.entry.js +1 -0
  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-7a04bcd7.entry.js +0 -1
  686. package/dist/tet-components/p-805c9ef3.entry.js +0 -1
  687. package/dist/tet-components/p-88885ba1.entry.js +0 -1
  688. package/dist/tet-components/p-8a6831bc.entry.js +0 -1
  689. package/dist/tet-components/p-8c7c6590.entry.js +0 -1
  690. package/dist/tet-components/p-8c89d1f5.entry.js +0 -1
  691. package/dist/tet-components/p-8d644f8b.entry.js +0 -1
  692. package/dist/tet-components/p-9102c6d9.entry.js +0 -1
  693. package/dist/tet-components/p-977ea27a.entry.js +0 -1
  694. package/dist/tet-components/p-9a5b8dbc.entry.js +0 -1
  695. package/dist/tet-components/p-a15d2b6a.entry.js +0 -1
  696. package/dist/tet-components/p-a549f1dd.entry.js +0 -1
  697. package/dist/tet-components/p-a8030923.entry.js +0 -1
  698. package/dist/tet-components/p-aff1e911.entry.js +0 -1
  699. package/dist/tet-components/p-b0112dde.entry.js +0 -1
  700. package/dist/tet-components/p-b14b8531.entry.js +0 -1
  701. package/dist/tet-components/p-b2b384d2.js +0 -1
  702. package/dist/tet-components/p-bc2e65ab.entry.js +0 -1
  703. package/dist/tet-components/p-bfa02c13.entry.js +0 -1
  704. package/dist/tet-components/p-c4a95bbe.entry.js +0 -1
  705. package/dist/tet-components/p-c4ed060b.entry.js +0 -1
  706. package/dist/tet-components/p-ca66b4b1.js +0 -1
  707. package/dist/tet-components/p-cf7d5c84.js +0 -1
  708. package/dist/tet-components/p-d0d6a340.js +0 -1
  709. package/dist/tet-components/p-d2919aae.js +0 -1
  710. package/dist/tet-components/p-d795f9c3.entry.js +0 -1
  711. package/dist/tet-components/p-dc12dee9.entry.js +0 -1
  712. package/dist/tet-components/p-dcbe09b5.js +0 -1
  713. package/dist/tet-components/p-de040767.entry.js +0 -1
  714. package/dist/tet-components/p-de4c32ee.entry.js +0 -1
  715. package/dist/tet-components/p-e423fe76.entry.js +0 -1
  716. package/dist/tet-components/p-e69056de.entry.js +0 -1
  717. package/dist/tet-components/p-e86164ef.entry.js +0 -1
  718. package/dist/tet-components/p-eb66d7b2.js +0 -1
  719. package/dist/tet-components/p-ecbfde88.entry.js +0 -1
  720. package/dist/tet-components/p-ed4b8bbe.entry.js +0 -1
  721. package/dist/tet-components/p-eed7244f.entry.js +0 -1
  722. package/dist/tet-components/p-f48500fd.entry.js +0 -1
  723. package/dist/tet-components/p-fab4ab39.entry.js +0 -1
  724. package/dist/tet-components/p-fd4131ad.entry.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f559cb2e.js');
5
+ const index = require('./index-4daaccaa.js');
6
6
  const debounce = require('./debounce-e63291de.js');
7
7
  const size = require('./size-46435ffe.js');
8
8
 
@@ -14,620 +14,6 @@ const TetRangeSlider = class {
14
14
  index.registerInstance(this, hostRef);
15
15
  this.sliderInput = index.createEvent(this, "slider-input", 7);
16
16
  this.sliderChange = index.createEvent(this, "slider-change", 7);
17
- /**
18
- * Slider event handler.
19
- * Updates progress bar.
20
- * Calculates `currentValue`.
21
- *
22
- * @param event input event.
23
- */
24
- this.onSliderInput = (event) => {
25
- this.updateProgress();
26
- const inputValue = parseFloat(event.target.value);
27
- const closestDataPoint = this.getClosestOriginalDataPoint(inputValue);
28
- const closestValueIndex = this.dataSet.indexOf(closestDataPoint);
29
- const originalValue = parseFloat(Object.keys(closestDataPoint)[0]);
30
- const overrideValue = closestDataPoint[originalValue];
31
- if (inputValue === originalValue) {
32
- this.currentValue = overrideValue;
33
- return;
34
- }
35
- const range = [closestDataPoint];
36
- if (inputValue < originalValue) {
37
- range.unshift(this.dataSet[closestValueIndex - 1]);
38
- }
39
- else {
40
- range.push(this.dataSet[closestValueIndex + 1]);
41
- }
42
- const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
43
- const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
44
- const originalRange = originalRangeEnd - originalRangeStart;
45
- const overrideRangeStart = range[0][originalRangeStart];
46
- const overrideRangeEnd = range[1][originalRangeEnd];
47
- const overrideRange = overrideRangeEnd - overrideRangeStart;
48
- let currentValue = (inputValue - originalRangeStart) * (overrideRange / originalRange) + overrideRangeStart;
49
- if (currentValue > this.maxValue) {
50
- currentValue = this.maxValue;
51
- }
52
- else if (currentValue < this.minValue) {
53
- currentValue = this.minValue;
54
- }
55
- const decimals = this.getStepDecimals(this.step);
56
- let snappedValue = Math.round(currentValue / this.step) * this.step;
57
- snappedValue = parseFloat(snappedValue.toFixed(decimals));
58
- this.currentValue = snappedValue;
59
- };
60
- /**
61
- * Manual value input event handler.
62
- * Updates slider position.
63
- * @param event input event.
64
- */
65
- this.onInputChange = (event) => {
66
- let inputValue = parseFloat(event.target.value);
67
- if (Number.isNaN(inputValue)) {
68
- inputValue = 0;
69
- }
70
- if (inputValue > this.inputMaxValue) {
71
- inputValue = this.inputMaxValue;
72
- event.target.value = this.inputMaxValue;
73
- }
74
- this.setSliderValue(inputValue);
75
- this.currentValue = inputValue;
76
- this.updateProgress();
77
- };
78
- /** Input keydown event listener.
79
- * Limits the input range to the defined `minValue` and `maxValue` values when using keyboard to increment values.
80
- * @param {KeyboardEvent} event
81
- */
82
- this.onInputKeyDown = (event, ignoreHorizontalArrows = false) => {
83
- const incrementKeyCodes = ['PageUp', 'ArrowUp', 'ArrowRight'];
84
- const decrementKeyCodes = ['PageDown', 'ArrowDown', 'ArrowLeft'];
85
- const keycode = event.code;
86
- if (ignoreHorizontalArrows) {
87
- incrementKeyCodes.pop();
88
- decrementKeyCodes.pop();
89
- }
90
- if (incrementKeyCodes.includes(keycode)) {
91
- event.preventDefault();
92
- event.stopImmediatePropagation();
93
- if (this.lockToDataPoint || keycode === 'PageUp') {
94
- this.onControlNextClick();
95
- }
96
- else {
97
- this.handleSliderArrowKeys('increment');
98
- }
99
- }
100
- if (decrementKeyCodes.includes(keycode)) {
101
- event.preventDefault();
102
- event.stopImmediatePropagation();
103
- if (this.lockToDataPoint || keycode === 'PageDown') {
104
- this.onControlPreviousClick();
105
- }
106
- else {
107
- this.handleSliderArrowKeys('decrement');
108
- }
109
- }
110
- const keyCodes = incrementKeyCodes.concat(decrementKeyCodes);
111
- if (keyCodes.includes(keycode)) {
112
- setTimeout(() => this.sliderChange.emit(this.currentValue));
113
- }
114
- };
115
- /**
116
- * `sliderContainerRef` scroll listener.
117
- * Updates slider values relative to the container scroll amount.
118
- */
119
- this.onContainerScroll = () => {
120
- if (this.isSliding) {
121
- return;
122
- }
123
- this.onSliderChangeDebounce();
124
- let currentScroll = this.sliderContainerRef.scrollLeft;
125
- const thumbWidth = this.tooltipHandleRef.getBoundingClientRect().width;
126
- const sliderWidth = this.sliderRef.getBoundingClientRect().width;
127
- const minScrollLeft = sliderWidth / 2 + thumbWidth / 2;
128
- const maxScrollLeft = minScrollLeft + sliderWidth - thumbWidth;
129
- if (currentScroll < minScrollLeft) {
130
- currentScroll = minScrollLeft;
131
- }
132
- if (currentScroll > maxScrollLeft) {
133
- currentScroll = maxScrollLeft;
134
- }
135
- currentScroll = Math.round(currentScroll * 100) / 100;
136
- this.sliderContainerRef.scrollLeft = currentScroll;
137
- const scrollRange = maxScrollLeft - minScrollLeft;
138
- const sliderRange = this.maxValue - this.minValue;
139
- const currentScrollInRange = currentScroll - minScrollLeft;
140
- const currentScrollPercent = Math.round((currentScrollInRange / scrollRange) * 1000) / 1000;
141
- const sliderValue = sliderRange * currentScrollPercent + this.minValue;
142
- const closestDataPoint = this.getClosestOriginalDataPoint(sliderValue);
143
- const dataSetIndex = this.dataSet.indexOf(closestDataPoint);
144
- if (dataSetIndex === 0 && sliderValue < parseFloat(Object.keys(closestDataPoint)[0])) {
145
- this.currentValue = Object.values(closestDataPoint)[0];
146
- this.setSliderValue(this.currentValue);
147
- return;
148
- }
149
- if (sliderValue === parseFloat(Object.keys(closestDataPoint)[0])) {
150
- this.currentValue = Object.values(closestDataPoint)[0];
151
- this.setSliderValue(this.currentValue);
152
- return;
153
- }
154
- const range = [closestDataPoint];
155
- if (sliderValue < parseFloat(Object.keys(closestDataPoint)[0])) {
156
- range.unshift(this.dataSet[dataSetIndex - 1]);
157
- }
158
- else {
159
- range.push(this.dataSet[dataSetIndex + 1]);
160
- }
161
- const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
162
- const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
163
- const originalRange = originalRangeEnd - originalRangeStart;
164
- const overrideRangeStart = range[0][originalRangeStart];
165
- const overrideRangeEnd = range[1][originalRangeEnd];
166
- const overrideRange = overrideRangeEnd - overrideRangeStart;
167
- const currentValue = (sliderValue - originalRangeStart) * (overrideRange / originalRange) + overrideRangeStart;
168
- this.currentValue = Math.round(currentValue);
169
- this.setSliderValue(this.currentValue);
170
- };
171
- /**
172
- * Manual value input blur event handler.
173
- * Checks whether the input is within the range of the slider.
174
- * Updates the slider position and input value if the entered value is out of range.
175
- * @param event blur event.
176
- */
177
- this.onInputBlur = (event) => {
178
- let inputValue = parseFloat(event.target.value);
179
- if (Number.isNaN(inputValue)) {
180
- inputValue = this.minValue;
181
- }
182
- const dataSet = JSON.parse(JSON.stringify(this.dataSet));
183
- const firstDataPoint = dataSet.shift();
184
- const lastDataPoint = dataSet.pop();
185
- if (inputValue < firstDataPoint[this.minValue]) {
186
- this.currentValue = firstDataPoint[this.minValue];
187
- this.sliderRef.value = Object.keys(firstDataPoint)[0];
188
- this.setInputValue(firstDataPoint[this.minValue]);
189
- }
190
- const maxInputValue = Math.max(this.inputMaxValue, lastDataPoint[this.maxValue]);
191
- if (inputValue > maxInputValue) {
192
- this.currentValue = maxInputValue;
193
- this.sliderRef.value = Object.keys(lastDataPoint)[0];
194
- this.setInputValue(maxInputValue);
195
- }
196
- this.updateProgress();
197
- this.sliderChange.emit(this.currentValue);
198
- };
199
- /**
200
- * Slider change event handler.
201
- * Depending on `lockToDataPoint` flag changes the slider value to the closest data point or emits `slider-change` event.
202
- */
203
- this.onSliderChange = () => {
204
- if (this.lockToDataPoint) {
205
- this.slideToClosestDataPoint();
206
- }
207
- else {
208
- this.sliderChange.emit(this.currentValue);
209
- }
210
- };
211
- /** Debounced slider change event. */
212
- this.onSliderChangeDebounce = debounce.debounce(this.onSliderChange, 50);
213
- /**
214
- * Control previous button handler.
215
- */
216
- this.onControlPreviousClick = () => {
217
- const closestDataPoint = this.getClosestOverrideDataPoint();
218
- const closestDataPointValue = Object.values(closestDataPoint)[0];
219
- const dataPointIndex = this.dataSet.indexOf(closestDataPoint);
220
- let previousDataPoint = this.dataSet[dataPointIndex - 1];
221
- if (dataPointIndex === 0) {
222
- previousDataPoint = closestDataPoint;
223
- }
224
- if (this.currentValue > closestDataPointValue) {
225
- previousDataPoint = closestDataPoint;
226
- }
227
- const previousDataPointValue = Object.values(previousDataPoint)[0];
228
- this.currentValue = previousDataPointValue;
229
- this.setSliderValue(previousDataPointValue);
230
- this.updateProgress();
231
- this.scrollToThumbCenter();
232
- this.sliderChange.emit(this.currentValue);
233
- };
234
- /**
235
- * Control next button handler.
236
- */
237
- this.onControlNextClick = () => {
238
- const closestDataPoint = this.getClosestOverrideDataPoint();
239
- const closestDataPointValue = Object.values(closestDataPoint)[0];
240
- const dataPointIndex = this.dataSet.indexOf(closestDataPoint);
241
- let nextDataPoint = this.dataSet[dataPointIndex + 1];
242
- if (dataPointIndex + 1 === this.dataSet.length) {
243
- nextDataPoint = closestDataPoint;
244
- }
245
- if (this.currentValue < closestDataPointValue) {
246
- nextDataPoint = closestDataPoint;
247
- }
248
- const nextDataPointValue = Object.values(nextDataPoint)[0];
249
- this.currentValue = nextDataPointValue;
250
- this.setSliderValue(nextDataPointValue);
251
- this.updateProgress();
252
- this.scrollToThumbCenter();
253
- this.sliderChange.emit(this.currentValue);
254
- };
255
- /**
256
- * Slider pointer down event handler.
257
- */
258
- this.onSliderPointerDown = () => {
259
- this.animateSliderThumb('normal');
260
- };
261
- /**
262
- * Slider pointer up event handler.
263
- */
264
- this.onSliderPointerUp = () => {
265
- this.animateSliderThumb('reverse');
266
- };
267
- /**
268
- * Container touch start event handler.
269
- */
270
- this.onContainerTouchStart = () => {
271
- this.isPointerDown = true;
272
- this.animateSliderThumb('normal');
273
- };
274
- /**
275
- * Container touch end event handler.
276
- */
277
- this.onContainerTouchEnd = () => {
278
- this.isPointerDown = false;
279
- this.animateSliderThumb('reverse');
280
- this.onSliderChangeDebounce();
281
- };
282
- /**
283
- * Initialises the mouse drag.
284
- * @param {MouseEvent} e Current mouse event.
285
- */
286
- this.onContainerMouseDown = (e) => {
287
- if (this.type !== 'secondary' || this.containerSize !== 'small') {
288
- return;
289
- }
290
- this.isPointerDown = true;
291
- this.positions = {
292
- scrollLeft: this.sliderContainerRef.scrollLeft,
293
- mouseX: e.clientX,
294
- };
295
- this.element.addEventListener('mousemove', this.onContainerMouseMove);
296
- this.element.addEventListener('mouseup', this.onContainerMouseUp);
297
- this.element.addEventListener('mouseleave', this.onContainerMouseUp);
298
- this.animateSliderThumb('normal');
299
- };
300
- /**
301
- * Scrolls the `sliderContainerRef` on mouse drag.
302
- * @param {MouseEvent} e Current mouse event.
303
- */
304
- this.onContainerMouseMove = (e) => {
305
- e.preventDefault();
306
- const mouseButton = e.buttons;
307
- this.isPointerDown = mouseButton === 1;
308
- if (!this.isPointerDown) {
309
- this.onContainerMouseUp();
310
- return;
311
- }
312
- const deltaX = e.clientX - this.positions.mouseX;
313
- this.sliderContainerRef.scrollTo(this.positions.scrollLeft - deltaX, 0);
314
- };
315
- /**
316
- * Removes mouse drag events.
317
- */
318
- this.onContainerMouseUp = () => {
319
- this.isPointerDown = false;
320
- this.element.removeEventListener('mousemove', this.onContainerMouseMove);
321
- this.element.removeEventListener('mouseup', this.onContainerMouseUp);
322
- this.element.removeEventListener('mouseleave', this.onContainerMouseUp);
323
- this.animateSliderThumb('reverse');
324
- this.onSliderChangeDebounce();
325
- };
326
- /**
327
- * Updates the progress track of the slider.
328
- */
329
- this.updateProgress = () => {
330
- const progressTrack = this.progressTrackRef;
331
- if (progressTrack === undefined) {
332
- return;
333
- }
334
- let percent = this.getSliderPercent();
335
- if (percent < 50) {
336
- percent += 0.5;
337
- }
338
- progressTrack.style.width = percent + '%';
339
- this.updateTooltipHandlePosition();
340
- };
341
- /**
342
- * Updates the `tooltipHandleRef` position to mimick the sliders thumb position.
343
- */
344
- this.updateTooltipHandlePosition = () => {
345
- const percent = this.getSliderPercent();
346
- const sliderWidth = this.sliderRef.getBoundingClientRect().width;
347
- const tooltipHandleWidth = this.tooltipHandleRef.getBoundingClientRect().width;
348
- const positionLeft = (sliderWidth - tooltipHandleWidth) * (percent / 100) +
349
- this.sliderRef.getBoundingClientRect().left -
350
- this.element.getBoundingClientRect().left;
351
- this.tooltipHandleRef.style.left = `${positionLeft}px`;
352
- const handlePosition = this.tooltipHandleRef.getBoundingClientRect().x;
353
- const handlePositionLeftRem = handlePosition / size.getRemSize();
354
- const windowWidth = window.innerWidth;
355
- const handlePositionRight = (windowWidth - handlePosition - tooltipHandleWidth) / size.getRemSize();
356
- let tooltipOffset = 0;
357
- if (handlePositionLeftRem < 1) {
358
- tooltipOffset = 2;
359
- }
360
- else if (handlePositionLeftRem < 3) {
361
- tooltipOffset = 3 - handlePositionLeftRem;
362
- }
363
- else if (handlePositionRight < 1) {
364
- tooltipOffset = -2;
365
- }
366
- else if (handlePositionRight < 3) {
367
- tooltipOffset = (3 - handlePositionRight) * -1;
368
- }
369
- this.tooltipOffset = tooltipOffset;
370
- };
371
- /**
372
- * Gets the closest display value from the `dataSet`.
373
- * @param value the value to check against. `currentValue` by default.
374
- */
375
- this.getClosestOverrideDataPoint = (value = this.currentValue) => {
376
- return this.dataSet.reduce(function (prev, curr) {
377
- return Math.abs(Object.values(curr)[0] - value) < Math.abs(Object.values(prev)[0] - value) ? curr : prev;
378
- });
379
- };
380
- /**
381
- * Gets the closest slider value from the `dataSet`.
382
- * @param value the value to check against.
383
- */
384
- this.getClosestOriginalDataPoint = (value) => {
385
- return this.dataSet.reduce(function (prev, curr) {
386
- return Math.abs(parseFloat(Object.keys(curr)[0]) - value) < Math.abs(parseFloat(Object.keys(prev)[0]) - value)
387
- ? curr
388
- : prev;
389
- });
390
- };
391
- /**
392
- * Gets the current percent of the thumb position relative to the slider width.
393
- * @returns {number}
394
- */
395
- this.getSliderPercent = () => {
396
- const slider = this.sliderRef;
397
- if (slider === null) {
398
- return 0;
399
- }
400
- const range = this.maxValue - this.minValue;
401
- const absoluteValue = parseFloat(slider.value) - this.minValue;
402
- const sliderPercent = (absoluteValue / range) * 100;
403
- return sliderPercent;
404
- };
405
- /**
406
- * Gets the current display value for the toolip.
407
- * @returns The display value for the tooltip.
408
- */
409
- this.getTooltipValue = () => {
410
- if (this.type === 'secondary') {
411
- return `${Object.values(this.getClosestOverrideDataPoint())[0]} ${this.dataUnits}`;
412
- }
413
- let tooltipValue = this.currentValue;
414
- if (this.currentValue < this.minValue) {
415
- tooltipValue = this.minValue;
416
- }
417
- if (this.currentValue > this.maxValue) {
418
- tooltipValue = this.maxValue;
419
- }
420
- return `${tooltipValue} ${this.dataUnits}`;
421
- };
422
- /**
423
- * Converts the display value of the slider to a slider value and updates slider position.
424
- * @param value the display value.
425
- */
426
- this.setSliderValue = (value) => {
427
- if (Number.isNaN(value)) {
428
- value = this.minValue;
429
- }
430
- const dataSet = JSON.parse(JSON.stringify(this.dataSet));
431
- const firstDataPoint = dataSet.shift();
432
- const lastDataPoint = dataSet.pop();
433
- if (value < firstDataPoint[this.minValue]) {
434
- this.sliderRef.value = this.minValue.toString();
435
- return;
436
- }
437
- if (value > lastDataPoint[this.maxValue]) {
438
- this.sliderRef.value = this.maxValue.toString();
439
- return;
440
- }
441
- const closestDataPoint = this.getClosestOverrideDataPoint(value);
442
- const closestDataPointValue = Object.values(closestDataPoint)[0];
443
- if (value === closestDataPointValue) {
444
- this.sliderRef.value = Object.keys(closestDataPoint)[0];
445
- return;
446
- }
447
- const dataSetIndex = this.dataSet.indexOf(closestDataPoint);
448
- const range = [closestDataPoint];
449
- if (value < closestDataPointValue) {
450
- range.unshift(this.dataSet[dataSetIndex - 1]);
451
- }
452
- else {
453
- range.push(this.dataSet[dataSetIndex + 1]);
454
- }
455
- const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
456
- const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
457
- const originalRange = originalRangeEnd - originalRangeStart;
458
- const overrideRangeStart = range[0][originalRangeStart];
459
- const overrideRangeEnd = range[1][originalRangeEnd];
460
- const overrideRange = overrideRangeEnd - overrideRangeStart;
461
- const sliderValue = (value - overrideRangeStart) * (originalRange / overrideRange) + originalRangeStart;
462
- this.sliderRef.value = sliderValue.toString();
463
- };
464
- /**
465
- * Sets `containerSize` state depending on `element` width.
466
- * Sets `sliderContainerRef` overflow style depending on `type` and `containerSize` states.
467
- */
468
- this.autoSetContainerSize = () => {
469
- if (this.size !== 'auto') {
470
- return;
471
- }
472
- let containerWidth = 0;
473
- if (this.parentContainer.hasOwnProperty('innerWidth')) {
474
- containerWidth = this.parentContainer.innerWidth;
475
- }
476
- else {
477
- containerWidth = this.parentContainer.getBoundingClientRect().width;
478
- }
479
- if (containerWidth >= 1024) {
480
- this.containerSize = 'large';
481
- }
482
- else if (containerWidth >= 768) {
483
- this.containerSize = 'medium';
484
- }
485
- else {
486
- this.containerSize = 'small';
487
- }
488
- if (this.sliderContainerRef === undefined) {
489
- return;
490
- }
491
- if (this.type === 'secondary' && this.containerSize === 'small') {
492
- this.sliderContainerRef.style.overflowX = 'scroll';
493
- setTimeout(this.scrollToThumbCenter, 50);
494
- }
495
- else {
496
- this.sliderContainerRef.style.overflowX = 'unset';
497
- }
498
- };
499
- /**
500
- * Sets the manual input value.
501
- * @param value number to be displayed in the input.
502
- */
503
- this.setInputValue = (value) => {
504
- this.inputRef.value = value.toString();
505
- };
506
- /**
507
- * Gradually sets the slider value until it matches the closest `dataPoint` entry.
508
- * Sets `isSliding` state.
509
- */
510
- this.slideToClosestDataPoint = () => {
511
- if (this.isPointerDown) {
512
- return;
513
- }
514
- const closestDataPoint = this.getClosestOverrideDataPoint();
515
- const closestDataPointValue = Object.values(closestDataPoint)[0];
516
- this.isSliding = true;
517
- const interval = setInterval(() => {
518
- const valueDelta = Math.abs(closestDataPointValue - this.currentValue);
519
- this.scrollToThumbCenter();
520
- if (!valueDelta) {
521
- clearInterval(interval);
522
- this.sliderChange.emit(this.currentValue);
523
- setTimeout(() => {
524
- this.isSliding = false;
525
- }, 50);
526
- }
527
- if (valueDelta < 5) {
528
- this.currentValue = closestDataPointValue;
529
- this.setSliderValue(closestDataPointValue);
530
- this.updateProgress();
531
- return;
532
- }
533
- let changeBy = 5;
534
- if (valueDelta > 100) {
535
- changeBy = 10;
536
- }
537
- if (this.currentValue > closestDataPointValue) {
538
- this.currentValue = this.currentValue - changeBy;
539
- this.setSliderValue(this.currentValue);
540
- }
541
- if (this.currentValue < closestDataPointValue) {
542
- this.currentValue = this.currentValue + changeBy;
543
- this.setSliderValue(this.currentValue);
544
- }
545
- this.updateProgress();
546
- }, 1);
547
- };
548
- /**
549
- * Calculates the `dataSet` state from the provided `dataPoints`.
550
- */
551
- this.calculateDataSet = () => {
552
- const dataSteps = this.dataPoints.length ? this.dataPoints.length : 2;
553
- const dataPoints = this.dataPoints.length ? this.dataPoints : [this.minValue, this.maxValue];
554
- const inputRange = this.maxValue - this.minValue;
555
- const increment = inputRange / (dataSteps - 1);
556
- this.dataSet.length = 0;
557
- for (let index = 0; index < dataSteps; index++) {
558
- this.dataSet.push({ [increment * index + this.minValue]: dataPoints[index] });
559
- }
560
- };
561
- /**
562
- * Scrolls `sliderContainerRef` to place slider thumb in the center of the screen.
563
- */
564
- this.scrollToThumbCenter = () => {
565
- if (this.type !== 'secondary' || this.containerSize !== 'small') {
566
- return;
567
- }
568
- const sliderWidth = this.sliderRef.getBoundingClientRect().width;
569
- const thumbWidth = this.tooltipHandleRef.getBoundingClientRect().width;
570
- const minScrollLeft = sliderWidth / 2 + thumbWidth / 2;
571
- const maxScrollLeft = minScrollLeft + sliderWidth - thumbWidth;
572
- const scrollRange = maxScrollLeft - minScrollLeft;
573
- const sliderPercent = this.getSliderPercent();
574
- this.sliderContainerRef.scrollLeft = minScrollLeft + (scrollRange * sliderPercent) / 100;
575
- };
576
- /**
577
- * Animates the shadows of the slider thumb.
578
- * @param {PlaybackDirection} direction sets the animation direction.
579
- */
580
- this.animateSliderThumb = (direction) => {
581
- const shadowDefault = getComputedStyle(this.element).getPropertyValue('--slider-thumb-shadow');
582
- const shadowActive = getComputedStyle(this.element).getPropertyValue('--slider-thumb-active-shadow');
583
- if (direction === 'normal') {
584
- this.tooltipHandleRef.classList.add('range-slider__tooltip-handle--active');
585
- }
586
- else {
587
- this.tooltipHandleRef.classList.remove('range-slider__tooltip-handle--active');
588
- }
589
- this.tooltipHandleRef.animate([{ boxShadow: shadowDefault }, { boxShadow: 'none' }, { boxShadow: shadowActive }], {
590
- duration: 300,
591
- direction,
592
- });
593
- };
594
- /** Renders a tick mark. */
595
- this.renderTick = () => {
596
- let tick = document.createElement('span');
597
- tick.className = 'range-slider__tick';
598
- this.tickContainerRef.appendChild(tick);
599
- };
600
- /** Renders data labels. */
601
- this.renderDataLabels = () => {
602
- const inputRange = this.maxValue - this.minValue;
603
- this.dataLabelRef.innerHTML = '';
604
- this.tickContainerRef.innerHTML = '';
605
- for (const dataLabel of this.dataSet) {
606
- const position = parseFloat(Object.keys(dataLabel)[0]);
607
- const label = Object.values(dataLabel)[0];
608
- const absolutePosition = position - this.minValue;
609
- const relativePosition = (absolutePosition / inputRange) * 100;
610
- this.renderTick();
611
- if (this.displayDataPoints.length && !this.displayDataPoints.includes(label)) {
612
- continue;
613
- }
614
- this.dataLabelRef.appendChild(this.renderDataLabel(label.toString(), relativePosition));
615
- }
616
- };
617
- /**
618
- * Creates a data label node.
619
- * @param label data label to be displayed.
620
- * @param position position relative to the slider container.
621
- * @returns {HTMLElement} representing data label.
622
- */
623
- this.renderDataLabel = (label, position) => {
624
- const dataListItem = document.createElement('span');
625
- const valueNode = document.createTextNode(label);
626
- dataListItem.appendChild(valueNode);
627
- dataListItem.classList.add('range-slider__data-label');
628
- dataListItem.style.left = `calc(${position}% - 1.5rem)`;
629
- return dataListItem;
630
- };
631
17
  this.parentContainer = null;
632
18
  this.minValue = 1;
633
19
  this.maxValue = 500;
@@ -656,6 +42,19 @@ const TetRangeSlider = class {
656
42
  this.isPointerDown = false;
657
43
  this.positions = { scrollLeft: 0, mouseX: 0 };
658
44
  }
45
+ inputRef;
46
+ sliderRef;
47
+ sliderContainerRef;
48
+ dataLabelRef;
49
+ tickContainerRef;
50
+ progressTrackRef;
51
+ tooltipHandleRef;
52
+ sliderResizeObserver;
53
+ get element() { return index.getElement(this); }
54
+ /** The event that is emitted on slider input. */
55
+ sliderInput;
56
+ /** The event that is emitted on slider change. */
57
+ sliderChange;
659
58
  /**
660
59
  * Watches for `dataPoints` mutations and updates `dataSet` and re-renders data labels.
661
60
  */
@@ -692,6 +91,315 @@ const TetRangeSlider = class {
692
91
  this.containerSize = size;
693
92
  }
694
93
  }
94
+ /**
95
+ * Slider event handler.
96
+ * Updates progress bar.
97
+ * Calculates `currentValue`.
98
+ *
99
+ * @param event input event.
100
+ */
101
+ onSliderInput = (event) => {
102
+ this.updateProgress();
103
+ const inputValue = parseFloat(event.target.value);
104
+ const closestDataPoint = this.getClosestOriginalDataPoint(inputValue);
105
+ const closestValueIndex = this.dataSet.indexOf(closestDataPoint);
106
+ const originalValue = parseFloat(Object.keys(closestDataPoint)[0]);
107
+ const overrideValue = closestDataPoint[originalValue];
108
+ if (inputValue === originalValue) {
109
+ this.currentValue = overrideValue;
110
+ return;
111
+ }
112
+ const range = [closestDataPoint];
113
+ if (inputValue < originalValue) {
114
+ range.unshift(this.dataSet[closestValueIndex - 1]);
115
+ }
116
+ else {
117
+ range.push(this.dataSet[closestValueIndex + 1]);
118
+ }
119
+ const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
120
+ const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
121
+ const originalRange = originalRangeEnd - originalRangeStart;
122
+ const overrideRangeStart = range[0][originalRangeStart];
123
+ const overrideRangeEnd = range[1][originalRangeEnd];
124
+ const overrideRange = overrideRangeEnd - overrideRangeStart;
125
+ let currentValue = (inputValue - originalRangeStart) * (overrideRange / originalRange) + overrideRangeStart;
126
+ if (currentValue > this.maxValue) {
127
+ currentValue = this.maxValue;
128
+ }
129
+ else if (currentValue < this.minValue) {
130
+ currentValue = this.minValue;
131
+ }
132
+ const decimals = this.getStepDecimals(this.step);
133
+ let snappedValue = Math.round(currentValue / this.step) * this.step;
134
+ snappedValue = parseFloat(snappedValue.toFixed(decimals));
135
+ this.currentValue = snappedValue;
136
+ };
137
+ /**
138
+ * Manual value input event handler.
139
+ * Updates slider position.
140
+ * @param event input event.
141
+ */
142
+ onInputChange = (event) => {
143
+ let inputValue = parseFloat(event.target.value);
144
+ if (Number.isNaN(inputValue)) {
145
+ inputValue = 0;
146
+ }
147
+ if (inputValue > this.inputMaxValue) {
148
+ inputValue = this.inputMaxValue;
149
+ event.target.value = this.inputMaxValue;
150
+ }
151
+ this.setSliderValue(inputValue);
152
+ this.currentValue = inputValue;
153
+ this.updateProgress();
154
+ };
155
+ /** Input keydown event listener.
156
+ * Limits the input range to the defined `minValue` and `maxValue` values when using keyboard to increment values.
157
+ * @param {KeyboardEvent} event
158
+ */
159
+ onInputKeyDown = (event, ignoreHorizontalArrows = false) => {
160
+ const incrementKeyCodes = ['PageUp', 'ArrowUp', 'ArrowRight'];
161
+ const decrementKeyCodes = ['PageDown', 'ArrowDown', 'ArrowLeft'];
162
+ const keycode = event.code;
163
+ if (ignoreHorizontalArrows) {
164
+ incrementKeyCodes.pop();
165
+ decrementKeyCodes.pop();
166
+ }
167
+ if (incrementKeyCodes.includes(keycode)) {
168
+ event.preventDefault();
169
+ event.stopImmediatePropagation();
170
+ if (this.lockToDataPoint || keycode === 'PageUp') {
171
+ this.onControlNextClick();
172
+ }
173
+ else {
174
+ this.handleSliderArrowKeys('increment');
175
+ }
176
+ }
177
+ if (decrementKeyCodes.includes(keycode)) {
178
+ event.preventDefault();
179
+ event.stopImmediatePropagation();
180
+ if (this.lockToDataPoint || keycode === 'PageDown') {
181
+ this.onControlPreviousClick();
182
+ }
183
+ else {
184
+ this.handleSliderArrowKeys('decrement');
185
+ }
186
+ }
187
+ const keyCodes = incrementKeyCodes.concat(decrementKeyCodes);
188
+ if (keyCodes.includes(keycode)) {
189
+ setTimeout(() => this.sliderChange.emit(this.currentValue));
190
+ }
191
+ };
192
+ /**
193
+ * `sliderContainerRef` scroll listener.
194
+ * Updates slider values relative to the container scroll amount.
195
+ */
196
+ onContainerScroll = () => {
197
+ if (this.isSliding) {
198
+ return;
199
+ }
200
+ this.onSliderChangeDebounce();
201
+ let currentScroll = this.sliderContainerRef.scrollLeft;
202
+ const thumbWidth = this.tooltipHandleRef.getBoundingClientRect().width;
203
+ const sliderWidth = this.sliderRef.getBoundingClientRect().width;
204
+ const minScrollLeft = sliderWidth / 2 + thumbWidth / 2;
205
+ const maxScrollLeft = minScrollLeft + sliderWidth - thumbWidth;
206
+ if (currentScroll < minScrollLeft) {
207
+ currentScroll = minScrollLeft;
208
+ }
209
+ if (currentScroll > maxScrollLeft) {
210
+ currentScroll = maxScrollLeft;
211
+ }
212
+ currentScroll = Math.round(currentScroll * 100) / 100;
213
+ this.sliderContainerRef.scrollLeft = currentScroll;
214
+ const scrollRange = maxScrollLeft - minScrollLeft;
215
+ const sliderRange = this.maxValue - this.minValue;
216
+ const currentScrollInRange = currentScroll - minScrollLeft;
217
+ const currentScrollPercent = Math.round((currentScrollInRange / scrollRange) * 1000) / 1000;
218
+ const sliderValue = sliderRange * currentScrollPercent + this.minValue;
219
+ const closestDataPoint = this.getClosestOriginalDataPoint(sliderValue);
220
+ const dataSetIndex = this.dataSet.indexOf(closestDataPoint);
221
+ if (dataSetIndex === 0 && sliderValue < parseFloat(Object.keys(closestDataPoint)[0])) {
222
+ this.currentValue = Object.values(closestDataPoint)[0];
223
+ this.setSliderValue(this.currentValue);
224
+ return;
225
+ }
226
+ if (sliderValue === parseFloat(Object.keys(closestDataPoint)[0])) {
227
+ this.currentValue = Object.values(closestDataPoint)[0];
228
+ this.setSliderValue(this.currentValue);
229
+ return;
230
+ }
231
+ const range = [closestDataPoint];
232
+ if (sliderValue < parseFloat(Object.keys(closestDataPoint)[0])) {
233
+ range.unshift(this.dataSet[dataSetIndex - 1]);
234
+ }
235
+ else {
236
+ range.push(this.dataSet[dataSetIndex + 1]);
237
+ }
238
+ const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
239
+ const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
240
+ const originalRange = originalRangeEnd - originalRangeStart;
241
+ const overrideRangeStart = range[0][originalRangeStart];
242
+ const overrideRangeEnd = range[1][originalRangeEnd];
243
+ const overrideRange = overrideRangeEnd - overrideRangeStart;
244
+ const currentValue = (sliderValue - originalRangeStart) * (overrideRange / originalRange) + overrideRangeStart;
245
+ this.currentValue = Math.round(currentValue);
246
+ this.setSliderValue(this.currentValue);
247
+ };
248
+ /**
249
+ * Manual value input blur event handler.
250
+ * Checks whether the input is within the range of the slider.
251
+ * Updates the slider position and input value if the entered value is out of range.
252
+ * @param event blur event.
253
+ */
254
+ onInputBlur = (event) => {
255
+ let inputValue = parseFloat(event.target.value);
256
+ if (Number.isNaN(inputValue)) {
257
+ inputValue = this.minValue;
258
+ }
259
+ const dataSet = JSON.parse(JSON.stringify(this.dataSet));
260
+ const firstDataPoint = dataSet.shift();
261
+ const lastDataPoint = dataSet.pop();
262
+ if (inputValue < firstDataPoint[this.minValue]) {
263
+ this.currentValue = firstDataPoint[this.minValue];
264
+ this.sliderRef.value = Object.keys(firstDataPoint)[0];
265
+ this.setInputValue(firstDataPoint[this.minValue]);
266
+ }
267
+ const maxInputValue = Math.max(this.inputMaxValue, lastDataPoint[this.maxValue]);
268
+ if (inputValue > maxInputValue) {
269
+ this.currentValue = maxInputValue;
270
+ this.sliderRef.value = Object.keys(lastDataPoint)[0];
271
+ this.setInputValue(maxInputValue);
272
+ }
273
+ this.updateProgress();
274
+ this.sliderChange.emit(this.currentValue);
275
+ };
276
+ /**
277
+ * Slider change event handler.
278
+ * Depending on `lockToDataPoint` flag changes the slider value to the closest data point or emits `slider-change` event.
279
+ */
280
+ onSliderChange = () => {
281
+ if (this.lockToDataPoint) {
282
+ this.slideToClosestDataPoint();
283
+ }
284
+ else {
285
+ this.sliderChange.emit(this.currentValue);
286
+ }
287
+ };
288
+ /** Debounced slider change event. */
289
+ onSliderChangeDebounce = debounce.debounce(this.onSliderChange, 50);
290
+ /**
291
+ * Control previous button handler.
292
+ */
293
+ onControlPreviousClick = () => {
294
+ const closestDataPoint = this.getClosestOverrideDataPoint();
295
+ const closestDataPointValue = Object.values(closestDataPoint)[0];
296
+ const dataPointIndex = this.dataSet.indexOf(closestDataPoint);
297
+ let previousDataPoint = this.dataSet[dataPointIndex - 1];
298
+ if (dataPointIndex === 0) {
299
+ previousDataPoint = closestDataPoint;
300
+ }
301
+ if (this.currentValue > closestDataPointValue) {
302
+ previousDataPoint = closestDataPoint;
303
+ }
304
+ const previousDataPointValue = Object.values(previousDataPoint)[0];
305
+ this.currentValue = previousDataPointValue;
306
+ this.setSliderValue(previousDataPointValue);
307
+ this.updateProgress();
308
+ this.scrollToThumbCenter();
309
+ this.sliderChange.emit(this.currentValue);
310
+ };
311
+ /**
312
+ * Control next button handler.
313
+ */
314
+ onControlNextClick = () => {
315
+ const closestDataPoint = this.getClosestOverrideDataPoint();
316
+ const closestDataPointValue = Object.values(closestDataPoint)[0];
317
+ const dataPointIndex = this.dataSet.indexOf(closestDataPoint);
318
+ let nextDataPoint = this.dataSet[dataPointIndex + 1];
319
+ if (dataPointIndex + 1 === this.dataSet.length) {
320
+ nextDataPoint = closestDataPoint;
321
+ }
322
+ if (this.currentValue < closestDataPointValue) {
323
+ nextDataPoint = closestDataPoint;
324
+ }
325
+ const nextDataPointValue = Object.values(nextDataPoint)[0];
326
+ this.currentValue = nextDataPointValue;
327
+ this.setSliderValue(nextDataPointValue);
328
+ this.updateProgress();
329
+ this.scrollToThumbCenter();
330
+ this.sliderChange.emit(this.currentValue);
331
+ };
332
+ /**
333
+ * Slider pointer down event handler.
334
+ */
335
+ onSliderPointerDown = () => {
336
+ this.animateSliderThumb('normal');
337
+ };
338
+ /**
339
+ * Slider pointer up event handler.
340
+ */
341
+ onSliderPointerUp = () => {
342
+ this.animateSliderThumb('reverse');
343
+ };
344
+ /**
345
+ * Container touch start event handler.
346
+ */
347
+ onContainerTouchStart = () => {
348
+ this.isPointerDown = true;
349
+ this.animateSliderThumb('normal');
350
+ };
351
+ /**
352
+ * Container touch end event handler.
353
+ */
354
+ onContainerTouchEnd = () => {
355
+ this.isPointerDown = false;
356
+ this.animateSliderThumb('reverse');
357
+ this.onSliderChangeDebounce();
358
+ };
359
+ /**
360
+ * Initialises the mouse drag.
361
+ * @param {MouseEvent} e Current mouse event.
362
+ */
363
+ onContainerMouseDown = (e) => {
364
+ if (this.type !== 'secondary' || this.containerSize !== 'small') {
365
+ return;
366
+ }
367
+ this.isPointerDown = true;
368
+ this.positions = {
369
+ scrollLeft: this.sliderContainerRef.scrollLeft,
370
+ mouseX: e.clientX,
371
+ };
372
+ this.element.addEventListener('mousemove', this.onContainerMouseMove);
373
+ this.element.addEventListener('mouseup', this.onContainerMouseUp);
374
+ this.element.addEventListener('mouseleave', this.onContainerMouseUp);
375
+ this.animateSliderThumb('normal');
376
+ };
377
+ /**
378
+ * Scrolls the `sliderContainerRef` on mouse drag.
379
+ * @param {MouseEvent} e Current mouse event.
380
+ */
381
+ onContainerMouseMove = (e) => {
382
+ e.preventDefault();
383
+ const mouseButton = e.buttons;
384
+ this.isPointerDown = mouseButton === 1;
385
+ if (!this.isPointerDown) {
386
+ this.onContainerMouseUp();
387
+ return;
388
+ }
389
+ const deltaX = e.clientX - this.positions.mouseX;
390
+ this.sliderContainerRef.scrollTo(this.positions.scrollLeft - deltaX, 0);
391
+ };
392
+ /**
393
+ * Removes mouse drag events.
394
+ */
395
+ onContainerMouseUp = () => {
396
+ this.isPointerDown = false;
397
+ this.element.removeEventListener('mousemove', this.onContainerMouseMove);
398
+ this.element.removeEventListener('mouseup', this.onContainerMouseUp);
399
+ this.element.removeEventListener('mouseleave', this.onContainerMouseUp);
400
+ this.animateSliderThumb('reverse');
401
+ this.onSliderChangeDebounce();
402
+ };
695
403
  /**
696
404
  * Initialises `dataSet` state from the provided `dataPoints`.
697
405
  */
@@ -720,6 +428,51 @@ const TetRangeSlider = class {
720
428
  this.setSliderValue(this.currentValue);
721
429
  this.updateProgress();
722
430
  }
431
+ /**
432
+ * Updates the progress track of the slider.
433
+ */
434
+ updateProgress = () => {
435
+ const progressTrack = this.progressTrackRef;
436
+ if (progressTrack === undefined) {
437
+ return;
438
+ }
439
+ let percent = this.getSliderPercent();
440
+ if (percent < 50) {
441
+ percent += 0.5;
442
+ }
443
+ progressTrack.style.width = percent + '%';
444
+ this.updateTooltipHandlePosition();
445
+ };
446
+ /**
447
+ * Updates the `tooltipHandleRef` position to mimick the sliders thumb position.
448
+ */
449
+ updateTooltipHandlePosition = () => {
450
+ const percent = this.getSliderPercent();
451
+ const sliderWidth = this.sliderRef.getBoundingClientRect().width;
452
+ const tooltipHandleWidth = this.tooltipHandleRef.getBoundingClientRect().width;
453
+ const positionLeft = (sliderWidth - tooltipHandleWidth) * (percent / 100) +
454
+ this.sliderRef.getBoundingClientRect().left -
455
+ this.element.getBoundingClientRect().left;
456
+ this.tooltipHandleRef.style.left = `${positionLeft}px`;
457
+ const handlePosition = this.tooltipHandleRef.getBoundingClientRect().x;
458
+ const handlePositionLeftRem = handlePosition / size.getRemSize();
459
+ const windowWidth = window.innerWidth;
460
+ const handlePositionRight = (windowWidth - handlePosition - tooltipHandleWidth) / size.getRemSize();
461
+ let tooltipOffset = 0;
462
+ if (handlePositionLeftRem < 1) {
463
+ tooltipOffset = 2;
464
+ }
465
+ else if (handlePositionLeftRem < 3) {
466
+ tooltipOffset = 3 - handlePositionLeftRem;
467
+ }
468
+ else if (handlePositionRight < 1) {
469
+ tooltipOffset = -2;
470
+ }
471
+ else if (handlePositionRight < 3) {
472
+ tooltipOffset = (3 - handlePositionRight) * -1;
473
+ }
474
+ this.tooltipOffset = tooltipOffset;
475
+ };
723
476
  /**
724
477
  * Determines how many decimal places are present in the specified step value.
725
478
  *
@@ -755,6 +508,266 @@ const TetRangeSlider = class {
755
508
  this.setSliderValue(value);
756
509
  this.updateProgress();
757
510
  }
511
+ /**
512
+ * Gets the closest display value from the `dataSet`.
513
+ * @param value the value to check against. `currentValue` by default.
514
+ */
515
+ getClosestOverrideDataPoint = (value = this.currentValue) => {
516
+ return this.dataSet.reduce(function (prev, curr) {
517
+ return Math.abs(Object.values(curr)[0] - value) < Math.abs(Object.values(prev)[0] - value) ? curr : prev;
518
+ });
519
+ };
520
+ /**
521
+ * Gets the closest slider value from the `dataSet`.
522
+ * @param value the value to check against.
523
+ */
524
+ getClosestOriginalDataPoint = (value) => {
525
+ return this.dataSet.reduce(function (prev, curr) {
526
+ return Math.abs(parseFloat(Object.keys(curr)[0]) - value) < Math.abs(parseFloat(Object.keys(prev)[0]) - value)
527
+ ? curr
528
+ : prev;
529
+ });
530
+ };
531
+ /**
532
+ * Gets the current percent of the thumb position relative to the slider width.
533
+ * @returns {number}
534
+ */
535
+ getSliderPercent = () => {
536
+ const slider = this.sliderRef;
537
+ if (slider === null) {
538
+ return 0;
539
+ }
540
+ const range = this.maxValue - this.minValue;
541
+ const absoluteValue = parseFloat(slider.value) - this.minValue;
542
+ const sliderPercent = (absoluteValue / range) * 100;
543
+ return sliderPercent;
544
+ };
545
+ /**
546
+ * Gets the current display value for the toolip.
547
+ * @returns The display value for the tooltip.
548
+ */
549
+ getTooltipValue = () => {
550
+ if (this.type === 'secondary') {
551
+ return `${Object.values(this.getClosestOverrideDataPoint())[0]} ${this.dataUnits}`;
552
+ }
553
+ let tooltipValue = this.currentValue;
554
+ if (this.currentValue < this.minValue) {
555
+ tooltipValue = this.minValue;
556
+ }
557
+ if (this.currentValue > this.maxValue) {
558
+ tooltipValue = this.maxValue;
559
+ }
560
+ return `${tooltipValue} ${this.dataUnits}`;
561
+ };
562
+ /**
563
+ * Converts the display value of the slider to a slider value and updates slider position.
564
+ * @param value the display value.
565
+ */
566
+ setSliderValue = (value) => {
567
+ if (Number.isNaN(value)) {
568
+ value = this.minValue;
569
+ }
570
+ const dataSet = JSON.parse(JSON.stringify(this.dataSet));
571
+ const firstDataPoint = dataSet.shift();
572
+ const lastDataPoint = dataSet.pop();
573
+ if (value < firstDataPoint[this.minValue]) {
574
+ this.sliderRef.value = this.minValue.toString();
575
+ return;
576
+ }
577
+ if (value > lastDataPoint[this.maxValue]) {
578
+ this.sliderRef.value = this.maxValue.toString();
579
+ return;
580
+ }
581
+ const closestDataPoint = this.getClosestOverrideDataPoint(value);
582
+ const closestDataPointValue = Object.values(closestDataPoint)[0];
583
+ if (value === closestDataPointValue) {
584
+ this.sliderRef.value = Object.keys(closestDataPoint)[0];
585
+ return;
586
+ }
587
+ const dataSetIndex = this.dataSet.indexOf(closestDataPoint);
588
+ const range = [closestDataPoint];
589
+ if (value < closestDataPointValue) {
590
+ range.unshift(this.dataSet[dataSetIndex - 1]);
591
+ }
592
+ else {
593
+ range.push(this.dataSet[dataSetIndex + 1]);
594
+ }
595
+ const originalRangeStart = parseFloat(Object.keys(range[0])[0]);
596
+ const originalRangeEnd = parseFloat(Object.keys(range[1])[0]);
597
+ const originalRange = originalRangeEnd - originalRangeStart;
598
+ const overrideRangeStart = range[0][originalRangeStart];
599
+ const overrideRangeEnd = range[1][originalRangeEnd];
600
+ const overrideRange = overrideRangeEnd - overrideRangeStart;
601
+ const sliderValue = (value - overrideRangeStart) * (originalRange / overrideRange) + originalRangeStart;
602
+ this.sliderRef.value = sliderValue.toString();
603
+ };
604
+ /**
605
+ * Sets `containerSize` state depending on `element` width.
606
+ * Sets `sliderContainerRef` overflow style depending on `type` and `containerSize` states.
607
+ */
608
+ autoSetContainerSize = () => {
609
+ if (this.size !== 'auto') {
610
+ return;
611
+ }
612
+ let containerWidth = 0;
613
+ if (this.parentContainer.hasOwnProperty('innerWidth')) {
614
+ containerWidth = this.parentContainer.innerWidth;
615
+ }
616
+ else {
617
+ containerWidth = this.parentContainer.getBoundingClientRect().width;
618
+ }
619
+ if (containerWidth >= 1024) {
620
+ this.containerSize = 'large';
621
+ }
622
+ else if (containerWidth >= 768) {
623
+ this.containerSize = 'medium';
624
+ }
625
+ else {
626
+ this.containerSize = 'small';
627
+ }
628
+ if (this.sliderContainerRef === undefined) {
629
+ return;
630
+ }
631
+ if (this.type === 'secondary' && this.containerSize === 'small') {
632
+ this.sliderContainerRef.style.overflowX = 'scroll';
633
+ setTimeout(this.scrollToThumbCenter, 50);
634
+ }
635
+ else {
636
+ this.sliderContainerRef.style.overflowX = 'unset';
637
+ }
638
+ };
639
+ /**
640
+ * Sets the manual input value.
641
+ * @param value number to be displayed in the input.
642
+ */
643
+ setInputValue = (value) => {
644
+ this.inputRef.value = value.toString();
645
+ };
646
+ /**
647
+ * Gradually sets the slider value until it matches the closest `dataPoint` entry.
648
+ * Sets `isSliding` state.
649
+ */
650
+ slideToClosestDataPoint = () => {
651
+ if (this.isPointerDown) {
652
+ return;
653
+ }
654
+ const closestDataPoint = this.getClosestOverrideDataPoint();
655
+ const closestDataPointValue = Object.values(closestDataPoint)[0];
656
+ this.isSliding = true;
657
+ const interval = setInterval(() => {
658
+ const valueDelta = Math.abs(closestDataPointValue - this.currentValue);
659
+ this.scrollToThumbCenter();
660
+ if (!valueDelta) {
661
+ clearInterval(interval);
662
+ this.sliderChange.emit(this.currentValue);
663
+ setTimeout(() => {
664
+ this.isSliding = false;
665
+ }, 50);
666
+ }
667
+ if (valueDelta < 5) {
668
+ this.currentValue = closestDataPointValue;
669
+ this.setSliderValue(closestDataPointValue);
670
+ this.updateProgress();
671
+ return;
672
+ }
673
+ let changeBy = 5;
674
+ if (valueDelta > 100) {
675
+ changeBy = 10;
676
+ }
677
+ if (this.currentValue > closestDataPointValue) {
678
+ this.currentValue = this.currentValue - changeBy;
679
+ this.setSliderValue(this.currentValue);
680
+ }
681
+ if (this.currentValue < closestDataPointValue) {
682
+ this.currentValue = this.currentValue + changeBy;
683
+ this.setSliderValue(this.currentValue);
684
+ }
685
+ this.updateProgress();
686
+ }, 1);
687
+ };
688
+ /**
689
+ * Calculates the `dataSet` state from the provided `dataPoints`.
690
+ */
691
+ calculateDataSet = () => {
692
+ const dataSteps = this.dataPoints.length ? this.dataPoints.length : 2;
693
+ const dataPoints = this.dataPoints.length ? this.dataPoints : [this.minValue, this.maxValue];
694
+ const inputRange = this.maxValue - this.minValue;
695
+ const increment = inputRange / (dataSteps - 1);
696
+ this.dataSet.length = 0;
697
+ for (let index = 0; index < dataSteps; index++) {
698
+ this.dataSet.push({ [increment * index + this.minValue]: dataPoints[index] });
699
+ }
700
+ };
701
+ /**
702
+ * Scrolls `sliderContainerRef` to place slider thumb in the center of the screen.
703
+ */
704
+ scrollToThumbCenter = () => {
705
+ if (this.type !== 'secondary' || this.containerSize !== 'small') {
706
+ return;
707
+ }
708
+ const sliderWidth = this.sliderRef.getBoundingClientRect().width;
709
+ const thumbWidth = this.tooltipHandleRef.getBoundingClientRect().width;
710
+ const minScrollLeft = sliderWidth / 2 + thumbWidth / 2;
711
+ const maxScrollLeft = minScrollLeft + sliderWidth - thumbWidth;
712
+ const scrollRange = maxScrollLeft - minScrollLeft;
713
+ const sliderPercent = this.getSliderPercent();
714
+ this.sliderContainerRef.scrollLeft = minScrollLeft + (scrollRange * sliderPercent) / 100;
715
+ };
716
+ /**
717
+ * Animates the shadows of the slider thumb.
718
+ * @param {PlaybackDirection} direction sets the animation direction.
719
+ */
720
+ animateSliderThumb = (direction) => {
721
+ const shadowDefault = getComputedStyle(this.element).getPropertyValue('--slider-thumb-shadow');
722
+ const shadowActive = getComputedStyle(this.element).getPropertyValue('--slider-thumb-active-shadow');
723
+ if (direction === 'normal') {
724
+ this.tooltipHandleRef.classList.add('range-slider__tooltip-handle--active');
725
+ }
726
+ else {
727
+ this.tooltipHandleRef.classList.remove('range-slider__tooltip-handle--active');
728
+ }
729
+ this.tooltipHandleRef.animate([{ boxShadow: shadowDefault }, { boxShadow: 'none' }, { boxShadow: shadowActive }], {
730
+ duration: 300,
731
+ direction,
732
+ });
733
+ };
734
+ /** Renders a tick mark. */
735
+ renderTick = () => {
736
+ let tick = document.createElement('span');
737
+ tick.className = 'range-slider__tick';
738
+ this.tickContainerRef.appendChild(tick);
739
+ };
740
+ /** Renders data labels. */
741
+ renderDataLabels = () => {
742
+ const inputRange = this.maxValue - this.minValue;
743
+ this.dataLabelRef.innerHTML = '';
744
+ this.tickContainerRef.innerHTML = '';
745
+ for (const dataLabel of this.dataSet) {
746
+ const position = parseFloat(Object.keys(dataLabel)[0]);
747
+ const label = Object.values(dataLabel)[0];
748
+ const absolutePosition = position - this.minValue;
749
+ const relativePosition = (absolutePosition / inputRange) * 100;
750
+ this.renderTick();
751
+ if (this.displayDataPoints.length && !this.displayDataPoints.includes(label)) {
752
+ continue;
753
+ }
754
+ this.dataLabelRef.appendChild(this.renderDataLabel(label.toString(), relativePosition));
755
+ }
756
+ };
757
+ /**
758
+ * Creates a data label node.
759
+ * @param label data label to be displayed.
760
+ * @param position position relative to the slider container.
761
+ * @returns {HTMLElement} representing data label.
762
+ */
763
+ renderDataLabel = (label, position) => {
764
+ const dataListItem = document.createElement('span');
765
+ const valueNode = document.createTextNode(label);
766
+ dataListItem.appendChild(valueNode);
767
+ dataListItem.classList.add('range-slider__data-label');
768
+ dataListItem.style.left = `calc(${position}% - 1.5rem)`;
769
+ return dataListItem;
770
+ };
758
771
  render() {
759
772
  return (index.h(index.Host, { key: 'fe4d87f523c54b6d3bde6a4aeb062d3903571091' }, index.h("div", { key: 'c07051d59b5534b32df81830d998d874ed14fd8f', class: {
760
773
  'range-slider': true,
@@ -766,23 +779,22 @@ const TetRangeSlider = class {
766
779
  } }, index.h("div", { key: '6cf218ba806685aa060f835562f02c5b6cf9ace5', class: {
767
780
  'range-slider__input-container': true,
768
781
  'hidden': !this.withInput,
769
- } }, index.h("tet-input", Object.assign({ key: '16067f25184f3b4a4a2dec1d3246b6f602e05985', "input-class": "range-slider__input", "input-type": "number", "input-value": this.currentValue, ref: inputEl => (this.inputRef = inputEl), theme: this.theme, onInput: this.onInputChange, onKeyDown: (event) => this.onInputKeyDown(event, true), accessibilityLabel: this.numberInputAccessibilityLabel }, (this.containerSize !== 'large' ? { inputTabindex: 3 } : {})))), index.h("div", { key: 'ec4bd9cb5b732089c8b3a02f1892aef4a3af7a89', class: "range-slider__container" }, index.h("tet-button", Object.assign({ key: '02061d179102586b3518bb8e47b561311e82b9c2', theme: this.theme, iconMode: true, class: {
782
+ } }, index.h("tet-input", { key: '16067f25184f3b4a4a2dec1d3246b6f602e05985', "input-class": "range-slider__input", "input-type": "number", "input-value": this.currentValue, ref: inputEl => (this.inputRef = inputEl), theme: this.theme, onInput: this.onInputChange, onKeyDown: (event) => this.onInputKeyDown(event, true), accessibilityLabel: this.numberInputAccessibilityLabel, ...(this.containerSize !== 'large' ? { inputTabindex: 3 } : {}) })), index.h("div", { key: 'ec4bd9cb5b732089c8b3a02f1892aef4a3af7a89', class: "range-slider__container" }, index.h("tet-button", { key: '02061d179102586b3518bb8e47b561311e82b9c2', theme: this.theme, iconMode: true, class: {
770
783
  'range-slider__control': true,
771
784
  'range-slider__control--left': true,
772
785
  'hidden': !this.withControls,
773
- }, clickCallback: this.onControlPreviousClick }, (this.reduceButtonAccessibilityLabel ? { accessibilityLabel: this.reduceButtonAccessibilityLabel } : {}), (this.containerSize !== 'large' ? { tabindex: 2 } : {})), index.h("tet-icon", { key: 'f69c0f996709d6d4ee780b3b3601da2aecb0ef53', name: "remove", class: "range-slider__control--icon" })), index.h("div", { key: '163bc4c424eb02a14f4aa5af3cb8dc15a95e8323', onTouchStart: this.onContainerTouchStart, onTouchEnd: this.onContainerTouchEnd, onMouseDown: this.onContainerMouseDown, onScroll: this.onContainerScroll, ref: sliderContainerEl => (this.sliderContainerRef = sliderContainerEl), class: "range-slider__slider-container", draggable: false }, index.h("div", { key: '87faebff4efc96466b045cb30e2195aca1e7b125', class: "range-slider__slider-wrapper" }, index.h("input", Object.assign({ key: '395e6b19348b9db47c6a01e5e62d38540e15b631', ref: sliderEl => (this.sliderRef = sliderEl), type: "range", min: this.minValue, max: this.maxValue, step: this.step, value: this.defaultValue, list: "steplist", id: "rangeInput", onInput: this.onSliderInput, onChange: this.onSliderChange, onPointerDown: this.onSliderPointerDown, onPointerUp: this.onSliderPointerUp, onKeyDown: this.onInputKeyDown, class: "range-slider__slider" }, (this.sliderInputAccessibilityLabel ? { "aria-label": this.sliderInputAccessibilityLabel } : {}), (this.containerSize !== 'large' ? { tabindex: 1 } : {})))), index.h("div", { key: 'ce03add3fa4235f1dc1dec6ee4c2249b7c6ab411', class: "range-slider__track range-slider__track--background" }), index.h("div", { key: 'b5fbdc67265f9bc567f193994f8d5bd8000a3cec', ref: progressTrackEl => (this.progressTrackRef = progressTrackEl), class: "range-slider__track range-slider__track--progress" }), index.h("div", { key: 'c7144b949d09573c4e2f446f80b54f0ba28ba854', ref: tickContainerEl => (this.tickContainerRef = tickContainerEl), class: "range-slider__tick-container" }), index.h("div", { key: '576ed7c7f3e9d892eb19e74f61f229ea62383c63', ref: dataLabelEl => (this.dataLabelRef = dataLabelEl), class: {
786
+ }, clickCallback: this.onControlPreviousClick, ...(this.reduceButtonAccessibilityLabel ? { accessibilityLabel: this.reduceButtonAccessibilityLabel } : {}), ...(this.containerSize !== 'large' ? { tabindex: 2 } : {}) }, index.h("tet-icon", { key: 'f69c0f996709d6d4ee780b3b3601da2aecb0ef53', name: "remove", class: "range-slider__control--icon" })), index.h("div", { key: '163bc4c424eb02a14f4aa5af3cb8dc15a95e8323', onTouchStart: this.onContainerTouchStart, onTouchEnd: this.onContainerTouchEnd, onMouseDown: this.onContainerMouseDown, onScroll: this.onContainerScroll, ref: sliderContainerEl => (this.sliderContainerRef = sliderContainerEl), class: "range-slider__slider-container", draggable: false }, index.h("div", { key: '87faebff4efc96466b045cb30e2195aca1e7b125', class: "range-slider__slider-wrapper" }, index.h("input", { key: '395e6b19348b9db47c6a01e5e62d38540e15b631', ref: sliderEl => (this.sliderRef = sliderEl), type: "range", min: this.minValue, max: this.maxValue, step: this.step, value: this.defaultValue, list: "steplist", id: "rangeInput", onInput: this.onSliderInput, onChange: this.onSliderChange, onPointerDown: this.onSliderPointerDown, onPointerUp: this.onSliderPointerUp, onKeyDown: this.onInputKeyDown, class: "range-slider__slider", ...(this.sliderInputAccessibilityLabel ? { "aria-label": this.sliderInputAccessibilityLabel } : {}), ...(this.containerSize !== 'large' ? { tabindex: 1 } : {}) })), index.h("div", { key: 'ce03add3fa4235f1dc1dec6ee4c2249b7c6ab411', class: "range-slider__track range-slider__track--background" }), index.h("div", { key: 'b5fbdc67265f9bc567f193994f8d5bd8000a3cec', ref: progressTrackEl => (this.progressTrackRef = progressTrackEl), class: "range-slider__track range-slider__track--progress" }), index.h("div", { key: 'c7144b949d09573c4e2f446f80b54f0ba28ba854', ref: tickContainerEl => (this.tickContainerRef = tickContainerEl), class: "range-slider__tick-container" }), index.h("div", { key: '576ed7c7f3e9d892eb19e74f61f229ea62383c63', ref: dataLabelEl => (this.dataLabelRef = dataLabelEl), class: {
774
787
  'range-slider__data-label-container': true,
775
788
  'hidden': this.type === 'secondary' && this.containerSize === 'small',
776
789
  } })), index.h("div", { key: 'a479431596824a05d55a8775f73c9e7071950e3a', class: {
777
790
  'range-slider__current-step-container': true,
778
791
  'hidden': !this.withCurrentStepCounter,
779
- } }, index.h("div", { key: 'e2c0a91402037601d8865476ae2d25623d0083bd', class: "range-slider__current-step", "aria-live": "polite" }, this.dataSet.indexOf(this.getClosestOverrideDataPoint()) + 1, "/", this.dataPoints.length)), index.h("div", { key: 'cf187a5376842141b09291db7029842e1b14577c', ref: toolbarHandleEl => (this.tooltipHandleRef = toolbarHandleEl), class: "range-slider__tooltip-handle" }, index.h("div", { key: '0a41fc6a3c162e1a2eb907551f592c58865c9836', class: "range-slider__tooltip translation-none", style: { [`--tooltip-offset`]: `${this.tooltipOffset}rem` }, "aria-live": "polite" }, this.getTooltipValue())), index.h("tet-button", Object.assign({ key: '06d21777945c8f42f83179546a35e6a3112d6bca', theme: this.theme, iconMode: true, class: {
792
+ } }, index.h("div", { key: 'e2c0a91402037601d8865476ae2d25623d0083bd', class: "range-slider__current-step", "aria-live": "polite" }, this.dataSet.indexOf(this.getClosestOverrideDataPoint()) + 1, "/", this.dataPoints.length)), index.h("div", { key: 'cf187a5376842141b09291db7029842e1b14577c', ref: toolbarHandleEl => (this.tooltipHandleRef = toolbarHandleEl), class: "range-slider__tooltip-handle" }, index.h("div", { key: '0a41fc6a3c162e1a2eb907551f592c58865c9836', class: "range-slider__tooltip translation-none", style: { [`--tooltip-offset`]: `${this.tooltipOffset}rem` }, "aria-live": "polite" }, this.getTooltipValue())), index.h("tet-button", { key: '06d21777945c8f42f83179546a35e6a3112d6bca', theme: this.theme, iconMode: true, class: {
780
793
  'range-slider__control': true,
781
794
  'range-slider__control--right': true,
782
795
  'hidden': !this.withControls,
783
- }, clickCallback: this.onControlNextClick }, (this.addButtonAccessibilityLabel ? { accessibilityLabel: this.addButtonAccessibilityLabel } : {}), (this.containerSize !== 'large' ? { tabindex: 4 } : {})), index.h("tet-icon", { key: '35a49113a21c71b1f79f871597c2feeb7ae112e1', name: "add", class: "range-slider__control--icon" }))))));
796
+ }, clickCallback: this.onControlNextClick, ...(this.addButtonAccessibilityLabel ? { accessibilityLabel: this.addButtonAccessibilityLabel } : {}), ...(this.containerSize !== 'large' ? { tabindex: 4 } : {}) }, index.h("tet-icon", { key: '35a49113a21c71b1f79f871597c2feeb7ae112e1', name: "add", class: "range-slider__control--icon" }))))));
784
797
  }
785
- get element() { return index.getElement(this); }
786
798
  static get watchers() { return {
787
799
  "dataPoints": ["onDataPointsChange"],
788
800
  "type": ["onTypeChange"],