@orangesk/orange-design-system 2.0.0-beta.1 → 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 (569) 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 +2 -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/index.d.ts +1 -0
  47. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  48. package/build/components/types/src/components/Pill/Pill.d.ts +4 -1
  49. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  50. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -5
  51. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +2 -2
  52. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  53. package/build/components/types/src/components/Tag/Tag.d.ts +9 -2
  54. package/build/components/types/src/components/index.d.ts +3 -5
  55. package/build/components/types/src/scripts/index.d.ts +10 -0
  56. package/build/lib/after-components.css +1 -1
  57. package/build/lib/after-components.css.map +1 -1
  58. package/build/lib/before-components.css +1 -1
  59. package/build/lib/before-components.css.map +1 -1
  60. package/build/lib/components.css +1 -1
  61. package/build/lib/components.css.map +1 -1
  62. package/build/lib/footer.css +2 -0
  63. package/build/lib/footer.css.map +1 -0
  64. package/build/lib/megamenu.css +2 -0
  65. package/build/lib/megamenu.css.map +1 -0
  66. package/build/lib/megamenu.js +2 -0
  67. package/build/lib/megamenu.js.map +1 -0
  68. package/build/lib/scripts.css +1 -1
  69. package/build/lib/scripts.css.map +1 -1
  70. package/build/lib/scripts.js +5 -5
  71. package/build/lib/scripts.js.map +1 -1
  72. package/build/lib/style.css +1 -1
  73. package/build/lib/style.css.map +1 -1
  74. package/build/lib/tsconfig.tsbuildinfo +1 -1
  75. package/build/logo-line.svg +5 -0
  76. package/build/sprite.svg +1 -1
  77. package/package.json +35 -29
  78. package/src/assets/icons/ai.svg +6 -0
  79. package/src/assets/icons/article.svg +7 -0
  80. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  81. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  82. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  83. package/src/assets/icons/pictogram-activation.svg +10 -11
  84. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  85. package/src/assets/icons/pictogram-archive.svg +3 -4
  86. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  87. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  88. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  89. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  90. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  91. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  92. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  93. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  94. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  95. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  96. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  97. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  98. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  99. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  100. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  101. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  102. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  103. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  104. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  105. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  106. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  107. package/src/assets/icons/pictogram-gift.svg +3 -4
  108. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  109. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  110. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  111. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  112. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  113. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  114. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  115. package/src/assets/icons/pictogram-installation.svg +4 -5
  116. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  117. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  118. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  119. package/src/assets/icons/pictogram-max.svg +3 -4
  120. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  121. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  122. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  123. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  124. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  125. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  126. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  127. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  128. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  129. package/src/assets/icons/pictogram-recycling.svg +14 -15
  130. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  131. package/src/assets/icons/pictogram-repair.svg +12 -13
  132. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  133. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  134. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  135. package/src/assets/icons/pictogram-roaming.svg +3 -4
  136. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  137. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  138. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  139. package/src/assets/icons/pictogram-skylink.svg +10 -11
  140. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  141. package/src/assets/icons/pictogram-sms.svg +5 -6
  142. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  143. package/src/assets/icons/pictogram-theft.svg +3 -7
  144. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  145. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  146. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  147. package/src/assets/icons/pictogram-trust.svg +3 -4
  148. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  149. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  150. package/src/components/Accordion/Accordion.tsx +4 -0
  151. package/src/components/Accordion/AccordionHeader.tsx +9 -2
  152. package/src/components/Accordion/AccordionItem.tsx +5 -2
  153. package/src/components/Accordion/styles/config.scss +4 -4
  154. package/src/components/Accordion/styles/mixins.scss +9 -3
  155. package/src/components/Accordion/styles/style.scss +4 -0
  156. package/src/components/Accordion/tests/Accordion.unit.test.js +11 -0
  157. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +253 -73
  158. package/src/components/AnchorNavigation/AnchorNavigation.tsx +20 -16
  159. package/src/components/AnchorNavigation/index.tsx +0 -2
  160. package/src/components/AnchorNavigation/styles/mixins.scss +14 -27
  161. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +67 -0
  162. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  163. package/src/components/Bar/styles/config.scss +4 -5
  164. package/src/components/BlockAction/index.tsx +0 -2
  165. package/src/components/BlockAction/styles/mixins.scss +0 -6
  166. package/src/components/BodyBanner/index.tsx +0 -2
  167. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  168. package/src/components/Button/Button.tsx +2 -2
  169. package/src/components/Button/index.tsx +0 -2
  170. package/src/components/Button/styles/config.scss +1 -1
  171. package/src/components/Button/styles/mixins.scss +5 -0
  172. package/src/components/Button/styles/style.scss +4 -0
  173. package/src/components/Card/Card.tsx +20 -8
  174. package/src/components/Card/CardSection.tsx +7 -11
  175. package/src/components/Card/styles/config.scss +1 -1
  176. package/src/components/Card/styles/mixins.scss +8 -6
  177. package/src/components/Card/styles/style.scss +4 -0
  178. package/src/components/Card/tests/Card.unit.test.js +45 -11
  179. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  180. package/src/components/Carousel/Carousel.static.ts +67 -1
  181. package/src/components/Carousel/Carousel.tsx +41 -19
  182. package/src/components/Carousel/constants.ts +2 -0
  183. package/src/components/Carousel/styles/config.scss +1 -2
  184. package/src/components/Carousel/styles/mixins.scss +35 -2
  185. package/src/components/Carousel/styles/style.scss +8 -0
  186. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  187. package/src/components/CarouselHero/CarouselHero.tsx +147 -0
  188. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  189. package/src/components/CarouselHero/constants.ts +36 -0
  190. package/src/components/CarouselHero/index.ts +2 -0
  191. package/src/components/CarouselHero/styles/config.scss +54 -0
  192. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  193. package/src/components/CarouselHero/styles/style.scss +63 -0
  194. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +130 -0
  195. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +346 -0
  196. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  197. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  198. package/src/components/CarouselPromotions/styles/mixins.scss +10 -3
  199. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  200. package/src/components/CartTable/Price.tsx +1 -1
  201. package/src/components/Controls/styles/config.scss +2 -2
  202. package/src/components/Controls/tests/Controls.test.js +0 -9
  203. package/src/components/Cover/index.ts +1 -2
  204. package/src/components/Divider/Divider.tsx +2 -16
  205. package/src/components/Divider/styles/config.scss +0 -17
  206. package/src/components/Divider/styles/mixins.scss +8 -10
  207. package/src/components/Divider/styles/style.scss +2 -16
  208. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  209. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  210. package/src/components/Dropdown/styles/mixins.scss +1 -1
  211. package/src/components/Expander/Expander.tsx +4 -2
  212. package/src/components/Expander/styles/style.scss +7 -0
  213. package/src/components/Footer/Footer.tsx +86 -70
  214. package/src/components/Footer/constants.ts +10 -0
  215. package/src/components/Footer/styles/config.scss +1 -0
  216. package/src/components/Footer/styles/mixins.scss +172 -0
  217. package/src/components/Footer/styles/style.scss +48 -0
  218. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  219. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  220. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  221. package/src/components/Forms/File/styles/mixins.scss +1 -1
  222. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  223. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  224. package/src/components/Forms/Select/index.tsx +0 -2
  225. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  226. package/src/components/Forms/styles/config.scss +3 -3
  227. package/src/components/Icon/iconSearchTags.ts +434 -432
  228. package/src/components/Icon/styles/style.scss +15 -0
  229. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  230. package/src/components/IconList/index.ts +2 -3
  231. package/src/components/Link/styles/style.scss +6 -2
  232. package/src/components/Link/tests/Link.conformance.test.js +5 -20
  233. package/src/components/Link/tests/Link.unit.test.js +1 -10
  234. package/src/components/List/index.ts +2 -3
  235. package/src/components/Loader/Loader.tsx +2 -10
  236. package/src/components/Loader/styles/mixins.scss +1 -1
  237. package/src/components/Loader/styles/style.scss +6 -4
  238. package/src/components/Megamenu/MegaMenuIcon.tsx +48 -0
  239. package/src/components/Megamenu/Megamenu.static.ts +600 -0
  240. package/src/components/Megamenu/Megamenu.tsx +799 -356
  241. package/src/components/Megamenu/MegamenuBlog.tsx +309 -0
  242. package/src/components/Megamenu/constants.ts +56 -0
  243. package/src/components/Megamenu/index.ts +2 -5
  244. package/src/components/Megamenu/static.ts +73 -0
  245. package/src/components/Megamenu/styles/config.scss +2 -15
  246. package/src/components/Megamenu/styles/mixins.scss +647 -209
  247. package/src/components/Megamenu/styles/style.scss +173 -61
  248. package/src/components/Modal/Modal.tsx +9 -1
  249. package/src/components/Modal/ModalBody.tsx +29 -14
  250. package/src/components/Modal/ModalProductBody.tsx +52 -0
  251. package/src/components/Modal/index.ts +1 -0
  252. package/src/components/Modal/styles/mixins.scss +62 -5
  253. package/src/components/Modal/styles/style.scss +16 -0
  254. package/src/components/Modal/tests/Modal.unit.test.js +37 -0
  255. package/src/components/Modal/tests/ModalBody.unit.test.js +28 -12
  256. package/src/components/Pagination/Pagination.tsx +2 -2
  257. package/src/components/Pill/Pill.tsx +8 -3
  258. package/src/components/Pill/styles/config.scss +22 -2
  259. package/src/components/Pill/styles/style.scss +7 -3
  260. package/src/components/Pill/tests/Pill.conformance.test.js +7 -3
  261. package/src/components/Pill/tests/Pill.unit.test.js +45 -7
  262. package/src/components/Preview/PreviewGenerator.tsx +78 -34
  263. package/src/components/PromoBanner/PromoBanner.tsx +52 -34
  264. package/src/components/PromoBanner/styles/mixins.scss +37 -20
  265. package/src/components/PromoBanner/styles/style.scss +5 -11
  266. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +781 -0
  267. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +529 -0
  268. package/src/components/PromotionCard/PromotionCard.tsx +13 -12
  269. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +567 -0
  270. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +500 -0
  271. package/src/components/Section/Section.tsx +20 -10
  272. package/src/components/Section/styles/config.scss +18 -16
  273. package/src/components/Section/styles/mixins.scss +16 -13
  274. package/src/components/Section/styles/style.scss +1 -0
  275. package/src/components/Section/tests/Section.conformance.test.js +23 -12
  276. package/src/components/Section/tests/Section.unit.test.js +53 -32
  277. package/src/components/Tag/Tag.tsx +27 -3
  278. package/src/components/Tag/styles/config.scss +31 -0
  279. package/src/components/Tag/styles/mixins.scss +39 -3
  280. package/src/components/Tag/styles/style.scss +28 -2
  281. package/src/components/Tag/tests/Tag.conformance.test.js +19 -1
  282. package/src/components/Tag/tests/Tag.unit.test.js +93 -0
  283. package/src/components/Tile/styles/style.scss +1 -1
  284. package/src/components/index.ts +5 -6
  285. package/src/styles/base/globals.scss +19 -0
  286. package/src/styles/base/styleguide.scss +17 -17
  287. package/src/styles/export/base.js +2 -2
  288. package/src/styles/export/color.js +2 -2
  289. package/src/styles/shame.scss +2 -1
  290. package/src/styles/tokens/base.scss +1 -1
  291. package/src/styles/tokens/color.scss +8 -8
  292. package/src/styles/typography/mixins.scss +3 -2
  293. package/src/styles/utilities/border.scss +1 -1
  294. package/src/styles/utilities/color.scss +99 -20
  295. package/src/styles/utilities/index.scss +1 -0
  296. package/src/styles/utilities/layout.scss +9 -0
  297. package/src/styles/utilities/ordering.scss +44 -0
  298. package/build/components/Accordion/index.js +0 -16
  299. package/build/components/Accordion/index.js.map +0 -1
  300. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  301. package/build/components/Alert/index.js +0 -16
  302. package/build/components/Alert/index.js.map +0 -1
  303. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  304. package/build/components/AnchorNavigation/index.js +0 -16
  305. package/build/components/AnchorNavigation/index.js.map +0 -1
  306. package/build/components/AnchorNavigation/style.css +0 -2
  307. package/build/components/AnchorNavigation/style.css.map +0 -1
  308. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  309. package/build/components/Bar/index.js +0 -16
  310. package/build/components/Bar/index.js.map +0 -1
  311. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  312. package/build/components/BlockAction/index.js +0 -16
  313. package/build/components/BlockAction/index.js.map +0 -1
  314. package/build/components/BlockAction/style.css +0 -2
  315. package/build/components/BlockAction/style.css.map +0 -1
  316. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  317. package/build/components/BodyBanner/index.js +0 -16
  318. package/build/components/BodyBanner/index.js.map +0 -1
  319. package/build/components/BodyBanner/style.css +0 -2
  320. package/build/components/BodyBanner/style.css.map +0 -1
  321. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  322. package/build/components/Breadcrumbs/index.js +0 -16
  323. package/build/components/Breadcrumbs/index.js.map +0 -1
  324. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  325. package/build/components/Button/index.js +0 -16
  326. package/build/components/Button/index.js.map +0 -1
  327. package/build/components/Button/style.css +0 -2
  328. package/build/components/Button/style.css.map +0 -1
  329. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  330. package/build/components/Buttons/index.js +0 -16
  331. package/build/components/Buttons/index.js.map +0 -1
  332. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  333. package/build/components/Card/index.js +0 -16
  334. package/build/components/Card/index.js.map +0 -1
  335. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  336. package/build/components/Carousel/index.js +0 -16
  337. package/build/components/Carousel/index.js.map +0 -1
  338. package/build/components/Carousel/style.css +0 -2
  339. package/build/components/Carousel/style.css.map +0 -1
  340. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  341. package/build/components/CarouselPromotions/index.js +0 -16
  342. package/build/components/CarouselPromotions/index.js.map +0 -1
  343. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  344. package/build/components/CartTable/index.js +0 -16
  345. package/build/components/CartTable/index.js.map +0 -1
  346. package/build/components/CartTable/style.css +0 -2
  347. package/build/components/CartTable/style.css.map +0 -1
  348. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  349. package/build/components/Code/index.js +0 -11
  350. package/build/components/Code/index.js.map +0 -1
  351. package/build/components/Code/style.css +0 -2
  352. package/build/components/Code/style.css.map +0 -1
  353. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  354. package/build/components/Container/index.js +0 -16
  355. package/build/components/Container/index.js.map +0 -1
  356. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  357. package/build/components/Controls/index.js +0 -16
  358. package/build/components/Controls/index.js.map +0 -1
  359. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  360. package/build/components/Cover/index.js +0 -16
  361. package/build/components/Cover/index.js.map +0 -1
  362. package/build/components/Cover/style.css +0 -2
  363. package/build/components/Cover/style.css.map +0 -1
  364. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  365. package/build/components/Divider/index.js +0 -16
  366. package/build/components/Divider/index.js.map +0 -1
  367. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  368. package/build/components/DocumentationSidebar/index.js +0 -16
  369. package/build/components/DocumentationSidebar/index.js.map +0 -1
  370. package/build/components/DocumentationSidebar/style.css +0 -2
  371. package/build/components/DocumentationSidebar/style.css.map +0 -1
  372. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  373. package/build/components/Dropdown/index.js +0 -16
  374. package/build/components/Dropdown/index.js.map +0 -1
  375. package/build/components/Dropdown/style.css +0 -2
  376. package/build/components/Dropdown/style.css.map +0 -1
  377. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  378. package/build/components/Expander/index.js +0 -16
  379. package/build/components/Expander/index.js.map +0 -1
  380. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  381. package/build/components/FeatureAccordion/index.js +0 -16
  382. package/build/components/FeatureAccordion/index.js.map +0 -1
  383. package/build/components/FeatureAccordion/style.css +0 -2
  384. package/build/components/FeatureAccordion/style.css.map +0 -1
  385. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  386. package/build/components/Footer/index.js +0 -16
  387. package/build/components/Footer/index.js.map +0 -1
  388. package/build/components/Footer/style.css +0 -2
  389. package/build/components/Footer/style.css.map +0 -1
  390. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  391. package/build/components/Forms/index.js +0 -20
  392. package/build/components/Forms/index.js.map +0 -1
  393. package/build/components/Forms/style.css +0 -2
  394. package/build/components/Forms/style.css.map +0 -1
  395. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  396. package/build/components/Gauge/index.js +0 -16
  397. package/build/components/Gauge/index.js.map +0 -1
  398. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  399. package/build/components/Grid/index.js +0 -16
  400. package/build/components/Grid/index.js.map +0 -1
  401. package/build/components/Grid/style.css +0 -2
  402. package/build/components/Grid/style.css.map +0 -1
  403. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  404. package/build/components/Hero/index.js +0 -16
  405. package/build/components/Hero/index.js.map +0 -1
  406. package/build/components/Hero/style.css +0 -2
  407. package/build/components/Hero/style.css.map +0 -1
  408. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  409. package/build/components/Icon/index.js +0 -11
  410. package/build/components/Icon/index.js.map +0 -1
  411. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  412. package/build/components/IconList/index.js +0 -16
  413. package/build/components/IconList/index.js.map +0 -1
  414. package/build/components/IconList/style.css +0 -2
  415. package/build/components/IconList/style.css.map +0 -1
  416. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  417. package/build/components/Image/index.js +0 -16
  418. package/build/components/Image/index.js.map +0 -1
  419. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  420. package/build/components/Link/index.js +0 -7
  421. package/build/components/Link/index.js.map +0 -1
  422. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  423. package/build/components/List/index.js +0 -16
  424. package/build/components/List/index.js.map +0 -1
  425. package/build/components/List/style.css +0 -2
  426. package/build/components/List/style.css.map +0 -1
  427. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  428. package/build/components/Loader/index.js +0 -16
  429. package/build/components/Loader/index.js.map +0 -1
  430. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  431. package/build/components/Megamenu/index.js +0 -20
  432. package/build/components/Megamenu/index.js.map +0 -1
  433. package/build/components/Megamenu/style.css +0 -2
  434. package/build/components/Megamenu/style.css.map +0 -1
  435. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  436. package/build/components/Modal/index.js +0 -20
  437. package/build/components/Modal/index.js.map +0 -1
  438. package/build/components/Modal/style.css +0 -2
  439. package/build/components/Modal/style.css.map +0 -1
  440. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  441. package/build/components/Pagination/index.js +0 -16
  442. package/build/components/Pagination/index.js.map +0 -1
  443. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  444. package/build/components/Pill/index.js +0 -16
  445. package/build/components/Pill/index.js.map +0 -1
  446. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  447. package/build/components/Preview/index.js +0 -77
  448. package/build/components/Preview/index.js.map +0 -1
  449. package/build/components/Preview/style.css +0 -2
  450. package/build/components/Preview/style.css.map +0 -1
  451. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  452. package/build/components/Progress/index.js +0 -16
  453. package/build/components/Progress/index.js.map +0 -1
  454. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  455. package/build/components/PromoBanner/index.js +0 -16
  456. package/build/components/PromoBanner/index.js.map +0 -1
  457. package/build/components/PromoBanner/style.css +0 -2
  458. package/build/components/PromoBanner/style.css.map +0 -1
  459. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  460. package/build/components/PromotionCard/index.js +0 -16
  461. package/build/components/PromotionCard/index.js.map +0 -1
  462. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  463. package/build/components/Section/index.js +0 -16
  464. package/build/components/Section/index.js.map +0 -1
  465. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  466. package/build/components/Skeleton/index.js +0 -16
  467. package/build/components/Skeleton/index.js.map +0 -1
  468. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  469. package/build/components/SkipLink/index.js +0 -16
  470. package/build/components/SkipLink/index.js.map +0 -1
  471. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  472. package/build/components/Stepbar/index.js +0 -16
  473. package/build/components/Stepbar/index.js.map +0 -1
  474. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  475. package/build/components/Sticker/index.js +0 -16
  476. package/build/components/Sticker/index.js.map +0 -1
  477. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  478. package/build/components/Table/index.js +0 -16
  479. package/build/components/Table/index.js.map +0 -1
  480. package/build/components/Table/style.css +0 -2
  481. package/build/components/Table/style.css.map +0 -1
  482. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  483. package/build/components/Tabs/index.js +0 -16
  484. package/build/components/Tabs/index.js.map +0 -1
  485. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  486. package/build/components/Tag/index.js +0 -16
  487. package/build/components/Tag/index.js.map +0 -1
  488. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  489. package/build/components/Testimonial/index.js +0 -16
  490. package/build/components/Testimonial/index.js.map +0 -1
  491. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  492. package/build/components/Tile/index.js +0 -16
  493. package/build/components/Tile/index.js.map +0 -1
  494. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  495. package/build/components/Tooltip/index.js +0 -16
  496. package/build/components/Tooltip/index.js.map +0 -1
  497. package/build/components/Tooltip/style.css +0 -2
  498. package/build/components/Tooltip/style.css.map +0 -1
  499. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  500. package/build/components/static.css +0 -2
  501. package/build/components/static.css.map +0 -1
  502. package/build/components/static.js +0 -10
  503. package/build/components/static.js.map +0 -1
  504. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  505. package/build/components/types/src/components/Megamenu/MegamenuDropdown.d.ts +0 -17
  506. package/src/components/Accordion/Accordion.mdx +0 -222
  507. package/src/components/Alert/Alert.mdx +0 -141
  508. package/src/components/Bar/Bar.mdx +0 -203
  509. package/src/components/BlockAction/BlockAction.mdx +0 -244
  510. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  511. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  512. package/src/components/Button/Button.mdx +0 -273
  513. package/src/components/Buttons/Buttons.mdx +0 -39
  514. package/src/components/Card/Card.mdx +0 -334
  515. package/src/components/Carousel/Carousel.mdx +0 -159
  516. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  517. package/src/components/CartTable/CartTable.mdx +0 -129
  518. package/src/components/Container/Container.mdx +0 -73
  519. package/src/components/Controls/Controls.mdx +0 -469
  520. package/src/components/Cover/Cover.mdx +0 -87
  521. package/src/components/Divider/Divider.mdx +0 -65
  522. package/src/components/Dropdown/Dropdown.mdx +0 -260
  523. package/src/components/Expander/Expander.mdx +0 -153
  524. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  525. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  526. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  527. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  528. package/src/components/Forms/Field/Field.mdx +0 -383
  529. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  530. package/src/components/Forms/File/File.mdx +0 -88
  531. package/src/components/Forms/FormTooltip.mdx +0 -51
  532. package/src/components/Forms/Forms.mdx +0 -48
  533. package/src/components/Forms/Group/Group.mdx +0 -146
  534. package/src/components/Forms/Hint/Hint.mdx +0 -40
  535. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  536. package/src/components/Forms/Label/Label.mdx +0 -95
  537. package/src/components/Forms/Message/Message.mdx +0 -40
  538. package/src/components/Forms/Radio/Radio.mdx +0 -98
  539. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  540. package/src/components/Forms/Select/Select.mdx +0 -106
  541. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  542. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  543. package/src/components/Gauge/Gauge.mdx +0 -35
  544. package/src/components/Grid/Grid.mdx +0 -320
  545. package/src/components/Hero/Hero.mdx +0 -168
  546. package/src/components/Hero/HeroPlayground.tsx +0 -369
  547. package/src/components/Icon/Icon.mdx +0 -172
  548. package/src/components/IconList/IconList.mdx +0 -53
  549. package/src/components/Image/Image.mdx +0 -175
  550. package/src/components/Link/Link.mdx +0 -224
  551. package/src/components/List/List.mdx +0 -216
  552. package/src/components/Loader/Loader.mdx +0 -148
  553. package/src/components/Megamenu/MegamenuDropdown.tsx +0 -64
  554. package/src/components/Modal/Modal.mdx +0 -565
  555. package/src/components/Pagination/Pagination.mdx +0 -45
  556. package/src/components/Pill/Pill.mdx +0 -41
  557. package/src/components/Progress/Progress.mdx +0 -119
  558. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  559. package/src/components/Section/Section.mdx +0 -397
  560. package/src/components/Skeleton/Skeleton.mdx +0 -90
  561. package/src/components/SkipLink/SkipLink.mdx +0 -23
  562. package/src/components/Stepbar/Stepbar.mdx +0 -137
  563. package/src/components/Sticker/Sticker.mdx +0 -50
  564. package/src/components/Table/Table.mdx +0 -199
  565. package/src/components/Tabs/Tabs.mdx +0 -373
  566. package/src/components/Tag/Tag.mdx +0 -52
  567. package/src/components/Testimonial/Testimonial.mdx +0 -41
  568. package/src/components/Tile/Tile.mdx +0 -163
  569. package/src/components/Tooltip/Tooltip.mdx +0 -227
@@ -1,97 +1,209 @@
1
- @use "../../../styles/tools/generate";
2
- @use "../../../styles/tools/convert";
3
- @use "./config" as *;
4
- @use "./mixins" as mixins;
5
- @use "../../../styles/tokens/color";
6
- @use "../../../styles/tokens/space";
7
- @use "../../../styles/tokens/breakpoint";
1
+ @use "../../Container/styles/mixins" as container;
2
+ @use "../../Accordion/styles/mixins" as accordion;
3
+ @use "../../../styles/typography/mixins" as typography;
8
4
 
9
- @layer components {
10
- // =============================================================================
11
- // MEGAMENU BASE
12
- // =============================================================================
5
+ @use "./mixins";
6
+ @use "./config";
13
7
 
14
- .megamenu {
15
- @include mixins.megamenu();
8
+ // Modifiers global states and resets
9
+ #{config.$class-root} {
10
+ @include mixins.globals;
11
+ }
12
+
13
+ #{config.$class-root},
14
+ #{config.$class-root}.is-light {
15
+ @include mixins.light-vars;
16
+ }
17
+
18
+ #{config.$class-root}.is-dark {
19
+ @include mixins.dark-vars;
20
+ }
21
+
22
+ // Component
23
+ #{config.$class-root} {
24
+ @include mixins.base;
25
+
26
+ &__nav {
27
+ @include mixins.nav;
28
+
29
+ &-item {
30
+ @include mixins.nav-item;
31
+ }
32
+
33
+ &--vertical {
34
+ @include mixins.nav-vertical;
35
+ }
36
+
37
+ &--space-small {
38
+ @include mixins.nav-space-small;
39
+ }
40
+
41
+ &-dropdown {
42
+ @include mixins.nav-dropdown;
43
+
44
+ &.is-visible {
45
+ opacity: 1;
46
+ }
47
+ }
16
48
 
17
- &__visible {
18
- @include mixins.megamenu-visible();
49
+ &-logo {
50
+ @include mixins.nav-logo;
19
51
  }
52
+
53
+ &-link {
54
+ @include mixins.nav-link;
55
+ }
56
+
57
+ &-cart-icon {
58
+ @include mixins.nav-cart-icon;
59
+ }
60
+
61
+ &-button {
62
+ @include mixins.nav-button;
63
+
64
+ &--indicator {
65
+ @include mixins.nav-button-indicator;
66
+ }
67
+ }
68
+
69
+ &-icon {
70
+ @include mixins.nav-icon;
71
+ }
72
+
73
+ &-spacer {
74
+ @include mixins.nav-spacer;
75
+ }
76
+ }
77
+
78
+ &__subnav {
79
+ @include mixins.subnav;
80
+
81
+ &-item {
82
+ @include mixins.subnav-item;
83
+ }
84
+ }
85
+
86
+ &__top {
87
+ @include mixins.top;
20
88
  }
21
89
 
22
- // =============================================================================
23
- // HEADER & NAVIGATION
24
- // =============================================================================
90
+ &__main {
91
+ @include mixins.main;
92
+ }
25
93
 
26
- .megamenu-header {
27
- @include mixins.megamenu-header();
94
+ &__submain {
95
+ @include mixins.submain;
28
96
  }
29
97
 
30
- .megamenu-divider {
31
- @include mixins.megamenu-divider();
98
+ &__mobile {
99
+ @include mixins.mobile;
100
+
101
+ &-overlay {
102
+ @include mixins.mobile-overlay;
103
+ }
104
+
105
+ &-wrapper {
106
+ @include mixins.mobile-wrapper;
107
+ }
108
+
109
+ &-header {
110
+ @include mixins.mobile-header;
111
+ }
112
+
113
+ &-body {
114
+ @include mixins.mobile-body;
115
+ }
32
116
  }
33
117
 
34
- .megamenu-content {
35
- @include mixins.megamenu-content();
118
+ &__container {
119
+ @include mixins.container;
36
120
  }
37
121
 
38
- // =============================================================================
39
- // SIDEBAR & OVERLAY
40
- // =============================================================================
122
+ &__grid {
123
+ @include mixins.grid;
124
+ }
41
125
 
42
- .megamenu-sidebar {
43
- @include mixins.megamenu-sidebar();
126
+ &__card {
127
+ @include mixins.card;
44
128
  }
45
129
 
46
- .megamenu-sidebar-header {
47
- @include mixins.megamenu-sidebar-header();
130
+ &__text--large {
131
+ @include mixins.text-large;
48
132
  }
49
133
 
50
- .megamenu-overlay {
51
- @include mixins.megamenu-overlay();
134
+ &-icon {
135
+ @include mixins.icon;
52
136
  }
53
137
 
54
- // =============================================================================
55
- // NAVIGATION LINKS
56
- // =============================================================================
138
+ &__overlay {
139
+ @include mixins.overlay;
140
+ }
57
141
 
58
- .megamenu-link {
59
- @include mixins.megamenu-link();
142
+ &-spacer {
143
+ @include mixins.spacer;
60
144
 
61
- &__full {
62
- @include mixins.megamenu-dropdown-button();
63
- &--icon {
64
- @include mixins.megamenu-dropdown-button-icon();
65
- }
145
+ &--small {
146
+ @include mixins.spacer-small;
66
147
  }
148
+ }
67
149
 
68
- &__small {
69
- @include mixins.megamenu-link-small();
70
- }
150
+ &__accordion {
151
+ @include mixins.accordion;
152
+ }
71
153
 
72
- &.is-active,
73
- &__small.is-active {
74
- @include mixins.megamenu-link__active();
75
- }
154
+ &__accordion-item {
155
+ @include mixins.accordion-item();
76
156
  }
77
157
 
78
- .megamenu-logo {
79
- @include mixins.megamenu-logo();
158
+ &__accordion-header {
159
+ @include accordion.header;
80
160
  }
81
161
 
82
- .megamenu-icon {
83
- @include mixins.megamenu-icon();
162
+ &__accordion-button {
163
+ @include mixins.accordion-button;
84
164
  }
85
165
 
86
- // =============================================================================
87
- // DROPDOWN FUNCTIONALITY
88
- // =============================================================================
166
+ &__accordion-title {
167
+ @include mixins.accordion-title;
168
+ }
89
169
 
90
- .megamenu-dropdown {
91
- @include mixins.megamenu-dropdown();
170
+ &__accordion-icon {
171
+ @include mixins.accordion-icon;
172
+ }
92
173
 
93
- &__active {
94
- @include mixins.megamenu-dropdown-active();
174
+ &__accordion-body {
175
+ @include mixins.accordion-body;
176
+ }
177
+
178
+ &__input {
179
+ @include mixins.input;
180
+ }
181
+
182
+ &__tag {
183
+ @include mixins.tag;
184
+
185
+ &--transparent {
186
+ @include mixins.tag-transparent;
95
187
  }
96
188
  }
189
+
190
+ &__list--inline {
191
+ @include typography.list-inline;
192
+ }
193
+
194
+ &__list--gap-small {
195
+ @include mixins.list-gap-small;
196
+ }
197
+
198
+ &--hide-md-down {
199
+ @include mixins.hide-md-down;
200
+ }
201
+
202
+ &--hide-lg-up {
203
+ @include mixins.hide-lg-up;
204
+ }
205
+
206
+ &--align-center {
207
+ text-align: center !important;
208
+ }
97
209
  }
@@ -53,6 +53,8 @@ interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
53
53
  colorScheme?: "dark" | "light";
54
54
  /** Disables header paddings */
55
55
  disableHeaderSpacing?: boolean;
56
+ /** Disables body paddings */
57
+ disableBodySpacing?: boolean;
56
58
  /** Disables footer paddings */
57
59
  disableFooterSpacing?: boolean;
58
60
  }
@@ -83,6 +85,7 @@ const Modal: React.FC<ModalProps> = ({
83
85
  fullHeight,
84
86
  colorScheme,
85
87
  disableHeaderSpacing,
88
+ disableBodySpacing,
86
89
  disableFooterSpacing,
87
90
  ...other
88
91
  }) => {
@@ -146,7 +149,12 @@ const Modal: React.FC<ModalProps> = ({
146
149
  {renderBody ? (
147
150
  renderBody()
148
151
  ) : (
149
- <ModalBody withTopPadding={!!renderHeader}>{children}</ModalBody>
152
+ <ModalBody
153
+ disableSpacing={disableBodySpacing}
154
+ withTopPadding={!disableBodySpacing && !!renderHeader}
155
+ >
156
+ {children}
157
+ </ModalBody>
150
158
  )}
151
159
  <div
152
160
  className={cx(`${CLASS_ROOT}__footer`, {
@@ -1,26 +1,36 @@
1
1
  import React from "react";
2
2
  import cx from "classnames";
3
3
 
4
- export const colors = [
5
- "white",
6
- "gray",
7
- "orange",
8
- "orange-dark",
9
- "black",
10
- "blue",
11
- "green",
12
- "pink",
13
- "violet",
14
- "yellow",
4
+ export const modalBodyColors = [
5
+ "background-primary",
6
+ "background-secondary",
7
+ "background-contrast",
8
+ "background-accent",
9
+ "background-accent1-blog",
10
+ "background-accent2-blog",
11
+ "surface-primary",
12
+ "surface-secondary",
13
+ "surface-tertiary",
14
+ "surface-subtle",
15
+ "surface-moderate",
16
+ "surface-contrast",
17
+ "surface-accent",
18
+ "fill-subtle",
19
+ "fill-accent1",
20
+ "fill-accent2",
21
+ "fill-accent3",
22
+ "fill-accent4",
23
+ "fill-accent5",
15
24
  ] as const;
16
25
 
17
- export type BodyColor = (typeof colors)[number];
26
+ export type ModalBodyColor = (typeof modalBodyColors)[number];
18
27
 
19
28
  interface ModalBodyProps extends React.HTMLAttributes<HTMLDivElement> {
20
- color?: BodyColor;
29
+ color?: ModalBodyColor;
21
30
  className?: string;
22
31
  children?: React.ReactNode;
23
32
  withTopPadding?: boolean;
33
+ disableSpacing?: boolean;
24
34
  }
25
35
 
26
36
  const CLASS_ROOT = "modal__body";
@@ -30,13 +40,18 @@ const ModalBody: React.FC<ModalBodyProps> = ({
30
40
  className,
31
41
  children,
32
42
  withTopPadding,
43
+ disableSpacing,
33
44
  ...other
34
45
  }) => (
35
46
  <div
36
47
  className={cx(CLASS_ROOT, className, {
37
- [`bg-${color}`]: color,
48
+ ...(color && color !== "background-contrast" ? { [color]: true } : {}),
49
+ ...(color === "background-contrast"
50
+ ? { [`${color} text-inverse`]: true }
51
+ : {}),
38
52
  [`${CLASS_ROOT}--colorful`]: color,
39
53
  [`${CLASS_ROOT}--with-top-padding`]: withTopPadding,
54
+ [`${CLASS_ROOT}--no-spacing`]: disableSpacing,
40
55
  })}
41
56
  {...other}
42
57
  >
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import cx from "classnames";
3
+
4
+ interface ModalProductBodyProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ subtitleSection?: React.ReactNode;
6
+ listSection?: React.ReactNode;
7
+ benefitsSection?: React.ReactNode;
8
+ extraPaymentsSection?: React.ReactNode;
9
+ }
10
+
11
+ export const CLASS_ROOT = "modal__product-body";
12
+
13
+ const ModalProductBody = React.forwardRef<
14
+ HTMLDivElement,
15
+ ModalProductBodyProps
16
+ >(
17
+ (
18
+ {
19
+ className,
20
+ subtitleSection,
21
+ listSection,
22
+ benefitsSection,
23
+ extraPaymentsSection,
24
+ ...other
25
+ },
26
+ ref,
27
+ ) => {
28
+ const classes = cx(CLASS_ROOT, className);
29
+
30
+ const subtitleSectionClass = `${CLASS_ROOT}-subtitle-section`;
31
+ const listSectionClass = `${CLASS_ROOT}-list-section`;
32
+ const accordionSectionClass = `${CLASS_ROOT}-accordion-section`;
33
+
34
+ return (
35
+ <div className={classes} ref={ref} {...other}>
36
+ {subtitleSection && (
37
+ <div className={subtitleSectionClass}>{subtitleSection}</div>
38
+ )}
39
+ {listSection && <div className={listSectionClass}>{listSection}</div>}
40
+ {benefitsSection && (
41
+ <div className={accordionSectionClass}>{benefitsSection}</div>
42
+ )}
43
+ {extraPaymentsSection && (
44
+ <div className={listSectionClass}>{extraPaymentsSection}</div>
45
+ )}
46
+ </div>
47
+ );
48
+ },
49
+ );
50
+ ModalProductBody.displayName = "ModalProductBody";
51
+
52
+ export { ModalProductBody };
@@ -4,3 +4,4 @@ export { ModalTitle } from "./ModalTitle";
4
4
  export { ModalCloseButton } from "./ModalCloseButton";
5
5
  export { ModalProductHeader } from "./ModalProductHeader";
6
6
  export { ModalProductFooter } from "./ModalProductFooter";
7
+ export { ModalProductBody } from "./ModalProductBody";
@@ -134,14 +134,16 @@
134
134
  @mixin body-spacing($size, $sizes: config.$spacing) {
135
135
  $spacing: map.get($sizes, $size);
136
136
 
137
- @each $breakpoint, $space in $spacing {
138
- @include breakpoint.get($breakpoint) {
139
- padding-left: $space;
140
- padding-right: $space;
137
+ &:not(.modal__body--no-spacing) {
138
+ @each $breakpoint, $space in $spacing {
139
+ @include breakpoint.get($breakpoint) {
140
+ padding-left: $space;
141
+ padding-right: $space;
142
+ }
141
143
  }
142
144
  }
143
145
 
144
- &:not(.modal__body--colorful) {
146
+ &:not(.modal__body--colorful):not(.modal__body--no-spacing) {
145
147
  @each $breakpoint, $space in $spacing {
146
148
  @include breakpoint.get($breakpoint) {
147
149
  padding-bottom: $space;
@@ -282,3 +284,58 @@
282
284
  object-position: left;
283
285
  max-width: convert.to-rem(125px);
284
286
  }
287
+
288
+ @mixin modal-product-body-subtitle-section() {
289
+ padding: convert.to-rem(15px) space.get();
290
+
291
+ @include breakpoint.get('md') {
292
+ padding: convert.to-rem(20px) space.get('large');
293
+ }
294
+ }
295
+
296
+ @mixin modal-product-body-list-section() {
297
+ padding: 0 space.get();
298
+
299
+ @include breakpoint.get('md') {
300
+ padding: space.get('small') space.get('large');
301
+ }
302
+
303
+ ul {
304
+ margin-bottom: 0;
305
+ padding: space.get('small') space.get() space.get('small') convert.to-rem(18px);
306
+ @include breakpoint.get('md') {
307
+ padding-right: 0;
308
+ }
309
+ }
310
+
311
+ li {
312
+ margin-bottom: convert.to-rem(15px);
313
+
314
+ &:last-child {
315
+ margin-bottom: 0;
316
+ }
317
+ }
318
+ }
319
+
320
+ @mixin modal-product-body-accordion-section() {
321
+ padding: convert.to-rem(15px) space.get();
322
+
323
+ .accordion__body {
324
+ padding: 0 space.get() convert.to-rem(15px) space.get('small');
325
+ margin-bottom: 0;
326
+ }
327
+
328
+ @include breakpoint.get('md') {
329
+ padding: space.get('small') space.get('large');
330
+
331
+ .accordion__body {
332
+ padding: 0 space.get('large') convert.to-rem(15px) space.get('small');
333
+ }
334
+ }
335
+ }
336
+
337
+ @mixin modal-product-body-section-title() {
338
+ margin-bottom: 0 !important;
339
+
340
+ padding: space.get('small') 0;
341
+ }
@@ -132,4 +132,20 @@
132
132
  .modal__product-footer-button {
133
133
  @include mixins.modal-product-footer-button();
134
134
  }
135
+
136
+ .modal__product-body-subtitle-section {
137
+ @include mixins.modal-product-body-subtitle-section();
138
+ }
139
+
140
+ .modal__product-body-list-section {
141
+ @include mixins.modal-product-body-list-section();
142
+ }
143
+
144
+ .modal__product-body-accordion-section {
145
+ @include mixins.modal-product-body-accordion-section();
146
+ }
147
+
148
+ .modal__product-body-section-title {
149
+ @include mixins.modal-product-body-section-title();
150
+ }
135
151
  }
@@ -111,4 +111,41 @@ describe("rendering Modal", () => {
111
111
  expect(child[0]).toHaveClass("modal__footer--no-spacing");
112
112
  });
113
113
  });
114
+ describe("disableBodySpacing prop", () => {
115
+ it("should have modal__body--no-spacing class when disableBodySpacing is true", () => {
116
+ const { getByTestId } = render(
117
+ <div id="root">
118
+ <Modal
119
+ id="modal-no-body-spacing"
120
+ data-testid="modal-no-body-spacing"
121
+ disableBodySpacing
122
+ />
123
+ </div>,
124
+ );
125
+ const child = getByTestId("modal-no-body-spacing").getElementsByClassName(
126
+ "modal__body--no-spacing",
127
+ );
128
+ expect(child.length).toBe(1);
129
+ expect(child[0]).toHaveClass("modal__body--no-spacing");
130
+ });
131
+
132
+ it("should not apply with-top-padding class on body when custom header renderer is present with disableBodySpacing prop", () => {
133
+ const { getByTestId } = render(
134
+ <div id="root">
135
+ <Modal
136
+ id="modal-no-body-spacing"
137
+ data-testid="modal-no-body-spacing"
138
+ disableBodySpacing
139
+ renderHeader={() => <div>Custom Header</div>}
140
+ />
141
+ </div>,
142
+ );
143
+ const child = getByTestId("modal-no-body-spacing").getElementsByClassName(
144
+ "modal__body",
145
+ );
146
+ expect(child.length).toBe(1);
147
+ expect(child[0]).not.toHaveClass("with-top-padding");
148
+ expect(child[0]).toHaveClass("modal__body--no-spacing");
149
+ });
150
+ });
114
151
  });
@@ -15,25 +15,41 @@ describe("rendering ModalBody", () => {
15
15
  const { getByText } = render(<ModalBody>test</ModalBody>);
16
16
  expect(getByText("test")).toBeInTheDocument();
17
17
  });
18
+
18
19
  [
19
- "white",
20
- "gray",
21
- "orange",
22
- "orange-dark",
23
- "black",
24
- "blue",
25
- "green",
26
- "pink",
27
- "violet",
28
- "yellow",
20
+ "background-primary",
21
+ "background-secondary",
22
+ "background-accent",
23
+ "surface-primary",
24
+ "surface-secondary",
25
+ "surface-tertiary",
26
+ "surface-subtle",
27
+ "fill-accent1",
28
+ "fill-accent2",
29
29
  ].map((color) => {
30
- it(`has classes bg-${color} and modal__body--colorful when color is set to ${color}`, () => {
30
+ it(`has class ${color} and modal__body--colorful when color is set to ${color}`, () => {
31
31
  const { getByTestId } = render(
32
32
  <ModalBody color={color} data-testid="test-id" />,
33
33
  );
34
- expect(getByTestId("test-id")).toHaveClass(`bg-${color}`);
34
+ expect(getByTestId("test-id")).toHaveClass(color);
35
35
  expect(getByTestId("test-id")).toHaveClass("modal__body--colorful");
36
36
  });
37
37
  });
38
+
39
+ it("has classes background-contrast and text-inverse when color is set to background-contrast", () => {
40
+ const { getByTestId } = render(
41
+ <ModalBody color="background-contrast" data-testid="test-id" />,
42
+ );
43
+ expect(getByTestId("test-id")).toHaveClass("background-contrast");
44
+ expect(getByTestId("test-id")).toHaveClass("text-inverse");
45
+ expect(getByTestId("test-id")).toHaveClass("modal__body--colorful");
46
+ });
47
+
48
+ it("applies disableSpacing prop", () => {
49
+ const { getByTestId } = render(
50
+ <ModalBody disableSpacing data-testid="test-id" />,
51
+ );
52
+ expect(getByTestId("test-id")).toHaveClass("modal__body--no-spacing");
53
+ });
38
54
  });
39
55
  });
@@ -5,7 +5,7 @@ import { PaginationItem } from "./PaginationItem";
5
5
  import Separator from "./Separator";
6
6
  import { getItemState } from "./helpers";
7
7
 
8
- interface PaginationItem {
8
+ interface PaginationItemProps {
9
9
  /** Page link href */
10
10
  href: string;
11
11
  /** Text label inside page item */
@@ -22,7 +22,7 @@ interface PaginationProps {
22
22
  /** Dark theme */
23
23
  colorScheme?: "light" | "dark";
24
24
  /** All pagination items - buttons & numbers */
25
- items: PaginationItem[];
25
+ items: PaginationItemProps[];
26
26
  /** Accessibility label */
27
27
  label?: string;
28
28
  /** Additional CSS class name */
@@ -3,17 +3,22 @@ import cx from "classnames";
3
3
 
4
4
  const CLASS_ROOT = "pill";
5
5
 
6
+ export const pillColors = ["white", "gray", "transparent", "orange"] as const;
7
+ export type PillColor = (typeof pillColors)[number];
8
+
6
9
  interface PillProps extends HTMLAttributes<HTMLSpanElement> {
7
10
  className?: string;
8
11
  children?: ReactNode;
9
- colorScheme?: "dark" | "light" | "transparent";
12
+ color?: PillColor;
10
13
  size?: "small" | "medium" | "large" | "xlarge" | "xxlarge";
14
+ colorScheme?: "light" | "dark";
11
15
  }
12
16
 
13
17
  const Pill: React.FC<PillProps> = ({
14
18
  className,
15
19
  children,
16
20
  size,
21
+ color,
17
22
  colorScheme,
18
23
  ...other
19
24
  }) => (
@@ -21,9 +26,9 @@ const Pill: React.FC<PillProps> = ({
21
26
  className={cx(
22
27
  CLASS_ROOT,
23
28
  {
24
- "is-dark": colorScheme === "dark",
29
+ [`${CLASS_ROOT}--${color}`]: color, // Only apply modifier if color is specified
25
30
  "is-light": colorScheme === "light",
26
- "is-transparent": colorScheme === "transparent",
31
+ "is-dark": colorScheme === "dark",
27
32
  [CLASS_ROOT + "--" + size]: size,
28
33
  },
29
34
  className,