@orangesk/orange-design-system 2.0.0-beta.2 → 2.0.0-beta.21

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 (784) hide show
  1. package/README.md +346 -19
  2. package/build/components/Accordion/style.css +2 -0
  3. package/build/components/Accordion/style.css.map +1 -0
  4. package/build/components/Alert/style.css +2 -0
  5. package/build/components/Alert/style.css.map +1 -0
  6. package/build/components/AnchorNavigation/style.css +1 -1
  7. package/build/components/AnchorNavigation/style.css.map +1 -1
  8. package/build/components/Bar/style.css +2 -0
  9. package/build/components/Bar/style.css.map +1 -0
  10. package/build/components/BlockAction/style.css +2 -0
  11. package/build/components/BlockAction/style.css.map +1 -0
  12. package/build/components/BodyBanner/style.css +1 -1
  13. package/build/components/BodyBanner/style.css.map +1 -1
  14. package/build/components/Breadcrumbs/style.css +2 -0
  15. package/build/components/Breadcrumbs/style.css.map +1 -0
  16. package/build/components/Button/style.css +2 -0
  17. package/build/components/Button/style.css.map +1 -0
  18. package/build/components/Buttons/style.css +2 -0
  19. package/build/components/Buttons/style.css.map +1 -0
  20. package/build/components/Card/style.css +2 -0
  21. package/build/components/Card/style.css.map +1 -0
  22. package/build/components/Carousel/style.css +1 -1
  23. package/build/components/Carousel/style.css.map +1 -1
  24. package/build/components/CarouselHero/style.css +2 -0
  25. package/build/components/CarouselHero/style.css.map +1 -0
  26. package/build/components/CarouselPromotions/style.css +2 -0
  27. package/build/components/CarouselPromotions/style.css.map +1 -0
  28. package/build/components/CartTable/style.css +1 -1
  29. package/build/components/CartTable/style.css.map +1 -1
  30. package/build/components/Container/style.css +2 -0
  31. package/build/components/Container/style.css.map +1 -0
  32. package/build/components/Controls/style.css +2 -0
  33. package/build/components/Controls/style.css.map +1 -0
  34. package/build/components/Cover/style.css +2 -0
  35. package/build/components/Cover/style.css.map +1 -0
  36. package/build/components/Divider/style.css +2 -0
  37. package/build/components/Divider/style.css.map +1 -0
  38. package/build/components/DocumentationSidebar/style.css +1 -1
  39. package/build/components/DocumentationSidebar/style.css.map +1 -1
  40. package/build/components/Dropdown/style.css +1 -1
  41. package/build/components/Dropdown/style.css.map +1 -1
  42. package/build/components/Expander/style.css +2 -0
  43. package/build/components/Expander/style.css.map +1 -0
  44. package/build/components/FeatureAccordion/style.css +1 -1
  45. package/build/components/FeatureAccordion/style.css.map +1 -1
  46. package/build/components/Footer/style.css +1 -1
  47. package/build/components/Footer/style.css.map +1 -1
  48. package/build/components/Gauge/style.css +2 -0
  49. package/build/components/Gauge/style.css.map +1 -0
  50. package/build/components/Grid/style.css +1 -1
  51. package/build/components/Grid/style.css.map +1 -1
  52. package/build/components/Hero/style.css +1 -1
  53. package/build/components/Hero/style.css.map +1 -1
  54. package/build/components/Icon/style.css +2 -0
  55. package/build/components/Icon/style.css.map +1 -0
  56. package/build/components/IconList/style.css +1 -1
  57. package/build/components/IconList/style.css.map +1 -1
  58. package/build/components/Image/style.css +2 -0
  59. package/build/components/Image/style.css.map +1 -0
  60. package/build/components/Link/style.css +2 -0
  61. package/build/components/Link/style.css.map +1 -0
  62. package/build/components/List/style.css +2 -0
  63. package/build/components/List/style.css.map +1 -0
  64. package/build/components/Loader/style.css +2 -0
  65. package/build/components/Loader/style.css.map +1 -0
  66. package/build/components/Megamenu/style.css +2 -0
  67. package/build/components/Megamenu/style.css.map +1 -0
  68. package/build/components/Modal/style.css +2 -0
  69. package/build/components/Modal/style.css.map +1 -0
  70. package/build/components/Pagination/style.css +2 -0
  71. package/build/components/Pagination/style.css.map +1 -0
  72. package/build/components/Pill/style.css +2 -0
  73. package/build/components/Pill/style.css.map +1 -0
  74. package/build/components/Preview/style.css +1 -1
  75. package/build/components/Preview/style.css.map +1 -1
  76. package/build/components/Progress/style.css +2 -0
  77. package/build/components/Progress/style.css.map +1 -0
  78. package/build/components/PromoBanner/style.css +1 -1
  79. package/build/components/PromoBanner/style.css.map +1 -1
  80. package/build/components/PromotionCard/style.css +2 -0
  81. package/build/components/PromotionCard/style.css.map +1 -0
  82. package/build/components/Section/style.css +2 -0
  83. package/build/components/Section/style.css.map +1 -0
  84. package/build/components/Skeleton/style.css +2 -0
  85. package/build/components/Skeleton/style.css.map +1 -0
  86. package/build/components/SkipLink/style.css +2 -0
  87. package/build/components/SkipLink/style.css.map +1 -0
  88. package/build/components/SocialButton/style.css +2 -0
  89. package/build/components/SocialButton/style.css.map +1 -0
  90. package/build/components/Stepbar/style.css +2 -0
  91. package/build/components/Stepbar/style.css.map +1 -0
  92. package/build/components/Sticker/style.css +2 -0
  93. package/build/components/Sticker/style.css.map +1 -0
  94. package/build/components/Table/style.css +2 -0
  95. package/build/components/Table/style.css.map +1 -0
  96. package/build/components/Tabs/style.css +2 -0
  97. package/build/components/Tabs/style.css.map +1 -0
  98. package/build/components/Tag/style.css +2 -0
  99. package/build/components/Tag/style.css.map +1 -0
  100. package/build/components/Testimonial/style.css +2 -0
  101. package/build/components/Testimonial/style.css.map +1 -0
  102. package/build/components/Tile/style.css +2 -0
  103. package/build/components/Tile/style.css.map +1 -0
  104. package/build/components/Tooltip/style.css +1 -1
  105. package/build/components/Tooltip/style.css.map +1 -1
  106. package/build/components/index.js +1 -23
  107. package/build/components/index.js.map +1 -1
  108. package/build/components/tsconfig.tsbuildinfo +1 -1
  109. package/build/components/types/index.d.ts +1497 -0
  110. package/build/components/types/src/components/Accordion/Accordion.d.ts +2 -2
  111. package/build/components/types/src/components/Accordion/Accordion.static.d.ts +1 -0
  112. package/build/components/types/src/components/Alert/Alert.d.ts +0 -2
  113. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +1 -2
  114. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +20 -17
  115. package/build/components/types/src/components/BlockAction/BlockAction.d.ts +2 -0
  116. package/build/components/types/src/components/BlockAction/Context.d.ts +2 -0
  117. package/build/components/types/src/components/BodyBanner/BodyBanner.d.ts +10 -10
  118. package/build/components/types/src/components/Breadcrumbs/Breadcrumbs.d.ts +0 -2
  119. package/build/components/types/src/components/Button/Button.d.ts +1 -1
  120. package/build/components/types/src/components/Button/index.d.ts +3 -4
  121. package/build/components/types/src/components/Card/Card.d.ts +2 -1
  122. package/build/components/types/src/components/Card/CardSection.d.ts +2 -2
  123. package/build/components/types/src/components/Card/index.d.ts +1 -0
  124. package/build/components/types/src/components/Carousel/Carousel.d.ts +4 -2
  125. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +61 -7
  126. package/build/components/types/src/components/Carousel/constants.d.ts +2 -0
  127. package/build/components/types/src/components/CarouselHero/CarouselHero.d.ts +17 -0
  128. package/build/components/types/src/components/CarouselHero/CarouselHero.static.d.ts +47 -0
  129. package/build/components/types/src/components/CarouselHero/CarouselHeroItem.d.ts +8 -0
  130. package/build/components/types/src/components/CarouselHero/constants.d.ts +33 -0
  131. package/build/components/types/src/components/CarouselHero/index.d.ts +2 -0
  132. package/build/components/types/src/components/CarouselPromotions/CarouselPromotions.d.ts +0 -1
  133. package/build/components/types/src/components/Controls/Controls.d.ts +0 -1
  134. package/build/components/types/src/components/Cover/Cover.d.ts +3 -3
  135. package/build/components/types/src/components/Divider/Divider.d.ts +0 -4
  136. package/build/components/types/src/components/DocumentationSidebar/DocumentationSidebar.d.ts +1 -0
  137. package/build/components/types/src/components/Expander/Expander.d.ts +2 -5
  138. package/build/components/types/src/components/FeatureAccordion/FeatureAccordion.d.ts +1 -3
  139. package/build/components/types/src/components/Footer/Footer.d.ts +1 -5
  140. package/build/components/types/src/components/Footer/PlanObnovy.d.ts +1 -0
  141. package/build/components/types/src/components/Footer/constants.d.ts +10 -0
  142. package/build/components/types/src/components/Footer/data.d.ts +6 -0
  143. package/build/components/types/src/components/Forms/InputStepper/InputStepper.d.ts +0 -1
  144. package/build/components/types/src/components/Forms/Select/index.d.ts +1 -1
  145. package/build/components/types/src/components/Grid/Grid.d.ts +1 -1
  146. package/build/components/types/src/components/Grid/GridCol.d.ts +1 -1
  147. package/build/components/types/src/components/Hero/Hero.d.ts +0 -3
  148. package/build/components/types/src/components/Icon/IconSearch.d.ts +2 -2
  149. package/build/components/types/src/components/Icon/IconSearchWrapper.d.ts +1 -1
  150. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +259 -252
  151. package/build/components/types/src/components/Link/Link.d.ts +2 -2
  152. package/build/components/types/src/components/Megamenu/Megamenu.d.ts +6 -1
  153. package/build/components/types/src/components/Megamenu/MegamenuBlog.d.ts +2 -1
  154. package/build/components/types/src/components/Megamenu/constants.d.ts +4 -0
  155. package/build/components/types/src/components/Megamenu/static.d.ts +2 -3
  156. package/build/components/types/src/components/Modal/Modal.d.ts +0 -4
  157. package/build/components/types/src/components/Modal/ModalBody.d.ts +3 -3
  158. package/build/components/types/src/components/Modal/ModalProductHeader.d.ts +2 -0
  159. package/build/components/types/src/components/Modal/index.d.ts +0 -1
  160. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -5
  161. package/build/components/types/src/components/Pagination/Separator.d.ts +2 -2
  162. package/build/components/types/src/components/Pill/Pill.d.ts +3 -1
  163. package/build/components/types/src/components/Preview/Preview.d.ts +1 -1
  164. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -0
  165. package/build/components/types/src/components/Preview/index.d.ts +1 -1
  166. package/build/components/types/src/components/Progress/Progress.d.ts +0 -1
  167. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -6
  168. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +3 -3
  169. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  170. package/build/components/types/src/components/SocialButton/SocialButton.d.ts +13 -0
  171. package/build/components/types/src/components/SocialButton/index.d.ts +1 -0
  172. package/build/components/types/src/components/Stepbar/Stepbar.d.ts +0 -2
  173. package/build/components/types/src/components/Table/Row.d.ts +1 -2
  174. package/build/components/types/src/components/Table/Table.d.ts +2 -2
  175. package/build/components/types/src/components/Table/docsData.d.ts +2 -0
  176. package/build/components/types/src/components/Table/types.d.ts +1 -0
  177. package/build/components/types/src/components/Tabs/Tabs.d.ts +0 -2
  178. package/build/components/types/src/components/Tag/Tag.d.ts +0 -2
  179. package/build/components/types/src/components/Tile/Tile.d.ts +2 -1
  180. package/build/components/types/src/components/Tooltip/Tooltip.d.ts +0 -1
  181. package/build/components/types/src/components/Tooltip/tests/BaseWrapper.d.ts +1 -1
  182. package/build/components/types/src/components/index.d.ts +5 -5
  183. package/build/components/types/src/docs/utils/SpacePreview.d.ts +1 -2
  184. package/build/components/types/src/scripts/index.d.ts +12 -3
  185. package/build/components/types/src/scripts/modules/SameHeight.d.ts +3 -0
  186. package/build/components/types/src/styles/export/color.d.ts +105 -0
  187. package/build/fonts/HelveticaNeue-Bold.woff2 +0 -0
  188. package/build/fonts/HelveticaNeue-Light.woff2 +0 -0
  189. package/build/fonts/HelveticaNeue-Roman.woff2 +0 -0
  190. package/build/lib/base.css +3 -0
  191. package/build/lib/base.css.map +1 -0
  192. package/build/lib/components.css +1 -1
  193. package/build/lib/components.css.map +1 -1
  194. package/build/lib/footer.css +2 -0
  195. package/build/lib/footer.css.map +1 -0
  196. package/build/lib/megamenu.css +1 -1
  197. package/build/lib/megamenu.css.map +1 -1
  198. package/build/lib/megamenu.js +1 -1
  199. package/build/lib/megamenu.js.map +1 -1
  200. package/build/lib/scripts.js +1 -9
  201. package/build/lib/scripts.js.map +1 -1
  202. package/build/lib/style.css +1 -1
  203. package/build/lib/style.css.map +1 -1
  204. package/build/lib/tsconfig.tsbuildinfo +1 -1
  205. package/build/lib/utilities.css +2 -0
  206. package/build/lib/utilities.css.map +1 -0
  207. package/build/plan-obnovy.svg +53 -0
  208. package/build/sprite.svg +1 -1
  209. package/package.json +46 -38
  210. package/public/fonts/HelveticaNeue-Bold.woff2 +0 -0
  211. package/public/fonts/HelveticaNeue-Light.woff2 +0 -0
  212. package/public/fonts/HelveticaNeue-Roman.woff2 +0 -0
  213. package/src/assets/icons/ai.svg +6 -0
  214. package/src/assets/icons/article.svg +7 -0
  215. package/src/assets/icons/instagram.svg +5 -1
  216. package/src/assets/icons/linkedin-2.svg +3 -1
  217. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  218. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  219. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  220. package/src/assets/icons/pictogram-activation.svg +10 -11
  221. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  222. package/src/assets/icons/pictogram-archive.svg +3 -4
  223. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  224. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  225. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  226. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  227. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  228. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  229. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  230. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  231. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  232. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  233. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  234. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  235. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  236. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  237. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  238. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  239. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  240. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  241. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  242. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  243. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  244. package/src/assets/icons/pictogram-gift.svg +3 -4
  245. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  246. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  247. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  248. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  249. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  250. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  251. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  252. package/src/assets/icons/pictogram-installation.svg +4 -5
  253. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  254. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  255. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  256. package/src/assets/icons/pictogram-max.svg +3 -4
  257. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  258. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  259. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  260. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  261. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  262. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  263. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  264. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  265. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  266. package/src/assets/icons/pictogram-recycling.svg +14 -15
  267. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  268. package/src/assets/icons/pictogram-repair.svg +12 -13
  269. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  270. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  271. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  272. package/src/assets/icons/pictogram-roaming.svg +3 -4
  273. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  274. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  275. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  276. package/src/assets/icons/pictogram-skylink.svg +10 -11
  277. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  278. package/src/assets/icons/pictogram-sms.svg +5 -6
  279. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  280. package/src/assets/icons/pictogram-theft.svg +3 -7
  281. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  282. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  283. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  284. package/src/assets/icons/pictogram-trust.svg +3 -4
  285. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  286. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  287. package/src/assets/icons/pinterest.svg +4 -0
  288. package/src/assets/icons/play.svg +4 -1
  289. package/src/assets/icons/quote.svg +4 -0
  290. package/src/assets/icons/snapchat.svg +4 -0
  291. package/src/assets/icons/tiktok.svg +4 -0
  292. package/src/assets/icons/whatsapp.svg +4 -0
  293. package/src/components/Accordion/Accordion.static.ts +36 -30
  294. package/src/components/Accordion/Accordion.tsx +4 -4
  295. package/src/components/Accordion/AccordionHeader.tsx +0 -10
  296. package/src/components/Accordion/AccordionItem.tsx +1 -0
  297. package/src/components/Accordion/styles/config.scss +5 -4
  298. package/src/components/Accordion/styles/mixins.scss +12 -11
  299. package/src/components/Accordion/styles/style.scss +2 -2
  300. package/src/components/Accordion/tests/Accordion.unit.test.js +12 -26
  301. package/src/components/Alert/Alert.tsx +0 -6
  302. package/src/components/Alert/styles/config.scss +1 -1
  303. package/src/components/Alert/styles/mixins.scss +3 -1
  304. package/src/components/Alert/tests/Alert.test.js +0 -14
  305. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +296 -72
  306. package/src/components/AnchorNavigation/AnchorNavigation.tsx +21 -26
  307. package/src/components/AnchorNavigation/styles/mixins.scss +23 -32
  308. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +58 -0
  309. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  310. package/src/components/Bar/styles/config.scss +4 -5
  311. package/src/components/Bar/styles/mixins.scss +11 -11
  312. package/src/components/BlockAction/BlockAction.tsx +10 -3
  313. package/src/components/BlockAction/Context.tsx +4 -0
  314. package/src/components/BlockAction/styles/mixins.scss +6 -6
  315. package/src/components/BlockAction/styles/style.scss +5 -0
  316. package/src/components/BodyBanner/BodyBanner.tsx +52 -73
  317. package/src/components/BodyBanner/styles/mixins.scss +39 -33
  318. package/src/components/BodyBanner/styles/style.scss +4 -18
  319. package/src/components/BodyBanner/tests/BodyBanner.conformance.test.js +67 -0
  320. package/src/components/BodyBanner/tests/BodyBanner.unit.test.js +194 -0
  321. package/src/components/Breadcrumbs/BreadcrumbItem.tsx +16 -7
  322. package/src/components/Breadcrumbs/Breadcrumbs.tsx +4 -12
  323. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  324. package/src/components/Breadcrumbs/tests/BreadcrumbItem.unit.test.js +14 -8
  325. package/src/components/Breadcrumbs/tests/Breadcrumbs.integration.test.js +14 -37
  326. package/src/components/Breadcrumbs/tests/Breadcrumbs.unit.test.js +19 -23
  327. package/src/components/Button/Button.tsx +2 -6
  328. package/src/components/Button/styles/config.scss +5 -5
  329. package/src/components/Button/styles/mixins.scss +6 -1
  330. package/src/components/Button/styles/style.scss +4 -0
  331. package/src/components/Button/tests/Button.test.js +0 -10
  332. package/src/components/Buttons/styles/mixins.scss +1 -1
  333. package/src/components/Card/Card.tsx +20 -3
  334. package/src/components/Card/CardSection.tsx +7 -11
  335. package/src/components/Card/index.ts +1 -0
  336. package/src/components/Card/styles/config.scss +2 -2
  337. package/src/components/Card/styles/mixins.scss +8 -6
  338. package/src/components/Card/styles/style.scss +4 -0
  339. package/src/components/Card/tests/Card.unit.test.js +45 -6
  340. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  341. package/src/components/Carousel/Carousel.static.ts +371 -10
  342. package/src/components/Carousel/Carousel.tsx +41 -24
  343. package/src/components/Carousel/constants.ts +2 -0
  344. package/src/components/Carousel/styles/config.scss +1 -2
  345. package/src/components/Carousel/styles/mixins.scss +42 -3
  346. package/src/components/Carousel/styles/style.scss +8 -0
  347. package/src/components/Carousel/tests/Carousel.static.test.js +616 -0
  348. package/src/components/Carousel/tests/Carousel.unit.test.js +117 -12
  349. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  350. package/src/components/CarouselHero/CarouselHero.tsx +139 -0
  351. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  352. package/src/components/CarouselHero/constants.ts +36 -0
  353. package/src/components/CarouselHero/index.ts +2 -0
  354. package/src/components/CarouselHero/styles/config.scss +54 -0
  355. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  356. package/src/components/CarouselHero/styles/style.scss +63 -0
  357. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +129 -0
  358. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +332 -0
  359. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  360. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  361. package/src/components/CarouselPromotions/CarouselPromotions.tsx +1 -6
  362. package/src/components/CarouselPromotions/styles/mixins.scss +8 -5
  363. package/src/components/CarouselPromotions/tests/CarouselPromotions.unit.test.js +0 -17
  364. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  365. package/src/components/CartTable/Price.tsx +1 -1
  366. package/src/components/Code/styles/style.scss +6 -5
  367. package/src/components/Controls/Controls.tsx +2 -7
  368. package/src/components/Controls/styles/config.scss +2 -2
  369. package/src/components/Controls/tests/Controls.test.js +0 -32
  370. package/src/components/Cover/Cover.tsx +22 -20
  371. package/src/components/Cover/styles/config.scss +23 -12
  372. package/src/components/Cover/styles/mixins.scss +6 -5
  373. package/src/components/Cover/tests/Cover.unit.test.js +52 -52
  374. package/src/components/Divider/Divider.tsx +2 -16
  375. package/src/components/Divider/styles/config.scss +0 -17
  376. package/src/components/Divider/styles/mixins.scss +8 -10
  377. package/src/components/Divider/styles/style.scss +2 -16
  378. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  379. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  380. package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +188 -2
  381. package/src/components/DocumentationSidebar/styles/style.scss +76 -3
  382. package/src/components/Dropdown/styles/mixins.scss +1 -1
  383. package/src/components/Expander/Expander.static.ts +11 -12
  384. package/src/components/Expander/Expander.tsx +4 -8
  385. package/src/components/Expander/styles/style.scss +12 -3
  386. package/src/components/Expander/tests/Expander.conformance.test.js +8 -12
  387. package/src/components/Expander/tests/Expander.unit.test.js +37 -47
  388. package/src/components/FeatureAccordion/FeatureAccordion.tsx +3 -13
  389. package/src/components/FeatureAccordion/styles/mixins.scss +6 -14
  390. package/src/components/FeatureAccordion/styles/style.scss +2 -4
  391. package/src/components/FeatureAccordion/tests/FeatureAccordion.conformance.test.js +2 -0
  392. package/src/components/FeatureAccordion/tests/FeatureAccordion.unit.test.js +0 -5
  393. package/src/components/Footer/Footer.tsx +110 -71
  394. package/src/components/Footer/PlanObnovy.tsx +211 -0
  395. package/src/components/Footer/constants.ts +11 -0
  396. package/src/components/Footer/data.ts +27 -0
  397. package/src/components/Footer/styles/config.scss +1 -0
  398. package/src/components/Footer/styles/mixins.scss +182 -0
  399. package/src/components/Footer/styles/style.scss +54 -0
  400. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  401. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  402. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  403. package/src/components/Forms/Field/styles/config.scss +8 -8
  404. package/src/components/Forms/Field/tests/Autocomplete.Field.conformance.test.js +1 -1
  405. package/src/components/Forms/Field/tests/Checkbox.Field.conformance.test.js +1 -0
  406. package/src/components/Forms/Field/tests/File.Field.conformance.test.js +1 -0
  407. package/src/components/Forms/Field/tests/Group.Field.conformance.test.js +1 -0
  408. package/src/components/Forms/Field/tests/Radio.Field.conformance.test.js +1 -0
  409. package/src/components/Forms/Field/tests/Rangeslider.Field.test.js +1 -0
  410. package/src/components/Forms/Field/tests/Select.Field.conformance.test.js +1 -0
  411. package/src/components/Forms/Field/tests/Text.Field.conformance.test.js +1 -0
  412. package/src/components/Forms/Field/tests/Textarea.Field.conformance.test.js +1 -0
  413. package/src/components/Forms/Fieldset/styles/mixins.scss +3 -3
  414. package/src/components/Forms/File/styles/mixins.scss +1 -1
  415. package/src/components/Forms/Group/styles/mixins.scss +14 -0
  416. package/src/components/Forms/InputStepper/InputStepper.tsx +0 -4
  417. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  418. package/src/components/Forms/Label/styles/config.scss +3 -0
  419. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  420. package/src/components/Forms/TextArea/styles/mixins.scss +10 -9
  421. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  422. package/src/components/Forms/styles/config.scss +5 -4
  423. package/src/components/Gauge/styles/style.scss +1 -1
  424. package/src/components/Grid/Grid.tsx +1 -1
  425. package/src/components/Grid/styles/config.scss +5 -3
  426. package/src/components/Grid/styles/mixins.scss +29 -19
  427. package/src/components/Grid/tests/Grid.unit.test.js +11 -0
  428. package/src/components/Hero/Hero.tsx +2 -16
  429. package/src/components/Hero/styles/style.scss +0 -14
  430. package/src/components/Hero/tests/Hero.unit.test.js +109 -119
  431. package/src/components/Icon/iconSearchTags.ts +440 -432
  432. package/src/components/Icon/styles/style.scss +15 -0
  433. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  434. package/src/components/IconList/styles/mixins.scss +5 -5
  435. package/src/components/Image/styles/mixins.scss +2 -2
  436. package/src/components/Link/Link.tsx +4 -5
  437. package/src/components/Link/styles/mixins.scss +9 -3
  438. package/src/components/Link/styles/style.scss +4 -2
  439. package/src/components/Link/tests/Link.conformance.test.js +6 -27
  440. package/src/components/Link/tests/Link.unit.test.js +1 -30
  441. package/src/components/List/styles/config.scss +12 -12
  442. package/src/components/List/styles/mixins.scss +16 -9
  443. package/src/components/Loader/Loader.tsx +2 -10
  444. package/src/components/Loader/styles/mixins.scss +1 -1
  445. package/src/components/Loader/styles/style.scss +6 -4
  446. package/src/components/Megamenu/Megamenu.static.ts +2 -0
  447. package/src/components/Megamenu/Megamenu.tsx +730 -650
  448. package/src/components/Megamenu/MegamenuBlog.tsx +201 -183
  449. package/src/components/Megamenu/constants.ts +4 -0
  450. package/src/components/Megamenu/static.ts +5 -11
  451. package/src/components/Megamenu/styles/mixins.scss +50 -3
  452. package/src/components/Megamenu/styles/style.scss +10 -0
  453. package/src/components/Modal/Modal.tsx +1 -14
  454. package/src/components/Modal/ModalBody.tsx +26 -14
  455. package/src/components/Modal/ModalProductHeader.tsx +6 -2
  456. package/src/components/Modal/index.ts +0 -1
  457. package/src/components/Modal/styles/config.scss +4 -4
  458. package/src/components/Modal/styles/mixins.scss +18 -57
  459. package/src/components/Modal/styles/style.scss +1 -16
  460. package/src/components/Modal/tests/Modal.unit.test.js +0 -59
  461. package/src/components/Modal/tests/ModalBody.unit.test.js +21 -12
  462. package/src/components/Modal/tests/ModalProductHeader.unit.test.js +12 -0
  463. package/src/components/Pagination/Pagination.tsx +3 -13
  464. package/src/components/Pagination/styles/mixins.scss +1 -1
  465. package/src/components/Pill/Pill.tsx +17 -5
  466. package/src/components/Pill/styles/config.scss +2 -1
  467. package/src/components/Pill/styles/style.scss +17 -1
  468. package/src/components/Pill/tests/Pill.conformance.test.js +9 -3
  469. package/src/components/Pill/tests/Pill.unit.test.js +87 -9
  470. package/src/components/Preview/PreviewGenerator.tsx +50 -29
  471. package/src/components/Progress/Progress.tsx +1 -13
  472. package/src/components/Progress/styles/config.scss +4 -4
  473. package/src/components/Progress/styles/mixins.scss +9 -7
  474. package/src/components/PromoBanner/PromoBanner.tsx +70 -43
  475. package/src/components/PromoBanner/styles/mixins.scss +39 -17
  476. package/src/components/PromoBanner/styles/style.scss +5 -7
  477. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +783 -0
  478. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +549 -0
  479. package/src/components/PromotionCard/PromotionCard.tsx +12 -13
  480. package/src/components/PromotionCard/styles/mixins.scss +2 -1
  481. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +566 -0
  482. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +438 -0
  483. package/src/components/Section/Section.tsx +20 -10
  484. package/src/components/Section/styles/config.scss +18 -16
  485. package/src/components/Section/styles/mixins.scss +16 -13
  486. package/src/components/Section/styles/style.scss +1 -0
  487. package/src/components/Section/tests/Section.conformance.test.js +23 -12
  488. package/src/components/Section/tests/Section.unit.test.js +53 -32
  489. package/src/components/SocialButton/SocialButton.tsx +67 -0
  490. package/src/components/SocialButton/index.ts +1 -0
  491. package/src/components/SocialButton/styles/config.scss +172 -0
  492. package/src/components/SocialButton/styles/mixins.scss +42 -0
  493. package/src/components/SocialButton/styles/style.scss +16 -0
  494. package/src/components/SocialButton/tests/SocialButton.unit.test.js +162 -0
  495. package/src/components/Stepbar/Stepbar.tsx +0 -5
  496. package/src/components/Stepbar/styles/mixins.scss +1 -1
  497. package/src/components/Table/Row.tsx +9 -3
  498. package/src/components/Table/Table.tsx +11 -6
  499. package/src/components/Table/TableContext.ts +1 -0
  500. package/src/components/Table/docsData.ts +25 -0
  501. package/src/components/Table/styles/mixins.scss +41 -5
  502. package/src/components/Table/styles/style.scss +6 -0
  503. package/src/components/Table/tests/Table.conformance.test.js +5 -1
  504. package/src/components/Table/tests/Table.unit.test.js +0 -31
  505. package/src/components/Table/types.ts +1 -0
  506. package/src/components/Tabs/Tabs.tsx +0 -5
  507. package/src/components/Tabs/styles/mixins.scss +1 -1
  508. package/src/components/Tabs/tests/Tabs.unit.test.js +0 -8
  509. package/src/components/Tag/Tag.tsx +0 -4
  510. package/src/components/Tag/styles/config.scss +19 -23
  511. package/src/components/Tag/styles/style.scss +33 -0
  512. package/src/components/Tile/CHANGELOG.md +15 -1
  513. package/src/components/Tile/Tile.tsx +11 -3
  514. package/src/components/Tile/styles/config.scss +0 -11
  515. package/src/components/Tile/styles/mixins.scss +1 -0
  516. package/src/components/Tile/styles/style.scss +1 -5
  517. package/src/components/Tile/tests/Tile.unit.test.js +10 -3
  518. package/src/components/Tooltip/InfoTooltip.tsx +1 -5
  519. package/src/components/Tooltip/Tooltip.tsx +1 -10
  520. package/src/components/Tooltip/tests/Tooltip.conformance.test.js +5 -1
  521. package/src/components/Tooltip/tests/Tooltip.unit.test.js +0 -29
  522. package/src/components/index.ts +9 -4
  523. package/src/styles/base/globals-forms.scss +8 -0
  524. package/src/styles/base/globals.scss +26 -22
  525. package/src/styles/base/styleguide.scss +22 -17
  526. package/src/styles/export/base.js +1 -1
  527. package/src/styles/export/color.js +102 -20
  528. package/src/styles/export/color.scss +10 -20
  529. package/src/styles/shame.scss +1 -0
  530. package/src/styles/tokens/color-vars.scss +39 -0
  531. package/src/styles/tokens/color.scss +14 -14
  532. package/src/styles/tokens/tag-colors.scss +20 -0
  533. package/src/styles/typography/config.scss +83 -37
  534. package/src/styles/typography/mixins.scss +29 -15
  535. package/src/styles/typography/style.scss +6 -3
  536. package/src/styles/utilities/border.scss +1 -1
  537. package/src/styles/utilities/color.scss +99 -20
  538. package/src/styles/utilities/horizontal-scroll.scss +1 -1
  539. package/src/styles/utilities/index.scss +1 -0
  540. package/src/styles/utilities/layout.scss +27 -0
  541. package/src/styles/utilities/ordering.scss +44 -0
  542. package/src/styles/utilities/text.scss +44 -2
  543. package/src/styles/utilities/visibility.scss +2 -4
  544. package/build/components/Accordion/index.js +0 -16
  545. package/build/components/Accordion/index.js.map +0 -1
  546. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  547. package/build/components/Alert/index.js +0 -16
  548. package/build/components/Alert/index.js.map +0 -1
  549. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  550. package/build/components/AnchorNavigation/index.js +0 -16
  551. package/build/components/AnchorNavigation/index.js.map +0 -1
  552. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  553. package/build/components/Bar/index.js +0 -16
  554. package/build/components/Bar/index.js.map +0 -1
  555. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  556. package/build/components/BlockAction/index.js +0 -16
  557. package/build/components/BlockAction/index.js.map +0 -1
  558. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  559. package/build/components/BodyBanner/index.js +0 -16
  560. package/build/components/BodyBanner/index.js.map +0 -1
  561. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  562. package/build/components/Breadcrumbs/index.js +0 -16
  563. package/build/components/Breadcrumbs/index.js.map +0 -1
  564. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  565. package/build/components/Button/index.js +0 -16
  566. package/build/components/Button/index.js.map +0 -1
  567. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  568. package/build/components/Buttons/index.js +0 -16
  569. package/build/components/Buttons/index.js.map +0 -1
  570. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  571. package/build/components/Card/index.js +0 -16
  572. package/build/components/Card/index.js.map +0 -1
  573. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  574. package/build/components/Carousel/index.js +0 -16
  575. package/build/components/Carousel/index.js.map +0 -1
  576. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  577. package/build/components/CarouselPromotions/index.js +0 -16
  578. package/build/components/CarouselPromotions/index.js.map +0 -1
  579. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  580. package/build/components/CartTable/index.js +0 -16
  581. package/build/components/CartTable/index.js.map +0 -1
  582. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  583. package/build/components/Code/index.js +0 -11
  584. package/build/components/Code/index.js.map +0 -1
  585. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  586. package/build/components/Container/index.js +0 -16
  587. package/build/components/Container/index.js.map +0 -1
  588. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  589. package/build/components/Controls/index.js +0 -16
  590. package/build/components/Controls/index.js.map +0 -1
  591. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  592. package/build/components/Cover/index.js +0 -16
  593. package/build/components/Cover/index.js.map +0 -1
  594. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  595. package/build/components/Divider/index.js +0 -16
  596. package/build/components/Divider/index.js.map +0 -1
  597. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  598. package/build/components/DocumentationSidebar/index.js +0 -16
  599. package/build/components/DocumentationSidebar/index.js.map +0 -1
  600. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  601. package/build/components/Dropdown/index.js +0 -16
  602. package/build/components/Dropdown/index.js.map +0 -1
  603. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  604. package/build/components/Expander/index.js +0 -16
  605. package/build/components/Expander/index.js.map +0 -1
  606. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  607. package/build/components/FeatureAccordion/index.js +0 -16
  608. package/build/components/FeatureAccordion/index.js.map +0 -1
  609. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  610. package/build/components/Footer/index.js +0 -16
  611. package/build/components/Footer/index.js.map +0 -1
  612. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  613. package/build/components/Forms/index.js +0 -20
  614. package/build/components/Forms/index.js.map +0 -1
  615. package/build/components/Forms/style.css +0 -2
  616. package/build/components/Forms/style.css.map +0 -1
  617. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  618. package/build/components/Gauge/index.js +0 -16
  619. package/build/components/Gauge/index.js.map +0 -1
  620. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  621. package/build/components/Grid/index.js +0 -16
  622. package/build/components/Grid/index.js.map +0 -1
  623. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  624. package/build/components/Hero/index.js +0 -16
  625. package/build/components/Hero/index.js.map +0 -1
  626. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  627. package/build/components/Icon/index.js +0 -11
  628. package/build/components/Icon/index.js.map +0 -1
  629. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  630. package/build/components/IconList/index.js +0 -16
  631. package/build/components/IconList/index.js.map +0 -1
  632. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  633. package/build/components/Image/index.js +0 -16
  634. package/build/components/Image/index.js.map +0 -1
  635. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  636. package/build/components/Link/index.js +0 -7
  637. package/build/components/Link/index.js.map +0 -1
  638. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  639. package/build/components/List/index.js +0 -16
  640. package/build/components/List/index.js.map +0 -1
  641. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  642. package/build/components/Loader/index.js +0 -16
  643. package/build/components/Loader/index.js.map +0 -1
  644. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  645. package/build/components/Megamenu/index.js +0 -16
  646. package/build/components/Megamenu/index.js.map +0 -1
  647. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  648. package/build/components/Modal/index.js +0 -20
  649. package/build/components/Modal/index.js.map +0 -1
  650. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  651. package/build/components/Pagination/index.js +0 -16
  652. package/build/components/Pagination/index.js.map +0 -1
  653. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  654. package/build/components/Pill/index.js +0 -16
  655. package/build/components/Pill/index.js.map +0 -1
  656. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  657. package/build/components/Preview/index.js +0 -77
  658. package/build/components/Preview/index.js.map +0 -1
  659. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  660. package/build/components/Progress/index.js +0 -16
  661. package/build/components/Progress/index.js.map +0 -1
  662. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  663. package/build/components/PromoBanner/index.js +0 -16
  664. package/build/components/PromoBanner/index.js.map +0 -1
  665. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  666. package/build/components/PromotionCard/index.js +0 -16
  667. package/build/components/PromotionCard/index.js.map +0 -1
  668. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  669. package/build/components/Section/index.js +0 -16
  670. package/build/components/Section/index.js.map +0 -1
  671. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  672. package/build/components/Skeleton/index.js +0 -16
  673. package/build/components/Skeleton/index.js.map +0 -1
  674. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  675. package/build/components/SkipLink/index.js +0 -16
  676. package/build/components/SkipLink/index.js.map +0 -1
  677. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  678. package/build/components/Stepbar/index.js +0 -16
  679. package/build/components/Stepbar/index.js.map +0 -1
  680. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  681. package/build/components/Sticker/index.js +0 -16
  682. package/build/components/Sticker/index.js.map +0 -1
  683. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  684. package/build/components/Table/index.js +0 -16
  685. package/build/components/Table/index.js.map +0 -1
  686. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  687. package/build/components/Tabs/index.js +0 -16
  688. package/build/components/Tabs/index.js.map +0 -1
  689. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  690. package/build/components/Tag/index.js +0 -16
  691. package/build/components/Tag/index.js.map +0 -1
  692. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  693. package/build/components/Testimonial/index.js +0 -16
  694. package/build/components/Testimonial/index.js.map +0 -1
  695. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  696. package/build/components/Tile/index.js +0 -16
  697. package/build/components/Tile/index.js.map +0 -1
  698. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  699. package/build/components/Tooltip/index.js +0 -16
  700. package/build/components/Tooltip/index.js.map +0 -1
  701. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  702. package/build/components/index.css +0 -3
  703. package/build/components/index.css.map +0 -1
  704. package/build/components/static.css +0 -2
  705. package/build/components/static.css.map +0 -1
  706. package/build/components/static.js +0 -10
  707. package/build/components/static.js.map +0 -1
  708. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  709. package/build/components/types/src/components/Modal/ModalProductBody.d.ts +0 -10
  710. package/build/lib/after-components.css +0 -2
  711. package/build/lib/after-components.css.map +0 -1
  712. package/build/lib/before-components.css +0 -3
  713. package/build/lib/before-components.css.map +0 -1
  714. package/build/lib/scripts.css +0 -2
  715. package/build/lib/scripts.css.map +0 -1
  716. package/src/components/Accordion/Accordion.mdx +0 -240
  717. package/src/components/Alert/Alert.mdx +0 -141
  718. package/src/components/Bar/Bar.mdx +0 -203
  719. package/src/components/BlockAction/BlockAction.mdx +0 -244
  720. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  721. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  722. package/src/components/Button/Button.mdx +0 -273
  723. package/src/components/Buttons/Buttons.mdx +0 -39
  724. package/src/components/Card/Card.mdx +0 -334
  725. package/src/components/Carousel/Carousel.mdx +0 -159
  726. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  727. package/src/components/CartTable/CartTable.mdx +0 -129
  728. package/src/components/Container/Container.mdx +0 -73
  729. package/src/components/Controls/Controls.mdx +0 -469
  730. package/src/components/Cover/Cover.mdx +0 -87
  731. package/src/components/Divider/Divider.mdx +0 -65
  732. package/src/components/Dropdown/Dropdown.mdx +0 -260
  733. package/src/components/Expander/Expander.mdx +0 -153
  734. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  735. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  736. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  737. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  738. package/src/components/Forms/Field/Field.mdx +0 -383
  739. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  740. package/src/components/Forms/File/File.mdx +0 -88
  741. package/src/components/Forms/FormTooltip.mdx +0 -51
  742. package/src/components/Forms/Forms.mdx +0 -48
  743. package/src/components/Forms/Group/Group.mdx +0 -146
  744. package/src/components/Forms/Hint/Hint.mdx +0 -40
  745. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  746. package/src/components/Forms/Label/Label.mdx +0 -95
  747. package/src/components/Forms/Message/Message.mdx +0 -40
  748. package/src/components/Forms/Radio/Radio.mdx +0 -98
  749. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  750. package/src/components/Forms/Select/Select.mdx +0 -106
  751. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  752. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  753. package/src/components/Gauge/Gauge.mdx +0 -35
  754. package/src/components/Grid/Grid.mdx +0 -320
  755. package/src/components/Hero/Hero.mdx +0 -168
  756. package/src/components/Hero/HeroPlayground.tsx +0 -369
  757. package/src/components/Icon/Icon.mdx +0 -172
  758. package/src/components/IconList/IconList.mdx +0 -53
  759. package/src/components/Image/Image.mdx +0 -175
  760. package/src/components/Link/Link.mdx +0 -238
  761. package/src/components/List/List.mdx +0 -216
  762. package/src/components/Loader/Loader.mdx +0 -148
  763. package/src/components/Modal/Modal.mdx +0 -565
  764. package/src/components/Modal/ModalProductBody.tsx +0 -52
  765. package/src/components/Pagination/Pagination.mdx +0 -45
  766. package/src/components/Pagination/tests/utils.js +0 -12
  767. package/src/components/Pill/Pill.mdx +0 -41
  768. package/src/components/Progress/Progress.mdx +0 -119
  769. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  770. package/src/components/Section/Section.mdx +0 -397
  771. package/src/components/Skeleton/Skeleton.mdx +0 -90
  772. package/src/components/SkipLink/SkipLink.mdx +0 -23
  773. package/src/components/Stepbar/Stepbar.mdx +0 -137
  774. package/src/components/Sticker/Sticker.mdx +0 -50
  775. package/src/components/Table/Table.mdx +0 -199
  776. package/src/components/Tabs/Tabs.mdx +0 -373
  777. package/src/components/Tag/Tag.mdx +0 -52
  778. package/src/components/Testimonial/Testimonial.mdx +0 -41
  779. package/src/components/Tile/Tile.mdx +0 -163
  780. package/src/components/Tooltip/Tooltip.mdx +0 -227
  781. package/src/styles/after-components.scss +0 -2
  782. package/src/styles/before-components.scss +0 -18
  783. /package/build/lib/{after-components.js → base.js} +0 -0
  784. /package/build/lib/{before-components.js → utilities.js} +0 -0
@@ -0,0 +1,616 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+
5
+ import { Swiper } from "swiper";
6
+ import Carousel from "../Carousel.static";
7
+
8
+ // Mock Swiper
9
+ jest.mock("swiper", () => ({
10
+ Swiper: jest.fn().mockImplementation(() => ({
11
+ slideNext: jest.fn(),
12
+ slidePrev: jest.fn(),
13
+ destroy: jest.fn(),
14
+ update: jest.fn(),
15
+ on: jest.fn(),
16
+ enable: jest.fn(),
17
+ disable: jest.fn(),
18
+ activeIndex: 0,
19
+ isBeginning: true,
20
+ isEnd: false,
21
+ slides: [{}, {}, {}],
22
+ params: {
23
+ slidesPerView: 1,
24
+ },
25
+ })),
26
+ }));
27
+
28
+ // Mock Swiper modules
29
+ jest.mock("swiper/modules", () => ({
30
+ Navigation: {},
31
+ Pagination: {},
32
+ Scrollbar: {},
33
+ A11y: {},
34
+ Keyboard: {},
35
+ }));
36
+
37
+ describe("Carousel Static - External Controls", () => {
38
+ let carouselElement;
39
+ let carouselInstance;
40
+ let mockSwiperInstance;
41
+
42
+ beforeEach(() => {
43
+ // Clear all mocks
44
+ jest.clearAllMocks();
45
+
46
+ // Create mock Swiper instance
47
+ mockSwiperInstance = {
48
+ slideNext: jest.fn(),
49
+ slidePrev: jest.fn(),
50
+ destroy: jest.fn(),
51
+ update: jest.fn(),
52
+ on: jest.fn(),
53
+ enable: jest.fn(),
54
+ disable: jest.fn(),
55
+ activeIndex: 0,
56
+ isBeginning: true,
57
+ isEnd: false,
58
+ slides: [{}, {}, {}],
59
+ params: {
60
+ slidesPerView: 1,
61
+ },
62
+ };
63
+
64
+ Swiper.mockImplementation(() => mockSwiperInstance);
65
+
66
+ // Set up DOM
67
+ document.body.innerHTML = `
68
+ <div class="carousel" data-carousel-id="test-carousel" id="test-carousel">
69
+ <div class="carousel__viewport">
70
+ <div class="carousel__track">
71
+ <div class="carousel__slide">Slide 1</div>
72
+ <div class="carousel__slide">Slide 2</div>
73
+ <div class="carousel__slide">Slide 3</div>
74
+ </div>
75
+ </div>
76
+ <div class="carousel__pagination"></div>
77
+ </div>
78
+ <button data-carousel-controls="test-carousel" data-carousel-action="prev" id="prev-btn">Previous</button>
79
+ <button data-carousel-controls="test-carousel" data-carousel-action="next" id="next-btn">Next</button>
80
+ `;
81
+
82
+ carouselElement = document.querySelector(".carousel");
83
+
84
+ // Mock requestAnimationFrame to execute synchronously
85
+ global.requestAnimationFrame = jest.fn((cb) => cb());
86
+
87
+ carouselInstance = new Carousel(carouselElement);
88
+ });
89
+
90
+ afterEach(() => {
91
+ document.body.innerHTML = "";
92
+ // Restore requestAnimationFrame
93
+ global.requestAnimationFrame = undefined;
94
+ });
95
+
96
+ describe("External Controls Initialization", () => {
97
+ it("should find and initialize external controls", () => {
98
+ const prevButton = document.getElementById("prev-btn");
99
+ const nextButton = document.getElementById("next-btn");
100
+
101
+ expect(prevButton.hasAttribute("data-carousel-initialized")).toBe(true);
102
+ expect(nextButton.hasAttribute("data-carousel-initialized")).toBe(true);
103
+ expect(prevButton.getAttribute("aria-label")).toBe(
104
+ "Predchádzajúci snímok",
105
+ );
106
+ expect(nextButton.getAttribute("aria-label")).toBe("Nasledujúci snímok");
107
+ expect(prevButton.getAttribute("type")).toBe("button");
108
+ expect(nextButton.getAttribute("type")).toBe("button");
109
+ });
110
+
111
+ it("should not initialize controls without carousel ID", () => {
112
+ // Create carousel without ID
113
+ document.body.innerHTML = `
114
+ <div class="carousel">
115
+ <div class="carousel__viewport">
116
+ <div class="carousel__track">
117
+ <div class="carousel__slide">Slide 1</div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ <button data-carousel-controls="missing-carousel" data-carousel-action="next">Next</button>
122
+ `;
123
+
124
+ const element = document.querySelector(".carousel");
125
+ new Carousel(element);
126
+ const button = document.querySelector("button");
127
+
128
+ expect(button.hasAttribute("data-carousel-initialized")).toBe(false);
129
+ });
130
+
131
+ it("should skip already initialized controls", () => {
132
+ // Mark button as already initialized
133
+ const prevButton = document.getElementById("prev-btn");
134
+ prevButton.setAttribute("data-carousel-initialized", "true");
135
+
136
+ // Create new carousel instance
137
+ new Carousel(carouselElement);
138
+
139
+ // Should not double-initialize
140
+ expect(prevButton.getAttribute("data-carousel-initialized")).toBe("true");
141
+ });
142
+ });
143
+
144
+ describe("External Controls Navigation", () => {
145
+ it("should call slideNext when next button is clicked", () => {
146
+ const nextButton = document.getElementById("next-btn");
147
+ nextButton.click();
148
+
149
+ expect(mockSwiperInstance.slideNext).toHaveBeenCalledTimes(1);
150
+ });
151
+
152
+ it("should call slidePrev when prev button is clicked", () => {
153
+ // Ensure button is not disabled by setting carousel state
154
+ mockSwiperInstance.isBeginning = false;
155
+ mockSwiperInstance.isEnd = false;
156
+ carouselInstance.updateExternalControlsState();
157
+
158
+ const prevButton = document.getElementById("prev-btn");
159
+ prevButton.click();
160
+
161
+ expect(mockSwiperInstance.slidePrev).toHaveBeenCalledTimes(1);
162
+ });
163
+
164
+ it("should prevent default behavior on button click", () => {
165
+ const nextButton = document.getElementById("next-btn");
166
+ const mockEvent = new Event("click");
167
+ mockEvent.preventDefault = jest.fn();
168
+
169
+ nextButton.dispatchEvent(mockEvent);
170
+
171
+ expect(mockEvent.preventDefault).toHaveBeenCalled();
172
+ });
173
+
174
+ it("should not navigate when button is disabled", () => {
175
+ const nextButton = document.getElementById("next-btn");
176
+ nextButton.setAttribute("disabled", "true");
177
+
178
+ nextButton.click();
179
+
180
+ expect(mockSwiperInstance.slideNext).not.toHaveBeenCalled();
181
+ });
182
+ });
183
+
184
+ describe("External Controls State Management", () => {
185
+ it("should disable prev button when at beginning", () => {
186
+ mockSwiperInstance.isBeginning = true;
187
+ mockSwiperInstance.isEnd = false;
188
+
189
+ carouselInstance.updateExternalControlsState();
190
+
191
+ const prevButton = document.getElementById("prev-btn");
192
+ const nextButton = document.getElementById("next-btn");
193
+
194
+ expect(prevButton.hasAttribute("disabled")).toBe(true);
195
+ expect(prevButton.getAttribute("aria-disabled")).toBe("true");
196
+
197
+ expect(nextButton.hasAttribute("disabled")).toBe(false);
198
+ expect(nextButton.getAttribute("aria-disabled")).toBe("false");
199
+ });
200
+
201
+ it("should disable next button when at end", () => {
202
+ mockSwiperInstance.isBeginning = false;
203
+ mockSwiperInstance.isEnd = true;
204
+ mockSwiperInstance.activeIndex = 2; // Set to last slide so activeIndex + slidesPerView >= slidesCount
205
+
206
+ carouselInstance.updateExternalControlsState();
207
+
208
+ const prevButton = document.getElementById("prev-btn");
209
+ const nextButton = document.getElementById("next-btn");
210
+
211
+ expect(nextButton.hasAttribute("disabled")).toBe(true);
212
+ expect(nextButton.getAttribute("aria-disabled")).toBe("true");
213
+
214
+ expect(prevButton.hasAttribute("disabled")).toBe(false);
215
+ expect(prevButton.getAttribute("aria-disabled")).toBe("false");
216
+ });
217
+
218
+ it("should enable both buttons when in middle", () => {
219
+ mockSwiperInstance.isBeginning = false;
220
+ mockSwiperInstance.isEnd = false;
221
+
222
+ carouselInstance.updateExternalControlsState();
223
+
224
+ const prevButton = document.getElementById("prev-btn");
225
+ const nextButton = document.getElementById("next-btn");
226
+
227
+ expect(prevButton.hasAttribute("disabled")).toBe(false);
228
+ expect(nextButton.hasAttribute("disabled")).toBe(false);
229
+ expect(prevButton.getAttribute("aria-disabled")).toBe("false");
230
+ expect(nextButton.getAttribute("aria-disabled")).toBe("false");
231
+ });
232
+
233
+ it("should update controls state on slide change transition end", () => {
234
+ const updateStatesSpy = jest.spyOn(
235
+ carouselInstance,
236
+ "updateExternalControlsState",
237
+ );
238
+
239
+ // Get the slideChangeTransitionEnd callback from Swiper initialization
240
+ const swiperOnCallArgs = mockSwiperInstance.on.mock.calls.find(
241
+ (call) => call[0] === "slideChangeTransitionEnd",
242
+ );
243
+
244
+ if (swiperOnCallArgs) {
245
+ const callback = swiperOnCallArgs[1];
246
+ callback();
247
+ expect(updateStatesSpy).toHaveBeenCalled();
248
+ }
249
+ });
250
+ });
251
+
252
+ describe("Multiple Control Sets", () => {
253
+ beforeEach(() => {
254
+ document.body.innerHTML = `
255
+ <div class="carousel" data-carousel-id="test-carousel">
256
+ <div class="carousel__viewport">
257
+ <div class="carousel__track">
258
+ <div class="carousel__slide">Slide 1</div>
259
+ <div class="carousel__slide">Slide 2</div>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ <button data-carousel-controls="test-carousel" data-carousel-action="prev" id="prev-btn-1">Prev 1</button>
264
+ <button data-carousel-controls="test-carousel" data-carousel-action="next" id="next-btn-1">Next 1</button>
265
+ <button data-carousel-controls="test-carousel" data-carousel-action="prev" id="prev-btn-2">Prev 2</button>
266
+ <button data-carousel-controls="test-carousel" data-carousel-action="next" id="next-btn-2">Next 2</button>
267
+ `;
268
+
269
+ carouselElement = document.querySelector(".carousel");
270
+
271
+ // Mock requestAnimationFrame to execute synchronously
272
+ global.requestAnimationFrame = jest.fn((cb) => cb());
273
+
274
+ carouselInstance = new Carousel(carouselElement);
275
+ });
276
+
277
+ it("should initialize multiple control sets", () => {
278
+ const buttons = document.querySelectorAll(
279
+ '[data-carousel-controls="test-carousel"]',
280
+ );
281
+
282
+ buttons.forEach((button) => {
283
+ expect(button.hasAttribute("data-carousel-initialized")).toBe(true);
284
+ });
285
+ });
286
+
287
+ it("should update state for all control sets", () => {
288
+ mockSwiperInstance.isBeginning = true;
289
+ mockSwiperInstance.isEnd = false;
290
+
291
+ carouselInstance.updateExternalControlsState();
292
+
293
+ const prevButtons = document.querySelectorAll(
294
+ '[data-carousel-action="prev"]',
295
+ );
296
+ const nextButtons = document.querySelectorAll(
297
+ '[data-carousel-action="next"]',
298
+ );
299
+
300
+ prevButtons.forEach((button) => {
301
+ expect(button.hasAttribute("disabled")).toBe(true);
302
+ expect(button.getAttribute("aria-disabled")).toBe("true");
303
+ });
304
+
305
+ nextButtons.forEach((button) => {
306
+ expect(button.hasAttribute("disabled")).toBe(false);
307
+ expect(button.getAttribute("aria-disabled")).toBe("false");
308
+ });
309
+ });
310
+ });
311
+
312
+ describe("Cleanup", () => {
313
+ it("should clean up external controls on destroy", () => {
314
+ const prevButton = document.getElementById("prev-btn");
315
+ const nextButton = document.getElementById("next-btn");
316
+
317
+ // Verify controls are initialized
318
+ expect(prevButton.hasAttribute("data-carousel-initialized")).toBe(true);
319
+ expect(nextButton.hasAttribute("data-carousel-initialized")).toBe(true);
320
+
321
+ // Destroy carousel
322
+ carouselInstance.destroy();
323
+
324
+ // Verify cleanup
325
+ expect(prevButton.hasAttribute("data-carousel-initialized")).toBe(false);
326
+ expect(nextButton.hasAttribute("data-carousel-initialized")).toBe(false);
327
+ expect(mockSwiperInstance.destroy).toHaveBeenCalled();
328
+ });
329
+
330
+ it("should remove event listeners on destroy", () => {
331
+ const nextButton = document.getElementById("next-btn");
332
+
333
+ // Store reference to click handler
334
+ const clickHandler = nextButton._carouselClickHandler;
335
+ expect(clickHandler).toBeDefined();
336
+
337
+ carouselInstance.destroy();
338
+
339
+ // Handler reference should be removed
340
+ expect(nextButton._carouselClickHandler).toBeUndefined();
341
+ });
342
+ });
343
+
344
+ describe("Static Methods", () => {
345
+ it("should get instance by ID", () => {
346
+ const foundInstance = Carousel.getInstanceById("test-carousel");
347
+ expect(foundInstance).toBe(carouselInstance);
348
+ });
349
+
350
+ it("should get instance by data-carousel-id", () => {
351
+ document.body.innerHTML = `
352
+ <div class="carousel" data-carousel-id="data-id-carousel">
353
+ <div class="carousel__viewport">
354
+ <div class="carousel__track">
355
+ <div class="carousel__slide">Slide 1</div>
356
+ </div>
357
+ </div>
358
+ </div>
359
+ `;
360
+
361
+ const element = document.querySelector(".carousel");
362
+ const instance = new Carousel(element);
363
+ const foundInstance = Carousel.getInstanceById("data-id-carousel");
364
+
365
+ expect(foundInstance).toBe(instance);
366
+ });
367
+
368
+ it("should return null for non-existent carousel", () => {
369
+ const foundInstance = Carousel.getInstanceById("non-existent");
370
+ expect(foundInstance).toBe(null);
371
+ });
372
+ });
373
+
374
+ describe("Edge Cases", () => {
375
+ it("should handle controls without valid action", () => {
376
+ document.body.innerHTML = `
377
+ <div class="carousel" data-carousel-id="test-carousel">
378
+ <div class="carousel__viewport">
379
+ <div class="carousel__track">
380
+ <div class="carousel__slide">Slide 1</div>
381
+ </div>
382
+ </div>
383
+ </div>
384
+ <button data-carousel-controls="test-carousel" data-carousel-action="invalid">Invalid</button>
385
+ `;
386
+
387
+ const element = document.querySelector(".carousel");
388
+ new Carousel(element);
389
+
390
+ const button = document.querySelector("button");
391
+ button.click();
392
+
393
+ // Should not crash and should not call slideNext/slidePrev
394
+ expect(mockSwiperInstance.slideNext).not.toHaveBeenCalled();
395
+ expect(mockSwiperInstance.slidePrev).not.toHaveBeenCalled();
396
+ });
397
+
398
+ it("should handle updateExternalControlsState without instance", () => {
399
+ carouselInstance.instance = null;
400
+
401
+ // Should not crash
402
+ expect(() => {
403
+ carouselInstance.updateExternalControlsState();
404
+ }).not.toThrow();
405
+ });
406
+
407
+ it("should handle updateExternalControlsState without carouselId", () => {
408
+ carouselInstance.carouselId = null;
409
+
410
+ // Should not crash
411
+ expect(() => {
412
+ carouselInstance.updateExternalControlsState();
413
+ }).not.toThrow();
414
+ });
415
+ });
416
+ });
417
+
418
+ describe("Carousel Static - Auto-Disable Feature", () => {
419
+ let carouselElement;
420
+ let carouselInstance;
421
+ let mockSwiperInstance;
422
+
423
+ beforeEach(() => {
424
+ jest.clearAllMocks();
425
+
426
+ // Create mock Swiper instance with slides array
427
+ mockSwiperInstance = {
428
+ slideNext: jest.fn(),
429
+ slidePrev: jest.fn(),
430
+ destroy: jest.fn(),
431
+ update: jest.fn(),
432
+ on: jest.fn(),
433
+ enable: jest.fn(),
434
+ disable: jest.fn(),
435
+ activeIndex: 0,
436
+ isBeginning: true,
437
+ isEnd: false,
438
+ slides: [], // Will be populated in tests
439
+ params: {
440
+ slidesPerView: 1.2,
441
+ },
442
+ };
443
+
444
+ Swiper.mockImplementation(() => mockSwiperInstance);
445
+
446
+ document.body.innerHTML = `
447
+ <div class="carousel" data-carousel-id="test-carousel" id="test-carousel">
448
+ <div class="carousel__viewport">
449
+ <div class="carousel__track">
450
+ <div class="carousel__slide">Slide 1</div>
451
+ <div class="carousel__slide">Slide 2</div>
452
+ <div class="carousel__slide">Slide 3</div>
453
+ </div>
454
+ </div>
455
+ <div class="carousel__pagination"></div>
456
+ </div>
457
+ `;
458
+
459
+ carouselElement = document.querySelector(".carousel");
460
+ global.requestAnimationFrame = jest.fn((cb) => cb());
461
+ });
462
+
463
+ afterEach(() => {
464
+ document.body.innerHTML = "";
465
+ global.requestAnimationFrame = undefined;
466
+ });
467
+
468
+ describe("Auto-disable when content fits", () => {
469
+ it("should enable carousel when more slides than slidesPerView", () => {
470
+ // 3 slides, slidesPerView 1.2
471
+ mockSwiperInstance.slides = [
472
+ document.createElement("div"),
473
+ document.createElement("div"),
474
+ document.createElement("div"),
475
+ ];
476
+ mockSwiperInstance.params.slidesPerView = 1.2;
477
+
478
+ carouselInstance = new Carousel(carouselElement);
479
+
480
+ expect(mockSwiperInstance.enable).toHaveBeenCalled();
481
+ });
482
+
483
+ it("should disable carousel when slides match slidesPerView", () => {
484
+ // 2 slides, slidesPerView 2
485
+ mockSwiperInstance.slides = [
486
+ document.createElement("div"),
487
+ document.createElement("div"),
488
+ ];
489
+ mockSwiperInstance.params.slidesPerView = 2;
490
+
491
+ carouselInstance = new Carousel(carouselElement);
492
+
493
+ expect(mockSwiperInstance.disable).toHaveBeenCalled();
494
+ });
495
+
496
+ it("should disable carousel when slides less than slidesPerView", () => {
497
+ // 1 slide, slidesPerView 3
498
+ mockSwiperInstance.slides = [document.createElement("div")];
499
+ mockSwiperInstance.params.slidesPerView = 3;
500
+
501
+ carouselInstance = new Carousel(carouselElement);
502
+
503
+ expect(mockSwiperInstance.disable).toHaveBeenCalled();
504
+ });
505
+
506
+ it("should enable carousel when slides exceed slidesPerView by more than 1", () => {
507
+ // 5 slides, slidesPerView 2
508
+ mockSwiperInstance.slides = [
509
+ document.createElement("div"),
510
+ document.createElement("div"),
511
+ document.createElement("div"),
512
+ document.createElement("div"),
513
+ document.createElement("div"),
514
+ ];
515
+ mockSwiperInstance.params.slidesPerView = 2;
516
+
517
+ carouselInstance = new Carousel(carouselElement);
518
+
519
+ expect(mockSwiperInstance.enable).toHaveBeenCalled();
520
+ });
521
+ });
522
+
523
+ describe("Update state on resize/breakpoint change", () => {
524
+ it("should update carousel enabled state on resize event", () => {
525
+ mockSwiperInstance.slides = [
526
+ document.createElement("div"),
527
+ document.createElement("div"),
528
+ ];
529
+ mockSwiperInstance.params.slidesPerView = 2;
530
+
531
+ carouselInstance = new Carousel(carouselElement);
532
+
533
+ // Clear previous calls
534
+ mockSwiperInstance.disable.mockClear();
535
+ mockSwiperInstance.enable.mockClear();
536
+
537
+ // Simulate resize event with different breakpoint
538
+ mockSwiperInstance.slides = [
539
+ document.createElement("div"),
540
+ document.createElement("div"),
541
+ document.createElement("div"),
542
+ document.createElement("div"),
543
+ ];
544
+ mockSwiperInstance.params.slidesPerView = 3;
545
+
546
+ // Get the resize callback
547
+ const resizeCallback = mockSwiperInstance.on.mock.calls.find(
548
+ (call) => call[0] === "resize",
549
+ );
550
+ if (resizeCallback) {
551
+ resizeCallback[1]();
552
+ expect(mockSwiperInstance.enable).toHaveBeenCalled();
553
+ }
554
+ });
555
+
556
+ it("should handle resize with decimal slidesPerView", () => {
557
+ mockSwiperInstance.slides = [
558
+ document.createElement("div"),
559
+ document.createElement("div"),
560
+ document.createElement("div"),
561
+ document.createElement("div"),
562
+ ];
563
+ mockSwiperInstance.params.slidesPerView = 2.5;
564
+
565
+ carouselInstance = new Carousel(carouselElement);
566
+
567
+ // 4 slides > 2.5, should be enabled
568
+ expect(mockSwiperInstance.enable).toHaveBeenCalled();
569
+ });
570
+ });
571
+
572
+ describe("Edge cases for auto-disable", () => {
573
+ it("should handle carousel with no slides", () => {
574
+ mockSwiperInstance.slides = [];
575
+ mockSwiperInstance.params.slidesPerView = 1;
576
+
577
+ carouselInstance = new Carousel(carouselElement);
578
+
579
+ expect(mockSwiperInstance.disable).toHaveBeenCalled();
580
+ });
581
+
582
+ it("should handle slidesPerView as string number", () => {
583
+ mockSwiperInstance.slides = [
584
+ document.createElement("div"),
585
+ document.createElement("div"),
586
+ ];
587
+ mockSwiperInstance.params.slidesPerView = "2";
588
+
589
+ carouselInstance = new Carousel(carouselElement);
590
+
591
+ expect(mockSwiperInstance.disable).toHaveBeenCalled();
592
+ });
593
+
594
+ it("should default to slidesPerView 1 if not specified", () => {
595
+ mockSwiperInstance.slides = [
596
+ document.createElement("div"),
597
+ document.createElement("div"),
598
+ ];
599
+ mockSwiperInstance.params.slidesPerView = undefined;
600
+
601
+ carouselInstance = new Carousel(carouselElement);
602
+
603
+ // 2 slides > 1 (default), should be enabled
604
+ expect(mockSwiperInstance.enable).toHaveBeenCalled();
605
+ });
606
+
607
+ it("should not crash if updateCarouselEnabledState called without instance", () => {
608
+ carouselInstance = new Carousel(carouselElement);
609
+ carouselInstance.instance = null;
610
+
611
+ expect(() => {
612
+ carouselInstance.updateCarouselEnabledState();
613
+ }).not.toThrow();
614
+ });
615
+ });
616
+ });