@orangesk/orange-design-system 2.0.0-beta.0 → 2.0.0-beta.10

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 (572) hide show
  1. package/build/components/index.css +1 -2
  2. package/build/components/index.css.map +1 -1
  3. package/build/components/index.js +7 -7
  4. package/build/components/index.js.map +1 -1
  5. package/build/components/tsconfig.tsbuildinfo +1 -1
  6. package/build/components/types/index.d.ts +1508 -0
  7. package/build/components/types/src/components/Accordion/Accordion.d.ts +2 -0
  8. package/build/components/types/src/components/Accordion/AccordionHeader.d.ts +2 -1
  9. package/build/components/types/src/components/Accordion/AccordionItem.d.ts +2 -1
  10. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +1 -1
  11. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +19 -17
  12. package/build/components/types/src/components/AnchorNavigation/index.d.ts +0 -1
  13. package/build/components/types/src/components/BlockAction/index.d.ts +0 -1
  14. package/build/components/types/src/components/BodyBanner/index.d.ts +0 -1
  15. package/build/components/types/src/components/Button/Button.d.ts +1 -0
  16. package/build/components/types/src/components/Button/index.d.ts +0 -1
  17. package/build/components/types/src/components/Card/Card.d.ts +2 -4
  18. package/build/components/types/src/components/Card/CardSection.d.ts +2 -2
  19. package/build/components/types/src/components/Carousel/Carousel.d.ts +4 -0
  20. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +1 -0
  21. package/build/components/types/src/components/Carousel/constants.d.ts +2 -0
  22. package/build/components/types/src/components/CarouselHero/CarouselHero.d.ts +18 -0
  23. package/build/components/types/src/components/CarouselHero/CarouselHero.static.d.ts +47 -0
  24. package/build/components/types/src/components/CarouselHero/CarouselHeroItem.d.ts +8 -0
  25. package/build/components/types/src/components/CarouselHero/constants.d.ts +33 -0
  26. package/build/components/types/src/components/CarouselHero/index.d.ts +2 -0
  27. package/build/components/types/src/components/Cover/index.d.ts +1 -2
  28. package/build/components/types/src/components/Divider/Divider.d.ts +0 -4
  29. package/build/components/types/src/components/Expander/Expander.d.ts +2 -2
  30. package/build/components/types/src/components/Footer/Footer.d.ts +1 -5
  31. package/build/components/types/src/components/Footer/constants.d.ts +9 -0
  32. package/build/components/types/src/components/Forms/Select/index.d.ts +0 -1
  33. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +253 -251
  34. package/build/components/types/src/components/IconList/index.d.ts +2 -3
  35. package/build/components/types/src/components/List/index.d.ts +2 -3
  36. package/build/components/types/src/components/Megamenu/MegaMenuIcon.d.ts +13 -0
  37. package/build/components/types/src/components/Megamenu/Megamenu.d.ts +1 -9
  38. package/build/components/types/src/components/Megamenu/Megamenu.static.d.ts +47 -0
  39. package/build/components/types/src/components/Megamenu/MegamenuBlog.d.ts +1 -0
  40. package/build/components/types/src/components/Megamenu/constants.d.ts +48 -0
  41. package/build/components/types/src/components/Megamenu/index.d.ts +2 -3
  42. package/build/components/types/src/components/Megamenu/static.d.ts +22 -0
  43. package/build/components/types/src/components/Modal/Modal.d.ts +6 -0
  44. package/build/components/types/src/components/Modal/ModalBody.d.ts +4 -3
  45. package/build/components/types/src/components/Modal/ModalProductBody.d.ts +10 -0
  46. package/build/components/types/src/components/Modal/ModalProductFooter.d.ts +10 -0
  47. package/build/components/types/src/components/Modal/index.d.ts +2 -0
  48. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  49. package/build/components/types/src/components/Pill/Pill.d.ts +4 -1
  50. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  51. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -5
  52. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +2 -2
  53. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  54. package/build/components/types/src/components/Tag/Tag.d.ts +9 -2
  55. package/build/components/types/src/components/index.d.ts +3 -5
  56. package/build/components/types/src/scripts/index.d.ts +10 -0
  57. package/build/lib/after-components.css +1 -1
  58. package/build/lib/after-components.css.map +1 -1
  59. package/build/lib/before-components.css +1 -1
  60. package/build/lib/before-components.css.map +1 -1
  61. package/build/lib/components.css +1 -1
  62. package/build/lib/components.css.map +1 -1
  63. package/build/lib/footer.css +2 -0
  64. package/build/lib/footer.css.map +1 -0
  65. package/build/lib/megamenu.css +2 -0
  66. package/build/lib/megamenu.css.map +1 -0
  67. package/build/lib/megamenu.js +2 -0
  68. package/build/lib/megamenu.js.map +1 -0
  69. package/build/lib/scripts.css +1 -1
  70. package/build/lib/scripts.css.map +1 -1
  71. package/build/lib/scripts.js +5 -5
  72. package/build/lib/scripts.js.map +1 -1
  73. package/build/lib/style.css +1 -1
  74. package/build/lib/style.css.map +1 -1
  75. package/build/lib/tsconfig.tsbuildinfo +1 -1
  76. package/build/logo-line.svg +5 -0
  77. package/build/sprite.svg +1 -1
  78. package/package.json +35 -29
  79. package/src/assets/icons/ai.svg +6 -0
  80. package/src/assets/icons/article.svg +7 -0
  81. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  82. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  83. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  84. package/src/assets/icons/pictogram-activation.svg +10 -11
  85. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  86. package/src/assets/icons/pictogram-archive.svg +3 -4
  87. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  88. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  89. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  90. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  91. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  92. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  93. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  94. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  95. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  96. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  97. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  98. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  99. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  100. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  101. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  102. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  103. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  104. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  105. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  106. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  107. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  108. package/src/assets/icons/pictogram-gift.svg +3 -4
  109. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  110. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  111. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  112. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  113. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  114. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  115. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  116. package/src/assets/icons/pictogram-installation.svg +4 -5
  117. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  118. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  119. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  120. package/src/assets/icons/pictogram-max.svg +3 -4
  121. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  122. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  123. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  124. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  125. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  126. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  127. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  128. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  129. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  130. package/src/assets/icons/pictogram-recycling.svg +14 -15
  131. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  132. package/src/assets/icons/pictogram-repair.svg +12 -13
  133. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  134. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  135. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  136. package/src/assets/icons/pictogram-roaming.svg +3 -4
  137. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  138. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  139. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  140. package/src/assets/icons/pictogram-skylink.svg +10 -11
  141. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  142. package/src/assets/icons/pictogram-sms.svg +5 -6
  143. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  144. package/src/assets/icons/pictogram-theft.svg +3 -7
  145. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  146. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  147. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  148. package/src/assets/icons/pictogram-trust.svg +3 -4
  149. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  150. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  151. package/src/components/Accordion/Accordion.tsx +4 -0
  152. package/src/components/Accordion/AccordionHeader.tsx +9 -2
  153. package/src/components/Accordion/AccordionItem.tsx +5 -2
  154. package/src/components/Accordion/styles/config.scss +4 -4
  155. package/src/components/Accordion/styles/mixins.scss +9 -3
  156. package/src/components/Accordion/styles/style.scss +4 -0
  157. package/src/components/Accordion/tests/Accordion.unit.test.js +11 -0
  158. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +253 -73
  159. package/src/components/AnchorNavigation/AnchorNavigation.tsx +20 -16
  160. package/src/components/AnchorNavigation/index.tsx +0 -2
  161. package/src/components/AnchorNavigation/styles/mixins.scss +14 -27
  162. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +67 -0
  163. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  164. package/src/components/Bar/styles/config.scss +4 -5
  165. package/src/components/BlockAction/index.tsx +0 -2
  166. package/src/components/BlockAction/styles/mixins.scss +0 -6
  167. package/src/components/BodyBanner/index.tsx +0 -2
  168. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  169. package/src/components/Button/Button.tsx +2 -2
  170. package/src/components/Button/index.tsx +0 -2
  171. package/src/components/Button/styles/config.scss +1 -1
  172. package/src/components/Button/styles/mixins.scss +5 -0
  173. package/src/components/Button/styles/style.scss +4 -0
  174. package/src/components/Card/Card.tsx +20 -8
  175. package/src/components/Card/CardSection.tsx +7 -11
  176. package/src/components/Card/styles/config.scss +1 -1
  177. package/src/components/Card/styles/mixins.scss +8 -6
  178. package/src/components/Card/styles/style.scss +4 -0
  179. package/src/components/Card/tests/Card.unit.test.js +45 -11
  180. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  181. package/src/components/Carousel/Carousel.static.ts +67 -1
  182. package/src/components/Carousel/Carousel.tsx +41 -19
  183. package/src/components/Carousel/constants.ts +2 -0
  184. package/src/components/Carousel/styles/config.scss +1 -2
  185. package/src/components/Carousel/styles/mixins.scss +35 -2
  186. package/src/components/Carousel/styles/style.scss +8 -0
  187. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  188. package/src/components/CarouselHero/CarouselHero.tsx +147 -0
  189. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  190. package/src/components/CarouselHero/constants.ts +36 -0
  191. package/src/components/CarouselHero/index.ts +2 -0
  192. package/src/components/CarouselHero/styles/config.scss +54 -0
  193. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  194. package/src/components/CarouselHero/styles/style.scss +63 -0
  195. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +130 -0
  196. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +346 -0
  197. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  198. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  199. package/src/components/CarouselPromotions/styles/mixins.scss +10 -3
  200. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  201. package/src/components/CartTable/Price.tsx +1 -1
  202. package/src/components/Controls/styles/config.scss +2 -2
  203. package/src/components/Controls/tests/Controls.test.js +0 -9
  204. package/src/components/Cover/index.ts +1 -2
  205. package/src/components/Divider/Divider.tsx +2 -16
  206. package/src/components/Divider/styles/config.scss +0 -17
  207. package/src/components/Divider/styles/mixins.scss +8 -10
  208. package/src/components/Divider/styles/style.scss +2 -16
  209. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  210. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  211. package/src/components/Dropdown/styles/mixins.scss +1 -1
  212. package/src/components/Expander/Expander.tsx +4 -2
  213. package/src/components/Expander/styles/style.scss +7 -0
  214. package/src/components/Footer/Footer.tsx +86 -70
  215. package/src/components/Footer/constants.ts +10 -0
  216. package/src/components/Footer/styles/config.scss +1 -0
  217. package/src/components/Footer/styles/mixins.scss +172 -0
  218. package/src/components/Footer/styles/style.scss +48 -0
  219. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  220. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  221. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  222. package/src/components/Forms/File/styles/mixins.scss +1 -1
  223. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  224. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  225. package/src/components/Forms/Select/index.tsx +0 -2
  226. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  227. package/src/components/Forms/styles/config.scss +3 -3
  228. package/src/components/Icon/iconSearchTags.ts +434 -432
  229. package/src/components/Icon/styles/style.scss +15 -0
  230. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  231. package/src/components/IconList/index.ts +2 -3
  232. package/src/components/Link/styles/style.scss +6 -2
  233. package/src/components/Link/tests/Link.conformance.test.js +5 -20
  234. package/src/components/Link/tests/Link.unit.test.js +1 -10
  235. package/src/components/List/index.ts +2 -3
  236. package/src/components/Loader/Loader.tsx +2 -10
  237. package/src/components/Loader/styles/mixins.scss +1 -1
  238. package/src/components/Loader/styles/style.scss +6 -4
  239. package/src/components/Megamenu/MegaMenuIcon.tsx +48 -0
  240. package/src/components/Megamenu/Megamenu.static.ts +600 -0
  241. package/src/components/Megamenu/Megamenu.tsx +799 -356
  242. package/src/components/Megamenu/MegamenuBlog.tsx +309 -0
  243. package/src/components/Megamenu/constants.ts +56 -0
  244. package/src/components/Megamenu/index.ts +2 -5
  245. package/src/components/Megamenu/static.ts +73 -0
  246. package/src/components/Megamenu/styles/config.scss +2 -13
  247. package/src/components/Megamenu/styles/mixins.scss +647 -208
  248. package/src/components/Megamenu/styles/style.scss +173 -61
  249. package/src/components/Modal/Modal.tsx +17 -2
  250. package/src/components/Modal/ModalBody.tsx +29 -14
  251. package/src/components/Modal/ModalProductBody.tsx +52 -0
  252. package/src/components/Modal/ModalProductFooter.tsx +38 -0
  253. package/src/components/Modal/index.ts +2 -0
  254. package/src/components/Modal/styles/config.scss +7 -0
  255. package/src/components/Modal/styles/mixins.scss +121 -14
  256. package/src/components/Modal/styles/style.scss +28 -0
  257. package/src/components/Modal/tests/Modal.unit.test.js +73 -0
  258. package/src/components/Modal/tests/ModalBody.unit.test.js +28 -12
  259. package/src/components/Pagination/Pagination.tsx +2 -2
  260. package/src/components/Pill/Pill.tsx +8 -3
  261. package/src/components/Pill/styles/config.scss +22 -2
  262. package/src/components/Pill/styles/style.scss +7 -3
  263. package/src/components/Pill/tests/Pill.conformance.test.js +7 -3
  264. package/src/components/Pill/tests/Pill.unit.test.js +45 -7
  265. package/src/components/Preview/PreviewGenerator.tsx +78 -34
  266. package/src/components/PromoBanner/PromoBanner.tsx +52 -34
  267. package/src/components/PromoBanner/styles/mixins.scss +37 -20
  268. package/src/components/PromoBanner/styles/style.scss +5 -11
  269. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +781 -0
  270. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +529 -0
  271. package/src/components/PromotionCard/PromotionCard.tsx +13 -12
  272. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +567 -0
  273. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +500 -0
  274. package/src/components/Section/Section.tsx +20 -4
  275. package/src/components/Section/styles/config.scss +18 -16
  276. package/src/components/Section/styles/mixins.scss +16 -13
  277. package/src/components/Section/styles/style.scss +1 -0
  278. package/src/components/Section/tests/Section.conformance.test.js +27 -10
  279. package/src/components/Section/tests/Section.unit.test.js +73 -25
  280. package/src/components/Tag/Tag.tsx +27 -3
  281. package/src/components/Tag/styles/config.scss +31 -0
  282. package/src/components/Tag/styles/mixins.scss +39 -3
  283. package/src/components/Tag/styles/style.scss +28 -2
  284. package/src/components/Tag/tests/Tag.conformance.test.js +19 -1
  285. package/src/components/Tag/tests/Tag.unit.test.js +93 -0
  286. package/src/components/Tile/styles/style.scss +1 -1
  287. package/src/components/index.ts +5 -6
  288. package/src/styles/base/globals.scss +19 -0
  289. package/src/styles/base/styleguide.scss +17 -17
  290. package/src/styles/export/base.js +2 -2
  291. package/src/styles/export/color.js +2 -2
  292. package/src/styles/shame.scss +2 -1
  293. package/src/styles/tokens/base.scss +1 -1
  294. package/src/styles/tokens/color.scss +12 -8
  295. package/src/styles/typography/mixins.scss +3 -2
  296. package/src/styles/utilities/border.scss +1 -1
  297. package/src/styles/utilities/color.scss +113 -20
  298. package/src/styles/utilities/index.scss +1 -0
  299. package/src/styles/utilities/layout.scss +9 -0
  300. package/src/styles/utilities/ordering.scss +44 -0
  301. package/build/components/Accordion/index.js +0 -16
  302. package/build/components/Accordion/index.js.map +0 -1
  303. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  304. package/build/components/Alert/index.js +0 -16
  305. package/build/components/Alert/index.js.map +0 -1
  306. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  307. package/build/components/AnchorNavigation/index.js +0 -16
  308. package/build/components/AnchorNavigation/index.js.map +0 -1
  309. package/build/components/AnchorNavigation/style.css +0 -2
  310. package/build/components/AnchorNavigation/style.css.map +0 -1
  311. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  312. package/build/components/Bar/index.js +0 -16
  313. package/build/components/Bar/index.js.map +0 -1
  314. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  315. package/build/components/BlockAction/index.js +0 -16
  316. package/build/components/BlockAction/index.js.map +0 -1
  317. package/build/components/BlockAction/style.css +0 -2
  318. package/build/components/BlockAction/style.css.map +0 -1
  319. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  320. package/build/components/BodyBanner/index.js +0 -16
  321. package/build/components/BodyBanner/index.js.map +0 -1
  322. package/build/components/BodyBanner/style.css +0 -2
  323. package/build/components/BodyBanner/style.css.map +0 -1
  324. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  325. package/build/components/Breadcrumbs/index.js +0 -16
  326. package/build/components/Breadcrumbs/index.js.map +0 -1
  327. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  328. package/build/components/Button/index.js +0 -16
  329. package/build/components/Button/index.js.map +0 -1
  330. package/build/components/Button/style.css +0 -2
  331. package/build/components/Button/style.css.map +0 -1
  332. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  333. package/build/components/Buttons/index.js +0 -16
  334. package/build/components/Buttons/index.js.map +0 -1
  335. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  336. package/build/components/Card/index.js +0 -16
  337. package/build/components/Card/index.js.map +0 -1
  338. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  339. package/build/components/Carousel/index.js +0 -16
  340. package/build/components/Carousel/index.js.map +0 -1
  341. package/build/components/Carousel/style.css +0 -2
  342. package/build/components/Carousel/style.css.map +0 -1
  343. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  344. package/build/components/CarouselPromotions/index.js +0 -16
  345. package/build/components/CarouselPromotions/index.js.map +0 -1
  346. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  347. package/build/components/CartTable/index.js +0 -16
  348. package/build/components/CartTable/index.js.map +0 -1
  349. package/build/components/CartTable/style.css +0 -2
  350. package/build/components/CartTable/style.css.map +0 -1
  351. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  352. package/build/components/Code/index.js +0 -11
  353. package/build/components/Code/index.js.map +0 -1
  354. package/build/components/Code/style.css +0 -2
  355. package/build/components/Code/style.css.map +0 -1
  356. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  357. package/build/components/Container/index.js +0 -16
  358. package/build/components/Container/index.js.map +0 -1
  359. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  360. package/build/components/Controls/index.js +0 -16
  361. package/build/components/Controls/index.js.map +0 -1
  362. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  363. package/build/components/Cover/index.js +0 -16
  364. package/build/components/Cover/index.js.map +0 -1
  365. package/build/components/Cover/style.css +0 -2
  366. package/build/components/Cover/style.css.map +0 -1
  367. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  368. package/build/components/Divider/index.js +0 -16
  369. package/build/components/Divider/index.js.map +0 -1
  370. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  371. package/build/components/DocumentationSidebar/index.js +0 -16
  372. package/build/components/DocumentationSidebar/index.js.map +0 -1
  373. package/build/components/DocumentationSidebar/style.css +0 -2
  374. package/build/components/DocumentationSidebar/style.css.map +0 -1
  375. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  376. package/build/components/Dropdown/index.js +0 -16
  377. package/build/components/Dropdown/index.js.map +0 -1
  378. package/build/components/Dropdown/style.css +0 -2
  379. package/build/components/Dropdown/style.css.map +0 -1
  380. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  381. package/build/components/Expander/index.js +0 -16
  382. package/build/components/Expander/index.js.map +0 -1
  383. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  384. package/build/components/FeatureAccordion/index.js +0 -16
  385. package/build/components/FeatureAccordion/index.js.map +0 -1
  386. package/build/components/FeatureAccordion/style.css +0 -2
  387. package/build/components/FeatureAccordion/style.css.map +0 -1
  388. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  389. package/build/components/Footer/index.js +0 -16
  390. package/build/components/Footer/index.js.map +0 -1
  391. package/build/components/Footer/style.css +0 -2
  392. package/build/components/Footer/style.css.map +0 -1
  393. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  394. package/build/components/Forms/index.js +0 -20
  395. package/build/components/Forms/index.js.map +0 -1
  396. package/build/components/Forms/style.css +0 -2
  397. package/build/components/Forms/style.css.map +0 -1
  398. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  399. package/build/components/Gauge/index.js +0 -16
  400. package/build/components/Gauge/index.js.map +0 -1
  401. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  402. package/build/components/Grid/index.js +0 -16
  403. package/build/components/Grid/index.js.map +0 -1
  404. package/build/components/Grid/style.css +0 -2
  405. package/build/components/Grid/style.css.map +0 -1
  406. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  407. package/build/components/Hero/index.js +0 -16
  408. package/build/components/Hero/index.js.map +0 -1
  409. package/build/components/Hero/style.css +0 -2
  410. package/build/components/Hero/style.css.map +0 -1
  411. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  412. package/build/components/Icon/index.js +0 -11
  413. package/build/components/Icon/index.js.map +0 -1
  414. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  415. package/build/components/IconList/index.js +0 -16
  416. package/build/components/IconList/index.js.map +0 -1
  417. package/build/components/IconList/style.css +0 -2
  418. package/build/components/IconList/style.css.map +0 -1
  419. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  420. package/build/components/Image/index.js +0 -16
  421. package/build/components/Image/index.js.map +0 -1
  422. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  423. package/build/components/Link/index.js +0 -7
  424. package/build/components/Link/index.js.map +0 -1
  425. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  426. package/build/components/List/index.js +0 -16
  427. package/build/components/List/index.js.map +0 -1
  428. package/build/components/List/style.css +0 -2
  429. package/build/components/List/style.css.map +0 -1
  430. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  431. package/build/components/Loader/index.js +0 -16
  432. package/build/components/Loader/index.js.map +0 -1
  433. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  434. package/build/components/Megamenu/index.js +0 -20
  435. package/build/components/Megamenu/index.js.map +0 -1
  436. package/build/components/Megamenu/style.css +0 -2
  437. package/build/components/Megamenu/style.css.map +0 -1
  438. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  439. package/build/components/Modal/index.js +0 -20
  440. package/build/components/Modal/index.js.map +0 -1
  441. package/build/components/Modal/style.css +0 -2
  442. package/build/components/Modal/style.css.map +0 -1
  443. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  444. package/build/components/Pagination/index.js +0 -16
  445. package/build/components/Pagination/index.js.map +0 -1
  446. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  447. package/build/components/Pill/index.js +0 -16
  448. package/build/components/Pill/index.js.map +0 -1
  449. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  450. package/build/components/Preview/index.js +0 -77
  451. package/build/components/Preview/index.js.map +0 -1
  452. package/build/components/Preview/style.css +0 -2
  453. package/build/components/Preview/style.css.map +0 -1
  454. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  455. package/build/components/Progress/index.js +0 -16
  456. package/build/components/Progress/index.js.map +0 -1
  457. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  458. package/build/components/PromoBanner/index.js +0 -16
  459. package/build/components/PromoBanner/index.js.map +0 -1
  460. package/build/components/PromoBanner/style.css +0 -2
  461. package/build/components/PromoBanner/style.css.map +0 -1
  462. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  463. package/build/components/PromotionCard/index.js +0 -16
  464. package/build/components/PromotionCard/index.js.map +0 -1
  465. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  466. package/build/components/Section/index.js +0 -16
  467. package/build/components/Section/index.js.map +0 -1
  468. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  469. package/build/components/Skeleton/index.js +0 -16
  470. package/build/components/Skeleton/index.js.map +0 -1
  471. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  472. package/build/components/SkipLink/index.js +0 -16
  473. package/build/components/SkipLink/index.js.map +0 -1
  474. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  475. package/build/components/Stepbar/index.js +0 -16
  476. package/build/components/Stepbar/index.js.map +0 -1
  477. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  478. package/build/components/Sticker/index.js +0 -16
  479. package/build/components/Sticker/index.js.map +0 -1
  480. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  481. package/build/components/Table/index.js +0 -16
  482. package/build/components/Table/index.js.map +0 -1
  483. package/build/components/Table/style.css +0 -2
  484. package/build/components/Table/style.css.map +0 -1
  485. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  486. package/build/components/Tabs/index.js +0 -16
  487. package/build/components/Tabs/index.js.map +0 -1
  488. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  489. package/build/components/Tag/index.js +0 -16
  490. package/build/components/Tag/index.js.map +0 -1
  491. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  492. package/build/components/Testimonial/index.js +0 -16
  493. package/build/components/Testimonial/index.js.map +0 -1
  494. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  495. package/build/components/Tile/index.js +0 -16
  496. package/build/components/Tile/index.js.map +0 -1
  497. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  498. package/build/components/Tooltip/index.js +0 -16
  499. package/build/components/Tooltip/index.js.map +0 -1
  500. package/build/components/Tooltip/style.css +0 -2
  501. package/build/components/Tooltip/style.css.map +0 -1
  502. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  503. package/build/components/static.css +0 -2
  504. package/build/components/static.css.map +0 -1
  505. package/build/components/static.js +0 -10
  506. package/build/components/static.js.map +0 -1
  507. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  508. package/build/components/types/src/components/Megamenu/MegamenuDropdown.d.ts +0 -17
  509. package/src/components/Accordion/Accordion.mdx +0 -222
  510. package/src/components/Alert/Alert.mdx +0 -141
  511. package/src/components/Bar/Bar.mdx +0 -203
  512. package/src/components/BlockAction/BlockAction.mdx +0 -244
  513. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  514. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  515. package/src/components/Button/Button.mdx +0 -273
  516. package/src/components/Buttons/Buttons.mdx +0 -39
  517. package/src/components/Card/Card.mdx +0 -334
  518. package/src/components/Carousel/Carousel.mdx +0 -159
  519. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  520. package/src/components/CartTable/CartTable.mdx +0 -129
  521. package/src/components/Container/Container.mdx +0 -73
  522. package/src/components/Controls/Controls.mdx +0 -469
  523. package/src/components/Cover/Cover.mdx +0 -87
  524. package/src/components/Divider/Divider.mdx +0 -65
  525. package/src/components/Dropdown/Dropdown.mdx +0 -260
  526. package/src/components/Expander/Expander.mdx +0 -153
  527. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  528. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  529. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  530. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  531. package/src/components/Forms/Field/Field.mdx +0 -383
  532. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  533. package/src/components/Forms/File/File.mdx +0 -88
  534. package/src/components/Forms/FormTooltip.mdx +0 -51
  535. package/src/components/Forms/Forms.mdx +0 -48
  536. package/src/components/Forms/Group/Group.mdx +0 -146
  537. package/src/components/Forms/Hint/Hint.mdx +0 -40
  538. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  539. package/src/components/Forms/Label/Label.mdx +0 -95
  540. package/src/components/Forms/Message/Message.mdx +0 -40
  541. package/src/components/Forms/Radio/Radio.mdx +0 -98
  542. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  543. package/src/components/Forms/Select/Select.mdx +0 -106
  544. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  545. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  546. package/src/components/Gauge/Gauge.mdx +0 -35
  547. package/src/components/Grid/Grid.mdx +0 -320
  548. package/src/components/Hero/Hero.mdx +0 -168
  549. package/src/components/Hero/HeroPlayground.tsx +0 -369
  550. package/src/components/Icon/Icon.mdx +0 -172
  551. package/src/components/IconList/IconList.mdx +0 -53
  552. package/src/components/Image/Image.mdx +0 -175
  553. package/src/components/Link/Link.mdx +0 -224
  554. package/src/components/List/List.mdx +0 -216
  555. package/src/components/Loader/Loader.mdx +0 -148
  556. package/src/components/Megamenu/MegamenuDropdown.tsx +0 -64
  557. package/src/components/Modal/Modal.mdx +0 -565
  558. package/src/components/Pagination/Pagination.mdx +0 -45
  559. package/src/components/Pill/Pill.mdx +0 -41
  560. package/src/components/Progress/Progress.mdx +0 -119
  561. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  562. package/src/components/Section/Section.mdx +0 -397
  563. package/src/components/Skeleton/Skeleton.mdx +0 -90
  564. package/src/components/SkipLink/SkipLink.mdx +0 -23
  565. package/src/components/Stepbar/Stepbar.mdx +0 -137
  566. package/src/components/Sticker/Sticker.mdx +0 -50
  567. package/src/components/Table/Table.mdx +0 -199
  568. package/src/components/Tabs/Tabs.mdx +0 -373
  569. package/src/components/Tag/Tag.mdx +0 -52
  570. package/src/components/Testimonial/Testimonial.mdx +0 -41
  571. package/src/components/Tile/Tile.mdx +0 -163
  572. package/src/components/Tooltip/Tooltip.mdx +0 -227
@@ -0,0 +1,36 @@
1
+ export const CLASS_ROOT = "carousel-hero";
2
+
3
+ export const CLASS_VIEWPORT_WRAPPER = `${CLASS_ROOT}__viewport-wrapper`;
4
+ export const CLASS_VIEWPORT = `${CLASS_ROOT}__viewport`;
5
+ export const CLASS_TRACK = `${CLASS_ROOT}__track`;
6
+ export const CLASS_SLIDE = `${CLASS_ROOT}__slide`;
7
+ export const CLASS_SLIDE_CONTAINER = `${CLASS_ROOT}__slide-container`;
8
+ export const CLASS_SLIDE_CONTENT = `${CLASS_ROOT}__slide-content`;
9
+ export const CLASS_SLIDE_SUBTITLE = `${CLASS_ROOT}__slide-subtitle`;
10
+ export const CLASS_SLIDE_IMAGE_WRAPPER = `${CLASS_ROOT}__slide-image-wrapper`;
11
+ export const CLASS_SLIDE_IMAGE = `${CLASS_ROOT}__slide-image`;
12
+ export const CLASS_SLIDE_BUTTON = `${CLASS_ROOT}__slide-button`;
13
+ export const CLASS_PREV = `${CLASS_ROOT}__prev`;
14
+ export const CLASS_NEXT = `${CLASS_ROOT}__next`;
15
+ export const CLASS_PLAY_PAUSE = `${CLASS_ROOT}__play-pause`;
16
+ export const CLASS_TABS = `${CLASS_ROOT}__tabs`;
17
+ export const CLASS_TAB = `${CLASS_ROOT}__tab`;
18
+ export const CLASS_PAGINATION = `${CLASS_ROOT}__pagination`;
19
+ export const CLASS_PAGINATION_ITEM = `${CLASS_ROOT}__pagination-item`;
20
+ export const CLASS_PAGINATION_SVG = `${CLASS_ROOT}__pagination-svg`;
21
+ export const CLASS_PAGINATION_CIRCLE = `${CLASS_ROOT}__pagination-circle`;
22
+ export const CLASS_NAVIGATION = `${CLASS_ROOT}__navigation`;
23
+
24
+ export const CLASS_ACTIVE = "is-active";
25
+ export const CLASS_PLAYING = "is-playing";
26
+ export const CLASS_PAUSED = "is-paused";
27
+
28
+ export const SELECTOR_VIEWPORT = `.${CLASS_VIEWPORT}`;
29
+ export const SELECTOR_TRACK = `.${CLASS_TRACK}`;
30
+ export const SELECTOR_PREV = `.${CLASS_PREV}`;
31
+ export const SELECTOR_NEXT = `.${CLASS_NEXT}`;
32
+ export const SELECTOR_PLAY_PAUSE = `.${CLASS_PLAY_PAUSE}`;
33
+ export const SELECTOR_TABS = `.${CLASS_TABS}`;
34
+ export const SELECTOR_TAB = `.${CLASS_TAB}`;
35
+ export const SELECTOR_PAGINATION = `.${CLASS_PAGINATION}`;
36
+ export const SELECTOR_ACTIVE = `.${CLASS_ACTIVE}`;
@@ -0,0 +1,2 @@
1
+ export { CarouselHero, CarouselHeroItem } from "./CarouselHero";
2
+ export type { CarouselHeroProps, TabItem } from "./CarouselHero";
@@ -0,0 +1,54 @@
1
+ @use "../../../styles/tokens/space";
2
+ @use "../../../styles/tokens/color";
3
+ @use "../../../styles/tools/convert";
4
+ @use "sass:math";
5
+
6
+ $space: space.get("large");
7
+
8
+ $viewport-horizontal-spacing: (
9
+ default: convert.to-rem(20px),
10
+ md: 0,
11
+ );
12
+
13
+ $controls-spacing: space.get("medium");
14
+
15
+ $tabs-spacing: space.get("small");
16
+
17
+ $tab-colors: (
18
+ default: (
19
+ color: var(--color-text-moderate),
20
+ border-color: transparent,
21
+ background-color: transparent,
22
+ ),
23
+ active: (
24
+ color: var(--color-text-brand),
25
+ border-color: var(--color-border-brand),
26
+ background-color: transparent,
27
+ ),
28
+ hover: (
29
+ color: var(--color-text-brand),
30
+ border-color: var(--color-border-brand),
31
+ background-color: var(--color-surface-subtle),
32
+ ),
33
+ );
34
+
35
+ $navigation-spacing: space.get("small");
36
+
37
+ $slide-min-height: (
38
+ default: convert.to-rem(560px),
39
+ );
40
+
41
+ // SVG countdown animation constants
42
+ $animated-dot-radius: 5;
43
+ $pi: math.div(math.round(math.$pi * 10000), 10000);
44
+ $animated-dot-circumference: 2 * $pi * $animated-dot-radius;
45
+
46
+ @keyframes countdown {
47
+ from {
48
+ // stroke-dashoffset can't be negative number due to Safari issues.
49
+ stroke-dashoffset: $animated-dot-circumference;
50
+ }
51
+ to {
52
+ stroke-dashoffset: 0;
53
+ }
54
+ }
@@ -0,0 +1,278 @@
1
+ @use "sass:map" as sass-map;
2
+ @use "sass:math";
3
+ @use "../../../styles/tokens/base";
4
+ @use "../../../styles/tokens/space";
5
+ @use "../../../styles/tools/convert";
6
+ @use "../../../styles/tools/generate";
7
+ @use "../../../styles/tokens/breakpoint";
8
+ @use "../../Button/styles/mixins" as button-mixins;
9
+ @use "../../../styles/typography/config" as typography-config;
10
+ @use "../../../styles/typography/mixins" as typography-mixins;
11
+ @use "./config";
12
+
13
+ @mixin base {
14
+ margin: 0 auto;
15
+ position: relative;
16
+ margin-bottom: config.$space;
17
+ background: var(--color-surface-primary);
18
+ border-bottom: 1px solid var(--color-border-subtle);
19
+ }
20
+
21
+ @mixin viewport-wrapper {
22
+ position: relative;
23
+ }
24
+
25
+ @mixin viewport {
26
+ margin: 0 auto;
27
+ position: relative;
28
+ overflow: hidden;
29
+ transform: translateZ(0);
30
+
31
+ &.is-draggable {
32
+ user-select: none;
33
+ cursor: -webkit-grab;
34
+ cursor: grab;
35
+ }
36
+
37
+ &.is-dragging {
38
+ cursor: -webkit-grabbing;
39
+ cursor: grabbing;
40
+ }
41
+ }
42
+
43
+ @mixin track {
44
+ transform: translateZ(0);
45
+ width: 100%;
46
+ margin: 0;
47
+ padding: 0;
48
+ display: flex;
49
+ z-index: 1;
50
+ }
51
+
52
+ @mixin tabs-base {
53
+ display: flex;
54
+ flex: 1;
55
+ gap: 0;
56
+ overflow-x: auto;
57
+ overflow-y: inherit;
58
+ scrollbar-width: none; // Hide scrollbar for Firefox
59
+ -ms-overflow-style: none; // Hide scrollbar for IE/Edge
60
+ position: relative;
61
+
62
+ // Hide tabs on mobile (md and down), show pagination instead
63
+ @include breakpoint.get("md", "down") {
64
+ display: none;
65
+ }
66
+
67
+ // Hide scrollbar for WebKit browsers
68
+ &::-webkit-scrollbar {
69
+ display: none;
70
+ }
71
+
72
+ &::after {
73
+ content: "";
74
+ position: sticky;
75
+ right: 0;
76
+ top: 0;
77
+ bottom: 0;
78
+ width: convert.to-rem(56px);
79
+ background: linear-gradient(
80
+ 90deg,
81
+ transparent 0%,
82
+ color-mix(in srgb, var(--color-surface-primary), transparent 50%) 20%,
83
+ var(--color-surface-primary) 100%
84
+ );
85
+ pointer-events: none;
86
+ z-index: 1;
87
+ flex-shrink: 0;
88
+ margin-left: auto;
89
+ }
90
+ }
91
+
92
+ @mixin tab-base($colors: config.$tab-colors) {
93
+ position: relative;
94
+ padding: convert.to-rem(25px) convert.to-rem(15px);
95
+ border: none;
96
+ border-top: 4px solid transparent;
97
+ background: none;
98
+ cursor: pointer;
99
+ color: var(--color-text-default);
100
+ text-align: center;
101
+ flex: 0;
102
+ white-space: nowrap;
103
+ font-weight: 700;
104
+
105
+ &.is-active,
106
+ &[aria-selected="true"] {
107
+ border-top-color: var(--color-border-accent);
108
+ }
109
+
110
+ &:hover:not(.is-active):not([aria-selected="true"]) {
111
+ color: var(--color-text-accent);
112
+ }
113
+ }
114
+
115
+ @mixin navigation-base {
116
+ display: flex;
117
+ align-items: center;
118
+ gap: convert.to-rem(10px);
119
+ }
120
+
121
+ @mixin slide-base {
122
+ display: flex;
123
+ flex-direction: row;
124
+ width: 100%;
125
+ flex: 0 0 100%;
126
+ user-select: none;
127
+ position: relative;
128
+ overflow: hidden;
129
+
130
+ @each $breakpoint, $height in config.$slide-min-height {
131
+ @include breakpoint.get($breakpoint) {
132
+ min-height: $height;
133
+ }
134
+ }
135
+ }
136
+
137
+ @mixin slide-container {
138
+ display: flex;
139
+ flex-direction: row;
140
+ width: 100%;
141
+
142
+ @include breakpoint.get("md", "down") {
143
+ flex-direction: column;
144
+ padding-left: 0 !important;
145
+ padding-right: 0 !important;
146
+ }
147
+ }
148
+
149
+ @mixin slide-content {
150
+ flex: 0 0 50%;
151
+ display: flex;
152
+ z-index: 2;
153
+ flex-direction: column;
154
+ align-items: flex-start;
155
+ padding: convert.to-rem(60px) convert.to-rem(120px) convert.to-rem(60px)
156
+ convert.to-rem(70px);
157
+
158
+ > *:last-child {
159
+ margin-bottom: 0;
160
+ }
161
+
162
+ @include breakpoint.get("xl", "down") {
163
+ padding-left: convert.to-rem(40px);
164
+ }
165
+
166
+ @include breakpoint.get("md", "down") {
167
+ flex: initial;
168
+ }
169
+
170
+ @include breakpoint.get("sm", "down") {
171
+ padding: convert.to-rem(30px) convert.to-rem(10px);
172
+ }
173
+ }
174
+
175
+ @mixin slide-image {
176
+ flex: 0 0 50%;
177
+ display: flex;
178
+ margin-bottom: 0 !important;
179
+ object-fit: cover;
180
+ object-position: center;
181
+ width: 50%;
182
+
183
+ @include breakpoint.get("md", "down") {
184
+ flex: 1;
185
+ width: 100%;
186
+ }
187
+ }
188
+
189
+ @mixin pagination-base {
190
+ user-select: none;
191
+ display: none; // Hidden by default on desktop
192
+ flex-wrap: wrap;
193
+ justify-content: center;
194
+ padding: convert.to-rem(20px) 0;
195
+
196
+ // Show pagination on mobile (md and down)
197
+ @include breakpoint.get("md", "down") {
198
+ display: flex;
199
+ }
200
+
201
+ @include breakpoint.get("sm", "down") {
202
+ justify-content: flex-start;
203
+ }
204
+ }
205
+
206
+ @mixin pagination-item-base {
207
+ background: none;
208
+ user-select: none;
209
+ display: block;
210
+ cursor: pointer;
211
+ border-radius: 100%;
212
+ width: convert.to-rem(10px);
213
+ height: convert.to-rem(10px);
214
+ margin: convert.to-rem(8px);
215
+ background-color: var(--color-surface-contrast);
216
+
217
+ &:hover {
218
+ background-color: var(--color-icon-brand);
219
+ }
220
+
221
+ &.is-active {
222
+ background-color: transparent;
223
+ }
224
+ }
225
+
226
+ @mixin pagination-svg() {
227
+ position: relative;
228
+ display: none;
229
+ left: -1px;
230
+ top: -1px;
231
+ // This transform is a workaround due to Safari not supporting negative values for stroke-dashoffset.
232
+ // We're rotating the SVG so that the line starts to animate from the top (12o'clock).
233
+ // The vertical flip is to make the line animate clockwise.
234
+ transform: rotate(-90deg) scale(1, -1);
235
+
236
+ .is-playing .is-active > & {
237
+ display: block;
238
+ }
239
+
240
+ .is-paused .is-active > & {
241
+ display: block;
242
+
243
+ circle {
244
+ stroke: var(--color-border-accent);
245
+ stroke-width: 2px;
246
+ stroke-dasharray: config.$animated-dot-circumference;
247
+ stroke-dashoffset: 0;
248
+ fill: none;
249
+ animation: none;
250
+ }
251
+ }
252
+
253
+ // Show SVG ring for active state when no autoplay
254
+ .carousel-hero:not(.is-playing):not(.is-paused) .is-active > & {
255
+ display: block;
256
+
257
+ circle {
258
+ stroke: var(--color-border-accent);
259
+ stroke-width: 2px;
260
+ stroke-dasharray: config.$animated-dot-circumference;
261
+ stroke-dashoffset: 0;
262
+ fill: none;
263
+ animation: none;
264
+ }
265
+ }
266
+ }
267
+
268
+ @mixin pagination-circle() {
269
+ stroke-width: 2px;
270
+ stroke: var(--color-border-accent);
271
+ stroke-dasharray: config.$animated-dot-circumference;
272
+ stroke-dashoffset: config.$animated-dot-circumference;
273
+ animation-name: countdown;
274
+ animation-iteration-count: 1;
275
+ animation-timing-function: linear;
276
+ animation-direction: reverse;
277
+ fill: none;
278
+ }
@@ -0,0 +1,63 @@
1
+ @use "./mixins";
2
+
3
+ @layer components {
4
+ .carousel-hero {
5
+ @include mixins.base;
6
+
7
+ &__viewport-wrapper {
8
+ @include mixins.viewport-wrapper;
9
+ }
10
+
11
+ &__viewport {
12
+ @include mixins.viewport;
13
+ }
14
+
15
+ &__track {
16
+ @include mixins.track;
17
+ }
18
+
19
+ &__slide {
20
+ @include mixins.slide-base;
21
+ }
22
+
23
+ &__slide-container {
24
+ @include mixins.slide-container;
25
+ }
26
+
27
+ &__slide-content {
28
+ @include mixins.slide-content;
29
+ }
30
+
31
+ &__slide-image {
32
+ @include mixins.slide-image;
33
+ }
34
+
35
+ &__tabs {
36
+ @include mixins.tabs-base;
37
+ }
38
+
39
+ &__tab {
40
+ @include mixins.tab-base;
41
+ }
42
+
43
+ &__navigation {
44
+ @include mixins.navigation-base;
45
+ }
46
+
47
+ &__pagination {
48
+ @include mixins.pagination-base;
49
+ }
50
+
51
+ &__pagination-item {
52
+ @include mixins.pagination-item-base;
53
+ }
54
+
55
+ &__pagination-svg {
56
+ @include mixins.pagination-svg;
57
+ }
58
+
59
+ &__pagination-circle {
60
+ @include mixins.pagination-circle;
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,130 @@
1
+ import { render } from "@testing-library/react";
2
+ import { axe } from "jest-axe";
3
+
4
+ import { CarouselHero, CarouselHeroItem } from "../";
5
+
6
+ const basicExample = (
7
+ <CarouselHero>
8
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Slide+1">
9
+ <h2>Slide 1</h2>
10
+ <p>First slide content</p>
11
+ </CarouselHeroItem>
12
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Slide+2">
13
+ <h2>Slide 2</h2>
14
+ <p>Second slide content</p>
15
+ </CarouselHeroItem>
16
+ </CarouselHero>
17
+ );
18
+
19
+ const exampleWithTabs = (
20
+ <CarouselHero
21
+ tabs={[
22
+ { label: "First Tab" },
23
+ { label: "Second Tab" },
24
+ { label: "Third Tab" },
25
+ ]}
26
+ >
27
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Slide+1">
28
+ <h2>Slide 1</h2>
29
+ <p>First slide with tabs</p>
30
+ </CarouselHeroItem>
31
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Slide+2">
32
+ <h2>Slide 2</h2>
33
+ <p>Second slide with tabs</p>
34
+ </CarouselHeroItem>
35
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Slide+3">
36
+ <h2>Slide 3</h2>
37
+ <p>Third slide with tabs</p>
38
+ </CarouselHeroItem>
39
+ </CarouselHero>
40
+ );
41
+
42
+ const exampleWithAutoplay = (
43
+ <CarouselHero
44
+ interval={3000}
45
+ tabs={[{ label: "Auto Tab 1" }, { label: "Auto Tab 2" }]}
46
+ >
47
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Auto+Slide+1">
48
+ <h2>Auto Slide 1</h2>
49
+ <p>Autoplay slide 1</p>
50
+ </CarouselHeroItem>
51
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Auto+Slide+2">
52
+ <h2>Auto Slide 2</h2>
53
+ <p>Autoplay slide 2</p>
54
+ </CarouselHeroItem>
55
+ </CarouselHero>
56
+ );
57
+
58
+ const exampleWithComplexContent = (
59
+ <CarouselHero
60
+ colorScheme="light"
61
+ tabs={[{ label: "Product 1" }, { label: "Product 2" }]}
62
+ interval={5000}
63
+ swiperOptions={{ speed: 300 }}
64
+ >
65
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Product+1">
66
+ <h2>Premium Product</h2>
67
+ <p>Discover our premium product line with advanced features.</p>
68
+ <button type="button">Learn More</button>
69
+ <button type="button">Buy Now</button>
70
+ </CarouselHeroItem>
71
+ <CarouselHeroItem image="https://placehold.co/720x560?text=Product+2">
72
+ <h2>Special Offer</h2>
73
+ <p>Limited time offer - get 50% off on selected items.</p>
74
+ <ul>
75
+ <li>Free shipping</li>
76
+ <li>30-day return policy</li>
77
+ <li>Extended warranty</li>
78
+ </ul>
79
+ <button type="button">View Details</button>
80
+ </CarouselHeroItem>
81
+ </CarouselHero>
82
+ );
83
+
84
+ describe("CarouselHero conformance", () => {
85
+ it("is valid html", () => {
86
+ const { container } = render(basicExample);
87
+ expect(container).toHTMLValidate();
88
+ });
89
+
90
+ it("is accessible", async () => {
91
+ const { container } = render(basicExample);
92
+ expect(await axe(container)).toHaveNoViolations();
93
+ });
94
+ });
95
+
96
+ describe("CarouselHero with tabs conformance", () => {
97
+ it("is valid html", () => {
98
+ const { container } = render(exampleWithTabs);
99
+ expect(container).toHTMLValidate();
100
+ });
101
+
102
+ it("is accessible", async () => {
103
+ const { container } = render(exampleWithTabs);
104
+ expect(await axe(container)).toHaveNoViolations();
105
+ });
106
+ });
107
+
108
+ describe("CarouselHero with autoplay conformance", () => {
109
+ it("is valid html", () => {
110
+ const { container } = render(exampleWithAutoplay);
111
+ expect(container).toHTMLValidate();
112
+ });
113
+
114
+ it("is accessible", async () => {
115
+ const { container } = render(exampleWithAutoplay);
116
+ expect(await axe(container)).toHaveNoViolations();
117
+ });
118
+ });
119
+
120
+ describe("CarouselHero with complex content conformance", () => {
121
+ it("is valid html", () => {
122
+ const { container } = render(exampleWithComplexContent);
123
+ expect(container).toHTMLValidate();
124
+ });
125
+
126
+ it("is accessible", async () => {
127
+ const { container } = render(exampleWithComplexContent);
128
+ expect(await axe(container)).toHaveNoViolations();
129
+ });
130
+ });