@tet/tet-components 1.4.83-testing → 1.4.84-staging

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/dist/cjs/{address-11471e55.js → address-db3de695.js} +1 -1
  2. package/dist/cjs/{assets-f64f0e16.js → assets-294836fa.js} +1 -1
  3. package/dist/cjs/{async-request-fcf33aba.js → async-request-2739d46b.js} +1 -1
  4. package/dist/cjs/{http-codes-40da1e61.js → http-codes-3b8718ff.js} +3 -2
  5. package/dist/cjs/{index-4b423f33.js → index-19a7608f.js} +1 -1
  6. package/dist/cjs/{index-3242ff3f.js → index-faec4c52.js} +11 -7
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/{phone-055efd07.js → phone-76ec1bae.js} +2 -2
  9. package/dist/cjs/{product-comparison-88a89820.js → product-comparison-1b20429d.js} +1 -1
  10. package/dist/cjs/tet-accordion.cjs.entry.js +7 -7
  11. package/dist/cjs/tet-address-offers-filters-products_2.cjs.entry.js +3 -3
  12. package/dist/cjs/tet-address-offers-view.cjs.entry.js +4 -4
  13. package/dist/cjs/tet-address-offers_4.cjs.entry.js +10 -10
  14. package/dist/cjs/tet-address-search.cjs.entry.js +7 -7
  15. package/dist/cjs/tet-assembler.cjs.entry.js +698 -0
  16. package/dist/cjs/tet-asset-addresses.cjs.entry.js +4 -4
  17. package/dist/cjs/tet-autocomplete-dropdown.cjs.entry.js +2 -2
  18. package/dist/cjs/tet-autocomplete.cjs.entry.js +3 -3
  19. package/dist/cjs/tet-b2b-check-out-form_5.cjs.entry.js +16 -16
  20. package/dist/cjs/tet-b2b-configurator.cjs.entry.js +5 -5
  21. package/dist/cjs/tet-b2b-service-calculator.cjs.entry.js +4 -4
  22. package/dist/cjs/tet-banner-nav.cjs.entry.js +3 -3
  23. package/dist/cjs/tet-bar-graph.cjs.entry.js +4 -4
  24. package/dist/cjs/tet-border-radius.cjs.entry.js +2 -2
  25. package/dist/cjs/tet-business-card.cjs.entry.js +3 -3
  26. package/dist/cjs/tet-business-compare-card.cjs.entry.js +3 -3
  27. package/dist/cjs/tet-business-lines.cjs.entry.js +5 -5
  28. package/dist/cjs/tet-business-round-stepper.cjs.entry.js +2 -2
  29. package/dist/cjs/tet-button.cjs.entry.js +2 -2
  30. package/dist/cjs/tet-card-list.cjs.entry.js +5 -5
  31. package/dist/cjs/tet-carousel.cjs.entry.js +9 -9
  32. package/dist/cjs/tet-checkbox_2.cjs.entry.js +9 -9
  33. package/dist/cjs/tet-cloud-application-form-dialog.cjs.entry.js +5 -5
  34. package/dist/cjs/tet-cloud-configurator.cjs.entry.js +3 -3
  35. package/dist/cjs/tet-colors.cjs.entry.js +5 -5
  36. package/dist/cjs/tet-compare-card-v2.cjs.entry.js +3 -3
  37. package/dist/cjs/tet-compare-card-v3.cjs.entry.js +3 -3
  38. package/dist/cjs/tet-compare-cards-tab.cjs.entry.js +4 -4
  39. package/dist/cjs/tet-compare-cards_2.cjs.entry.js +6 -6
  40. package/dist/cjs/tet-components.cjs.js +2 -2
  41. package/dist/cjs/tet-contact-form.cjs.entry.js +6 -6
  42. package/dist/cjs/tet-contact-info.cjs.entry.js +2 -2
  43. package/dist/cjs/tet-container_2.cjs.entry.js +4 -4
  44. package/dist/cjs/tet-countdown.cjs.entry.js +2 -2
  45. package/dist/cjs/tet-counter.cjs.entry.js +2 -2
  46. package/dist/cjs/tet-customer-assets.cjs.entry.js +4 -4
  47. package/dist/cjs/tet-datepicker-header_4.cjs.entry.js +6 -6
  48. package/dist/cjs/tet-datepicker.cjs.entry.js +5 -5
  49. package/dist/cjs/tet-dialog.cjs.entry.js +5 -5
  50. package/dist/cjs/tet-display.cjs.entry.js +1 -1
  51. package/dist/cjs/tet-divider.cjs.entry.js +1 -1
  52. package/dist/cjs/tet-dynamic-card.cjs.entry.js +4 -4
  53. package/dist/cjs/tet-expandable-input.cjs.entry.js +3 -3
  54. package/dist/cjs/tet-expansion-panel.cjs.entry.js +2 -2
  55. package/dist/cjs/tet-feedback-form.cjs.entry.js +4 -4
  56. package/dist/cjs/tet-filter.cjs.entry.js +3 -3
  57. package/dist/cjs/tet-floating-block.cjs.entry.js +2 -2
  58. package/dist/cjs/tet-font-weight.cjs.entry.js +2 -2
  59. package/dist/cjs/tet-fonts.cjs.entry.js +2 -2
  60. package/dist/cjs/tet-grid.cjs.entry.js +2 -2
  61. package/dist/cjs/tet-icon.cjs.entry.js +3 -3
  62. package/dist/cjs/tet-inline-message.cjs.entry.js +3 -3
  63. package/dist/cjs/tet-input.cjs.entry.js +3 -3
  64. package/dist/cjs/tet-label.cjs.entry.js +5 -5
  65. package/dist/cjs/tet-layout.cjs.entry.js +2 -2
  66. package/dist/cjs/tet-link-card-list.cjs.entry.js +2 -2
  67. package/dist/cjs/tet-link.cjs.entry.js +2 -2
  68. package/dist/cjs/tet-loader.cjs.entry.js +2 -2
  69. package/dist/cjs/tet-macd-view.cjs.entry.js +7 -7
  70. package/dist/cjs/tet-menu-mobile.cjs.entry.js +2 -2
  71. package/dist/cjs/tet-menu.cjs.entry.js +2 -2
  72. package/dist/cjs/tet-mini-compare-card.cjs.entry.js +2 -2
  73. package/dist/cjs/tet-multi-step-dialog.cjs.entry.js +4 -4
  74. package/dist/cjs/tet-navigation-mobile.cjs.entry.js +6 -6
  75. package/dist/cjs/tet-news-card-list.cjs.entry.js +2 -2
  76. package/dist/cjs/tet-notification.cjs.entry.js +2 -2
  77. package/dist/cjs/tet-number-input.cjs.entry.js +3 -3
  78. package/dist/cjs/tet-placeholder.cjs.entry.js +2 -2
  79. package/dist/cjs/tet-position.cjs.entry.js +1 -1
  80. package/dist/cjs/tet-price-view.cjs.entry.js +2 -2
  81. package/dist/cjs/tet-radio-blocks.cjs.entry.js +2 -2
  82. package/dist/cjs/tet-radio.cjs.entry.js +8 -8
  83. package/dist/cjs/tet-range-slider.cjs.entry.js +8 -8
  84. package/dist/cjs/tet-referral.cjs.entry.js +7 -7
  85. package/dist/cjs/tet-round-stepper.cjs.entry.js +2 -2
  86. package/dist/cjs/tet-snicker-card-badge.cjs.entry.js +2 -2
  87. package/dist/cjs/tet-snicker-card-group.cjs.entry.js +2 -2
  88. package/dist/cjs/tet-snicker-card.cjs.entry.js +5 -5
  89. package/dist/cjs/tet-spacing.cjs.entry.js +2 -2
  90. package/dist/cjs/tet-spinner.cjs.entry.js +4 -4
  91. package/dist/cjs/tet-stepper-input.cjs.entry.js +4 -4
  92. package/dist/cjs/tet-stepper-v2.cjs.entry.js +2 -2
  93. package/dist/cjs/tet-stepper-v3.cjs.entry.js +2 -2
  94. package/dist/cjs/tet-stepper.cjs.entry.js +2 -2
  95. package/dist/cjs/tet-support-search.cjs.entry.js +4 -4
  96. package/dist/cjs/tet-switch.cjs.entry.js +4 -4
  97. package/dist/cjs/tet-tab-header.cjs.entry.js +3 -3
  98. package/dist/cjs/tet-table.cjs.entry.js +2 -2
  99. package/dist/cjs/tet-tag_2.cjs.entry.js +5 -5
  100. package/dist/cjs/tet-text-list.cjs.entry.js +1 -1
  101. package/dist/cjs/tet-text.cjs.entry.js +1 -1
  102. package/dist/cjs/tet-textarea.cjs.entry.js +3 -3
  103. package/dist/cjs/tet-thank-you-view-v2.cjs.entry.js +4 -4
  104. package/dist/cjs/tet-thank-you-view-v3.cjs.entry.js +4 -4
  105. package/dist/cjs/tet-thank-you-view.cjs.entry.js +2 -2
  106. package/dist/cjs/tet-tooltip.cjs.entry.js +2 -2
  107. package/dist/cjs/tet-tv-gift-block.cjs.entry.js +2 -2
  108. package/dist/cjs/tet-tv-gift-list.cjs.entry.js +3 -3
  109. package/dist/cjs/{theme-wrapper-66880718.js → theme-wrapper-46514846.js} +2 -2
  110. package/dist/cjs/{translations-03c9de64.js → translations-d1d3bb81.js} +1 -1
  111. package/dist/collection/collection-manifest.json +2 -1
  112. package/dist/collection/components/advanced/address/tet-address-offers-filters/tet-address-offers-filters.js +1 -1
  113. package/dist/collection/components/advanced/address/tet-address-search/tet-address-search.js +3 -3
  114. package/dist/collection/components/advanced/address/tet-autocomplete/tet-autocomplete.js +2 -2
  115. package/dist/collection/components/advanced/address/tet-autocomplete-dropdown/tet-autocomplete-dropdown.js +1 -1
  116. package/dist/collection/components/advanced/cards/tet-assembler/tet-assembler.css +11250 -0
  117. package/dist/collection/components/advanced/cards/tet-assembler/tet-assembler.js +798 -0
  118. package/dist/collection/components/advanced/cards/tet-b2b-compare-card/tet-b2b-compare-card.js +6 -6
  119. package/dist/collection/components/advanced/cards/tet-business-card/tet-business-card.js +2 -2
  120. package/dist/collection/components/advanced/cards/tet-business-compare-card/tet-business-compare-card.js +2 -2
  121. package/dist/collection/components/advanced/cards/tet-business-summary-card/tet-business-summary-card.js +1 -1
  122. package/dist/collection/components/advanced/cards/tet-card-list/tet-card-list.js +4 -4
  123. package/dist/collection/components/advanced/cards/tet-compare-cards/tet-compare-cards.js +1 -1
  124. package/dist/collection/components/advanced/cards/tet-compare-cards-tab/tet-compare-cards-tab.js +1 -1
  125. package/dist/collection/components/advanced/cards/tet-dynamic-card/tet-dynamic-card.js +3 -3
  126. package/dist/collection/components/advanced/cards/tet-mini-compare-card/tet-mini-compare-card.js +1 -1
  127. package/dist/collection/components/advanced/cards/tet-snicker-card/partials/tet-snicker-card-badge/tet-snicker-card-badge.js +1 -1
  128. package/dist/collection/components/advanced/cards/tet-snicker-card/tet-snicker-card.js +2 -2
  129. package/dist/collection/components/advanced/cards/tet-snicker-card-group/tet-snicker-card-group.js +1 -1
  130. package/dist/collection/components/advanced/customer/tet-asset-addresses/tet-asset-addresses.js +1 -1
  131. package/dist/collection/components/advanced/customer/tet-asset-availability-addresses/tet-asset-availability-addresses.js +1 -1
  132. package/dist/collection/components/advanced/customer/tet-customer-assets/tet-customer-assets.js +1 -1
  133. package/dist/collection/components/advanced/customer/tet-referral/tet-referral.js +2 -2
  134. package/dist/collection/components/advanced/dialog/tet-multi-step-dialog/tet-multi-step-dialog.js +1 -1
  135. package/dist/collection/components/advanced/forms/tet-availability-contact-form/tet-availability-contact-form.js +1 -1
  136. package/dist/collection/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.js +3 -3
  137. package/dist/collection/components/advanced/forms/tet-contact-form/tet-contact-form.js +1 -1
  138. package/dist/collection/components/advanced/forms/tet-feedback-form/tet-feedback-form.js +1 -1
  139. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-block/tet-tv-gift-block.js +1 -1
  140. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-list/tet-tv-gift-list.js +2 -2
  141. package/dist/collection/components/advanced/search/tet-support-search/tet-support-search.js +3 -3
  142. package/dist/collection/components/basic/buttons/tet-button/tet-button.js +1 -1
  143. package/dist/collection/components/basic/buttons/tet-checkbox/tet-checkbox.js +7 -7
  144. package/dist/collection/components/basic/buttons/tet-radio/tet-radio.js +7 -7
  145. package/dist/collection/components/basic/buttons/tet-radio-blocks/tet-radio-blocks.js +1 -1
  146. package/dist/collection/components/basic/buttons/tet-switch/tet-switch.js +3 -3
  147. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-content/tet-tab-content.js +2 -2
  148. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-header/tet-tab-header.js +2 -2
  149. package/dist/collection/components/basic/buttons/tet-tag/tet-tag.js +2 -2
  150. package/dist/collection/components/basic/carousel/tet-carousel/tet-carousel.js +6 -6
  151. package/dist/collection/components/basic/container/tet-container/tet-container.js +2 -2
  152. package/dist/collection/components/basic/icon/tet-icon.js +1 -1
  153. package/dist/collection/components/basic/loaders/tet-loader/tet-loader.js +1 -1
  154. package/dist/collection/components/basic/loaders/tet-placeholder/tet-placeholder.js +1 -1
  155. package/dist/collection/components/basic/loaders/tet-spinner/tet-spinner.js +3 -3
  156. package/dist/collection/components/basic/misc/tet-countdown/tet-countdown.js +1 -1
  157. package/dist/collection/components/basic/misc/tet-counter/tet-counter.js +1 -1
  158. package/dist/collection/components/basic/misc/tet-label/tet-label.js +2 -2
  159. package/dist/collection/components/basic/steppers/tet-business-round-stepper/tet-business-round-stepper.js +1 -1
  160. package/dist/collection/components/basic/steppers/tet-round-stepper/tet-round-stepper.js +1 -1
  161. package/dist/collection/components/basic/steppers/tet-stepper/tet-stepper.js +1 -1
  162. package/dist/collection/components/basic/steppers/tet-stepper-v2/tet-stepper-v2.js +1 -1
  163. package/dist/collection/components/basic/steppers/tet-stepper-v3/tet-stepper-v3.js +1 -1
  164. package/dist/collection/components/simple/filter/tet-filter/tet-filter.js +2 -2
  165. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-header/tet-datepicker-header.js +2 -2
  166. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-month-view/tet-datepicker-month-view.js +1 -1
  167. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-multi-year-view/tet-datepicker-multi-year-view.js +1 -1
  168. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-year-view/tet-datepicker-year-view.js +1 -1
  169. package/dist/collection/components/simple/inputs/tet-datepicker/tet-datepicker.js +4 -4
  170. package/dist/collection/components/simple/inputs/tet-dropdown/tet-dropdown.js +1 -1
  171. package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.js +2 -2
  172. package/dist/collection/components/simple/inputs/tet-number-input/tet-number-input.js +2 -2
  173. package/dist/collection/components/simple/inputs/tet-range-slider/tet-range-slider.js +7 -7
  174. package/dist/collection/components/simple/inputs/tet-stepper-input/tet-stepper-input.js +1 -1
  175. package/dist/collection/components/simple/inputs/tet-textarea/tet-textarea.js +2 -2
  176. package/dist/collection/components/simple/lists/tet-link-card-list/tet-link-card-list.js +1 -1
  177. package/dist/collection/components/simple/lists/tet-news-card-list/tet-news-card-list.js +1 -1
  178. package/dist/collection/components/simple/lists/tet-selection-list/tet-selection-list.js +1 -1
  179. package/dist/collection/components/simple/menu/tet-business-navigation/tet-business-navigation.js +1 -1
  180. package/dist/collection/components/simple/menu/tet-menu/tet-menu.js +1 -1
  181. package/dist/collection/components/simple/menu/tet-menu-mobile/tet-menu-mobile.js +1 -1
  182. package/dist/collection/components/simple/menu/tet-navigation-mobile/tet-navigation-mobile.js +3 -3
  183. package/dist/collection/components/simple/structural/tet-accordion/tet-accordion.js +6 -6
  184. package/dist/collection/components/simple/structural/tet-expansion-panel/tet-expansion-panel.js +1 -1
  185. package/dist/collection/components/simple/structural/tet-floating-block/tet-floating-block.js +1 -1
  186. package/dist/collection/components/simple/tables-and-graphs/tet-bar-graph/tet-bar-graph.js +3 -3
  187. package/dist/collection/components/simple/tables-and-graphs/tet-table/tet-table.js +1 -1
  188. package/dist/collection/components/simple/text-blocks/tet-cloud-application-form-dialog/tet-cloud-application-form-dialog.js +2 -2
  189. package/dist/collection/components/simple/text-blocks/tet-dialog/tet-dialog.js +2 -2
  190. package/dist/collection/components/simple/text-blocks/tet-inline-message/tet-inline-message.js +2 -2
  191. package/dist/collection/components/simple/text-blocks/tet-notification/tet-notification.js +1 -1
  192. package/dist/collection/components/simple/text-blocks/tet-tooltip/tet-tooltip.js +1 -1
  193. package/dist/collection/components/views/tet-address-offers-view/tet-address-offers-view.js +1 -1
  194. package/dist/collection/components/views/tet-b2b-configurator/partials/tet-b2b-configurator-cart/tet-b2b-configurator-cart.js +2 -2
  195. package/dist/collection/components/views/tet-b2b-configurator/tet-b2b-configurator.js +1 -1
  196. package/dist/collection/components/views/tet-b2b-service-calculator/tet-b2b-service-calculator.js +1 -1
  197. package/dist/collection/components/views/tet-business-lines/tet-business-lines.js +1 -1
  198. package/dist/collection/components/views/tet-contact-info/tet-contact-info.js +1 -1
  199. package/dist/collection/components/views/tet-macd-view/tet-macd-view.js +1 -1
  200. package/dist/collection/components/views/tet-price-view/tet-price-view.js +1 -1
  201. package/dist/collection/components/views/tet-thank-you-view/tet-thank-you-view.js +1 -1
  202. package/dist/collection/components/views/tet-thank-you-view-v2/tet-thank-you-view-v2.js +1 -1
  203. package/dist/collection/components/views/tet-thank-you-view-v3/tet-thank-you-view-v3.js +1 -1
  204. package/dist/collection/docs/styling/border-radius/tet-border-radius.js +1 -1
  205. package/dist/collection/docs/styling/colors/tet-colors.js +4 -4
  206. package/dist/collection/docs/styling/font-weight/tet-font-weight.js +1 -1
  207. package/dist/collection/docs/styling/fonts/tet-fonts.js +1 -1
  208. package/dist/collection/docs/styling/layout/tet-layout.js +1 -1
  209. package/dist/collection/docs/styling/link/tet-link.js +1 -1
  210. package/dist/collection/docs/styling/spacing/tet-spacing.js +1 -1
  211. package/dist/collection/docs/styling/tet-grid/tet-grid.js +1 -1
  212. package/dist/collection/services/api/index.js +2 -1
  213. package/dist/collection/services/api/services/assembler/assembler.js +27 -0
  214. package/dist/components/index.js +3 -1
  215. package/dist/components/{p-25925866.js → p-014f5f6a.js} +8 -8
  216. package/dist/components/{p-13118b95.js → p-03fcb688.js} +1 -1
  217. package/dist/components/{p-0cc0ebd5.js → p-041884cc.js} +5 -5
  218. package/dist/components/{p-0350e010.js → p-04fcd75f.js} +3 -3
  219. package/dist/components/{p-0cdbc766.js → p-08c03dec.js} +1 -1
  220. package/dist/components/{p-3c1955a3.js → p-1462fcba.js} +14 -14
  221. package/dist/components/{p-53a6b06a.js → p-1b5ef09e.js} +5 -5
  222. package/dist/components/{p-02d57d15.js → p-1f9615a2.js} +11 -11
  223. package/dist/components/{p-e241a1b9.js → p-242b5e16.js} +2 -2
  224. package/dist/components/{p-a7a9c18f.js → p-256b178b.js} +13 -13
  225. package/dist/components/{p-1ef86f0d.js → p-2b305446.js} +3 -3
  226. package/dist/components/{p-6fc01fd0.js → p-2f947e40.js} +1 -1
  227. package/dist/components/{p-2f7b2d35.js → p-3643bb3b.js} +2 -2
  228. package/dist/components/{p-7c9a4ed8.js → p-403ffa3f.js} +3 -3
  229. package/dist/components/{p-6f28f8b4.js → p-41c490d2.js} +5 -5
  230. package/dist/components/{p-e3eb3b05.js → p-45a93f15.js} +2 -2
  231. package/dist/components/{p-e33df696.js → p-4f4248f8.js} +2 -2
  232. package/dist/components/{p-b1f8981e.js → p-52cb87c0.js} +2 -2
  233. package/dist/components/{p-ef0501b4.js → p-52fdc9be.js} +2 -2
  234. package/dist/components/{p-6aff16b4.js → p-5aaddae1.js} +9 -9
  235. package/dist/components/{p-59115eaa.js → p-6008f83a.js} +2 -2
  236. package/dist/components/{p-70507bfc.js → p-68307601.js} +3 -3
  237. package/dist/components/{p-639ddd2d.js → p-6ef76f9a.js} +5 -5
  238. package/dist/components/{p-4468c9e9.js → p-6f4c6246.js} +2 -2
  239. package/dist/components/{p-a17297ee.js → p-75899066.js} +4 -4
  240. package/dist/components/{p-ed24db6f.js → p-77885589.js} +3 -3
  241. package/dist/components/{p-f2932424.js → p-812696e6.js} +3 -3
  242. package/dist/components/{p-d816e019.js → p-81c166de.js} +6 -6
  243. package/dist/components/{p-3d34781f.js → p-8e4a3cc6.js} +10 -10
  244. package/dist/components/{p-3fec7b2f.js → p-961179a7.js} +8 -8
  245. package/dist/components/{p-d16fb543.js → p-9c08605d.js} +1 -1
  246. package/dist/components/{p-8ffc1df0.js → p-9d2e0863.js} +8 -8
  247. package/dist/components/{p-7746578a.js → p-a421eaca.js} +2 -2
  248. package/dist/components/{p-25b93e8f.js → p-aa122c92.js} +1 -1
  249. package/dist/components/{p-1489658f.js → p-ad5993f4.js} +4 -4
  250. package/dist/components/{p-1b924aad.js → p-ae94d8ac.js} +1 -1
  251. package/dist/components/{p-62ff8bf6.js → p-af76a58c.js} +11 -11
  252. package/dist/components/{p-5a60f52b.js → p-b0e577a8.js} +3 -3
  253. package/dist/components/{p-6a960196.js → p-b3382559.js} +4 -4
  254. package/dist/components/{p-f42c9f12.js → p-b641755c.js} +3 -3
  255. package/dist/components/{p-fdd886c8.js → p-b93ad0c0.js} +3 -3
  256. package/dist/components/{p-77020d0b.js → p-bae1b995.js} +13 -13
  257. package/dist/components/{p-a70172b4.js → p-c4210e20.js} +4 -3
  258. package/dist/components/{p-fc13b43b.js → p-c4d1919d.js} +4 -4
  259. package/dist/components/{p-2bbe2219.js → p-c6dbd426.js} +4 -4
  260. package/dist/components/{p-7c447d73.js → p-cb12b29e.js} +3 -3
  261. package/dist/components/{p-dcd94771.js → p-cb70d183.js} +5 -5
  262. package/dist/components/{p-f6641a35.js → p-d0254bc4.js} +1 -1
  263. package/dist/components/{p-dd80dc3d.js → p-d595665c.js} +9 -9
  264. package/dist/components/{p-85765c82.js → p-db65571d.js} +6 -6
  265. package/dist/components/{p-24e0696e.js → p-dd6e29bd.js} +7 -7
  266. package/dist/components/{p-c2ac2f47.js → p-df3ce9e5.js} +1 -1
  267. package/dist/components/{p-243f0f61.js → p-e04ede1a.js} +6 -6
  268. package/dist/components/{p-bd8348db.js → p-e6ef6c16.js} +7 -7
  269. package/dist/components/{p-4dd8f3d3.js → p-ef789579.js} +10 -10
  270. package/dist/components/{p-2ae84fdc.js → p-f076a4aa.js} +3 -3
  271. package/dist/components/{p-d6b0f57f.js → p-f7053d58.js} +2 -2
  272. package/dist/components/{p-89b65bec.js → p-f9d53ede.js} +7 -7
  273. package/dist/components/{p-258228b9.js → p-ffc4a8ab.js} +2 -2
  274. package/dist/components/tet-accordion.js +1 -1
  275. package/dist/components/tet-address-offers-filters-products.js +1 -1
  276. package/dist/components/tet-address-offers-filters.js +1 -1
  277. package/dist/components/tet-address-offers-view.js +25 -25
  278. package/dist/components/tet-address-offers.js +1 -1
  279. package/dist/components/tet-address-search.js +1 -1
  280. package/dist/components/tet-assembler.d.ts +11 -0
  281. package/dist/components/tet-assembler.js +748 -0
  282. package/dist/components/tet-asset-addresses.js +14 -14
  283. package/dist/components/tet-asset-availability-addresses.js +1 -1
  284. package/dist/components/tet-autocomplete-dropdown.js +6 -6
  285. package/dist/components/tet-autocomplete.js +1 -1
  286. package/dist/components/tet-availability-contact-form.js +1 -1
  287. package/dist/components/tet-b2b-check-out-form.js +1 -1
  288. package/dist/components/tet-b2b-compare-card.js +1 -1
  289. package/dist/components/tet-b2b-configurator-cart.js +1 -1
  290. package/dist/components/tet-b2b-configurator.js +21 -21
  291. package/dist/components/tet-b2b-service-calculator.js +9 -9
  292. package/dist/components/tet-banner-nav.js +3 -3
  293. package/dist/components/tet-bar-graph.js +4 -4
  294. package/dist/components/tet-border-radius.js +2 -2
  295. package/dist/components/tet-business-card.js +3 -3
  296. package/dist/components/tet-business-compare-card.js +5 -5
  297. package/dist/components/tet-business-lines.js +6 -6
  298. package/dist/components/tet-business-navigation.js +1 -1
  299. package/dist/components/tet-business-round-stepper.js +3 -3
  300. package/dist/components/tet-business-summary-card.js +1 -1
  301. package/dist/components/tet-button.js +1 -1
  302. package/dist/components/tet-card-list.js +1 -1
  303. package/dist/components/tet-carousel.js +10 -10
  304. package/dist/components/tet-checkbox.js +1 -1
  305. package/dist/components/tet-cloud-application-form-dialog.js +10 -10
  306. package/dist/components/tet-cloud-configurator.js +12 -12
  307. package/dist/components/tet-colors.js +5 -5
  308. package/dist/components/tet-compare-card-v2.js +9 -9
  309. package/dist/components/tet-compare-card-v3.js +10 -10
  310. package/dist/components/tet-compare-card.js +1 -1
  311. package/dist/components/tet-compare-cards-tab.js +17 -17
  312. package/dist/components/tet-compare-cards.js +1 -1
  313. package/dist/components/tet-contact-form.js +10 -10
  314. package/dist/components/tet-contact-info.js +2 -2
  315. package/dist/components/tet-container.js +1 -1
  316. package/dist/components/tet-countdown.js +2 -2
  317. package/dist/components/tet-counter.js +2 -2
  318. package/dist/components/tet-customer-assets.js +10 -10
  319. package/dist/components/tet-datepicker-header.js +1 -1
  320. package/dist/components/tet-datepicker-month-view.js +1 -1
  321. package/dist/components/tet-datepicker-multi-year-view.js +1 -1
  322. package/dist/components/tet-datepicker-year-view.js +1 -1
  323. package/dist/components/tet-datepicker.js +10 -10
  324. package/dist/components/tet-dialog.js +1 -1
  325. package/dist/components/tet-display.js +8 -8
  326. package/dist/components/tet-divider.js +7 -7
  327. package/dist/components/tet-dropdown.js +1 -1
  328. package/dist/components/tet-dynamic-card.js +7 -7
  329. package/dist/components/tet-expandable-input.js +5 -5
  330. package/dist/components/tet-expansion-panel.js +2 -2
  331. package/dist/components/tet-feedback-form.js +8 -8
  332. package/dist/components/tet-filter.js +6 -6
  333. package/dist/components/tet-floating-block.js +4 -4
  334. package/dist/components/tet-font-weight.js +2 -2
  335. package/dist/components/tet-fonts.js +2 -2
  336. package/dist/components/tet-grid.js +2 -2
  337. package/dist/components/tet-icon.js +1 -1
  338. package/dist/components/tet-inline-message.js +1 -1
  339. package/dist/components/tet-input.js +1 -1
  340. package/dist/components/tet-label.js +5 -5
  341. package/dist/components/tet-layout.js +2 -2
  342. package/dist/components/tet-link-card-list.js +4 -4
  343. package/dist/components/tet-link.js +2 -2
  344. package/dist/components/tet-loader.js +1 -1
  345. package/dist/components/tet-macd-view.js +11 -11
  346. package/dist/components/tet-menu-mobile.js +3 -3
  347. package/dist/components/tet-menu.js +3 -3
  348. package/dist/components/tet-mini-compare-card.js +4 -4
  349. package/dist/components/tet-multi-step-dialog.js +6 -6
  350. package/dist/components/tet-navigation-mobile.js +6 -6
  351. package/dist/components/tet-news-card-list.js +5 -5
  352. package/dist/components/tet-notification.js +1 -1
  353. package/dist/components/tet-number-input.js +1 -1
  354. package/dist/components/tet-placeholder.js +1 -1
  355. package/dist/components/tet-position.js +7 -7
  356. package/dist/components/tet-price-view.js +1 -1
  357. package/dist/components/tet-radio-blocks.js +3 -3
  358. package/dist/components/tet-radio.js +1 -1
  359. package/dist/components/tet-range-slider.js +1 -1
  360. package/dist/components/tet-referral.js +8 -8
  361. package/dist/components/tet-round-stepper.js +3 -3
  362. package/dist/components/tet-selection-list.js +1 -1
  363. package/dist/components/tet-snicker-card-badge.js +2 -2
  364. package/dist/components/tet-snicker-card-group.js +2 -2
  365. package/dist/components/tet-snicker-card.js +13 -13
  366. package/dist/components/tet-spacing.js +2 -2
  367. package/dist/components/tet-spinner.js +1 -1
  368. package/dist/components/tet-stepper-input.js +1 -1
  369. package/dist/components/tet-stepper-v2.js +1 -1
  370. package/dist/components/tet-stepper-v3.js +1 -1
  371. package/dist/components/tet-stepper.js +1 -1
  372. package/dist/components/tet-support-search.js +10 -10
  373. package/dist/components/tet-switch.js +1 -1
  374. package/dist/components/tet-tab-content.js +1 -1
  375. package/dist/components/tet-tab-header.js +1 -1
  376. package/dist/components/tet-table.js +4 -4
  377. package/dist/components/tet-tag-group.js +1 -1
  378. package/dist/components/tet-tag.js +1 -1
  379. package/dist/components/tet-text-list.js +1 -1
  380. package/dist/components/tet-text.js +7 -7
  381. package/dist/components/tet-textarea.js +1 -1
  382. package/dist/components/tet-thank-you-view-v2.js +6 -6
  383. package/dist/components/tet-thank-you-view-v3.js +6 -6
  384. package/dist/components/tet-thank-you-view.js +5 -5
  385. package/dist/components/tet-tooltip.js +1 -1
  386. package/dist/components/tet-tv-gift-block.js +2 -2
  387. package/dist/components/tet-tv-gift-list.js +4 -4
  388. package/dist/esm/{address-c6324f62.js → address-804b2fd3.js} +1 -1
  389. package/dist/esm/{assets-e1349520.js → assets-d337f5e7.js} +1 -1
  390. package/dist/esm/{async-request-4c945e13.js → async-request-a13d02e9.js} +1 -1
  391. package/dist/esm/{http-codes-1927ea00.js → http-codes-8100f4ea.js} +3 -2
  392. package/dist/esm/{index-412df137.js → index-e3209c56.js} +1 -1
  393. package/dist/esm/{index-aac31bd2.js → index-e933a7d2.js} +11 -7
  394. package/dist/esm/loader.js +3 -3
  395. package/dist/esm/{phone-1a920c5c.js → phone-1c98b03b.js} +2 -2
  396. package/dist/esm/{product-comparison-dd90c721.js → product-comparison-7fa9705a.js} +1 -1
  397. package/dist/esm/tet-accordion.entry.js +7 -7
  398. package/dist/esm/tet-address-offers-filters-products_2.entry.js +3 -3
  399. package/dist/esm/tet-address-offers-view.entry.js +4 -4
  400. package/dist/esm/tet-address-offers_4.entry.js +10 -10
  401. package/dist/esm/tet-address-search.entry.js +7 -7
  402. package/dist/esm/tet-assembler.entry.js +694 -0
  403. package/dist/esm/tet-asset-addresses.entry.js +4 -4
  404. package/dist/esm/tet-autocomplete-dropdown.entry.js +2 -2
  405. package/dist/esm/tet-autocomplete.entry.js +3 -3
  406. package/dist/esm/tet-b2b-check-out-form_5.entry.js +16 -16
  407. package/dist/esm/tet-b2b-configurator.entry.js +5 -5
  408. package/dist/esm/tet-b2b-service-calculator.entry.js +4 -4
  409. package/dist/esm/tet-banner-nav.entry.js +3 -3
  410. package/dist/esm/tet-bar-graph.entry.js +4 -4
  411. package/dist/esm/tet-border-radius.entry.js +2 -2
  412. package/dist/esm/tet-business-card.entry.js +3 -3
  413. package/dist/esm/tet-business-compare-card.entry.js +3 -3
  414. package/dist/esm/tet-business-lines.entry.js +5 -5
  415. package/dist/esm/tet-business-round-stepper.entry.js +2 -2
  416. package/dist/esm/tet-button.entry.js +2 -2
  417. package/dist/esm/tet-card-list.entry.js +5 -5
  418. package/dist/esm/tet-carousel.entry.js +9 -9
  419. package/dist/esm/tet-checkbox_2.entry.js +9 -9
  420. package/dist/esm/tet-cloud-application-form-dialog.entry.js +5 -5
  421. package/dist/esm/tet-cloud-configurator.entry.js +3 -3
  422. package/dist/esm/tet-colors.entry.js +5 -5
  423. package/dist/esm/tet-compare-card-v2.entry.js +3 -3
  424. package/dist/esm/tet-compare-card-v3.entry.js +3 -3
  425. package/dist/esm/tet-compare-cards-tab.entry.js +4 -4
  426. package/dist/esm/tet-compare-cards_2.entry.js +6 -6
  427. package/dist/esm/tet-components.js +3 -3
  428. package/dist/esm/tet-contact-form.entry.js +6 -6
  429. package/dist/esm/tet-contact-info.entry.js +2 -2
  430. package/dist/esm/tet-container_2.entry.js +4 -4
  431. package/dist/esm/tet-countdown.entry.js +2 -2
  432. package/dist/esm/tet-counter.entry.js +2 -2
  433. package/dist/esm/tet-customer-assets.entry.js +4 -4
  434. package/dist/esm/tet-datepicker-header_4.entry.js +6 -6
  435. package/dist/esm/tet-datepicker.entry.js +5 -5
  436. package/dist/esm/tet-dialog.entry.js +5 -5
  437. package/dist/esm/tet-display.entry.js +1 -1
  438. package/dist/esm/tet-divider.entry.js +1 -1
  439. package/dist/esm/tet-dynamic-card.entry.js +4 -4
  440. package/dist/esm/tet-expandable-input.entry.js +3 -3
  441. package/dist/esm/tet-expansion-panel.entry.js +2 -2
  442. package/dist/esm/tet-feedback-form.entry.js +4 -4
  443. package/dist/esm/tet-filter.entry.js +3 -3
  444. package/dist/esm/tet-floating-block.entry.js +2 -2
  445. package/dist/esm/tet-font-weight.entry.js +2 -2
  446. package/dist/esm/tet-fonts.entry.js +2 -2
  447. package/dist/esm/tet-grid.entry.js +2 -2
  448. package/dist/esm/tet-icon.entry.js +3 -3
  449. package/dist/esm/tet-inline-message.entry.js +3 -3
  450. package/dist/esm/tet-input.entry.js +3 -3
  451. package/dist/esm/tet-label.entry.js +5 -5
  452. package/dist/esm/tet-layout.entry.js +2 -2
  453. package/dist/esm/tet-link-card-list.entry.js +2 -2
  454. package/dist/esm/tet-link.entry.js +2 -2
  455. package/dist/esm/tet-loader.entry.js +2 -2
  456. package/dist/esm/tet-macd-view.entry.js +7 -7
  457. package/dist/esm/tet-menu-mobile.entry.js +2 -2
  458. package/dist/esm/tet-menu.entry.js +2 -2
  459. package/dist/esm/tet-mini-compare-card.entry.js +2 -2
  460. package/dist/esm/tet-multi-step-dialog.entry.js +4 -4
  461. package/dist/esm/tet-navigation-mobile.entry.js +6 -6
  462. package/dist/esm/tet-news-card-list.entry.js +2 -2
  463. package/dist/esm/tet-notification.entry.js +2 -2
  464. package/dist/esm/tet-number-input.entry.js +3 -3
  465. package/dist/esm/tet-placeholder.entry.js +2 -2
  466. package/dist/esm/tet-position.entry.js +1 -1
  467. package/dist/esm/tet-price-view.entry.js +2 -2
  468. package/dist/esm/tet-radio-blocks.entry.js +2 -2
  469. package/dist/esm/tet-radio.entry.js +8 -8
  470. package/dist/esm/tet-range-slider.entry.js +8 -8
  471. package/dist/esm/tet-referral.entry.js +7 -7
  472. package/dist/esm/tet-round-stepper.entry.js +2 -2
  473. package/dist/esm/tet-snicker-card-badge.entry.js +2 -2
  474. package/dist/esm/tet-snicker-card-group.entry.js +2 -2
  475. package/dist/esm/tet-snicker-card.entry.js +5 -5
  476. package/dist/esm/tet-spacing.entry.js +2 -2
  477. package/dist/esm/tet-spinner.entry.js +4 -4
  478. package/dist/esm/tet-stepper-input.entry.js +4 -4
  479. package/dist/esm/tet-stepper-v2.entry.js +2 -2
  480. package/dist/esm/tet-stepper-v3.entry.js +2 -2
  481. package/dist/esm/tet-stepper.entry.js +2 -2
  482. package/dist/esm/tet-support-search.entry.js +4 -4
  483. package/dist/esm/tet-switch.entry.js +4 -4
  484. package/dist/esm/tet-tab-header.entry.js +3 -3
  485. package/dist/esm/tet-table.entry.js +2 -2
  486. package/dist/esm/tet-tag_2.entry.js +5 -5
  487. package/dist/esm/tet-text-list.entry.js +1 -1
  488. package/dist/esm/tet-text.entry.js +1 -1
  489. package/dist/esm/tet-textarea.entry.js +3 -3
  490. package/dist/esm/tet-thank-you-view-v2.entry.js +4 -4
  491. package/dist/esm/tet-thank-you-view-v3.entry.js +4 -4
  492. package/dist/esm/tet-thank-you-view.entry.js +2 -2
  493. package/dist/esm/tet-tooltip.entry.js +2 -2
  494. package/dist/esm/tet-tv-gift-block.entry.js +2 -2
  495. package/dist/esm/tet-tv-gift-list.entry.js +3 -3
  496. package/dist/esm/{theme-wrapper-72d0b9da.js → theme-wrapper-cf4d7d54.js} +2 -2
  497. package/dist/esm/{translations-4712c45f.js → translations-31f9e210.js} +1 -1
  498. package/dist/tet-components/{p-0c281800.entry.js → p-000577f5.entry.js} +1 -1
  499. package/dist/tet-components/{p-85a134f3.entry.js → p-004a4b0e.entry.js} +1 -1
  500. package/dist/tet-components/{p-3b87a188.entry.js → p-015d561d.entry.js} +1 -1
  501. package/dist/tet-components/{p-778c46a6.js → p-0190b524.js} +1 -1
  502. package/dist/tet-components/{p-2fc95a5a.entry.js → p-042abd41.entry.js} +1 -1
  503. package/dist/tet-components/{p-cf3456e2.entry.js → p-073fe046.entry.js} +1 -1
  504. package/dist/tet-components/{p-69c58fc4.entry.js → p-08938672.entry.js} +1 -1
  505. package/dist/tet-components/{p-32ec918e.entry.js → p-095c8410.entry.js} +1 -1
  506. package/dist/tet-components/{p-7a54781c.entry.js → p-09e34e53.entry.js} +1 -1
  507. package/dist/tet-components/{p-29cde2fc.entry.js → p-0e6d4a8f.entry.js} +1 -1
  508. package/dist/tet-components/{p-936bcbd6.entry.js → p-1063da90.entry.js} +1 -1
  509. package/dist/tet-components/{p-e303efa1.entry.js → p-119acdee.entry.js} +1 -1
  510. package/dist/tet-components/{p-a1d7516f.entry.js → p-1341a141.entry.js} +1 -1
  511. package/dist/tet-components/{p-2a8622d5.entry.js → p-17e20a98.entry.js} +1 -1
  512. package/dist/tet-components/{p-1e66ec94.entry.js → p-180ad465.entry.js} +1 -1
  513. package/dist/tet-components/{p-77369bbf.entry.js → p-1c912f92.entry.js} +1 -1
  514. package/dist/tet-components/{p-f81b3bb0.js → p-1f5bea17.js} +1 -1
  515. package/dist/tet-components/{p-0c6b6730.js → p-1ff7148a.js} +1 -1
  516. package/dist/tet-components/{p-64e68c0b.entry.js → p-2116ce2a.entry.js} +1 -1
  517. package/dist/tet-components/{p-30d28882.entry.js → p-2298942a.entry.js} +1 -1
  518. package/dist/tet-components/{p-6b63a9c5.entry.js → p-27599139.entry.js} +1 -1
  519. package/dist/tet-components/{p-ccfa9f31.entry.js → p-2c891567.entry.js} +1 -1
  520. package/dist/tet-components/{p-bca35a51.entry.js → p-2d1ab329.entry.js} +1 -1
  521. package/dist/tet-components/{p-d8518d4b.js → p-2dbe670c.js} +1 -1
  522. package/dist/tet-components/{p-0eb1e821.entry.js → p-2ed0da53.entry.js} +1 -1
  523. package/dist/tet-components/{p-46f6a051.entry.js → p-2f25de81.entry.js} +1 -1
  524. package/dist/tet-components/{p-b2f98ae4.entry.js → p-2f484973.entry.js} +1 -1
  525. package/dist/tet-components/{p-724189c2.entry.js → p-31be2161.entry.js} +1 -1
  526. package/dist/tet-components/{p-122f3d3c.entry.js → p-3b70f7c4.entry.js} +1 -1
  527. package/dist/tet-components/{p-8c710929.entry.js → p-3c4ea845.entry.js} +1 -1
  528. package/dist/tet-components/{p-7e91cb84.entry.js → p-3cbd86e4.entry.js} +1 -1
  529. package/dist/tet-components/{p-63b4d119.entry.js → p-3d8071af.entry.js} +1 -1
  530. package/dist/tet-components/p-3dc12425.entry.js +1 -0
  531. package/dist/tet-components/{p-45795285.entry.js → p-3dfdd0f2.entry.js} +1 -1
  532. package/dist/tet-components/{p-697d23d7.entry.js → p-44633ac4.entry.js} +1 -1
  533. package/dist/tet-components/{p-5da5f21d.entry.js → p-446b7795.entry.js} +1 -1
  534. package/dist/tet-components/{p-3c736bd6.entry.js → p-493c1ba5.entry.js} +1 -1
  535. package/dist/tet-components/{p-016313c8.entry.js → p-4ac22e5d.entry.js} +1 -1
  536. package/dist/tet-components/{p-fc8f7ddb.entry.js → p-526bbfc6.entry.js} +1 -1
  537. package/dist/tet-components/{p-5b5001cf.entry.js → p-5312f7a3.entry.js} +1 -1
  538. package/dist/tet-components/{p-cbe2dffa.entry.js → p-59087443.entry.js} +1 -1
  539. package/dist/tet-components/{p-9c837569.entry.js → p-5911bb84.entry.js} +1 -1
  540. package/dist/tet-components/{p-e4a8a19d.entry.js → p-5a6c22f0.entry.js} +1 -1
  541. package/dist/tet-components/{p-83f43fdd.js → p-5abb3bea.js} +1 -1
  542. package/dist/tet-components/{p-5cfa510c.entry.js → p-5ae6bcd2.entry.js} +1 -1
  543. package/dist/tet-components/{p-efc67b5d.entry.js → p-5b94cd7d.entry.js} +1 -1
  544. package/dist/tet-components/{p-dab1cb50.entry.js → p-5cb2c631.entry.js} +1 -1
  545. package/dist/tet-components/{p-6b799942.entry.js → p-5d911ff8.entry.js} +1 -1
  546. package/dist/tet-components/p-660bdc27.js +1 -0
  547. package/dist/tet-components/{p-b2e25c5c.entry.js → p-6725544c.entry.js} +1 -1
  548. package/dist/tet-components/{p-b652f17d.entry.js → p-6957d8c2.entry.js} +1 -1
  549. package/dist/tet-components/{p-08205bb0.entry.js → p-726a4e8c.entry.js} +1 -1
  550. package/dist/tet-components/p-73841b71.entry.js +1 -0
  551. package/dist/tet-components/p-746d41eb.entry.js +1 -0
  552. package/dist/tet-components/{p-3b65adc5.entry.js → p-77e9db24.entry.js} +1 -1
  553. package/dist/tet-components/{p-3f3911b6.entry.js → p-787c2cbf.entry.js} +1 -1
  554. package/dist/tet-components/{p-cde8057a.entry.js → p-7ef7e8c0.entry.js} +1 -1
  555. package/dist/tet-components/{p-9c20529c.entry.js → p-7fdb6d22.entry.js} +1 -1
  556. package/dist/tet-components/{p-6fa43e9e.entry.js → p-80982af8.entry.js} +1 -1
  557. package/dist/tet-components/{p-829c6df6.entry.js → p-84dca941.entry.js} +1 -1
  558. package/dist/tet-components/{p-a8051a99.js → p-850594d3.js} +1 -1
  559. package/dist/tet-components/{p-8bfd498e.entry.js → p-85e99b76.entry.js} +1 -1
  560. package/dist/tet-components/{p-2f67917d.entry.js → p-88d5bbf9.entry.js} +1 -1
  561. package/dist/tet-components/{p-9975c677.entry.js → p-88da153c.entry.js} +1 -1
  562. package/dist/tet-components/{p-1fd2adaf.js → p-894e34a9.js} +1 -1
  563. package/dist/tet-components/{p-7ae809e4.entry.js → p-8b9f62e0.entry.js} +1 -1
  564. package/dist/tet-components/{p-0e4e9e79.entry.js → p-8cd76279.entry.js} +1 -1
  565. package/dist/tet-components/{p-7fc933fe.entry.js → p-8d17f7ba.entry.js} +1 -1
  566. package/dist/tet-components/{p-3c24a050.entry.js → p-8dfbe920.entry.js} +1 -1
  567. package/dist/tet-components/{p-2920ed03.entry.js → p-8fefe1ac.entry.js} +1 -1
  568. package/dist/tet-components/{p-48c5ec91.entry.js → p-9ac80589.entry.js} +1 -1
  569. package/dist/tet-components/{p-7f18c74c.entry.js → p-9e8a1c9b.entry.js} +1 -1
  570. package/dist/tet-components/{p-b0c62997.entry.js → p-9feb1b61.entry.js} +1 -1
  571. package/dist/tet-components/p-9fecf04b.entry.js +1 -0
  572. package/dist/tet-components/{p-44243190.entry.js → p-a90c335e.entry.js} +1 -1
  573. package/dist/tet-components/{p-b57d9144.entry.js → p-aea34ce3.entry.js} +1 -1
  574. package/dist/tet-components/{p-fe57c92c.entry.js → p-b60f3389.entry.js} +1 -1
  575. package/dist/tet-components/{p-f66f239b.entry.js → p-b7df4462.entry.js} +1 -1
  576. package/dist/tet-components/{p-fdd7e7d5.entry.js → p-b8e2d20f.entry.js} +1 -1
  577. package/dist/tet-components/{p-58cb16c8.entry.js → p-bb5a219f.entry.js} +1 -1
  578. package/dist/tet-components/{p-36a4398d.entry.js → p-bde831e7.entry.js} +1 -1
  579. package/dist/tet-components/{p-5fb62a1b.entry.js → p-be7faa43.entry.js} +1 -1
  580. package/dist/tet-components/{p-236135bd.entry.js → p-bed205ab.entry.js} +1 -1
  581. package/dist/tet-components/{p-9a75ed39.entry.js → p-c2463e12.entry.js} +1 -1
  582. package/dist/tet-components/{p-fc88ce77.entry.js → p-c2741a17.entry.js} +1 -1
  583. package/dist/tet-components/{p-d8e2184a.entry.js → p-c368f975.entry.js} +1 -1
  584. package/dist/tet-components/{p-3672e5a2.entry.js → p-c5006cb1.entry.js} +1 -1
  585. package/dist/tet-components/{p-1c8fb479.entry.js → p-c8a13404.entry.js} +1 -1
  586. package/dist/tet-components/{p-87221449.entry.js → p-cd84f284.entry.js} +1 -1
  587. package/dist/tet-components/{p-faecb4fe.entry.js → p-d0c5c962.entry.js} +1 -1
  588. package/dist/tet-components/{p-4d903648.entry.js → p-d15851a3.entry.js} +1 -1
  589. package/dist/tet-components/{p-18a06e75.entry.js → p-d187c56d.entry.js} +1 -1
  590. package/dist/tet-components/{p-796eb501.js → p-d1d433a5.js} +1 -1
  591. package/dist/tet-components/{p-b0a0e71b.entry.js → p-d354a35f.entry.js} +1 -1
  592. package/dist/tet-components/{p-c9f21fde.entry.js → p-dd43300e.entry.js} +1 -1
  593. package/dist/tet-components/{p-55cbd500.entry.js → p-df531a44.entry.js} +1 -1
  594. package/dist/tet-components/{p-a5645919.entry.js → p-e0e92522.entry.js} +1 -1
  595. package/dist/tet-components/{p-6693715e.entry.js → p-e21fac48.entry.js} +1 -1
  596. package/dist/tet-components/{p-f6916bfc.entry.js → p-e30fa532.entry.js} +1 -1
  597. package/dist/tet-components/{p-00416b3b.entry.js → p-e46c0a02.entry.js} +1 -1
  598. package/dist/tet-components/{p-3cfc58fc.entry.js → p-e48f3fcb.entry.js} +1 -1
  599. package/dist/tet-components/{p-6b088283.entry.js → p-e97af066.entry.js} +1 -1
  600. package/dist/tet-components/{p-6f1b2ccc.entry.js → p-f09485c7.entry.js} +1 -1
  601. package/dist/tet-components/{p-4c6a379b.entry.js → p-f72b4fbc.entry.js} +1 -1
  602. package/dist/tet-components/{p-0ebbf5ef.js → p-fa674b43.js} +1 -1
  603. package/dist/tet-components/{p-d10d45f4.entry.js → p-fc2090b4.entry.js} +1 -1
  604. package/dist/tet-components/{p-7b43bbad.entry.js → p-ff2cb912.entry.js} +1 -1
  605. package/dist/tet-components/{p-c4de9e32.entry.js → p-ff5b0f63.entry.js} +1 -1
  606. package/dist/tet-components/tet-components.esm.js +1 -1
  607. package/dist/types/components/advanced/cards/tet-assembler/tet-assembler.d.ts +221 -0
  608. package/dist/types/components.d.ts +78 -0
  609. package/dist/types/services/api/index.d.ts +2 -1
  610. package/dist/types/services/api/services/assembler/assembler.d.ts +36 -0
  611. package/package.json +1 -1
  612. package/dist/tet-components/p-46a02254.entry.js +0 -1
  613. package/dist/tet-components/p-a727af6b.entry.js +0 -1
  614. package/dist/tet-components/p-bffdfc84.entry.js +0 -1
  615. package/dist/tet-components/p-f81d95ae.js +0 -1
@@ -0,0 +1,798 @@
1
+ import { h, Host, forceUpdate } from "@stencil/core";
2
+ import { assemblerScenario } from "../../../../services/api/index";
3
+ import { generateFormUrl } from "../../../../services/url/build-form-url";
4
+ import { processTranslations, t } from "../../../../services/translations/index";
5
+ import { formatPrice } from "../../../../services/utils/index";
6
+ const DEFAULT_CONTRACT_TERM = 24;
7
+ /**
8
+ * Product assembler with selectable options, switches and a dynamic summary panel.
9
+ */
10
+ export class TetAssembler {
11
+ constructor() {
12
+ this.scenario = '';
13
+ this.language = 'lv';
14
+ this.theme = 'light';
15
+ this.expanded = true;
16
+ this.selectedContractTermId = '';
17
+ this.selectedSwitchKeys = [];
18
+ this.selectedProductCode = '';
19
+ this.currentSummary = {};
20
+ this.backendData = null;
21
+ }
22
+ /**
23
+ * The root element of the assembler component.
24
+ */
25
+ host;
26
+ /**
27
+ * Emitted whenever the selected assembler configuration changes.
28
+ */
29
+ assemblerChange;
30
+ async componentWillLoad() {
31
+ await processTranslations('tet-components', this.language);
32
+ if (this.scenario) {
33
+ await this.fetchScenarioData();
34
+ }
35
+ this.initializeSelection();
36
+ }
37
+ componentDidLoad() {
38
+ this.emitChange('initial');
39
+ }
40
+ async scenarioChanged() {
41
+ if (this.scenario) {
42
+ await this.fetchScenarioData();
43
+ this.initializeSelection();
44
+ this.emitChange('initial');
45
+ }
46
+ }
47
+ /**
48
+ * Loads translations and rerenders the assembler when the language changes.
49
+ */
50
+ async onLanguageChange(language) {
51
+ processTranslations('tet-components', language).then(() => forceUpdate(this));
52
+ }
53
+ async fetchScenarioData() {
54
+ try {
55
+ const response = await assemblerScenario(this.scenario);
56
+ let backendData = null;
57
+ if (response && typeof response === 'object' && 'data' in response) {
58
+ backendData = response.data ?? null;
59
+ }
60
+ else {
61
+ backendData = response;
62
+ }
63
+ this.backendData = backendData;
64
+ this.expanded = !this.isBundle();
65
+ }
66
+ catch (error) {
67
+ console.error(error);
68
+ this.backendData = null;
69
+ }
70
+ }
71
+ getLocalizedValue(value) {
72
+ if (!value) {
73
+ return '';
74
+ }
75
+ if (typeof value === 'string') {
76
+ return value;
77
+ }
78
+ return value[this.language] ?? value.lv ?? '';
79
+ }
80
+ getContractTermValue(contractTerm) {
81
+ return contractTerm.contractTerm ?? contractTerm.term;
82
+ }
83
+ getBackendProducts() {
84
+ const products = this.backendData?.products;
85
+ if (!products) {
86
+ return {};
87
+ }
88
+ if (Array.isArray(products)) {
89
+ return products.reduce((result, product) => {
90
+ if (product.productCode) {
91
+ result[product.productCode] = product;
92
+ }
93
+ return result;
94
+ }, {});
95
+ }
96
+ return products;
97
+ }
98
+ getResolvedCollapsedTitle() {
99
+ return this.backendData?.bundleTitle ?? '';
100
+ }
101
+ getResolvedCollapsedButtonTitle() {
102
+ return this.backendData?.bundleButtonText ?? '';
103
+ }
104
+ getResolvedCollapsedDescription() {
105
+ return this.backendData?.bundleBottomText ?? '';
106
+ }
107
+ isBundle() {
108
+ return this.backendData?.isBundle ?? false;
109
+ }
110
+ getResolvedContractTerms(productCode = this.selectedProductCode) {
111
+ const products = this.getBackendProducts();
112
+ const product = products[productCode] ?? Object.values(products)[0];
113
+ if (!product?.contractTerms?.length) {
114
+ return [];
115
+ }
116
+ const defaultContractTerm = DEFAULT_CONTRACT_TERM;
117
+ return product.contractTerms
118
+ .filter((contractTerm) => {
119
+ const term = this.getContractTermValue(contractTerm);
120
+ return term === 0 || term === 24;
121
+ })
122
+ .sort((firstTerm, secondTerm) => {
123
+ const firstValue = this.getContractTermValue(firstTerm) ?? 0;
124
+ const secondValue = this.getContractTermValue(secondTerm) ?? 0;
125
+ if (firstValue === defaultContractTerm) {
126
+ return -1;
127
+ }
128
+ if (secondValue === defaultContractTerm) {
129
+ return 1;
130
+ }
131
+ return firstValue - secondValue;
132
+ })
133
+ .map((contractTerm) => {
134
+ const term = this.getContractTermValue(contractTerm) ?? 0;
135
+ return {
136
+ id: String(term),
137
+ label: term === 0
138
+ ? t('components-assembler-contract-term-indefinite')
139
+ : t('components-assembler-contract-term-24'),
140
+ selected: term === defaultContractTerm
141
+ };
142
+ });
143
+ }
144
+ formatToggleLabel(toggleName = '') {
145
+ return toggleName
146
+ .replace(/_/g, ' ')
147
+ .replace(/-/g, ' ')
148
+ .replace(/\b\w/g, (letter) => letter.toUpperCase());
149
+ }
150
+ getPanelItemTitle(item) {
151
+ const toggleName = item.toggleName ?? '';
152
+ return item.label ?? item.title ?? item.text ?? this.formatToggleLabel(toggleName);
153
+ }
154
+ getResolvedSections() {
155
+ return (this.backendData?.panels ?? []).map((panel) => ({
156
+ id: panel.name,
157
+ placement: panel.placement,
158
+ items: panel.items ?? []
159
+ }));
160
+ }
161
+ getBackendCombinationToggles(combination) {
162
+ if (!combination || typeof combination !== 'object') {
163
+ return {};
164
+ }
165
+ const resolvedCombination = combination;
166
+ if (resolvedCombination.toggles &&
167
+ typeof resolvedCombination.toggles === 'object' &&
168
+ !Array.isArray(resolvedCombination.toggles)) {
169
+ return resolvedCombination.toggles;
170
+ }
171
+ return Object.entries(combination).reduce((result, [key, value]) => {
172
+ if (typeof value === 'boolean') {
173
+ result[key] = value;
174
+ }
175
+ return result;
176
+ }, {});
177
+ }
178
+ getBackendCombinationBenefits(combination) {
179
+ if (!combination || typeof combination !== 'object') {
180
+ return [];
181
+ }
182
+ const resolvedCombination = combination;
183
+ if (Array.isArray(resolvedCombination.benefits)) {
184
+ return resolvedCombination.benefits;
185
+ }
186
+ return [];
187
+ }
188
+ getBackendCombinationEntries() {
189
+ const combinations = this.backendData?.combinations;
190
+ if (!combinations) {
191
+ return [];
192
+ }
193
+ if (Array.isArray(combinations)) {
194
+ return combinations
195
+ .filter((combination) => !!combination.productCode)
196
+ .map((combination) => [combination.productCode, combination]);
197
+ }
198
+ return Object.entries(combinations).map(([combinationKey, combination]) => {
199
+ const resolvedCombination = combination;
200
+ const productCode = resolvedCombination.productCode ?? combinationKey;
201
+ if (resolvedCombination.toggles || resolvedCombination.benefits) {
202
+ return [
203
+ productCode,
204
+ {
205
+ ...resolvedCombination,
206
+ productCode
207
+ }
208
+ ];
209
+ }
210
+ return [
211
+ productCode,
212
+ {
213
+ productCode,
214
+ toggles: this.getBackendCombinationToggles(combination)
215
+ }
216
+ ];
217
+ });
218
+ }
219
+ getSelectedBackendCombination() {
220
+ return this.getBackendCombination(this.selectedProductCode);
221
+ }
222
+ getBackendCombination(productCode) {
223
+ return this.getBackendCombinationEntries()
224
+ .find(([currentProductCode]) => currentProductCode === productCode)?.[1];
225
+ }
226
+ getBackendToggleKeys() {
227
+ const keysFromCombinations = this.getBackendCombinationEntries()
228
+ .flatMap(([, combination]) => Object.keys(this.getBackendCombinationToggles(combination)));
229
+ const keysFromPanels = (this.backendData?.panels ?? [])
230
+ .flatMap((panel) => panel.items ?? [])
231
+ .filter((item) => item.type === 'toggle' && !!item.toggleName)
232
+ .map((item) => item.toggleName);
233
+ return Array.from(new Set([...keysFromCombinations, ...keysFromPanels]));
234
+ }
235
+ getInitialBackendProductCode() {
236
+ const combinations = this.getBackendCombinationEntries();
237
+ const products = this.getBackendProducts();
238
+ const defaultProduct = this.backendData?.defaultProduct ?? this.backendData?.defaultProductCode;
239
+ if (defaultProduct) {
240
+ if (this.getBackendCombination(defaultProduct)) {
241
+ return defaultProduct;
242
+ }
243
+ if (products[defaultProduct]) {
244
+ return defaultProduct;
245
+ }
246
+ }
247
+ if (!combinations.length) {
248
+ return Object.keys(products)[0] ?? '';
249
+ }
250
+ return combinations[0][0];
251
+ }
252
+ getSelectedSwitchKeysFromBackendProductCode(productCode) {
253
+ const toggles = this.getBackendCombinationToggles(this.getBackendCombination(productCode));
254
+ return Object.entries(toggles)
255
+ .filter(([, checked]) => checked)
256
+ .map(([key]) => key);
257
+ }
258
+ getCurrentBackendToggleState() {
259
+ return this.getBackendToggleKeys().reduce((result, key) => {
260
+ result[key] = this.selectedSwitchKeys.includes(key);
261
+ return result;
262
+ }, {});
263
+ }
264
+ getBackendProductCodeByToggleState(toggleState) {
265
+ const toggleKeys = this.getBackendToggleKeys();
266
+ const combination = this.getBackendCombinationEntries().find(([, currentCombination]) => {
267
+ const toggles = this.getBackendCombinationToggles(currentCombination);
268
+ return toggleKeys.every((key) => Boolean(toggles[key]) === Boolean(toggleState[key]));
269
+ });
270
+ return combination?.[0] ?? '';
271
+ }
272
+ isBackendSwitchDisabled(switchKey) {
273
+ if (!this.backendData?.combinations) {
274
+ return false;
275
+ }
276
+ const currentState = this.getCurrentBackendToggleState();
277
+ const nextState = {
278
+ ...currentState,
279
+ [switchKey]: !currentState[switchKey]
280
+ };
281
+ return !this.getBackendProductCodeByToggleState(nextState);
282
+ }
283
+ getSelectedBackendProduct(productCode = this.selectedProductCode) {
284
+ if (!productCode) {
285
+ return undefined;
286
+ }
287
+ return this.getBackendProducts()[productCode];
288
+ }
289
+ getSelectedBackendProductContractTerm(productCode = this.selectedProductCode, contractTermId = this.selectedContractTermId) {
290
+ const product = this.getSelectedBackendProduct(productCode);
291
+ if (!product?.contractTerms?.length) {
292
+ return undefined;
293
+ }
294
+ return product.contractTerms.find((contractTerm) => String(this.getContractTermValue(contractTerm)) === contractTermId);
295
+ }
296
+ getProductBaseUrl(product) {
297
+ const productFormUrl = this.getLocalizedValue(product?.formUrl);
298
+ if (productFormUrl) {
299
+ try {
300
+ return new URL(productFormUrl, window.location.origin).href;
301
+ }
302
+ catch (error) {
303
+ console.error(error);
304
+ }
305
+ }
306
+ return '';
307
+ }
308
+ getProductFormUrl(product, contractTerm, contractTermId = this.selectedContractTermId) {
309
+ const baseUrl = this.getProductBaseUrl(product);
310
+ if (!baseUrl || !this.selectedProductCode) {
311
+ return baseUrl;
312
+ }
313
+ const selectedContractTerm = contractTerm
314
+ ? this.getContractTermValue(contractTerm) ?? Number(contractTermId)
315
+ : Number(contractTermId);
316
+ try {
317
+ const formUrl = generateFormUrl(baseUrl, {
318
+ product: product?.productCode ?? this.selectedProductCode,
319
+ contractTerm: selectedContractTerm,
320
+ promotion: contractTerm?.promotionCode ?? undefined
321
+ });
322
+ const finalUrl = new URL(formUrl);
323
+ finalUrl.searchParams.set('lang', this.language);
324
+ finalUrl.searchParams.set('from', 'tet.lv');
325
+ return finalUrl.toString();
326
+ }
327
+ catch (error) {
328
+ console.error(error);
329
+ return baseUrl;
330
+ }
331
+ }
332
+ benefitMatchesContractTerm(benefit) {
333
+ const selectedContractTerm = Number(this.selectedContractTermId);
334
+ const contractTerms = benefit.contractTerms;
335
+ if (!contractTerms) {
336
+ return true;
337
+ }
338
+ if (Array.isArray(contractTerms)) {
339
+ return contractTerms.includes(selectedContractTerm);
340
+ }
341
+ return Boolean(contractTerms[String(selectedContractTerm)]);
342
+ }
343
+ getSelectedBackendBenefitsForPlacement(placement) {
344
+ const combination = this.getSelectedBackendCombination();
345
+ return this.getBackendCombinationBenefits(combination).filter((benefit) => {
346
+ const benefitPlacement = benefit.placement ?? 'main';
347
+ return benefitPlacement === placement && this.benefitMatchesContractTerm(benefit);
348
+ });
349
+ }
350
+ initializeSelection() {
351
+ const selectedProductCode = this.getInitialBackendProductCode();
352
+ const contractTerms = this.getResolvedContractTerms(selectedProductCode);
353
+ const selectedContractTermId = contractTerms.find((term) => term.selected)?.id ?? contractTerms[0]?.id ?? '';
354
+ this.selectedContractTermId = selectedContractTermId;
355
+ this.selectedSwitchKeys = this.getSelectedSwitchKeysFromBackendProductCode(selectedProductCode);
356
+ this.selectedProductCode = selectedProductCode;
357
+ this.currentSummary = this.resolveBackendSummary(selectedContractTermId);
358
+ }
359
+ mergeSummary(currentSummary, summaryOverride) {
360
+ if (!summaryOverride) {
361
+ return currentSummary;
362
+ }
363
+ return Object.entries(summaryOverride).reduce((result, [key, value]) => {
364
+ if (value !== undefined) {
365
+ result[key] = value;
366
+ }
367
+ return result;
368
+ }, { ...currentSummary });
369
+ }
370
+ resolveBackendSummary(selectedContractTermId) {
371
+ if (!this.backendData?.products || !this.selectedProductCode) {
372
+ return {};
373
+ }
374
+ const product = this.getSelectedBackendProduct(this.selectedProductCode);
375
+ const contractTerm = this.getSelectedBackendProductContractTerm(this.selectedProductCode, selectedContractTermId);
376
+ const price = contractTerm?.amount !== undefined && contractTerm?.amount !== null
377
+ ? contractTerm.amount
378
+ : contractTerm?.price ?? product?.amount ?? product?.price;
379
+ const productBenefits = this.getLocalizedValue(contractTerm?.benefits) ||
380
+ this.getLocalizedValue(product?.benefits);
381
+ const currency = t('components-assembler-currency-per-month');
382
+ const formattedPrice = price === undefined || price === null || price === ''
383
+ ? ''
384
+ : formatPrice(price, { currency: '' });
385
+ const basePrice = product?.amount;
386
+ const formattedBasePrice = basePrice === undefined || basePrice === null || basePrice === ''
387
+ ? ''
388
+ : formatPrice(basePrice, { currency });
389
+ return this.mergeSummary({}, {
390
+ title: this.getLocalizedValue(contractTerm?.name) ||
391
+ this.getLocalizedValue(product?.name),
392
+ subtitle: this.getLocalizedValue(contractTerm?.subtitle) ||
393
+ this.getLocalizedValue(product?.subtitle) ||
394
+ this.getLocalizedValue(product?.description) ||
395
+ '',
396
+ price: formattedPrice,
397
+ currency,
398
+ oldPrice: contractTerm?.showDiscount ? formattedBasePrice : '',
399
+ description: this.getLocalizedValue(contractTerm?.priceDescription) ||
400
+ this.getLocalizedValue(contractTerm?.description) ||
401
+ '',
402
+ highlightDescription: productBenefits,
403
+ primaryButtonTitle: t('components-assembler-apply-button-text'),
404
+ primaryButtonUrl: this.getProductFormUrl(product, contractTerm, selectedContractTermId)
405
+ });
406
+ }
407
+ emitChange(source, changedKey, selectedContractTermId = this.selectedContractTermId, selectedSwitchKeys = this.selectedSwitchKeys, summary = this.currentSummary) {
408
+ this.assemblerChange.emit({
409
+ source,
410
+ changedKey,
411
+ selectedContractTermId,
412
+ selectedSwitchKeys: [...selectedSwitchKeys],
413
+ selectedProductCode: this.selectedProductCode,
414
+ summary: { ...summary }
415
+ });
416
+ }
417
+ selectContractTerm(contractTermId) {
418
+ this.selectedContractTermId = contractTermId;
419
+ const currentSummary = this.resolveBackendSummary(contractTermId);
420
+ this.currentSummary = currentSummary;
421
+ this.emitChange('contractTerm', contractTermId, contractTermId, this.selectedSwitchKeys, currentSummary);
422
+ }
423
+ onContractTermSelected(event) {
424
+ const contractTermId = String(event.detail.new);
425
+ if (contractTermId !== this.selectedContractTermId) {
426
+ this.selectContractTerm(contractTermId);
427
+ }
428
+ }
429
+ toggleSwitch(switchKey, checked) {
430
+ if (!this.backendData?.combinations || this.isBackendSwitchDisabled(switchKey)) {
431
+ return;
432
+ }
433
+ const toggleState = {
434
+ ...this.getCurrentBackendToggleState(),
435
+ [switchKey]: checked
436
+ };
437
+ const selectedProductCode = this.getBackendProductCodeByToggleState(toggleState);
438
+ if (!selectedProductCode) {
439
+ return;
440
+ }
441
+ const selectedSwitchKeys = this.getSelectedSwitchKeysFromBackendProductCode(selectedProductCode);
442
+ this.selectedProductCode = selectedProductCode;
443
+ const currentSummary = this.resolveBackendSummary(this.selectedContractTermId);
444
+ this.selectedSwitchKeys = selectedSwitchKeys;
445
+ this.currentSummary = currentSummary;
446
+ this.emitChange('switch', switchKey, this.selectedContractTermId, selectedSwitchKeys, currentSummary);
447
+ }
448
+ renderContractTerms(labelOverride) {
449
+ const contractTerms = this.getResolvedContractTerms();
450
+ const label = labelOverride ?? '';
451
+ if (!contractTerms.length) {
452
+ return null;
453
+ }
454
+ return (h("div", { class: "assembler__contract" }, label ? h("span", { class: "assembler__field-label" }, label) : null, h("tet-tab-header", { class: "assembler__contract-tabs", segmented: true, position: "center", theme: this.theme === 'dark' ? 'dark' : 'light', defaultTab: this.selectedContractTermId, "aria-label": label, onTabSelected: (event) => this.onContractTermSelected(event) }, contractTerms.map((term) => (h("button", { "data-name": term.id, type: "button" }, term.label))))));
455
+ }
456
+ renderSwitchRow(item) {
457
+ const isChecked = this.selectedSwitchKeys.includes(item.key);
458
+ const isDisabled = item.disabled || this.isBackendSwitchDisabled(item.key);
459
+ return (h("div", { class: "assembler__switch-row" }, h("tet-switch", { class: {
460
+ 'assembler__switch': true,
461
+ 'is-disabled': isDisabled
462
+ }, key: `${item.key}-${isChecked}-${isDisabled}`, name: item.key, theme: this.theme, checked: isChecked, disabled: isDisabled, labelPosition: "left", focusStyleOnContainer: true, onCheck: (event) => this.toggleSwitch(item.key, event.detail.checked) }, h("div", { class: "assembler__switch-label" }, item.icon ? h("tet-icon", { class: "assembler__switch-icon", name: item.icon, theme: this.theme }) : null, h("span", null, item.label), isDisabled ? h("tet-icon", { class: "assembler__switch-lock", name: "tc-lock", theme: this.theme }) : null))));
463
+ }
464
+ getJoomlaModalData(label, joomlaModalId) {
465
+ const value = label ?? '';
466
+ const modalIdStart = 3;
467
+ const modalIdEnd = value.startsWith('[[[') ? value.indexOf(']]]', modalIdStart) : -1;
468
+ const hasEmbeddedModalId = modalIdEnd > modalIdStart;
469
+ const embeddedModalId = hasEmbeddedModalId ? value.slice(modalIdStart, modalIdEnd) : '';
470
+ const embeddedLabel = hasEmbeddedModalId ? value.slice(modalIdEnd + 3).trimStart() : '';
471
+ return {
472
+ modalId: joomlaModalId ?? embeddedModalId,
473
+ label: embeddedLabel || value
474
+ };
475
+ }
476
+ renderInformationalRow(label, icon, isVisuallyDisabled = false) {
477
+ return (h("div", { class: {
478
+ 'assembler__benefit--visually-disabled': isVisuallyDisabled,
479
+ 'assembler__switch-row': true
480
+ } }, h("div", { class: "assembler__switch-label" }, icon ? h("tet-icon", { class: "assembler__switch-icon", name: icon, theme: this.theme }) : null, h("span", null, label))));
481
+ }
482
+ renderBackendBenefit(benefit) {
483
+ if (!benefit.label && !benefit.icon) {
484
+ return null;
485
+ }
486
+ const modalData = this.getJoomlaModalData(benefit.label, benefit.joomlaModalId);
487
+ const isVisuallyDisabled = benefit.isVisuallyDisabled ?? false;
488
+ if (benefit.type === 'joomla_modal' && modalData.modalId) {
489
+ return (h("button", { class: {
490
+ 'assembler__benefit-link': true,
491
+ 'assembler__benefit--visually-disabled': isVisuallyDisabled,
492
+ 'tet-link': true
493
+ }, type: "button", "data-modal-screen-key": modalData.modalId }, h("span", { class: "assembler__switch-label" }, benefit.icon ? h("tet-icon", { class: "assembler__switch-icon", name: benefit.icon, theme: this.theme }) : null, h("span", null, modalData.label)), h("span", { class: "assembler__benefit-link-icon" }, h("tet-icon", { class: "assembler__benefit-link-icon--chevron", name: "tc-chevron-right-small" }))));
494
+ }
495
+ return this.renderInformationalRow(modalData.label, benefit.icon, isVisuallyDisabled);
496
+ }
497
+ renderBackendBenefitsForPlacement(placement) {
498
+ const benefits = this.getSelectedBackendBenefitsForPlacement(placement);
499
+ if (!benefits.length) {
500
+ return null;
501
+ }
502
+ return benefits.map((benefit) => this.renderBackendBenefit(benefit));
503
+ }
504
+ renderPanelItem(item, _section) {
505
+ const toggleName = item.toggleName;
506
+ const title = this.getPanelItemTitle(item);
507
+ if (item.type === 'contract_term') {
508
+ return this.renderContractTerms(title);
509
+ }
510
+ if (item.type === 'toggle' && toggleName) {
511
+ return this.renderSwitchRow({
512
+ key: toggleName,
513
+ label: title,
514
+ icon: item.icon ?? undefined
515
+ });
516
+ }
517
+ if (item.type === 'joomla_modal') {
518
+ const modalData = this.getJoomlaModalData(item.label, item.joomlaModalId);
519
+ return (h("div", { class: "assembler__switch-row" }, h("div", { class: "assembler__switch-label" }, item.icon ? h("tet-icon", { class: "assembler__switch-icon", name: item.icon }) : null, modalData.modalId ? (h("button", { class: "assembler__modal-button", type: "button", "data-modal-screen-key": modalData.modalId }, modalData.label)) : (h("span", null, modalData.label)))));
520
+ }
521
+ if (item.type === 'benefit') {
522
+ if (this.backendData?.combinations) {
523
+ return null;
524
+ }
525
+ if (!title && !item.icon) {
526
+ return null;
527
+ }
528
+ return this.renderInformationalRow(title, item.icon);
529
+ }
530
+ if (item.type === 'text') {
531
+ return this.renderInformationalRow(title, item.icon);
532
+ }
533
+ return (h("div", { class: {
534
+ 'assembler__switch-row': true,
535
+ 'assembler__switch-row--heading': item.type === 'heading'
536
+ } }, h("div", { class: "assembler__switch-label" }, item.icon ? h("tet-icon", { class: "assembler__switch-icon", name: item.icon }) : null, h("span", null, title)), item.additionalText ? (h("span", { class: "assembler__option-description assembler__option-description--aside" }, item.additionalText)) : null));
537
+ }
538
+ renderSwitchSection(section) {
539
+ if (section.items?.length) {
540
+ const placement = section.placement ?? 'main';
541
+ let combinationBenefitsRendered = false;
542
+ return (h("div", { class: "assembler__switch-list" }, section.items.map((item) => {
543
+ if (item.type === 'benefit' && this.backendData?.combinations) {
544
+ if (combinationBenefitsRendered) {
545
+ return null;
546
+ }
547
+ combinationBenefitsRendered = true;
548
+ return this.renderBackendBenefitsForPlacement(placement);
549
+ }
550
+ return this.renderPanelItem(item, section);
551
+ })));
552
+ }
553
+ return null;
554
+ }
555
+ renderSection(section) {
556
+ return (h("section", { class: "assembler__section" }, this.renderSwitchSection(section)));
557
+ }
558
+ renderSummary() {
559
+ const summary = this.currentSummary;
560
+ const target = summary.linkOpenBlank ? '_blank' : '_self';
561
+ const primaryButtonTitle = summary.primaryButtonTitle || t('components-assembler-apply-button-text');
562
+ return (h("aside", { class: "assembler__summary", "aria-live": "polite" }, summary.promoText ? (h("div", { class: "assembler__promo" }, h("tet-icon", { name: "gift" }), h("span", { class: "assembler__promo--title" }, summary.promoText))) : null, h("div", { class: "assembler__summary-top" }, h("div", { class: "assembler__summary-heading" }, h("div", null, summary.title ? h("h3", null, summary.title) : null, summary.subtitle ? h("p", null, summary.subtitle) : null), summary.badge ? h("span", { class: "assembler__badge" }, summary.badge) : null), summary.price ? (h("div", { class: "assembler__price" }, h("span", { class: "assembler__price-value" }, summary.price), summary.currency ? h("span", { class: "assembler__price-currency" }, summary.currency) : null)) : null, summary.oldPrice ? h("span", { class: "assembler__old-price" }, summary.oldPrice) : null, summary.description ? h("p", { class: "assembler__summary-description" }, summary.description) : null, summary.highlight ? (h("div", { class: "assembler__highlight" }, h("strong", null, summary.highlight))) : null, summary.highlightDescription ? (h("p", { class: "assembler__summary-description" }, summary.highlightDescription)) : null), h("div", { class: "assembler__summary-actions" }, summary.primaryButtonUrl ? (h("tet-button", { class: "assembler__button", type: "primary", theme: this.theme, url: summary.primaryButtonUrl, urlTarget: target }, primaryButtonTitle)) : null, summary.secondaryButtonTitle && summary.secondaryButtonUrl ? (h("tet-button", { class: "assembler__button", type: "secondary", theme: this.theme, url: summary.secondaryButtonUrl, urlTarget: target }, summary.secondaryButtonTitle)) : null, summary.contractSummaryText && summary.contractSummaryUrl ? (h("a", { class: "assembler__summary-link", href: summary.contractSummaryUrl, target: target }, summary.contractSummaryText)) : null, summary.footerText ? h("p", null, summary.footerText) : null, summary.footerSecondaryText ? h("p", null, summary.footerSecondaryText) : null)));
563
+ }
564
+ getBundleChoiceToggle() {
565
+ return this.backendData?.bundleChoiceToggle ?? '';
566
+ }
567
+ getBackendProductCodeByToggleValue(toggleKey, value) {
568
+ const combination = this.getBackendCombinationEntries().find(([, currentCombination]) => this.getBackendCombinationToggles(currentCombination)[toggleKey] === value);
569
+ return combination?.[0] ?? '';
570
+ }
571
+ selectBackendProductByCode(productCode, changedKey) {
572
+ if (!productCode) {
573
+ return;
574
+ }
575
+ const selectedSwitchKeys = this.getSelectedSwitchKeysFromBackendProductCode(productCode);
576
+ const contractTerms = this.getResolvedContractTerms(productCode);
577
+ const selectedContractTermId = contractTerms.some((term) => term.id === this.selectedContractTermId)
578
+ ? this.selectedContractTermId
579
+ : contractTerms.find((term) => term.selected)?.id ?? contractTerms[0]?.id ?? this.selectedContractTermId;
580
+ this.selectedProductCode = productCode;
581
+ this.selectedContractTermId = selectedContractTermId;
582
+ const currentSummary = this.resolveBackendSummary(selectedContractTermId);
583
+ this.selectedSwitchKeys = selectedSwitchKeys;
584
+ this.currentSummary = currentSummary;
585
+ this.emitChange('switch', changedKey, selectedContractTermId, selectedSwitchKeys, currentSummary);
586
+ }
587
+ expandAssembler() {
588
+ const bundleChoiceToggle = this.getBundleChoiceToggle();
589
+ if (this.backendData?.combinations && bundleChoiceToggle) {
590
+ const nextToggleState = {
591
+ ...this.getCurrentBackendToggleState(),
592
+ [bundleChoiceToggle]: true
593
+ };
594
+ const productCode = this.getBackendProductCodeByToggleState(nextToggleState) ||
595
+ this.getBackendProductCodeByToggleValue(bundleChoiceToggle, true);
596
+ this.selectBackendProductByCode(productCode, bundleChoiceToggle);
597
+ }
598
+ this.expanded = true;
599
+ }
600
+ collapseAssembler() {
601
+ const bundleChoiceToggle = this.getBundleChoiceToggle();
602
+ if (this.backendData?.combinations && bundleChoiceToggle) {
603
+ const nextToggleState = {
604
+ ...this.getCurrentBackendToggleState(),
605
+ [bundleChoiceToggle]: false
606
+ };
607
+ const productCode = this.getBackendProductCodeByToggleState(nextToggleState) ||
608
+ this.getBackendProductCodeByToggleValue(bundleChoiceToggle, false);
609
+ this.selectBackendProductByCode(productCode, bundleChoiceToggle);
610
+ }
611
+ this.expanded = false;
612
+ }
613
+ getExpandableSection() {
614
+ return this.getResolvedSections().find((section) => section.placement === 'side_panel');
615
+ }
616
+ getVisibleSections() {
617
+ const expandableSection = this.getExpandableSection();
618
+ return this.getResolvedSections().filter((section) => {
619
+ if (expandableSection && section.id === expandableSection.id) {
620
+ return false;
621
+ }
622
+ return section.placement !== 'side_panel';
623
+ });
624
+ }
625
+ renderCollapsedContent() {
626
+ const collapsedTitle = this.getResolvedCollapsedTitle();
627
+ const collapsedButtonTitle = this.getResolvedCollapsedButtonTitle();
628
+ const collapsedDescription = this.getResolvedCollapsedDescription();
629
+ if (!collapsedTitle && !collapsedButtonTitle && !collapsedDescription) {
630
+ return null;
631
+ }
632
+ return (h("div", { class: "assembler__collapsed-content", "aria-hidden": this.expanded ? 'true' : 'false' }, collapsedTitle ? h("h3", null, collapsedTitle) : null, collapsedButtonTitle ? (h("tet-button", { class: "assembler__collapsed-button", type: "secondary", theme: this.theme, onClick: () => this.expandAssembler() }, collapsedButtonTitle)) : null, collapsedDescription ? h("div", { innerHTML: collapsedDescription }) : null));
633
+ }
634
+ renderExpandedContent() {
635
+ const expandableSection = this.getExpandableSection();
636
+ if (!expandableSection) {
637
+ return null;
638
+ }
639
+ return (h("div", { class: "assembler__expanded-content", "aria-hidden": this.expanded ? 'false' : 'true' }, this.isBundle() ? (h("button", { class: "assembler__collapse-button", type: "button", "aria-label": t('components-assembler-close-button-label'), onClick: () => this.collapseAssembler() }, h("tet-icon", { name: "close" }))) : null, this.renderSection(expandableSection)));
640
+ }
641
+ renderSidePanel() {
642
+ if (!this.getExpandableSection() &&
643
+ !this.getResolvedCollapsedTitle() &&
644
+ !this.getResolvedCollapsedButtonTitle() &&
645
+ !this.getResolvedCollapsedDescription()) {
646
+ return null;
647
+ }
648
+ return (h("div", { class: "assembler__side-panel" }, this.renderCollapsedContent(), this.renderExpandedContent()));
649
+ }
650
+ render() {
651
+ const hasSidePanel = !!this.getExpandableSection() ||
652
+ !!this.getResolvedCollapsedTitle() ||
653
+ !!this.getResolvedCollapsedButtonTitle() ||
654
+ !!this.getResolvedCollapsedDescription();
655
+ return (h(Host, { key: 'c5b26de73483597b6bb4dcec2aaafa849bcf7ea4' }, h("div", { key: '0f2259f993c606a81412a7698bff2b8e1925cd4b', class: {
656
+ 'assembler-layout': true,
657
+ 'has-side-panel': hasSidePanel,
658
+ 'is-expanded': this.expanded
659
+ } }, this.renderSidePanel(), h("div", { key: '88082f45e2373f8901bc49d05daa66056e0a0fb7', class: "assembler" }, h("div", { key: 'ea2da55ae73662faca92606195e09821fde4a9d9', class: "assembler__configuration" }, h("div", { key: '26993c786cc73a51b9a4f57209d6835c54d5ae5b', class: "assembler__content" }, this.getVisibleSections().map((section) => this.renderSection(section)))), this.renderSummary()))));
660
+ }
661
+ static get is() { return "tet-assembler"; }
662
+ static get encapsulation() { return "shadow"; }
663
+ static get originalStyleUrls() {
664
+ return {
665
+ "$": ["tet-assembler.scss"]
666
+ };
667
+ }
668
+ static get styleUrls() {
669
+ return {
670
+ "$": ["tet-assembler.css"]
671
+ };
672
+ }
673
+ static get properties() {
674
+ return {
675
+ "scenario": {
676
+ "type": "string",
677
+ "mutable": false,
678
+ "complexType": {
679
+ "original": "string",
680
+ "resolved": "string",
681
+ "references": {}
682
+ },
683
+ "required": false,
684
+ "optional": false,
685
+ "docs": {
686
+ "tags": [],
687
+ "text": "Scenario name from Joomla admin."
688
+ },
689
+ "attribute": "scenario",
690
+ "reflect": false,
691
+ "defaultValue": "''"
692
+ },
693
+ "language": {
694
+ "type": "string",
695
+ "mutable": false,
696
+ "complexType": {
697
+ "original": "Language",
698
+ "resolved": "\"en\" | \"lv\" | \"ru\"",
699
+ "references": {
700
+ "Language": {
701
+ "location": "import",
702
+ "path": "@services/translations",
703
+ "id": "src/services/translations/index.ts::Language"
704
+ }
705
+ }
706
+ },
707
+ "required": false,
708
+ "optional": false,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": "Current language."
712
+ },
713
+ "attribute": "language",
714
+ "reflect": false,
715
+ "defaultValue": "'lv'"
716
+ },
717
+ "theme": {
718
+ "type": "string",
719
+ "mutable": false,
720
+ "complexType": {
721
+ "original": "'light' | 'dark'",
722
+ "resolved": "\"dark\" | \"light\"",
723
+ "references": {}
724
+ },
725
+ "required": false,
726
+ "optional": false,
727
+ "docs": {
728
+ "tags": [],
729
+ "text": "Theme of the assembler component."
730
+ },
731
+ "attribute": "theme",
732
+ "reflect": false,
733
+ "defaultValue": "'light'"
734
+ },
735
+ "expanded": {
736
+ "type": "boolean",
737
+ "mutable": true,
738
+ "complexType": {
739
+ "original": "boolean",
740
+ "resolved": "boolean",
741
+ "references": {}
742
+ },
743
+ "required": false,
744
+ "optional": false,
745
+ "docs": {
746
+ "tags": [],
747
+ "text": "Determines whether assembler configuration sections are expanded."
748
+ },
749
+ "attribute": "expanded",
750
+ "reflect": true,
751
+ "defaultValue": "true"
752
+ }
753
+ };
754
+ }
755
+ static get states() {
756
+ return {
757
+ "selectedContractTermId": {},
758
+ "selectedSwitchKeys": {},
759
+ "selectedProductCode": {},
760
+ "currentSummary": {},
761
+ "backendData": {}
762
+ };
763
+ }
764
+ static get events() {
765
+ return [{
766
+ "method": "assemblerChange",
767
+ "name": "assemblerChange",
768
+ "bubbles": true,
769
+ "cancelable": true,
770
+ "composed": true,
771
+ "docs": {
772
+ "tags": [],
773
+ "text": "Emitted whenever the selected assembler configuration changes."
774
+ },
775
+ "complexType": {
776
+ "original": "AssemblerChangeEventInterface",
777
+ "resolved": "AssemblerChangeEventInterface",
778
+ "references": {
779
+ "AssemblerChangeEventInterface": {
780
+ "location": "local",
781
+ "path": "/__w/internal-tet-web-components-tet-components/internal-tet-web-components-tet-components/src/src/components/advanced/cards/tet-assembler/tet-assembler.tsx",
782
+ "id": "src/components/advanced/cards/tet-assembler/tet-assembler.tsx::AssemblerChangeEventInterface"
783
+ }
784
+ }
785
+ }
786
+ }];
787
+ }
788
+ static get elementRef() { return "host"; }
789
+ static get watchers() {
790
+ return [{
791
+ "propName": "scenario",
792
+ "methodName": "scenarioChanged"
793
+ }, {
794
+ "propName": "language",
795
+ "methodName": "onLanguageChange"
796
+ }];
797
+ }
798
+ }