@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
@@ -8,185 +8,9 @@ import { containsFocusableStencilVNode } from "../../../../services/utils/contai
8
8
  */
9
9
  export class TetAutocomplete {
10
10
  constructor() {
11
- /** The property to skip the next automatic options filtering. */
12
- this.skipNextFilterValueChange = false;
13
- /** The property that keeps track of the last filter value that was used for the autocomplete. */
14
- this.lastFilteredValue = '';
15
- this.handleNoOptionsFocusOut = (event) => {
16
- var _a;
17
- const relatedTarget = event.relatedTarget;
18
- if (relatedTarget &&
19
- relatedTarget instanceof HTMLElement &&
20
- relatedTarget.classList.contains('icon-right')) {
21
- return;
22
- }
23
- (_a = this.noOptionsElement) === null || _a === void 0 ? void 0 : _a.removeEventListener('focusout', this.handleNoOptionsFocusOut);
24
- this.showOptions = false;
25
- };
26
- this.handleInputFocusOutline = (remove = true) => {
27
- var _a;
28
- const input = (_a = this.rootElement) === null || _a === void 0 ? void 0 : _a.querySelector('input');
29
- if (!(input instanceof HTMLInputElement) || !this.isKeyboardFocus) {
30
- return;
31
- }
32
- if (remove) {
33
- input.focus();
34
- requestAnimationFrame(() => input.classList.remove('keyboard-focus'));
35
- }
36
- else {
37
- input.classList.add('keyboard-focus');
38
- }
39
- };
40
- this.tryToExecuteFinishedLoading = () => {
41
- if (this.finishedLoading instanceof Function) {
42
- this.finishedLoading();
43
- }
44
- };
45
- this.tryToDisplayOptions = () => {
46
- var _a;
47
- this.showOptions = true;
48
- this.activeComponentStateChanged.emit(this.internalUniqueId);
49
- if (this.inputElement) {
50
- this.updateFilteredOptions((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value);
51
- }
52
- };
53
- this.onInputChange = (event) => {
54
- this.debouncedUpdateFilteredOptions(event.target.value);
55
- };
56
- /**
57
- * Filters autocomplete options based on the new filter keyword.
58
- *
59
- * @param filterValue
60
- */
61
- this.updateFilteredOptions = (filterValue) => {
62
- this.activeOption = null;
63
- const normalizedFilterValue = normalize(filterValue !== null && filterValue !== void 0 ? filterValue : '');
64
- if (this.defaultOptions.length && !normalizedFilterValue) {
65
- this.filteredOptions = this.defaultOptions;
66
- return this.tryToExecuteFinishedLoading();
67
- }
68
- if (!normalizedFilterValue || this.lastFilteredValue === normalizedFilterValue) {
69
- // Extra check to avoid unnecessary re-render on the assignment.
70
- if (this.filteredOptions.length && !normalizedFilterValue) {
71
- this.filteredOptions = [];
72
- }
73
- this.lastFilteredValue = normalizedFilterValue;
74
- return this.tryToExecuteFinishedLoading();
75
- }
76
- const options = this.optionsFilterAction(normalizedFilterValue);
77
- if (isPromise(options)) {
78
- this.showLoader = true;
79
- this.filteredOptions = [];
80
- options
81
- .then((options) => {
82
- this.filteredOptions = options;
83
- this.lastFilteredValue = normalizedFilterValue;
84
- })
85
- .finally(() => {
86
- this.showLoader = false;
87
- });
88
- }
89
- else {
90
- this.filteredOptions = options;
91
- this.lastFilteredValue = normalizedFilterValue;
92
- }
93
- this.tryToExecuteFinishedLoading();
94
- };
95
- /**
96
- * Reduces the amount of times the component is rendered for better performance.
97
- */
98
- this.debouncedUpdateFilteredOptions = debounce((filterValue) => {
99
- this.updateFilteredOptions(filterValue);
100
- }, this.typingDebounceTime);
101
- this.onOptionSelect = async (event, option) => {
102
- await this.selectOption(Object.assign(Object.assign({}, option), { userInteraction: true, _originalEvent: event }));
103
- event.stopPropagation();
104
- };
105
- /**
106
- * Returns the function that should be executed when the option is selected.
107
- *
108
- * @param option
109
- */
110
- this.getOptionSelectAction = (option) => {
111
- return isFunction(option === null || option === void 0 ? void 0 : option.clickCallback) ? event => option.clickCallback(event, option) : event => this.onOptionSelect(event, option);
112
- };
113
- /**
114
- * Returns the content that should be shown when there are no options matching the keyword.
115
- */
116
- this.getNoOptionsContent = () => {
117
- if (isFunction(this.noOptionsRenderFunction)) {
118
- return this.noOptionsRenderFunction() || this.noOptionsMessage;
119
- }
120
- return this.noOptionsMessage;
121
- };
122
- this.renderOptionsLoader = () => {
123
- if (!this.showLoader || this.newStyle || this.redesignedStyle) {
124
- return;
125
- }
126
- return (h("ul", { class: "autocomplete-options" }, h("li", { class: { 'autocomplete-options-loader': true, 'dark': this.darkTheme } }, h("tet-loader", null))));
127
- };
128
- /**
129
- * Renders the message to show when no options were found.
130
- */
131
- this.renderNoOptionsMessage = () => {
132
- const noOptionsContent = this.getNoOptionsContent();
133
- const attributes = {};
134
- // JSX is an object and will not work with innerHTML.
135
- if (!isObject(noOptionsContent)) {
136
- attributes.innerHTML = noOptionsContent;
137
- }
138
- return (h("li", Object.assign({ class: { 'autocomplete-options-none-message': true, 'dark': this.darkTheme } }, attributes, { "aria-live": "polite", ref: el => (this.noOptionsElement = el) }), isObject(noOptionsContent) ? noOptionsContent : null));
139
- };
140
- /**
141
- * Renders a single option.
142
- *
143
- * @param option
144
- */
145
- this.renderOption = (option, idx) => {
146
- let { label: optionLabel, ignoreHighlighting, cssPart } = option;
147
- const onClickAction = this.getOptionSelectAction(option);
148
- const keywordPartsRegexes = this.lastFilteredValue
149
- .split(/\s+/)
150
- // Regex excludes HTML tags from matches. This ensures that already highlighted text isn't processed again.
151
- .map((part) => new RegExp(`(?:!</?[^>]*|&[^;]*)(${part})`, 'ig'));
152
- if (this.highlightOptionsKeyword && !ignoreHighlighting) {
153
- // Highlight each keyword part separately. This allows to highlight the text that is non-continuous.
154
- keywordPartsRegexes.forEach((regex) => {
155
- optionLabel = optionLabel.replace(regex, '<strong>$&</strong>');
156
- });
157
- }
158
- return (h("li", { class: { 'autocomplete-options-item': true,
159
- 'active': option === this.activeOption, 'dark': this.darkTheme, 'focus-visible': (option === this.activeOption && this.isKeyboardFocus) }, part: cssPart, onClick: onClickAction, onKeyDown: (event) => {
160
- if (event.key === 'Enter')
161
- onClickAction(option);
162
- }, ref: (element) => option === this.activeOption && (this.activeOptionElement = element), id: `${this.internalUniqueId}-${idx}`, role: "option" }, option.value === 'manual-input'
163
- ? h("a", { class: { 'tet-link': true, 'dark': this.darkTheme, 'manual-input': true }, innerHTML: optionLabel })
164
- : [
165
- this.optionsIcon && (this.newStyle || this.redesignedStyle) && (h("tet-icon", { class: "icon", name: this.optionsIcon })),
166
- h("span", { innerHTML: optionLabel })
167
- ]));
168
- };
169
- this.renderOptions = (options) => {
170
- var _a;
171
- if (!this.showOptions) {
172
- return;
173
- }
174
- const showNoOptionsMessage = !options.length &&
175
- !this.showLoader && ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value) && !!this.getNoOptionsContent();
176
- if (!showNoOptionsMessage && !options.length) {
177
- return;
178
- }
179
- return (h("div", { class: {
180
- 'autocomplete-options-container': true,
181
- 'dark': this.darkTheme,
182
- 'new-style': this.newStyle || this.redesignedStyle,
183
- 'redesigned-style': this.redesignedStyle,
184
- }, part: "autocomplete-options-container", role: "combobox", "aria-expanded": this.showOptions, "aria-activedescendant": this.activeOption ? `${this.internalUniqueId}-${this.filteredOptions.indexOf(this.activeOption)}` : undefined }, h("ul", { class: "autocomplete-options", ref: (el) => (this.optionsContainer = el), role: "listbox", tabindex: "-1" }, showNoOptionsMessage && this.renderNoOptionsMessage(), options.map(this.renderOption))));
185
- };
186
11
  this.showOptionsOnEscapeClear = false;
187
12
  this.defaultOptions = [];
188
13
  this.optionsFilterAction = () => [];
189
- this.typingDebounceTime = 250;
190
14
  this.noOptionsMessage = undefined;
191
15
  this.noOptionsRenderFunction = () => null;
192
16
  this.clearCallback = undefined;
@@ -202,10 +26,31 @@ export class TetAutocomplete {
202
26
  this.showLoader = false;
203
27
  this.isKeyboardFocus = true;
204
28
  }
29
+ /** The component root HTML element. */
30
+ rootElement;
31
+ /** Unique component ID. */
32
+ internalUniqueId;
33
+ /** The property to store the autocomplete input HTML element reference. */
34
+ inputElement;
35
+ /** The property to store the reference of HTML element of the autocomplete option container. */
36
+ optionsContainer;
37
+ /** The property to store the currently active (not selected!) option reference. */
38
+ activeOptionElement;
39
+ /** The property to store the reference of the "no options available" HTML element. */
40
+ noOptionsElement;
41
+ /** The property to skip the next automatic options filtering. */
42
+ skipNextFilterValueChange = false;
43
+ /** The property that keeps track of the last filter value that was used for the autocomplete. */
44
+ lastFilteredValue = '';
45
+ /** The time in milliseconds after the last filter value when options filtering should be executed. */
46
+ typingDebounceTime = 250;
47
+ /** The autocomplete option selection event. */
48
+ optionSelected;
49
+ /** Emits "tet-autocomplete" unique id, when an attempt to open selection options is identified. */
50
+ activeComponentStateChanged;
205
51
  componentDidLoad() {
206
- var _a, _b, _c;
207
52
  this.internalUniqueId = randomString(12);
208
- const inputHtmlElement = (_a = this.rootElement) === null || _a === void 0 ? void 0 : _a.querySelector('.autocomplete-input');
53
+ const inputHtmlElement = this.rootElement?.querySelector('.autocomplete-input');
209
54
  if (inputHtmlElement !== null) {
210
55
  this.inputElement = reactive(inputHtmlElement, {
211
56
  value: (newValue) => {
@@ -216,13 +61,12 @@ export class TetAutocomplete {
216
61
  }
217
62
  });
218
63
  }
219
- (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.origin.addEventListener('input', this.onInputChange);
220
- (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.origin.addEventListener('focus', this.tryToDisplayOptions);
64
+ this.inputElement?.origin.addEventListener('input', this.onInputChange);
65
+ this.inputElement?.origin.addEventListener('focus', this.tryToDisplayOptions);
221
66
  }
222
67
  disconnectedCallback() {
223
- var _a, _b;
224
- (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.origin.removeEventListener('input', this.onInputChange);
225
- (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.origin.removeEventListener('focus', this.tryToDisplayOptions);
68
+ this.inputElement?.origin.removeEventListener('input', this.onInputChange);
69
+ this.inputElement?.origin.removeEventListener('focus', this.tryToDisplayOptions);
226
70
  }
227
71
  onPointerUp(event) {
228
72
  event.stopPropagation();
@@ -304,9 +148,18 @@ export class TetAutocomplete {
304
148
  this.showOptions = true;
305
149
  }
306
150
  }
151
+ handleNoOptionsFocusOut = (event) => {
152
+ const relatedTarget = event.relatedTarget;
153
+ if (relatedTarget &&
154
+ relatedTarget instanceof HTMLElement &&
155
+ relatedTarget.classList.contains('icon-right')) {
156
+ return;
157
+ }
158
+ this.noOptionsElement?.removeEventListener('focusout', this.handleNoOptionsFocusOut);
159
+ this.showOptions = false;
160
+ };
307
161
  /** Handles the focusout event to close the options menu if focus moves outside the component. */
308
162
  handleFocusOut(event) {
309
- var _a, _b;
310
163
  const relatedTarget = event.relatedTarget;
311
164
  if (isFunction(this.noOptionsRenderFunction)
312
165
  && this.noOptionsRenderFunction() !== null
@@ -315,8 +168,8 @@ export class TetAutocomplete {
315
168
  && this.rootElement.contains(relatedTarget)) {
316
169
  const vnode = this.noOptionsRenderFunction();
317
170
  if (containsFocusableStencilVNode(vnode)) {
318
- (_a = this.noOptionsElement) === null || _a === void 0 ? void 0 : _a.removeEventListener('focusout', this.handleNoOptionsFocusOut);
319
- (_b = this.noOptionsElement) === null || _b === void 0 ? void 0 : _b.addEventListener('focusout', this.handleNoOptionsFocusOut);
171
+ this.noOptionsElement?.removeEventListener('focusout', this.handleNoOptionsFocusOut);
172
+ this.noOptionsElement?.addEventListener('focusout', this.handleNoOptionsFocusOut);
320
173
  return;
321
174
  }
322
175
  }
@@ -379,11 +232,173 @@ export class TetAutocomplete {
379
232
  this.inputElement.value = option.label;
380
233
  }
381
234
  }
235
+ handleInputFocusOutline = (remove = true) => {
236
+ const input = this.rootElement?.querySelector('input');
237
+ if (!(input instanceof HTMLInputElement) || !this.isKeyboardFocus) {
238
+ return;
239
+ }
240
+ if (remove) {
241
+ input.focus();
242
+ requestAnimationFrame(() => input.classList.remove('keyboard-focus'));
243
+ }
244
+ else {
245
+ input.classList.add('keyboard-focus');
246
+ }
247
+ };
248
+ tryToExecuteFinishedLoading = () => {
249
+ if (this.finishedLoading instanceof Function) {
250
+ this.finishedLoading();
251
+ }
252
+ };
253
+ tryToDisplayOptions = () => {
254
+ this.showOptions = true;
255
+ this.activeComponentStateChanged.emit(this.internalUniqueId);
256
+ if (this.inputElement) {
257
+ this.updateFilteredOptions(this.inputElement?.value);
258
+ }
259
+ };
260
+ onInputChange = (event) => {
261
+ this.debouncedUpdateFilteredOptions(event.target.value);
262
+ };
263
+ /**
264
+ * Filters autocomplete options based on the new filter keyword.
265
+ *
266
+ * @param filterValue
267
+ */
268
+ updateFilteredOptions = (filterValue) => {
269
+ this.activeOption = null;
270
+ const normalizedFilterValue = normalize(filterValue ?? '');
271
+ if (this.defaultOptions.length && !normalizedFilterValue) {
272
+ this.filteredOptions = this.defaultOptions;
273
+ return this.tryToExecuteFinishedLoading();
274
+ }
275
+ if (!normalizedFilterValue || this.lastFilteredValue === normalizedFilterValue) {
276
+ // Extra check to avoid unnecessary re-render on the assignment.
277
+ if (this.filteredOptions.length && !normalizedFilterValue) {
278
+ this.filteredOptions = [];
279
+ }
280
+ this.lastFilteredValue = normalizedFilterValue;
281
+ return this.tryToExecuteFinishedLoading();
282
+ }
283
+ const options = this.optionsFilterAction(normalizedFilterValue);
284
+ if (isPromise(options)) {
285
+ this.showLoader = true;
286
+ this.filteredOptions = [];
287
+ options
288
+ .then((options) => {
289
+ this.filteredOptions = options;
290
+ this.lastFilteredValue = normalizedFilterValue;
291
+ })
292
+ .finally(() => {
293
+ this.showLoader = false;
294
+ });
295
+ }
296
+ else {
297
+ this.filteredOptions = options;
298
+ this.lastFilteredValue = normalizedFilterValue;
299
+ }
300
+ this.tryToExecuteFinishedLoading();
301
+ };
302
+ /**
303
+ * Reduces the amount of times the component is rendered for better performance.
304
+ */
305
+ debouncedUpdateFilteredOptions = debounce((filterValue) => {
306
+ this.updateFilteredOptions(filterValue);
307
+ }, this.typingDebounceTime);
308
+ onOptionSelect = async (event, option) => {
309
+ await this.selectOption({
310
+ ...option,
311
+ userInteraction: true,
312
+ _originalEvent: event
313
+ });
314
+ event.stopPropagation();
315
+ };
316
+ /**
317
+ * Returns the function that should be executed when the option is selected.
318
+ *
319
+ * @param option
320
+ */
321
+ getOptionSelectAction = (option) => {
322
+ return isFunction(option?.clickCallback) ? event => option.clickCallback(event, option) : event => this.onOptionSelect(event, option);
323
+ };
324
+ /**
325
+ * Returns the content that should be shown when there are no options matching the keyword.
326
+ */
327
+ getNoOptionsContent = () => {
328
+ if (isFunction(this.noOptionsRenderFunction)) {
329
+ return this.noOptionsRenderFunction() || this.noOptionsMessage;
330
+ }
331
+ return this.noOptionsMessage;
332
+ };
333
+ renderOptionsLoader = () => {
334
+ if (!this.showLoader || this.newStyle || this.redesignedStyle) {
335
+ return;
336
+ }
337
+ return (h("ul", { class: "autocomplete-options" }, h("li", { class: { 'autocomplete-options-loader': true, 'dark': this.darkTheme } }, h("tet-loader", null))));
338
+ };
339
+ /**
340
+ * Renders the message to show when no options were found.
341
+ */
342
+ renderNoOptionsMessage = () => {
343
+ const noOptionsContent = this.getNoOptionsContent();
344
+ const attributes = {};
345
+ // JSX is an object and will not work with innerHTML.
346
+ if (!isObject(noOptionsContent)) {
347
+ attributes.innerHTML = noOptionsContent;
348
+ }
349
+ return (h("li", { class: { 'autocomplete-options-none-message': true, 'dark': this.darkTheme }, ...attributes, "aria-live": "polite", ref: el => (this.noOptionsElement = el) }, isObject(noOptionsContent) ? noOptionsContent : null));
350
+ };
351
+ /**
352
+ * Renders a single option.
353
+ *
354
+ * @param option
355
+ * @param idx
356
+ */
357
+ renderOption = (option, idx) => {
358
+ let { label: optionLabel, ignoreHighlighting, cssPart } = option;
359
+ const onClickAction = this.getOptionSelectAction(option);
360
+ const keywordPartsRegexes = this.lastFilteredValue
361
+ .split(/\s+/)
362
+ // Regex excludes HTML tags from matches. This ensures that already highlighted text isn't processed again.
363
+ .map((part) => new RegExp(`(?:!</?[^>]*|&[^;]*)(${part})`, 'ig'));
364
+ if (this.highlightOptionsKeyword && !ignoreHighlighting) {
365
+ // Highlight each keyword part separately. This allows to highlight the text that is non-continuous.
366
+ keywordPartsRegexes.forEach((regex) => {
367
+ optionLabel = optionLabel.replace(regex, '<strong>$&</strong>');
368
+ });
369
+ }
370
+ return (h("li", { class: { 'autocomplete-options-item': true,
371
+ 'active': option === this.activeOption, 'dark': this.darkTheme, 'focus-visible': (option === this.activeOption && this.isKeyboardFocus) }, part: cssPart, onClick: onClickAction, onKeyDown: (event) => {
372
+ if (event.key === 'Enter')
373
+ onClickAction(option);
374
+ }, ref: (element) => option === this.activeOption && (this.activeOptionElement = element), id: `${this.internalUniqueId}-${idx}`, role: "option" }, option.value === 'manual-input'
375
+ ? h("a", { class: { 'tet-link': true, 'dark': this.darkTheme, 'manual-input': true }, innerHTML: optionLabel })
376
+ : [
377
+ this.optionsIcon && (this.newStyle || this.redesignedStyle) && (h("tet-icon", { class: "icon", name: this.optionsIcon })),
378
+ h("span", { innerHTML: optionLabel })
379
+ ]));
380
+ };
381
+ renderOptions = (options) => {
382
+ if (!this.showOptions) {
383
+ return;
384
+ }
385
+ const showNoOptionsMessage = !options.length &&
386
+ !this.showLoader && this.inputElement?.value && !!this.getNoOptionsContent();
387
+ if (!showNoOptionsMessage && !options.length) {
388
+ return;
389
+ }
390
+ return (h("div", { class: {
391
+ 'autocomplete-options-container': true,
392
+ 'dark': this.darkTheme,
393
+ 'new-style': this.newStyle || this.redesignedStyle,
394
+ 'redesigned-style': this.redesignedStyle,
395
+ }, part: "autocomplete-options-container", role: "combobox", "aria-expanded": this.showOptions, "aria-activedescendant": this.activeOption ? `${this.internalUniqueId}-${this.filteredOptions.indexOf(this.activeOption)}` : undefined }, h("ul", { class: "autocomplete-options", ref: (el) => (this.optionsContainer = el), role: "listbox", tabindex: "-1" }, showNoOptionsMessage && this.renderNoOptionsMessage(), options.map(this.renderOption))));
396
+ };
382
397
  render() {
383
- return (h(Host, { key: 'c6816d110afba208c52c71452fbe0dd178704eb5', class: {
398
+ return (h(Host, { key: '74e0ce0bd9373267485e191d057f77181c00bcdc', class: {
384
399
  'autocomplete': true,
385
400
  'dark': this.darkTheme,
386
- } }, h("slot", { key: '9736b0030b67f8b16559b18732ec9987fa205ab1' }), this.renderOptionsLoader(), this.renderOptions(this.filteredOptions)));
401
+ } }, h("slot", { key: 'da7465cd514a819ab49fcc81d7d639e5e81f58dd' }), this.renderOptionsLoader(), this.renderOptions(this.filteredOptions)));
387
402
  }
388
403
  static get is() { return "tet-autocomplete"; }
389
404
  static get encapsulation() { return "shadow"; }
@@ -465,24 +480,6 @@ export class TetAutocomplete {
465
480
  },
466
481
  "defaultValue": "() => []"
467
482
  },
468
- "typingDebounceTime": {
469
- "type": "number",
470
- "mutable": false,
471
- "complexType": {
472
- "original": "number",
473
- "resolved": "number",
474
- "references": {}
475
- },
476
- "required": false,
477
- "optional": false,
478
- "docs": {
479
- "tags": [],
480
- "text": "The time in milliseconds after the last filter value when options filtering should be executed."
481
- },
482
- "attribute": "typing-debounce-time",
483
- "reflect": false,
484
- "defaultValue": "250"
485
- },
486
483
  "noOptionsMessage": {
487
484
  "type": "string",
488
485
  "mutable": false,
@@ -6,31 +6,6 @@ import { IconName } from "../../../../types/enums";
6
6
  */
7
7
  export class TetAutocompleteDropdown {
8
8
  constructor() {
9
- this.nativeInputCallback = ({ target }) => {
10
- const originalInputValue = target.value;
11
- if (originalInputValue) {
12
- this.inputValue = normalize(originalInputValue);
13
- this.inputValueChanged.emit(originalInputValue);
14
- }
15
- };
16
- this.iconRightClickCallback = async () => {
17
- if (this.rightIconName === IconName.ChevronDown) {
18
- return;
19
- }
20
- await this.autocomplete.clear();
21
- this.inputValueCleared.emit();
22
- };
23
- this.autocompleteClearInputCallback = () => {
24
- this.inputValue = '';
25
- this.inputValueCleared.emit();
26
- };
27
- this.handleAutocompleteOptionSelection = ({ detail: option }) => {
28
- this.inputValue = option.label;
29
- this.optionSelected.emit(option);
30
- };
31
- this.optionsFilterAction = (filterValue) => {
32
- return this.options.filter(({ label }) => label.toLowerCase().includes(normalize(filterValue)));
33
- };
34
9
  this.options = [];
35
10
  this.defaultOption = undefined;
36
11
  this.noOptionsMessage = undefined;
@@ -41,6 +16,18 @@ export class TetAutocompleteDropdown {
41
16
  this.errorMessage = '';
42
17
  this.inputValue = '';
43
18
  }
19
+ /** A reference to the autocomplete HTML element. */
20
+ autocomplete;
21
+ /** The reference to the native HTML input contained in tet-input element. */
22
+ nativeInput;
23
+ /** The reference to the tet-input HTML element. */
24
+ inputComponent;
25
+ /** Event that is emitted when an option is selected. */
26
+ optionSelected;
27
+ /** Event that is emitted when the input value is cleared. */
28
+ inputValueCleared;
29
+ /** Event that is emitted when the selected option input value has been changed. */
30
+ inputValueChanged;
44
31
  /**
45
32
  * Clears the autocomplete native input value.
46
33
  */
@@ -54,20 +41,43 @@ export class TetAutocompleteDropdown {
54
41
  await this.autocomplete.focusOnNativeInput();
55
42
  }
56
43
  async componentDidLoad() {
57
- var _a;
58
44
  this.nativeInput = await this.inputComponent.getInputHtmlElement();
59
- (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.addEventListener('input', this.nativeInputCallback);
45
+ this.nativeInput?.addEventListener('input', this.nativeInputCallback);
60
46
  if (this.defaultOption) {
61
47
  await this.autocomplete.selectOption(this.defaultOption);
62
48
  }
63
49
  }
64
50
  disconnectedCallback() {
65
- var _a;
66
- (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.removeEventListener('input', this.nativeInputCallback);
51
+ this.nativeInput?.removeEventListener('input', this.nativeInputCallback);
67
52
  }
53
+ nativeInputCallback = ({ target }) => {
54
+ const originalInputValue = target.value;
55
+ if (originalInputValue) {
56
+ this.inputValue = normalize(originalInputValue);
57
+ this.inputValueChanged.emit(originalInputValue);
58
+ }
59
+ };
68
60
  get rightIconName() {
69
61
  return this.inputValue.length ? IconName.Close : IconName.ChevronDown;
70
62
  }
63
+ iconRightClickCallback = async () => {
64
+ if (this.rightIconName === IconName.ChevronDown) {
65
+ return;
66
+ }
67
+ await this.autocomplete.clear();
68
+ this.inputValueCleared.emit();
69
+ };
70
+ autocompleteClearInputCallback = () => {
71
+ this.inputValue = '';
72
+ this.inputValueCleared.emit();
73
+ };
74
+ handleAutocompleteOptionSelection = ({ detail: option }) => {
75
+ this.inputValue = option.label;
76
+ this.optionSelected.emit(option);
77
+ };
78
+ optionsFilterAction = (filterValue) => {
79
+ return this.options.filter(({ label }) => label.toLowerCase().includes(normalize(filterValue)));
80
+ };
71
81
  render() {
72
82
  return (h(Host, { key: '09626dd5b16793682ebb6a3c417b6a443a987ab0' }, h("tet-autocomplete", { key: 'a09c9933a058f0c45544f911608892e0ceeb7f74', newStyle: true, defaultOptions: this.options, showOptionsOnEscapeClear: true, noOptionsMessage: this.noOptionsMessage, optionsFilterAction: this.optionsFilterAction, clearCallback: this.autocompleteClearInputCallback, onOptionSelected: this.handleAutocompleteOptionSelection, ref: (element) => (this.autocomplete = element), darkTheme: this.theme === 'dark' }, h("tet-input", { key: '2e4aa513b8ce2f3022846148e167a7c700f57b41', class: "input", label: this.label, error: this.hasError, "icon-right": this.rightIconName, "input-class": "autocomplete-input", "input-placeholder": this.placeholder, ref: (element) => (this.inputComponent = element), iconRightClickCallback: this.iconRightClickCallback, theme: this.theme })), this.hasError && this.errorMessage && h("p", { key: 'd96bf1c5594f90ff5a5880ee6a7d5eb147c8bd50', class: "error-message" }, this.errorMessage)));
73
83
  }