@tet/tet-components 1.3.136-testing → 1.3.137-testing

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 (327) hide show
  1. package/dist/cjs/index-f559cb2e.js +10 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{phone-c3ebb2eb.js → phone-d414fe5a.js} +0 -14
  4. package/dist/cjs/tasks-af99ad61.js +16 -0
  5. package/dist/cjs/tet-accordion.cjs.entry.js +6 -6
  6. package/dist/cjs/tet-address-offers-view.cjs.entry.js +1 -1
  7. package/dist/cjs/tet-address-offers_4.cjs.entry.js +3 -2
  8. package/dist/cjs/tet-autocomplete_2.cjs.entry.js +3 -3
  9. package/dist/cjs/tet-b2b-check-out-form.cjs.entry.js +164 -0
  10. package/dist/cjs/tet-b2b-configurator-cart.cjs.entry.js +2 -2
  11. package/dist/cjs/tet-b2b-service-calculator.cjs.entry.js +1 -1
  12. package/dist/cjs/tet-border-radius.cjs.entry.js +1 -1
  13. package/dist/cjs/tet-business-lines.cjs.entry.js +1 -1
  14. package/dist/cjs/tet-business-navigation.cjs.entry.js +1 -1
  15. package/dist/cjs/tet-carousel.cjs.entry.js +104 -36
  16. package/dist/cjs/tet-checkbox.cjs.entry.js +73 -0
  17. package/dist/cjs/tet-colors.cjs.entry.js +4 -4
  18. package/dist/cjs/tet-compare-cards_2.cjs.entry.js +2 -2
  19. package/dist/cjs/tet-components.cjs.js +1 -1
  20. package/dist/cjs/tet-contact-form.cjs.entry.js +4 -3
  21. package/dist/cjs/tet-datepicker-header_4.cjs.entry.js +5 -5
  22. package/dist/cjs/tet-datepicker.cjs.entry.js +4 -4
  23. package/dist/cjs/tet-dialog.cjs.entry.js +1 -1
  24. package/dist/cjs/{tet-checkbox_3.cjs.entry.js → tet-dropdown_2.cjs.entry.js} +1 -68
  25. package/dist/cjs/tet-expansion-panel.cjs.entry.js +1 -1
  26. package/dist/cjs/tet-font-weight.cjs.entry.js +1 -1
  27. package/dist/cjs/tet-fonts.cjs.entry.js +1 -1
  28. package/dist/cjs/tet-grid.cjs.entry.js +1 -1
  29. package/dist/cjs/tet-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/tet-label.cjs.entry.js +2 -2
  31. package/dist/cjs/tet-layout.cjs.entry.js +1 -1
  32. package/dist/cjs/tet-link.cjs.entry.js +1 -1
  33. package/dist/cjs/tet-loader.cjs.entry.js +1 -1
  34. package/dist/cjs/tet-navigation-mobile.cjs.entry.js +3 -3
  35. package/dist/cjs/tet-news-card-list.cjs.entry.js +1 -1
  36. package/dist/cjs/tet-notification.cjs.entry.js +1 -1
  37. package/dist/cjs/tet-placeholder.cjs.entry.js +1 -1
  38. package/dist/cjs/tet-range-slider.cjs.entry.js +7 -7
  39. package/dist/cjs/tet-spacing.cjs.entry.js +1 -1
  40. package/dist/cjs/tet-stepper-input.cjs.entry.js +1 -1
  41. package/dist/cjs/tet-tab-header.cjs.entry.js +2 -2
  42. package/dist/cjs/tet-tag_2.cjs.entry.js +2 -2
  43. package/dist/cjs/tet-textarea.cjs.entry.js +2 -2
  44. package/dist/cjs/tet-tv-gift-block.cjs.entry.js +1 -1
  45. package/dist/cjs/tet-tv-gift-list.cjs.entry.js +2 -2
  46. package/dist/collection/assets/icons/icon-map.json +1 -1
  47. package/dist/collection/assets/icons/tc/tc-company-1.svg +3 -0
  48. package/dist/collection/collection-manifest.json +1 -0
  49. package/dist/collection/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.css +479 -0
  50. package/dist/collection/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.js +211 -0
  51. package/dist/collection/components/advanced/forms/tet-contact-form/tet-contact-form.js +1 -1
  52. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-block/tet-tv-gift-block.js +1 -1
  53. package/dist/collection/components/advanced/promotions/tv-gift/tet-tv-gift-list/tet-tv-gift-list.js +2 -2
  54. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-content/tet-tab-content.js +2 -2
  55. package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-header/tet-tab-header.js +2 -2
  56. package/dist/collection/components/basic/buttons/tet-tag/tet-tag.js +2 -2
  57. package/dist/collection/components/basic/carousel/tet-carousel/test/tet-carousel.spec.js +6 -2
  58. package/dist/collection/components/basic/carousel/tet-carousel/tet-carousel.css +4 -0
  59. package/dist/collection/components/basic/carousel/tet-carousel/tet-carousel.js +103 -35
  60. package/dist/collection/components/basic/icon/tet-icon.js +1 -1
  61. package/dist/collection/components/basic/loaders/tet-loader/tet-loader.js +1 -1
  62. package/dist/collection/components/basic/loaders/tet-placeholder/tet-placeholder.js +1 -1
  63. package/dist/collection/components/basic/loaders/tet-spinner/tet-spinner.js +3 -3
  64. package/dist/collection/components/basic/misc/tet-label/tet-label.js +2 -2
  65. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-header/tet-datepicker-header.js +2 -2
  66. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-month-view/tet-datepicker-month-view.js +1 -1
  67. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-multi-year-view/tet-datepicker-multi-year-view.js +1 -1
  68. package/dist/collection/components/simple/inputs/tet-datepicker/partials/tet-datepicker-year-view/tet-datepicker-year-view.js +1 -1
  69. package/dist/collection/components/simple/inputs/tet-datepicker/tet-datepicker.js +4 -4
  70. package/dist/collection/components/simple/inputs/tet-range-slider/tet-range-slider.js +7 -7
  71. package/dist/collection/components/simple/inputs/tet-stepper-input/tet-stepper-input.js +1 -1
  72. package/dist/collection/components/simple/inputs/tet-textarea/tet-textarea.js +2 -2
  73. package/dist/collection/components/simple/lists/tet-news-card-list/tet-news-card-list.js +1 -1
  74. package/dist/collection/components/simple/menu/tet-business-navigation/tet-business-navigation.js +1 -1
  75. package/dist/collection/components/simple/menu/tet-navigation-mobile/tet-navigation-mobile.js +3 -3
  76. package/dist/collection/components/simple/structural/tet-accordion/tet-accordion.css +2 -0
  77. package/dist/collection/components/simple/structural/tet-accordion/tet-accordion.js +5 -5
  78. package/dist/collection/components/simple/structural/tet-expansion-panel/tet-expansion-panel.js +1 -1
  79. package/dist/collection/components/simple/text-blocks/tet-dialog/tet-dialog.css +4 -2
  80. package/dist/collection/components/simple/text-blocks/tet-notification/tet-notification.js +1 -1
  81. package/dist/collection/components/simple/text-blocks/tet-tooltip/tet-tooltip.js +1 -1
  82. package/dist/collection/components/views/tet-address-offers-view/tet-address-offers-view.js +1 -1
  83. package/dist/collection/components/views/tet-b2b-configurator/partials/tet-b2b-configurator-cart/tet-b2b-configurator-cart.js +2 -2
  84. package/dist/collection/components/views/tet-b2b-service-calculator/tet-b2b-service-calculator.js +1 -1
  85. package/dist/collection/components/views/tet-business-lines/tet-business-lines.js +1 -1
  86. package/dist/collection/docs/styling/border-radius/tet-border-radius.js +1 -1
  87. package/dist/collection/docs/styling/colors/tet-colors.js +4 -4
  88. package/dist/collection/docs/styling/font-weight/tet-font-weight.js +1 -1
  89. package/dist/collection/docs/styling/fonts/tet-fonts.js +1 -1
  90. package/dist/collection/docs/styling/layout/tet-layout.js +1 -1
  91. package/dist/collection/docs/styling/link/tet-link.js +1 -1
  92. package/dist/collection/docs/styling/spacing/tet-spacing.js +1 -1
  93. package/dist/collection/docs/styling/tet-grid/tet-grid.js +1 -1
  94. package/dist/collection/services/validators/index.js +2 -1
  95. package/dist/collection/services/validators/validators/e-mail.js +34 -0
  96. package/dist/collection/services/validators/validators/e-mail.spec.js +20 -0
  97. package/dist/components/assets/icons/icon-map.json +1 -1
  98. package/dist/components/assets/icons/tc/tc-company-1.svg +3 -0
  99. package/dist/components/index.js +2 -0
  100. package/dist/components/{p-59ecb7dc.js → p-000ae991.js} +6 -6
  101. package/dist/components/p-00c91e96.js +14 -0
  102. package/dist/components/{p-cdec8b43.js → p-12e123f3.js} +1 -1
  103. package/dist/components/{p-d7f5b61c.js → p-14534acc.js} +1 -1
  104. package/dist/components/{p-499b3838.js → p-21be0dd0.js} +2 -2
  105. package/dist/components/{p-a1f2eaa6.js → p-2424c4f1.js} +5 -5
  106. package/dist/components/{p-2f7ab47f.js → p-290f2855.js} +7 -6
  107. package/dist/components/{p-86da5272.js → p-397c69b3.js} +2 -2
  108. package/dist/components/{p-125271b1.js → p-4688b69d.js} +11 -11
  109. package/dist/components/{p-3ff35471.js → p-5ace687b.js} +5 -5
  110. package/dist/components/{p-e1dfd49d.js → p-5b5ea55f.js} +10 -10
  111. package/dist/components/{p-e20ff902.js → p-70ca1b23.js} +1 -1
  112. package/dist/components/{p-ae8498b6.js → p-758e222f.js} +7 -7
  113. package/dist/components/{p-c4a94d36.js → p-76c723b4.js} +2 -2
  114. package/dist/components/{p-be59ce58.js → p-7fa87e91.js} +1 -1
  115. package/dist/components/{p-1dfb07e1.js → p-8802f7f7.js} +1 -1
  116. package/dist/components/{p-ecb0207c.js → p-88eed449.js} +1 -1
  117. package/dist/components/{p-9c20ee34.js → p-8a924999.js} +3 -3
  118. package/dist/components/{p-504e911b.js → p-8ff3e337.js} +3 -3
  119. package/dist/components/{p-3dc2183b.js → p-90a15cb2.js} +1 -1
  120. package/dist/components/{p-0e796d48.js → p-92f3f562.js} +3 -3
  121. package/dist/components/{p-e409203b.js → p-ac5522f7.js} +2 -2
  122. package/dist/components/{p-796ea907.js → p-ba6768ef.js} +2 -2
  123. package/dist/components/{p-102c1fc3.js → p-bc9edad9.js} +1 -1
  124. package/dist/components/{p-d6580980.js → p-bddae715.js} +2 -2
  125. package/dist/components/{p-8b3d80aa.js → p-be78bde3.js} +1 -1
  126. package/dist/components/{p-e5f84db8.js → p-c2bfa12c.js} +1 -1
  127. package/dist/components/{p-b71cc97c.js → p-c8a0b770.js} +3 -3
  128. package/dist/components/{p-e4b59b85.js → p-c9491692.js} +1 -1
  129. package/dist/components/{p-d8c79647.js → p-c97b2c87.js} +2 -2
  130. package/dist/components/{p-0a9fb3c4.js → p-ca66b4b1.js} +1 -14
  131. package/dist/components/{p-b5dced58.js → p-cbb5f612.js} +1 -1
  132. package/dist/components/{p-48a1a0e4.js → p-d0c6b6c9.js} +2 -2
  133. package/dist/components/{p-0b13ba10.js → p-d516dff5.js} +7 -7
  134. package/dist/components/{p-c3dfb9e4.js → p-daa34847.js} +2 -2
  135. package/dist/components/{p-50c52fb2.js → p-db548ad6.js} +2 -2
  136. package/dist/components/{p-d3f63a7a.js → p-decd8ddd.js} +4 -4
  137. package/dist/components/{p-c1c8a966.js → p-eac684d6.js} +1 -1
  138. package/dist/components/{p-a141151a.js → p-fe95d572.js} +1 -1
  139. package/dist/components/{p-eb9b5f91.js → p-ff31e014.js} +1 -1
  140. package/dist/components/tet-accordion.js +1 -1
  141. package/dist/components/tet-address-offers-filters-products.js +1 -1
  142. package/dist/components/tet-address-offers-filters.js +1 -1
  143. package/dist/components/tet-address-offers-view.js +21 -21
  144. package/dist/components/tet-address-offers.js +1 -1
  145. package/dist/components/tet-address-search.js +1 -1
  146. package/dist/components/tet-asset-addresses.js +8 -8
  147. package/dist/components/tet-asset-availability-addresses.js +1 -1
  148. package/dist/components/tet-autocomplete-dropdown.js +4 -4
  149. package/dist/components/tet-autocomplete.js +1 -1
  150. package/dist/components/tet-availability-contact-form.js +1 -1
  151. package/dist/components/tet-b2b-check-out-form.d.ts +11 -0
  152. package/dist/components/tet-b2b-check-out-form.js +212 -0
  153. package/dist/components/tet-b2b-compare-card.js +4 -4
  154. package/dist/components/tet-b2b-configurator-cart.js +5 -5
  155. package/dist/components/tet-b2b-service-calculator.js +6 -6
  156. package/dist/components/tet-banner-nav.js +1 -1
  157. package/dist/components/tet-border-radius.js +1 -1
  158. package/dist/components/tet-business-compare-card.js +2 -2
  159. package/dist/components/tet-business-lines.js +2 -2
  160. package/dist/components/tet-business-navigation.js +2 -2
  161. package/dist/components/tet-business-round-stepper.js +1 -1
  162. package/dist/components/tet-business-summary-card.js +3 -3
  163. package/dist/components/tet-button.js +1 -1
  164. package/dist/components/tet-card-list.js +1 -1
  165. package/dist/components/tet-carousel.js +106 -38
  166. package/dist/components/tet-checkbox.js +1 -1
  167. package/dist/components/tet-cloud-application-form-dialog.js +6 -6
  168. package/dist/components/tet-cloud-configurator.js +7 -7
  169. package/dist/components/tet-colors.js +4 -4
  170. package/dist/components/tet-compare-card-v2.js +5 -5
  171. package/dist/components/tet-compare-card.js +1 -1
  172. package/dist/components/tet-compare-cards-tab.js +13 -13
  173. package/dist/components/tet-compare-cards.js +1 -1
  174. package/dist/components/tet-contact-form.js +7 -6
  175. package/dist/components/tet-customer-assets.js +2 -2
  176. package/dist/components/tet-datepicker-header.js +1 -1
  177. package/dist/components/tet-datepicker-month-view.js +1 -1
  178. package/dist/components/tet-datepicker-multi-year-view.js +1 -1
  179. package/dist/components/tet-datepicker-year-view.js +1 -1
  180. package/dist/components/tet-datepicker.js +9 -9
  181. package/dist/components/tet-dialog.js +1 -1
  182. package/dist/components/tet-dropdown.js +1 -1
  183. package/dist/components/tet-dynamic-card.js +2 -2
  184. package/dist/components/tet-expandable-input.js +2 -2
  185. package/dist/components/tet-expansion-panel.js +1 -1
  186. package/dist/components/tet-filter.js +3 -3
  187. package/dist/components/tet-font-weight.js +1 -1
  188. package/dist/components/tet-fonts.js +1 -1
  189. package/dist/components/tet-grid.js +1 -1
  190. package/dist/components/tet-icon.js +1 -1
  191. package/dist/components/tet-inline-message.js +1 -1
  192. package/dist/components/tet-input.js +1 -1
  193. package/dist/components/tet-label.js +3 -3
  194. package/dist/components/tet-layout.js +1 -1
  195. package/dist/components/tet-link.js +1 -1
  196. package/dist/components/tet-loader.js +1 -1
  197. package/dist/components/tet-macd-view.js +6 -6
  198. package/dist/components/tet-menu-mobile.js +1 -1
  199. package/dist/components/tet-menu.js +1 -1
  200. package/dist/components/tet-multi-step-dialog.js +3 -3
  201. package/dist/components/tet-navigation-mobile.js +4 -4
  202. package/dist/components/tet-news-card-list.js +4 -4
  203. package/dist/components/tet-notification.js +1 -1
  204. package/dist/components/tet-number-input.js +1 -1
  205. package/dist/components/tet-placeholder.js +1 -1
  206. package/dist/components/tet-range-slider.js +1 -1
  207. package/dist/components/tet-referral.js +4 -4
  208. package/dist/components/tet-round-stepper.js +1 -1
  209. package/dist/components/tet-spacing.js +1 -1
  210. package/dist/components/tet-spinner.js +1 -1
  211. package/dist/components/tet-stepper-input.js +1 -1
  212. package/dist/components/tet-stepper-v2.js +1 -1
  213. package/dist/components/tet-stepper-v3.js +1 -1
  214. package/dist/components/tet-tab-content.js +1 -1
  215. package/dist/components/tet-tab-header.js +1 -1
  216. package/dist/components/tet-table.js +2 -2
  217. package/dist/components/tet-tag-group.js +1 -1
  218. package/dist/components/tet-tag.js +1 -1
  219. package/dist/components/tet-text-list.js +1 -1
  220. package/dist/components/tet-textarea.js +2 -2
  221. package/dist/components/tet-thank-you-view-v2.js +3 -3
  222. package/dist/components/tet-thank-you-view-v3.js +3 -3
  223. package/dist/components/tet-thank-you-view.js +2 -2
  224. package/dist/components/tet-tooltip.js +1 -1
  225. package/dist/components/tet-tv-gift-block.js +1 -1
  226. package/dist/components/tet-tv-gift-list.js +3 -3
  227. package/dist/esm/index-7f1e2a22.js +10 -2
  228. package/dist/esm/loader.js +1 -1
  229. package/dist/esm/{phone-ed2205b3.js → phone-99c2f297.js} +1 -14
  230. package/dist/esm/tasks-3dfcc330.js +14 -0
  231. package/dist/esm/tet-accordion.entry.js +6 -6
  232. package/dist/esm/tet-address-offers-view.entry.js +1 -1
  233. package/dist/esm/tet-address-offers_4.entry.js +2 -1
  234. package/dist/esm/tet-autocomplete_2.entry.js +3 -3
  235. package/dist/esm/tet-b2b-check-out-form.entry.js +160 -0
  236. package/dist/esm/tet-b2b-configurator-cart.entry.js +2 -2
  237. package/dist/esm/tet-b2b-service-calculator.entry.js +1 -1
  238. package/dist/esm/tet-border-radius.entry.js +1 -1
  239. package/dist/esm/tet-business-lines.entry.js +1 -1
  240. package/dist/esm/tet-business-navigation.entry.js +1 -1
  241. package/dist/esm/tet-carousel.entry.js +104 -36
  242. package/dist/esm/tet-checkbox.entry.js +69 -0
  243. package/dist/esm/tet-colors.entry.js +4 -4
  244. package/dist/esm/tet-compare-cards_2.entry.js +2 -2
  245. package/dist/esm/tet-components.js +1 -1
  246. package/dist/esm/tet-contact-form.entry.js +3 -2
  247. package/dist/esm/tet-datepicker-header_4.entry.js +5 -5
  248. package/dist/esm/tet-datepicker.entry.js +4 -4
  249. package/dist/esm/tet-dialog.entry.js +1 -1
  250. package/dist/esm/{tet-checkbox_3.entry.js → tet-dropdown_2.entry.js} +2 -68
  251. package/dist/esm/tet-expansion-panel.entry.js +1 -1
  252. package/dist/esm/tet-font-weight.entry.js +1 -1
  253. package/dist/esm/tet-fonts.entry.js +1 -1
  254. package/dist/esm/tet-grid.entry.js +1 -1
  255. package/dist/esm/tet-icon.entry.js +1 -1
  256. package/dist/esm/tet-label.entry.js +2 -2
  257. package/dist/esm/tet-layout.entry.js +1 -1
  258. package/dist/esm/tet-link.entry.js +1 -1
  259. package/dist/esm/tet-loader.entry.js +1 -1
  260. package/dist/esm/tet-navigation-mobile.entry.js +3 -3
  261. package/dist/esm/tet-news-card-list.entry.js +1 -1
  262. package/dist/esm/tet-notification.entry.js +1 -1
  263. package/dist/esm/tet-placeholder.entry.js +1 -1
  264. package/dist/esm/tet-range-slider.entry.js +7 -7
  265. package/dist/esm/tet-spacing.entry.js +1 -1
  266. package/dist/esm/tet-stepper-input.entry.js +1 -1
  267. package/dist/esm/tet-tab-header.entry.js +2 -2
  268. package/dist/esm/tet-tag_2.entry.js +2 -2
  269. package/dist/esm/tet-textarea.entry.js +2 -2
  270. package/dist/esm/tet-tv-gift-block.entry.js +1 -1
  271. package/dist/esm/tet-tv-gift-list.entry.js +2 -2
  272. package/dist/tet-components/assets/icons/icon-map.json +1 -1
  273. package/dist/tet-components/assets/icons/tc/tc-company-1.svg +3 -0
  274. package/dist/tet-components/{p-c2d3f622.entry.js → p-00370414.entry.js} +1 -1
  275. package/dist/tet-components/{p-db666f67.entry.js → p-018123d1.entry.js} +1 -1
  276. package/dist/tet-components/{p-eee18759.entry.js → p-02381ade.entry.js} +1 -1
  277. package/dist/tet-components/p-05fc6443.entry.js +1 -0
  278. package/dist/tet-components/{p-f09325e9.entry.js → p-100a2a00.entry.js} +1 -1
  279. package/dist/tet-components/{p-17a4096b.entry.js → p-10d6590a.entry.js} +1 -1
  280. package/dist/tet-components/p-1460a670.entry.js +1 -0
  281. package/dist/tet-components/{p-82f67011.entry.js → p-223f4ca1.entry.js} +1 -1
  282. package/dist/tet-components/p-2a3448bc.entry.js +1 -0
  283. package/dist/tet-components/p-32c31441.entry.js +1 -0
  284. package/dist/tet-components/p-37d9b1c5.entry.js +1 -0
  285. package/dist/tet-components/{p-74989c7b.entry.js → p-382034f9.entry.js} +1 -1
  286. package/dist/tet-components/{p-970a3fc5.entry.js → p-3a68d8ee.entry.js} +1 -1
  287. package/dist/tet-components/p-3adb8b02.entry.js +1 -0
  288. package/dist/tet-components/{p-966eaa17.entry.js → p-3c03dea3.entry.js} +1 -1
  289. package/dist/tet-components/{p-3a388c27.entry.js → p-48ed1dbc.entry.js} +1 -1
  290. package/dist/tet-components/{p-cc73c6bf.entry.js → p-4cac1c11.entry.js} +1 -1
  291. package/dist/tet-components/{p-018095d9.entry.js → p-4efb7ee4.entry.js} +1 -1
  292. package/dist/tet-components/{p-1576d249.entry.js → p-584850c4.entry.js} +1 -1
  293. package/dist/tet-components/{p-c95cf2d4.entry.js → p-624ae17b.entry.js} +1 -1
  294. package/dist/tet-components/{p-c592f222.entry.js → p-67515e73.entry.js} +1 -1
  295. package/dist/tet-components/{p-9ef5798e.entry.js → p-72c5f6fd.entry.js} +1 -1
  296. package/dist/tet-components/{p-add5c08b.entry.js → p-73e8e847.entry.js} +1 -1
  297. package/dist/tet-components/{p-641c5d9d.entry.js → p-77dc69df.entry.js} +1 -1
  298. package/dist/tet-components/{p-e596991f.entry.js → p-79567d7c.entry.js} +1 -1
  299. package/dist/tet-components/{p-37958859.entry.js → p-7d1d0c36.entry.js} +1 -1
  300. package/dist/tet-components/{p-3588d98e.entry.js → p-89cbd0f4.entry.js} +1 -1
  301. package/dist/tet-components/{p-12c21228.entry.js → p-8c802a0a.entry.js} +1 -1
  302. package/dist/tet-components/{p-7a12782b.entry.js → p-992f7033.entry.js} +1 -1
  303. package/dist/tet-components/{p-a844fa98.entry.js → p-a9649e33.entry.js} +1 -1
  304. package/dist/tet-components/{p-74275f2b.entry.js → p-ab41a3f8.entry.js} +1 -1
  305. package/dist/tet-components/{p-7210bb04.entry.js → p-afbe6509.entry.js} +1 -1
  306. package/dist/tet-components/{p-f9d096b2.entry.js → p-b3ce0d6f.entry.js} +1 -1
  307. package/dist/tet-components/{p-61818927.entry.js → p-c634602c.entry.js} +1 -1
  308. package/dist/tet-components/p-ca66b4b1.js +1 -0
  309. package/dist/tet-components/p-d2919aae.js +1 -0
  310. package/dist/tet-components/{p-108cd149.entry.js → p-d56b4142.entry.js} +1 -1
  311. package/dist/tet-components/{p-7476cb78.entry.js → p-db3d023a.entry.js} +1 -1
  312. package/dist/tet-components/{p-55819f09.entry.js → p-e73e4e79.entry.js} +1 -1
  313. package/dist/tet-components/{p-b5706ef0.entry.js → p-ea0186d6.entry.js} +1 -1
  314. package/dist/tet-components/{p-ff66a3ec.entry.js → p-ef1bcb5f.entry.js} +1 -1
  315. package/dist/tet-components/{p-0ca72362.entry.js → p-efbe281d.entry.js} +1 -1
  316. package/dist/tet-components/tet-components.esm.js +1 -1
  317. package/dist/types/components/advanced/forms/tet-b2b-check-out-form/tet-b2b-check-out-form.d.ts +52 -0
  318. package/dist/types/components/basic/carousel/tet-carousel/tet-carousel.d.ts +6 -2
  319. package/dist/types/components.d.ts +64 -0
  320. package/dist/types/services/validators/index.d.ts +2 -1
  321. package/dist/types/services/validators/validators/e-mail.d.ts +28 -0
  322. package/package.json +1 -1
  323. package/dist/tet-components/p-27e3fced.entry.js +0 -1
  324. package/dist/tet-components/p-3dc55358.entry.js +0 -1
  325. package/dist/tet-components/p-49f6e950.entry.js +0 -1
  326. package/dist/tet-components/p-71e2fe80.js +0 -1
  327. package/dist/tet-components/p-91d85a07.entry.js +0 -1
@@ -0,0 +1,211 @@
1
+ import { h, forceUpdate } from "@stencil/core";
2
+ import { processTranslations, t } from "../../../../services/translations/index";
3
+ import { EMailAddressValidator, PhoneNumberValidator, RequiredValidator } from "../../../../services/validators/index";
4
+ /**
5
+ * A simple contact form for submitting company details and cart details.'
6
+ */
7
+ export class TetAvailabilityContactForm {
8
+ constructor() {
9
+ this.language = 'lv';
10
+ this.theme = undefined;
11
+ }
12
+ /**
13
+ * The watch to update translations.
14
+ * @param language
15
+ */
16
+ onLanguageChange(language) {
17
+ processTranslations('tet-components', language).then(() => forceUpdate(this));
18
+ }
19
+ /** Method to open check out form */
20
+ /** Method to open check out form */
21
+ async open() {
22
+ await this.dialogElement.open();
23
+ }
24
+ /**
25
+ * Lifecycle method.
26
+ */
27
+ async componentWillLoad() {
28
+ await processTranslations('tet-components', this.language);
29
+ forceUpdate(this);
30
+ }
31
+ /**
32
+ * Get validators for each input form and set error messages.
33
+ */
34
+ getValidators(label, isPhoneNr) {
35
+ const cleanLabel = label.trim().toLowerCase().replace(',', ' un');
36
+ let errorText = '';
37
+ switch (cleanLabel.charAt(cleanLabel.length - 1)) {
38
+ case 's':
39
+ {
40
+ isPhoneNr ? (errorText = cleanLabel.replace('is', 'i')) : (errorText = cleanLabel.replace(/[s]\b/g, 'u'));
41
+ }
42
+ break;
43
+ case 'e':
44
+ {
45
+ errorText = cleanLabel.replace(/[e]\b/g, 'i');
46
+ }
47
+ break;
48
+ default:
49
+ errorText = cleanLabel;
50
+ }
51
+ const errorMessage = `${t('components-b2b-check-out-form-validation-error')} ${this.language === 'lv' ? errorText : cleanLabel}`;
52
+ let validators = [new RequiredValidator(errorMessage)];
53
+ if (cleanLabel === 'e-pasts') {
54
+ validators = [
55
+ new RequiredValidator(errorMessage),
56
+ new EMailAddressValidator('components-b2b-check-out-form-email-validation-error')
57
+ ];
58
+ }
59
+ if (isPhoneNr) {
60
+ validators = [
61
+ new RequiredValidator(errorMessage),
62
+ new PhoneNumberValidator('components-validation-incorrect-phone')
63
+ ];
64
+ }
65
+ return validators;
66
+ }
67
+ /**
68
+ * Render Input 'tet-input' element.
69
+ * @param {string} id
70
+ * @param {string} label
71
+ * @param {string} placeholder
72
+ * @param {boolean} isPhoneNr
73
+ * @returns {HTMLTetInputElement}
74
+ * @private
75
+ */
76
+ renderInput(id, label, placeholder, isPhoneNr) {
77
+ return (h("tet-input", Object.assign({ id: id, class: "modal-form-card__input", theme: this.theme, label: `${label} *`, placeholder: placeholder || label }, (isPhoneNr && { isPhoneNumber: true }), { validators: this.getValidators(label, isPhoneNr) })));
78
+ }
79
+ /** Validates all input fields and returns whether all of them are valid or not. */
80
+ async validateInputFields() {
81
+ const inputElements = Array.from(this.checkOutForm.getElementsByTagName('tet-input'));
82
+ const errorPromise = Object.values(inputElements).map(async (value) => value.validateInput());
83
+ const errors = (await Promise.all(errorPromise)).filter((data) => data && data.length > 0);
84
+ const checkBoxElement = Array.from(this.checkOutForm.getElementsByTagName('tet-checkbox'))[0];
85
+ checkBoxElement.setError(!checkBoxElement.checked);
86
+ const checkBoxError = !checkBoxElement.checked;
87
+ return errors.length === 0 && !checkBoxError;
88
+ }
89
+ /**
90
+ * Check validation and emit values on form submit
91
+ * @returns {Promise<void>}
92
+ * @private
93
+ */
94
+ async handleSubmit() {
95
+ const inputFieldsValid = await this.validateInputFields();
96
+ if (!inputFieldsValid) {
97
+ return;
98
+ }
99
+ const inputElements = Array.from(this.checkOutForm.getElementsByTagName('tet-input'));
100
+ let emitValue = {};
101
+ inputElements.forEach((item) => {
102
+ const value = item.querySelector('input').value;
103
+ emitValue = Object.assign(Object.assign({}, emitValue), { [item.id]: value });
104
+ });
105
+ this.submitCheckOutForm.emit(emitValue);
106
+ }
107
+ render() {
108
+ const { theme } = this;
109
+ return (h("tet-dialog", { key: '625a2ce1c2fea9989928bd28152bc82361c51415', class: "modal-form-card", headerTitle: t('components-b2b-check-out-form-header'), isOpen: true, theme: theme, closeOnOverlayClick: false, footerDisplay: "right", ref: (el) => {
110
+ this.dialogElement = el;
111
+ } }, h("div", { key: '7d2835b974036f7ccd96b9023b65ca5b24f52c36', class: { 'modal-form-card-content': true, [`${theme}`]: true } }, h("div", { key: '2a4108f8754926f29b8a95bbee90b3b932bfb765', class: "modal-form-card-content-header" }, h("div", { key: '550a049b61a1a73da0a95abffff491999ae0bf2c', class: "icon-wrapper" }, h("tet-icon", { key: 'ff6f639a24995a781ff69cca5f002c3b9e6769dc', class: "icon", name: "tc-company-1" })), h("span", { key: '7360e74b5031ebb57a38150436464bd2f173b552', class: "modal-form-card-content-header__title" }, t('components-b2b-check-out-form-title')), h("span", { key: '5533826b9de6c733e5e5db6e3b071991ea9836de', class: "modal-form-card-content-header__description" }, t('components-b2b-check-out-form-description'))), h("div", { key: 'ce30106966dab043ed0c413b598cd997847386c1', class: "modal-form-card-content-accordion-wrapper" }, h("slot", { key: '13f88a4745947b4d4080cb0200efce79097693f6', name: 'cart' })), h("form", { key: '31cab120f2affbeb55aa87d7096f2be77b2b2e72', id: "checkOutForm", class: "modal-form-card-form", ref: (ref) => (this.checkOutForm = ref) }, h("div", { key: '373f441cd918c771e5ed69d45d78bb6b0b7e93f4', class: "modal-form-card-input__row" }, this.renderInput('companyRegNr', t('components-b2b-check-out-form-company-registration-number-input-label'), '40000000001'), this.renderInput('companyName', t('components-b2b-check-out-form-company-name-input-label'))), this.renderInput('address', t('components-b2b-check-out-form-address-input-label'), t('components-b2b-check-out-form-address-input-placeholder')), this.renderInput('nameSurname', t('components-b2b-check-out-form-name-input-label')), h("div", { key: '009164222b176cd5dc1ef5979066d3b172a403c8', class: "modal-form-card-input__row" }, this.renderInput('email', t('components-b2b-check-out-form-email-input-label'), 'contact@company.com'), this.renderInput('phoneNr', t('components-b2b-check-out-form-phone-number-input-label'), '123456789', true)), h("tet-checkbox", { key: 'd2dd9e4dda4ef46b7e7fa781433e710c9fff0305', class: "modal-form-card-content-checkbox", label: t('components-check-out-form-privacy-policy'), theme: theme }))), h("div", { key: '6998bb68a9093aa5d651e3c188628b4b2049e2f9', slot: "footer", class: "modal-form-card-footer" }, h("tet-button", { key: '79e85571651f2b9638d61c7b55d6da22a8c0409c', type: "secondary", size: "medium", theme: theme, onClick: () => {
112
+ this.dialogElement.close();
113
+ } }, t('components-b2b-check-out-form-close-button-label')), h("tet-button", { key: '21446b2cb81d26ac6fcea843af2e4a232913e9d6', type: "primary", size: "medium", theme: theme, onClick: () => this.handleSubmit() }, t('components-b2b-check-out-form-submit-button-label')))));
114
+ }
115
+ static get is() { return "tet-b2b-check-out-form"; }
116
+ static get encapsulation() { return "shadow"; }
117
+ static get originalStyleUrls() {
118
+ return {
119
+ "$": ["tet-b2b-check-out-form.scss"]
120
+ };
121
+ }
122
+ static get styleUrls() {
123
+ return {
124
+ "$": ["tet-b2b-check-out-form.css"]
125
+ };
126
+ }
127
+ static get properties() {
128
+ return {
129
+ "language": {
130
+ "type": "string",
131
+ "mutable": false,
132
+ "complexType": {
133
+ "original": "string",
134
+ "resolved": "string",
135
+ "references": {}
136
+ },
137
+ "required": false,
138
+ "optional": false,
139
+ "docs": {
140
+ "tags": [],
141
+ "text": "The translation language code for the component."
142
+ },
143
+ "attribute": "language",
144
+ "reflect": false,
145
+ "defaultValue": "'lv'"
146
+ },
147
+ "theme": {
148
+ "type": "string",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "'light' | 'dark'",
152
+ "resolved": "\"dark\" | \"light\"",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "Theme for the form"
160
+ },
161
+ "attribute": "theme",
162
+ "reflect": false
163
+ }
164
+ };
165
+ }
166
+ static get events() {
167
+ return [{
168
+ "method": "submitCheckOutForm",
169
+ "name": "submit-check-out-form",
170
+ "bubbles": true,
171
+ "cancelable": true,
172
+ "composed": true,
173
+ "docs": {
174
+ "tags": [],
175
+ "text": "Event emit when form filled successfully"
176
+ },
177
+ "complexType": {
178
+ "original": "any",
179
+ "resolved": "any",
180
+ "references": {}
181
+ }
182
+ }];
183
+ }
184
+ static get methods() {
185
+ return {
186
+ "open": {
187
+ "complexType": {
188
+ "signature": "() => Promise<void>",
189
+ "parameters": [],
190
+ "references": {
191
+ "Promise": {
192
+ "location": "global",
193
+ "id": "global::Promise"
194
+ }
195
+ },
196
+ "return": "Promise<void>"
197
+ },
198
+ "docs": {
199
+ "text": "Method to open check out form",
200
+ "tags": []
201
+ }
202
+ }
203
+ };
204
+ }
205
+ static get watchers() {
206
+ return [{
207
+ "propName": "language",
208
+ "methodName": "onLanguageChange"
209
+ }];
210
+ }
211
+ }
@@ -64,7 +64,7 @@ export class TetContactForm {
64
64
  processTranslations('tet-components', this.language).then(() => forceUpdate(this));
65
65
  }
66
66
  render() {
67
- return (h("div", { key: '9774149aa693d5229678c65f57b1a530107e08b5', class: { 'dark-theme': this.darkTheme } }, h("tet-container", { key: 'd7e345d2a8d7424643db834e9ac0c9f6b7c8d669', class: "container" }, this.showLoader && this.renderLoader(), h("div", { key: 'e4d8d8c23c70ba6255e45edde45b8c79b788eca3', class: "form-container" }, this.showTitle && h("h2", { key: 'b4f2acf590040f7dc400562d82d85955b0dc6953', class: "form-title" }, t('components-contact-form-title')), h("p", { key: '78fb23adeb197ae96e6a3f046e78b74e8fc757ea', class: "form-subtitle" }, t(this.subtitle)), h("tet-input", { key: '013ed3a12cc1aeb575fc0bd2dcb1401a2aeb843e', class: "form-input", placeholder: "+37122345678", ref: (element) => this.phoneInput = element, validators: this.validators, label: this.showInputLabel ? t('components-contact-form-input-label') : null, theme: this.darkTheme ? 'dark' : 'classic' }), h("tet-button", Object.assign({ key: 'b9866d69268b1f1106620f12637f1c5628dce4d7', class: "form-submit", type: "primary", clickCallback: this.createManualTask, innerHTML: t('components-contact-form-submit') }, this.submitButtonProps))))));
67
+ return (h("div", { key: '5337fe783b63b1459097a0161fcc763c31985d6e', class: { 'dark-theme': this.darkTheme } }, h("tet-container", { key: '7482718f33d5f8ebf0509ddfeeca8f39eb50bdb4', class: "container" }, this.showLoader && this.renderLoader(), h("div", { key: '321cb3744af611a77f20cf190343425ac6f4ed28', class: "form-container" }, this.showTitle && h("h2", { key: '075e557fd1cccb3e2f3f9bed6cbcee092cf588fe', class: "form-title" }, t('components-contact-form-title')), h("p", { key: '849598795be4ce3941a29e5bd20d7112cb37b4fa', class: "form-subtitle" }, t(this.subtitle)), h("tet-input", { key: '67756b83628a2ea5d53164d28317a58095a49dec', class: "form-input", placeholder: "+37122345678", ref: (element) => this.phoneInput = element, validators: this.validators, label: this.showInputLabel ? t('components-contact-form-input-label') : null, theme: this.darkTheme ? 'dark' : 'classic' }), h("tet-button", Object.assign({ key: 'a62d8c6641769ab7daefc6dfe4be705daf8e85b0', class: "form-submit", type: "primary", clickCallback: this.createManualTask, innerHTML: t('components-contact-form-submit') }, this.submitButtonProps))))));
68
68
  }
69
69
  static get is() { return "tet-contact-form"; }
70
70
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ export class TetTvGiftBlock {
32
32
  this.setContainerSize();
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: 'ca946b5563d3f0ed97056322ac4b1b30e2a4c0bb' }, h("div", { key: '1fd7c3d573abc6c43a2cc0a0726b40aba49aad2e', class: { 'tv-gift': true, [`tv-gift--${this.containerSize}`]: true } }, h("div", { key: 'e48b1378e7c5bfac6799d91a59ade532d7afa266', class: "tv-gift__header" }, h("slot", { key: '7e8419794f801684769579bfb50d88c1920fadaf', name: "header" }, this.headerImageSrc && h("img", { key: '79f53b9bef4f0832cc4a6978638b26c39f7bf273', class: "tv-gift__header__image", src: this.headerImageSrc }), h("div", { key: 'a35e422b3de9ed91960c79e087b57293339fdb77', class: "tv-gift__header-text" }, this.headerTitle))), h("div", { key: 'bd5e4a10739005b72cc6c0d324b04f03c90f3f8e', class: "tv-gift__content" }, h("slot", { key: '06431e7884030a8f022585b9fd85927182914ba5' })), h("div", { key: '46cc76411f6a8f0d38e471c0d6e0fd36d6368eff', class: "tv-gift__footer" }, h("slot", { key: 'c0e52f339f08cedcf821812ccc059411abebfa05', name: "footer" }, h("span", { key: '8c08c30b5d6b932e305a65f1ede1d1db31063464', class: "tv-gift__footer__title" }, this.footerTitle), h("span", { key: '531c4c4cafab9d284b6792f6dc44a1ccc6207229', class: "tv-gift__footer__text" }, this.footerText))))));
35
+ return (h(Host, { key: 'f52e7c4d06337ff2a3ee9a4401d38510f1d04a2c' }, h("div", { key: '0a513352081a17b9bae472df5a0aba40a9fa3ce2', class: { 'tv-gift': true, [`tv-gift--${this.containerSize}`]: true } }, h("div", { key: 'a047f3784cb12829fa67e3f848504332ee7549f6', class: "tv-gift__header" }, h("slot", { key: '853df25206c528d4f141cd1868ae45a8433c2abe', name: "header" }, this.headerImageSrc && h("img", { key: 'c63f7a65d9dfbb33cac7693791581a5d977bd781', class: "tv-gift__header__image", src: this.headerImageSrc }), h("div", { key: '6d9be04e54e83211f9e7763979c67589c3527f18', class: "tv-gift__header-text" }, this.headerTitle))), h("div", { key: '0dc796c85d1216630c788b28ccc9b32d7743dc7f', class: "tv-gift__content" }, h("slot", { key: '3379d6254cb7683a007f311a4957673f94d1dbc1' })), h("div", { key: '2d791b6152a5925a475170ef69a3b555ff4a2a20', class: "tv-gift__footer" }, h("slot", { key: '433f495e76106ba85a4d320ab8969cdafdaf5885', name: "footer" }, h("span", { key: 'bcc7f1c5a1c80ede10fa25ca6e450cbc57872518', class: "tv-gift__footer__title" }, this.footerTitle), h("span", { key: '7bbc60c57b99a81682e650d5bf0a6c85dd18e523', class: "tv-gift__footer__text" }, this.footerText))))));
36
36
  }
37
37
  static get is() { return "tet-tv-gift-block"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -34,11 +34,11 @@ export class TetTvGiftList {
34
34
  this.setContainerSize();
35
35
  }
36
36
  render() {
37
- return (h(Host, { key: 'c5291d51b1874784b8ecf0e8dd8f5d1480f5b0d7' }, h("div", { key: '1347f2c03627550e52669dfda266a1ed9cbe9a27', class: {
37
+ return (h(Host, { key: 'e7aa7d57d3f13d7dfb6cbb60dac025e5a3cb4b8c' }, h("div", { key: 'c6492c2bf632b40e1d985557b25aa502c44e661b', class: {
38
38
  'tv-gift-list': true,
39
39
  [`tv-gift-list--${this.containerSize}`]: true,
40
40
  'tv-gift-list--image-list': Boolean(this.imageSource),
41
- } }, this.imageSource && (h("div", { key: 'ff86b7908cd5e83e23ecba120b6cab4e10141f78', class: "tv-gift-list__image__wrapper" }, h("img", { key: '4ededbed0da1ecbe36bbeac3980348fbb92ef887', class: "tv-gift-list__image", src: this.imageSource }))), h("div", { key: '93ee9a7bbb87b30cf2b0583753c874ff5df903ed', class: "tv-gift-list__list__wrapper" }, h("span", { key: '5c62bda439b140e06034340f3d37f4e5a4783c50', class: "tv-gift-list__list__header" }, this.header), h("ul", { key: 'fb6a2919ca5ce8e6c68b4696111b0a37ace28d64', class: "tv-gift-list__list" }, this.list.map(item => (h("li", { class: "tv-gift-list__list__item" }, h("tet-icon", { name: this.listBulletIcon }), item))))))));
41
+ } }, this.imageSource && (h("div", { key: '5a3a007d64e25a31a211b849700189898c6146ad', class: "tv-gift-list__image__wrapper" }, h("img", { key: 'a72082bcfef3122b807d800005276f7165f2b99a', class: "tv-gift-list__image", src: this.imageSource }))), h("div", { key: 'f917798eeaf114f5a10689f82021aa899dc5c4ca', class: "tv-gift-list__list__wrapper" }, h("span", { key: '7b26fee22611b25212904c28f9604ef0f09a8600', class: "tv-gift-list__list__header" }, this.header), h("ul", { key: 'd37925aa32c8c53581a25446556c1c8beced3e96', class: "tv-gift-list__list" }, this.list.map(item => (h("li", { class: "tv-gift-list__list__item" }, h("tet-icon", { name: this.listBulletIcon }), item))))))));
42
42
  }
43
43
  static get is() { return "tet-tv-gift-list"; }
44
44
  static get encapsulation() { return "shadow"; }
@@ -157,11 +157,11 @@ export class TetTabContent {
157
157
  this.selectedId = id;
158
158
  }
159
159
  render() {
160
- return (h(Host, { key: '0d7e34fa68230b416e05573b6dffdb29beda6145' }, h("div", { key: '25d0204966c42a3229569b68ac1d117275ded002', class: {
160
+ return (h(Host, { key: '1580679fe80288da68795eb04ce918f4d8c6af64' }, h("div", { key: 'ebdd59fcbf34fe26e1afcb019235b17707368187', class: {
161
161
  'tet-tab-content': true,
162
162
  'use-visibility': this.useVisibility,
163
163
  [this.theme]: true
164
- } }, h("slot", { key: 'e59646b6425fa78dd649f39910e50849bcc39594' }))));
164
+ } }, h("slot", { key: '4e7ee562756fbea45495666f876da1baa810dfb3' }))));
165
165
  }
166
166
  static get is() { return "tet-tab-content"; }
167
167
  static get encapsulation() { return "shadow"; }
@@ -468,7 +468,7 @@ export class TetTabHeader {
468
468
  return {};
469
469
  }
470
470
  render() {
471
- return (h(Host, { key: '0f4ba9430ef4d0ebf78f6bda500dec97305b6e0e', "data-id-suffix": this.idSuffix }, h("div", { key: 'd736ad3bd1735ecd8e9546bd8a9e685be8ba20c4', class: {
471
+ return (h(Host, { key: '8e9af5049a6bb8a859c244cb96dceca67d2fc556', "data-id-suffix": this.idSuffix }, h("div", { key: '894811c0f2bc7c99e64c1de93d1b515dbde20d87', class: {
472
472
  'tabs': true,
473
473
  'tabs--segmented': this.segmented,
474
474
  'dark': this.darkMode,
@@ -476,7 +476,7 @@ export class TetTabHeader {
476
476
  [this.theme]: true,
477
477
  [this.sizing]: true,
478
478
  [this.type]: !!this.type
479
- }, onMouseDown: this.onContainerMouseDown, style: this.getStyle(), ref: (ref) => (this.tabElement = ref), role: "tablist" }, h("slot", { key: '878b5d64e8de05ae8b6d98093a9ed0eaa95859ac', ref: (slot) => (this.tabContainer = slot) })), h("div", { key: '74f70b87c2f4283d6cba19e46647656150fd8295', class: { 'tabs-line': !this.segmented, 'no-underline': this.hideHeaderUnderline } })));
479
+ }, onMouseDown: this.onContainerMouseDown, style: this.getStyle(), ref: (ref) => (this.tabElement = ref), role: "tablist" }, h("slot", { key: '84ed4fee9a29fcd2edf2c0b185b2b49a6b7e0b25', ref: (slot) => (this.tabContainer = slot) })), h("div", { key: 'fda7d023f752a285189ddb6115f9d077b1a69702', class: { 'tabs-line': !this.segmented, 'no-underline': this.hideHeaderUnderline } })));
480
480
  }
481
481
  static get is() { return "tet-tab-header"; }
482
482
  static get encapsulation() { return "shadow"; }
@@ -20,12 +20,12 @@ export class TetTag {
20
20
  processTranslations('tet-components', this.language).then(() => forceUpdate(this));
21
21
  }
22
22
  render() {
23
- return (h(Host, { key: '19ae917ebe3dc94372dd98e4939ce4e1c81891d8' }, h("button", { key: '67dd55847f85777bf00f2599c5b78d146dc0f7d7', class: {
23
+ return (h(Host, { key: 'b6dffe961943e852133995f35073a563b024340e' }, h("button", { key: '48590aaad3bf03f9eff3690059deed93f4468314', class: {
24
24
  tag: true,
25
25
  'tag-active': this.active,
26
26
  'tag--icon': this.showIcon,
27
27
  [`theme-${this.theme}`]: true,
28
- }, "aria-pressed": this.active.toString(), disabled: this.disabled }, this.tagTitle && h("p", { key: 'a07eef94c1f4633aaeab0e35c814430b318e4b51', class: "tag-title" }, t(this.tagTitle)), this.count !== null && this.count !== undefined && h("span", { key: 'bd10bf881a3cee28a0864da7ed87ffcc4c4f97f8', class: "tag-count" }, this.count), this.showIcon && h("tet-icon", { key: '2af01f0b0a226e9421e9aaf4efaa8dcdb12aaf60', class: "tag-icon", name: "close-circle", part: "icon-selected" }))));
28
+ }, "aria-pressed": this.active.toString(), disabled: this.disabled }, this.tagTitle && h("p", { key: '9ddacbb44d1d26a8aef5a0be1dc121585055ecba', class: "tag-title" }, t(this.tagTitle)), this.count !== null && this.count !== undefined && h("span", { key: '67d5d37be4b670c6537f12884fd0c7aca57d64a5', class: "tag-count" }, this.count), this.showIcon && h("tet-icon", { key: '67c35afca626a00be20ea8a0ad3b70c132dfb34a', class: "tag-icon", name: "close-circle", part: "icon-selected" }))));
29
29
  }
30
30
  static get is() { return "tet-tag"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -20,7 +20,9 @@ describe('tet-carousel', () => {
20
20
  class="tet-carousel__gradient-right"
21
21
  style="opacity: 0;"
22
22
  ></div>
23
- <div class="tet-carousel__track" style="transform: translateX(0px); transition: transform 500ms cubic-bezier(0.77,0,0.175,1);">
23
+ <div
24
+ class="tet-carousel__track tet-carousel__track--center"
25
+ style="transform: translateX(0px); transition: transform 500ms cubic-bezier(0.77,0,0.175,1);">
24
26
  <slot></slot>
25
27
  </div>
26
28
  </div>
@@ -47,7 +49,9 @@ describe('tet-carousel', () => {
47
49
  class="tet-carousel__gradient-right"
48
50
  style="opacity: 0;"
49
51
  ></div>
50
- <div class="tet-carousel__track" style="transform: translateX(0px); transition: transform 500ms cubic-bezier(0.77,0,0.175,1);">
52
+ <div
53
+ class="tet-carousel__track tet-carousel__track--center"
54
+ style="transform: translateX(0px); transition: transform 500ms cubic-bezier(0.77,0,0.175,1);">
51
55
  <slot></slot>
52
56
  </div>
53
57
  </div>
@@ -383,6 +383,7 @@
383
383
  --carousel-gradient-light: var(--tc-background-primary);
384
384
  --carousel-gradient-dark: var(--tc-background-primary-dark);
385
385
  --carousel-gradient: var(--carousel-gradient-light);
386
+ -webkit-tap-highlight-color: transparent;
386
387
  display: inline-block;
387
388
  cursor: pointer;
388
389
  width: 100%;
@@ -430,6 +431,9 @@
430
431
  will-change: transform;
431
432
  gap: var(--carousel-track-gap);
432
433
  }
434
+ .tet-carousel__track--center {
435
+ justify-content: center;
436
+ }
433
437
  .tet-carousel__track > * {
434
438
  flex-shrink: 0;
435
439
  display: flex;
@@ -9,6 +9,7 @@ export class TetCarousel {
9
9
  this.preventClickOnDocument = (ev) => {
10
10
  ev.preventDefault();
11
11
  ev.stopPropagation();
12
+ document.removeEventListener('click', this.preventClickOnDocument, { capture: true });
12
13
  };
13
14
  this.trackElement = null;
14
15
  this.dragStartX = 0;
@@ -23,16 +24,28 @@ export class TetCarousel {
23
24
  }
24
25
  };
25
26
  this.handlePrev = () => {
26
- if (this.activeItem > 0) {
27
- this.activeItem -= 1;
28
- }
29
- this.handleMove();
27
+ this.afterLayout(() => {
28
+ const visibleItems = Math.max(1, this.getFullyVisibleItemCount());
29
+ if (this.activeItem && this.activeItem < visibleItems) {
30
+ this.activeItem -= this.activeItem;
31
+ }
32
+ else {
33
+ this.activeItem -= visibleItems;
34
+ }
35
+ this.handleMove();
36
+ });
30
37
  };
31
38
  this.handleNext = () => {
32
- if (this.activeItem < this.totalItems) {
33
- this.activeItem += 1;
34
- }
35
- this.handleMove();
39
+ this.afterLayout(() => {
40
+ const visibleItems = Math.max(1, this.getFullyVisibleItemCount());
41
+ if (this.totalItems - this.activeItem < visibleItems) {
42
+ this.activeItem = this.totalItems;
43
+ }
44
+ else {
45
+ this.activeItem += visibleItems;
46
+ }
47
+ this.handleMove();
48
+ });
36
49
  };
37
50
  this.moveToLastScreen = () => {
38
51
  const wrapperWidth = this.getViewportWidth();
@@ -127,11 +140,17 @@ export class TetCarousel {
127
140
  // Let the once:true capture handler auto-remove itself. Clear flag after a tick.
128
141
  if (this.clickPreventAdded) {
129
142
  setTimeout(() => {
143
+ document.removeEventListener('click', this.preventClickOnDocument, { capture: true });
130
144
  this.clickPreventAdded = false;
131
145
  }, 0);
132
146
  }
133
147
  if (Math.abs(this.dragOffset - this.swipeStart) > this.swipeThreshold) {
134
- this.moveToTarget(-this.dragOffset);
148
+ if (this.dragOffset - this.swipeStart < 0) {
149
+ this.handleNext();
150
+ }
151
+ if (this.dragOffset - this.swipeStart > 0) {
152
+ this.handlePrev();
153
+ }
135
154
  }
136
155
  document.body.style.userSelect = '';
137
156
  document.removeEventListener('pointermove', this.onPointerMove);
@@ -178,7 +197,7 @@ export class TetCarousel {
178
197
  let assigned = slot.assignedElements ? slot.assignedElements() : [];
179
198
  if (assigned.length === 0)
180
199
  return undefined;
181
- if (assigned[0].className.includes("carousel-wrapper")) {
200
+ if (assigned[0].className.includes('carousel-wrapper')) {
182
201
  assigned = Array.from(assigned[0].children);
183
202
  }
184
203
  return assigned;
@@ -191,9 +210,13 @@ export class TetCarousel {
191
210
  var _a, _b;
192
211
  return ((_b = (_a = this.trackElement) === null || _a === void 0 ? void 0 : _a.querySelector('slot')) === null || _b === void 0 ? void 0 : _b.offsetWidth) || window.innerWidth;
193
212
  }
213
+ // Run a callback after layout/paint to ensure DOM measurements are up to date
214
+ afterLayout(cb) {
215
+ requestAnimationFrame(() => requestAnimationFrame(cb));
216
+ }
194
217
  getDotScreenLength() {
195
218
  const totalWidth = this.getSlotClientWidth();
196
- return (totalWidth / this.dotCount);
219
+ return totalWidth / this.dotCount;
197
220
  }
198
221
  isLast(lastScreenBorder, position) {
199
222
  const totalWidth = this.getSlotClientWidth();
@@ -209,6 +232,27 @@ export class TetCarousel {
209
232
  const lastScreenBorder = Math.max(dotScreenLength, viewportWidth);
210
233
  return this.isLast(lastScreenBorder, position);
211
234
  }
235
+ getFullyVisibleItemCount() {
236
+ const assigned = this.getSlotElements();
237
+ if (!assigned || assigned.length === 0)
238
+ return 0;
239
+ const viewportWidth = this.getViewportWidth();
240
+ const absOffset = Math.abs(this.dragOffset);
241
+ const visibleLeft = absOffset;
242
+ const visibleRight = absOffset + viewportWidth;
243
+ let count = 0;
244
+ for (const item of assigned) {
245
+ const rect = item.getBoundingClientRect();
246
+ const trackRect = this.trackElement.getBoundingClientRect();
247
+ const relativeLeft = rect.left - trackRect.left;
248
+ const relativeRight = relativeLeft + item.offsetWidth;
249
+ // Fully visible when the entire item falls inside the viewport window
250
+ if (relativeLeft >= visibleLeft && relativeRight <= visibleRight) {
251
+ count++;
252
+ }
253
+ }
254
+ return count;
255
+ }
212
256
  checkGradient() {
213
257
  if (this.showGradient) {
214
258
  const absOffset = Math.abs(this.dragOffset);
@@ -218,42 +262,37 @@ export class TetCarousel {
218
262
  if (rightEdgeDistance >= 0) {
219
263
  const rightEdge = rightEdgeDistance < 16;
220
264
  if (absOffset < 16) {
221
- this.leftGradientRef.style.opacity = "0";
222
- this.rightGradientRef.style.opacity = "1";
265
+ this.leftGradientRef.style.opacity = '0';
266
+ this.rightGradientRef.style.opacity = '1';
223
267
  }
224
268
  else if (rightEdge) {
225
- this.leftGradientRef.style.opacity = "1";
226
- this.rightGradientRef.style.opacity = "0";
269
+ this.leftGradientRef.style.opacity = '1';
270
+ this.rightGradientRef.style.opacity = '0';
227
271
  }
228
272
  else {
229
- this.leftGradientRef.style.opacity = "1";
230
- this.rightGradientRef.style.opacity = "1";
273
+ this.leftGradientRef.style.opacity = '1';
274
+ this.rightGradientRef.style.opacity = '1';
231
275
  }
232
276
  }
233
277
  }
234
278
  else {
235
- this.leftGradientRef.style.opacity = "0";
236
- this.rightGradientRef.style.opacity = "0";
279
+ this.leftGradientRef.style.opacity = '0';
280
+ this.rightGradientRef.style.opacity = '0';
237
281
  }
238
282
  }
239
283
  getDotCount() {
240
284
  const assigned = this.getSlotElements();
241
- if (!assigned)
285
+ if (!assigned) {
286
+ this.dotCount = 1;
287
+ this.totalItems = 0;
242
288
  return 1;
289
+ }
243
290
  this.totalItems = assigned.length;
244
291
  const viewportWidth = this.getViewportWidth();
245
292
  const totalWidth = this.getSlotClientWidth();
246
- let count = 0;
247
- assigned.forEach((el) => {
248
- const rect = el.getBoundingClientRect();
249
- const trackRect = this.trackElement.getBoundingClientRect();
250
- let relativeLeft = rect.left - trackRect.left;
251
- if (relativeLeft > totalWidth - viewportWidth) {
252
- this.dotCount = Math.min(this === null || this === void 0 ? void 0 : this.maxDots, count + 1);
253
- return;
254
- }
255
- count = Math.min(this === null || this === void 0 ? void 0 : this.maxDots, Math.ceil(relativeLeft / viewportWidth));
256
- });
293
+ // Precise: add a dot whenever there's any overflow beyond a full viewport
294
+ const exactScreens = Math.ceil(totalWidth / Math.max(1, viewportWidth));
295
+ this.dotCount = Math.max(1, Math.min(this === null || this === void 0 ? void 0 : this.maxDots, exactScreens));
257
296
  }
258
297
  calculateGradient(item, relativeLeft) {
259
298
  const totalWidth = this.getSlotClientWidth();
@@ -264,6 +303,31 @@ export class TetCarousel {
264
303
  gradientOffset = relativeRight < 160 ? 0 : gradientOffset;
265
304
  return gradientOffset;
266
305
  }
306
+ // private disableTabIndex() {
307
+ // const buttonComponents = this.container.querySelectorAll('tet-button');
308
+ // buttonComponents.forEach((btnComponent) => {
309
+ // const btn = btnComponent.shadowRoot.querySelector('button');
310
+ // btn.setAttribute('tabIndex', '-1');
311
+ // });
312
+ // }
313
+ _showButtons() {
314
+ if (!this.showButtons) {
315
+ return false;
316
+ }
317
+ if (this.getFullyVisibleItemCount() >= this.totalItems) {
318
+ return false;
319
+ }
320
+ return true;
321
+ }
322
+ _showDots() {
323
+ if (!this.showDots) {
324
+ return false;
325
+ }
326
+ if (this.getFullyVisibleItemCount() && this.getFullyVisibleItemCount() >= this.totalItems) {
327
+ return false;
328
+ }
329
+ return true;
330
+ }
267
331
  componentDidLoad() {
268
332
  this.getDotCount();
269
333
  window.addEventListener('resize', this.getDotCount.bind(this));
@@ -330,12 +394,16 @@ export class TetCarousel {
330
394
  window.removeEventListener('resize', this.getDotCount.bind(this));
331
395
  }
332
396
  render() {
333
- return (h(Host, { key: '7830c1325db3efc8ac381328a4c85c675045eafd' }, h("div", { key: '2b1967da520ea3a3b02006c79b317f2443dfa419', class: { 'tet-carousel': true, [`${this.theme}`]: true }, ref: (el) => (this.container = el), part: "carousel" }, h("div", { key: '40e737761684bf5c4fd6132602d80e071c7737a1', class: "tet-carousel__container" }, h("div", { key: '1d4eee7b9ae8831e117f975ffc7d660b5ae41613', class: "tet-carousel__gradient-left", ref: (el) => { this.leftGradientRef = el; } }), h("div", { key: '4c1804b5f50d79dd7adf72a4ecf679bf0cbc2f8e', class: "tet-carousel__gradient-right", ref: (el) => { this.rightGradientRef = el; } }), h("div", { key: '6333801810a9861af6aad1f69a96e31ad20f4ffe', class: "tet-carousel__track", ref: (el) => (this.trackElement = el), style: {
397
+ return (h(Host, { key: '2fb6cf4c78e60146bb31f2a1b869c34678127ccf' }, h("div", { key: '07b12ea6938caec2de4141f264ae6d70f0f72339', class: { 'tet-carousel': true, [`${this.theme}`]: true }, ref: (el) => (this.container = el), part: "carousel" }, h("div", { key: '5909f4683c8503f5437026db0a9b0f08a1d1823b', class: "tet-carousel__container" }, h("div", { key: '82b3021f9fb3ad1c9cbbaa6407a8885e4e8eebf2', class: "tet-carousel__gradient-left", ref: (el) => {
398
+ this.leftGradientRef = el;
399
+ } }), h("div", { key: '2b22c2b12804f12a644725ef9378722025e0d143', class: "tet-carousel__gradient-right", ref: (el) => {
400
+ this.rightGradientRef = el;
401
+ } }), h("div", { key: 'e4615d0213134aeaff5e35235bc82af52f51ee22', class: `tet-carousel__track ${!this._showButtons() && !this._showDots() ? 'tet-carousel__track--center' : ''}`, ref: (el) => (this.trackElement = el), style: {
334
402
  transform: `translateX(${this.dragOffset}px)`,
335
403
  transition: this.isDragging ? 'none' : `transform ${this.transitionDuration}ms ${this.transitionTiming}`
336
- }, onPointerDown: this.onPointerDown, onMouseMove: this.onPointerMove, onPointerUp: this.onPointerUp, onMouseLeave: this.onPointerUp }, h("slot", { key: 'e952ffea01c2aade62d816694dc8f1e10f1ddc48' }))), (this.showButtons || this.showDots) && (h("div", { key: '3bf958e474494153cd8636c4b99f5d4d8aa792be', class: "tet-carousel__controls" }, this.showButtons && (h("div", { key: '932770d5cda23b42890d7daeb7aa9282da70311d', class: "tet-carousel__buttons tet-carousel__buttons--mobile" }, h("tet-button", { key: '12c6620578154f6ff57153228ffd5eaf36015286', class: "tet-carousel__btn", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconLeft, "icon-mode": true, onClick: this.handlePrev, "aria-label": t('components-carousel-previous'), disabled: this.dotCount <= 1 || this.activeItem === 0 }))), this.showDots && (h("div", { key: '4155f6a9ef692de6e0e6ded5d2a22128e11a29ab', class: "tet-carousel__dots" }, Array.from({ length: this.dotCount }).map((_, idx) => (h("button", { type: "button", class: `tet-carousel__dot${idx === this.activeDotIndex ? ' active' : ''}`, key: idx, onClick: () => this.handleDotClick(idx) }))))), this.showButtons && (h("div", { key: '9cde973cc05d2b9ad4f0a4a3ab898fd25d6a507a', class: "tet-carousel__buttons " }, h("tet-button", { key: 'fe11eb5e822b46bc470dcb7a3bbc0e7a8cb915d4', class: "tet-carousel__buttons--desktop tet-carousel__btn ", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconLeft, "icon-mode": true, onClick: this.handlePrev, "aria-label": t('components-carousel-previous'), disabled: this.dotCount <= 1 || this.activeItem === 0 }), h("tet-button", { key: 'd9a18573247d8c0f403ee0a040ba20c2be353e83', class: "tet-carousel__btn", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconRight, "icon-mode": true, onClick: this.handleNext, "aria-label": t('components-carousel-next'), disabled: this.dotCount <= 1
337
- || this.activeItem === this.totalItems - 1
338
- || this.isLastViewport(-this.dragOffset) }))))))));
404
+ }, onPointerDown: this.onPointerDown, onMouseMove: this.onPointerMove, onPointerUp: this.onPointerUp, onMouseLeave: this.onPointerUp }, h("slot", { key: '490c22255126117175594c86b9338057266e5170' }))), (this._showButtons() || this._showDots()) && (h("div", { key: 'f6b2f9d092fd8958b2577fbfffe890be18c4d238', class: "tet-carousel__controls" }, this._showButtons() && (h("div", { key: 'e39c9c013ca4c0b2d1a062668c0addea084afb9c', class: "tet-carousel__buttons tet-carousel__buttons--mobile" }, h("tet-button", { key: '8c179655831cfd383ed98621aef152d3f45ee06e', class: "tet-carousel__btn", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconLeft, "icon-mode": true, tabIndex: -1, onClick: this.handlePrev, "aria-label": t('components-carousel-previous'), disabled: this.dotCount <= 1 || this.activeItem === 0 }))), this._showDots() && (h("div", { key: '9b4140ae4f1070afe8a656ee2282766556f9aa8c', class: "tet-carousel__dots" }, Array.from({ length: this.dotCount }).map((_, idx) => (h("button", { type: "button", tabIndex: -1, class: `tet-carousel__dot${idx === this.activeDotIndex ? ' active' : ''}`, key: idx, onClick: () => this.handleDotClick(idx) }))))), this._showButtons() && (h("div", { key: '153e2093dd5e9c521c324c501e73f4ed10c8edd0', class: "tet-carousel__buttons " }, h("tet-button", { key: 'fcd9e964507e75f29dccf3322274f5213937218c', class: "tet-carousel__buttons--desktop tet-carousel__btn ", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconLeft, "icon-mode": true, tabIndex: -1, onClick: this.handlePrev, "aria-label": t('components-carousel-previous'), disabled: this.dotCount <= 1 || this.activeItem === 0 }), h("tet-button", { key: '0622035344d0d0d3b7cf8a5726587bcddcd10c0a', class: "tet-carousel__btn", theme: this.theme === 'light' ? 'dark' : 'light', "icon-name": this.buttonIconRight, "icon-mode": true, tabIndex: -1, onClick: this.handleNext, "aria-label": t('components-carousel-next'), disabled: this.dotCount <= 1 ||
405
+ this.activeItem === this.totalItems - 1 ||
406
+ this.isLastViewport(-this.dragOffset) }))))))));
339
407
  }
340
408
  static get is() { return "tet-carousel"; }
341
409
  static get encapsulation() { return "shadow"; }
@@ -49,7 +49,7 @@ export class TetIcon {
49
49
  });
50
50
  }
51
51
  render() {
52
- return (h("span", { key: '54ab31ceb8597ebb94fd12ca44d3c67ba2b45848', class: "icon-wrapper", tabindex: (this.focusable || this.accessibilityLabel) ? 0 : -1 }, h("span", Object.assign({ key: 'cc82f58ce74ee97ee633c9b8720770b155b8ba1f', class: {
52
+ return (h("span", { key: 'bbfa5e3445bd0e22afbabd3efc071a39e8daeb21', class: "icon-wrapper", tabindex: (this.focusable || this.accessibilityLabel) ? 0 : -1 }, h("span", Object.assign({ key: '6532eb075ead5b6514515ef9ecb09c687dd53e7b', class: {
53
53
  'icon-container': true,
54
54
  'default-color': this.shouldUseDefaultColor(),
55
55
  [this.theme]: true,
@@ -4,7 +4,7 @@ import { h } from "@stencil/core";
4
4
  */
5
5
  export class TetLoader {
6
6
  render() {
7
- return (h("div", { key: 'cece39cbe52a09491a05c4a03d4ab0a6c9bc1c86', class: "loader" }, h("div", { key: '16f3ea48c7e285a3f442518e6aaa3ade71ec6295', class: "loader-inner" })));
7
+ return (h("div", { key: '5dc2e7913b4f48ebfb62c51c720516eaf8c97879', class: "loader" }, h("div", { key: 'b5c647ff4b2388de51721391a4683c693e71492a', class: "loader-inner" })));
8
8
  }
9
9
  static get is() { return "tet-loader"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -9,7 +9,7 @@ export class TetPlaceholder {
9
9
  this.darkTheme = false;
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: '86e6769bb28dceb43e9d9caabe82bdc39887ca32', style: { width: this.width, height: this.height } }, h("div", { key: '97ec2be704ea1dcd71f71c579ac156bed8d85c9a', class: { 'dark-theme': this.darkTheme } }, h("div", { key: '76fd406b3075f8b119e234af334319c170edfc99', class: "placeholder", style: { height: this.height } }))));
12
+ return (h(Host, { key: '6125d88b58d055d2a5ab50db94eb33dddca1e310', style: { width: this.width, height: this.height } }, h("div", { key: '412a76beb20da0422e9c7fbc1149d0e6c6674c66', class: { 'dark-theme': this.darkTheme } }, h("div", { key: '3357b6e00195897e85af833c8d1625087475da6d', class: "placeholder", style: { height: this.height } }))));
13
13
  }
14
14
  static get is() { return "tet-placeholder"; }
15
15
  static get encapsulation() { return "shadow"; }