@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,10 +1,11 @@
1
1
  @use "../../../styles/tokens/color";
2
2
  @use "../../../styles/tools/convert";
3
+ @use "sass:map";
3
4
 
4
5
  $base: (
5
- background-color: var(--color-surface-contrast),
6
- color: var(--color-text-inverse),
7
6
  font-weight: bold,
7
+ background-color: map.get(color.$colors-dark, border-subtle),
8
+ color: color.$white,
8
9
  );
9
10
 
10
11
  $sizes: (
@@ -20,3 +21,22 @@ $sizes: (
20
21
  xxlarge: convert.to-rem(64px),
21
22
  ),
22
23
  );
24
+
25
+ $colors: (
26
+ "white": (
27
+ background-color: color.$white,
28
+ color: color.$black,
29
+ ),
30
+ "gray": (
31
+ background-color: var(--color-surface-subtle),
32
+ color: var(--color-text-default),
33
+ ),
34
+ "orange": (
35
+ background-color: var(--color-icon-brand),
36
+ color: var(--color-text-inverse),
37
+ ),
38
+ "transparent": (
39
+ background-color: rgba(#ffffff, 0.5),
40
+ color: var(--color-text-default),
41
+ ),
42
+ );
@@ -1,15 +1,19 @@
1
1
  @use "../../../styles/tools/generate";
2
2
  @use "./config";
3
3
  @use "./mixins";
4
+ @use "sass:map";
4
5
 
5
6
  @layer components {
6
7
  .pill {
7
8
  @include mixins.base();
8
9
  @include mixins.sizes();
9
10
 
10
- &.is-transparent {
11
- color: var(--color-text-default);
12
- background-color: rgba(#ffffff, 0.5);
11
+ @each $colorName, $colorProps in config.$colors {
12
+ &--#{$colorName} {
13
+ @each $property, $value in $colorProps {
14
+ #{$property}: $value;
15
+ }
16
+ }
13
17
  }
14
18
  }
15
19
  }
@@ -18,15 +18,19 @@ const example = (
18
18
  Max 3 digits please. <Pill>123</Pill>
19
19
  </p>
20
20
  <p>
21
- <Pill colorScheme="transparent">T</Pill>
22
- <Pill colorScheme="dark">D</Pill>
23
- <Pill colorScheme="light">L</Pill>
21
+ <Pill color="transparent">T</Pill>
22
+ <Pill color="black">D</Pill>
23
+ <Pill color="white">L</Pill>
24
24
  </p>
25
25
  <p>
26
26
  <Pill size="small">S</Pill>
27
27
  <Pill size="medium">M</Pill>
28
28
  <Pill size="large">L</Pill>
29
29
  </p>
30
+ <p>
31
+ <Pill colorScheme="light">Light</Pill>
32
+ <Pill colorScheme="dark">Dark</Pill>
33
+ </p>
30
34
  </>
31
35
  );
32
36
 
@@ -35,25 +35,54 @@ describe("rendering Pill", () => {
35
35
  expect(getByTestId("test-id")).toHaveClass("pill--large");
36
36
  });
37
37
 
38
- it("has colorScheme class when colorScheme prop is set", () => {
38
+ it("has default black styling without modifier", () => {
39
+ const { getByTestId } = render(<Pill data-testid="test-id">pill</Pill>);
40
+ expect(getByTestId("test-id")).toHaveClass("pill");
41
+ expect(getByTestId("test-id")).not.toHaveClass("pill--black");
42
+ });
43
+
44
+ it("has white class when color is white", () => {
39
45
  const { getByTestId } = render(
40
- <Pill colorScheme="transparent" data-testid="test-id">
46
+ <Pill color="white" data-testid="test-id">
41
47
  pill
42
48
  </Pill>,
43
49
  );
44
- expect(getByTestId("test-id")).toHaveClass("is-transparent");
50
+ expect(getByTestId("test-id")).toHaveClass("pill--white");
45
51
  });
46
52
 
47
- it("has dark colorScheme class when colorScheme is dark", () => {
53
+ it("has gray class when color is gray", () => {
48
54
  const { getByTestId } = render(
49
- <Pill colorScheme="dark" data-testid="test-id">
55
+ <Pill color="gray" data-testid="test-id">
50
56
  pill
51
57
  </Pill>,
52
58
  );
53
- expect(getByTestId("test-id")).toHaveClass("is-dark");
59
+ expect(getByTestId("test-id")).toHaveClass("pill--gray");
54
60
  });
55
61
 
56
- it("has light colorScheme class when colorScheme is light", () => {
62
+ it("has transparent class when color is transparent", () => {
63
+ const { getByTestId } = render(
64
+ <Pill color="transparent" data-testid="test-id">
65
+ pill
66
+ </Pill>,
67
+ );
68
+ expect(getByTestId("test-id")).toHaveClass("pill--transparent");
69
+ });
70
+
71
+ it("supports all available colors", () => {
72
+ const colors = ["white", "gray", "transparent"];
73
+
74
+ colors.forEach((color) => {
75
+ const { getByTestId } = render(
76
+ <Pill color={color} data-testid={`test-${color}`}>
77
+ {color}
78
+ </Pill>,
79
+ );
80
+
81
+ expect(getByTestId(`test-${color}`)).toHaveClass(`pill--${color}`);
82
+ });
83
+ });
84
+
85
+ it("has is-light class when colorScheme is light", () => {
57
86
  const { getByTestId } = render(
58
87
  <Pill colorScheme="light" data-testid="test-id">
59
88
  pill
@@ -62,6 +91,15 @@ describe("rendering Pill", () => {
62
91
  expect(getByTestId("test-id")).toHaveClass("is-light");
63
92
  });
64
93
 
94
+ it("has is-dark class when colorScheme is dark", () => {
95
+ const { getByTestId } = render(
96
+ <Pill colorScheme="dark" data-testid="test-id">
97
+ pill
98
+ </Pill>,
99
+ );
100
+ expect(getByTestId("test-id")).toHaveClass("is-dark");
101
+ });
102
+
65
103
  it("passes other props", () => {
66
104
  const { getByTestId } = render(<Pill data-testid="test">Pill</Pill>);
67
105
  expect(getByTestId("test")).toBeInTheDocument();
@@ -81,6 +81,7 @@ interface PreviewBackground {
81
81
  }
82
82
 
83
83
  interface PreviewProps {
84
+ isDark?: boolean;
84
85
  bgTheme?: string | boolean;
85
86
  bgThemeColors?: Record<string, string>;
86
87
  bgThemeExcludedColors?: string[];
@@ -97,7 +98,6 @@ interface PreviewProps {
97
98
  enableFullscreen?: boolean;
98
99
  hasCodePreview?: boolean;
99
100
  html?: string;
100
- interactiveProps?: Record<string, any>;
101
101
  jsxCode?: string; // Pre-generated JSX string (from server component)
102
102
  [key: string]: any;
103
103
  }
@@ -116,37 +116,36 @@ const getBackgroundsAsArray = (
116
116
  return acc;
117
117
  }, []);
118
118
 
119
- // Map human-friendly color names to bg-* utility classes
119
+ // Map names to only the 6 allowed background classes
120
120
  const getBgClassFromName = (name: string): string => {
121
121
  const normalized = name.toLowerCase().replace(/\s+/g, "-");
122
- const n = normalized === "grey" ? "gray" : normalized;
123
- if (n === "none") return "bg-none";
124
- return `bg-${n}`; // e.g. white -> bg-white, orange-dark -> bg-orange-dark
125
- };
126
122
 
127
- // Determine contrast helper class for nested component styling
128
- const getThemeClassFromName = (name: string): string => {
129
- const n = name.toLowerCase();
130
- // Only black switches global dark tokens; other colors keep light tokens
131
- return n === "black" ? "is-dark" : "is-light";
123
+ // Only allow these background classes
124
+ const allowedBackgrounds = [
125
+ "background-primary",
126
+ "background-secondary",
127
+ "background-contrast",
128
+ "background-accent",
129
+ "background-accent1-blog",
130
+ "background-accent2-blog",
131
+ "background-none",
132
+ ];
133
+
134
+ // Return the class if it's in the allowed list, otherwise default to background-primary
135
+ return allowedBackgrounds.includes(normalized)
136
+ ? normalized
137
+ : "background-primary";
132
138
  };
133
139
 
134
140
  const PreviewGenerator: FunctionComponent<PreviewProps> = ({
135
- bgTheme = "white",
141
+ bgTheme = "background-primary",
136
142
  bgThemeColors = {
137
- White: "bg-white",
138
- Gray: "bg-gray",
139
- Black: "bg-black",
140
- Orange: "bg-orange",
141
- "Orange Dark": "bg-orange-dark",
142
- Blue: "bg-blue",
143
- Green: "bg-green",
144
- Pink: "bg-pink",
145
- Violet: "bg-violet",
146
- Yellow: "bg-yellow",
147
- "Yellow Lighter": "bg-yellow-lighter",
148
- Red: "bg-red",
149
- None: "bg-none",
143
+ "Background Primary": "background-primary",
144
+ "Background Secondary": "background-secondary",
145
+ "Background Contrast": "background-contrast",
146
+ "Background Accent": "background-accent",
147
+ "Background Accent1 Blog": "background-accent1-blog",
148
+ "Background Accent2 Blog": "background-accent2-blog",
150
149
  },
151
150
  bgThemeExcludedColors = [],
152
151
  children,
@@ -157,12 +156,13 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
157
156
  enableFullscreen = true,
158
157
  hasCodePreview = true,
159
158
  html,
160
- interactiveProps = {},
161
159
  jsxCode,
160
+ isDark = false,
162
161
  ...other
163
162
  }) => {
164
163
  const [isCodeShown, setIsCodeShown] = useState(false);
165
164
  const [isFullscreen, setIsFullscreen] = useState(false);
165
+ const [isDarkMode, setIsDarkMode] = useState(isDark);
166
166
  // Ensure unique dropdown id per Preview instance to avoid id collisions (SSR-safe)
167
167
  const backgroundDropdownId = `background-select-${useId()}`;
168
168
  const [previewBackground, setPreviewBackground] = useState<PreviewBackground>(
@@ -195,10 +195,10 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
195
195
 
196
196
  return {
197
197
  label: bgTheme,
198
- value: bgThemeColors[bgTheme] || "bg-white",
198
+ value: bgThemeColors[bgTheme] || "background-primary",
199
199
  };
200
200
  }
201
- return { label: "white", value: "bg-white" };
201
+ return { label: "Background Primary", value: "background-primary" };
202
202
  },
203
203
  );
204
204
 
@@ -214,7 +214,11 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
214
214
  setIsFullscreen(!isFullscreen);
215
215
  }
216
216
 
217
- const themeClass = getThemeClassFromName(previewBackground.label);
217
+ function handleToggleDarkMode() {
218
+ setIsDarkMode(!isDarkMode);
219
+ }
220
+
221
+ const themeClass = isDarkMode ? "is-dark" : "is-light";
218
222
  const bgClass = getBgClassFromName(previewBackground.label);
219
223
 
220
224
  const classes = cx(CLASS_ROOT, themeClass, bgClass, className);
@@ -230,6 +234,23 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
230
234
  bgThemeExcludedColors,
231
235
  );
232
236
 
237
+ // Add theme toggle button
238
+ actions.push(
239
+ <Button key="theme-toggle" onClick={handleToggleDarkMode} type="ghost">
240
+ <Icon
241
+ name={isDarkMode ? "sleep" : "flashlight"}
242
+ size="medium"
243
+ fill={"currentColor"}
244
+ style={{ marginRight: "0.5rem" }}
245
+ />
246
+ {isDarkMode ? (
247
+ <code className="small bold">{".is-dark"}</code>
248
+ ) : (
249
+ <code className="small bold">{".is-light"}</code>
250
+ )}
251
+ </Button>,
252
+ );
253
+
233
254
  if (bgColorsOptions.length) {
234
255
  actions.push(
235
256
  <Dropdown
@@ -289,9 +310,34 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
289
310
  ? children(renderAsFunctionContext)
290
311
  : children;
291
312
 
292
- const toRender = childrenToRender || (
293
- <div dangerouslySetInnerHTML={{ __html: html || "" }} />
294
- );
313
+ // Wrap the component to ensure theme classes are applied to the root element
314
+ const wrapComponentWithTheme = (component: ReactNode) => {
315
+ if (!component) return component;
316
+
317
+ // If it's a single React element, clone it with additional classes
318
+ if (React.isValidElement(component)) {
319
+ const props = component.props as any;
320
+ const existingClassName = props.className || "";
321
+ const newClassName = cx(existingClassName, themeClass);
322
+
323
+ return React.cloneElement(component, {
324
+ ...props,
325
+ className: newClassName,
326
+ } as any);
327
+ }
328
+
329
+ // For multiple elements or other cases, wrap in a div with theme classes
330
+ return <div className={cx(themeClass)}>{component}</div>;
331
+ };
332
+
333
+ const toRender = childrenToRender ? (
334
+ wrapComponentWithTheme(childrenToRender)
335
+ ) : html ? (
336
+ <div
337
+ className={cx(themeClass)}
338
+ dangerouslySetInnerHTML={{ __html: html || "" }}
339
+ />
340
+ ) : null;
295
341
 
296
342
  const toCode =
297
343
  (code && typeof code === "function"
@@ -337,6 +383,4 @@ const PreviewGenerator: FunctionComponent<PreviewProps> = ({
337
383
  );
338
384
  };
339
385
 
340
- PreviewGenerator.displayName = "PreviewGenerator";
341
-
342
386
  export { PreviewGenerator };
@@ -2,27 +2,33 @@ import React from "react";
2
2
  import cx from "classnames";
3
3
  import { Grid, GridCol } from "../Grid";
4
4
  import { Image } from "../Image";
5
- import { Button } from "../Button";
6
5
 
7
6
  interface PromoBannerProps {
8
7
  colorScheme?: "light" | "dark";
9
8
  className?: string;
10
- title: string;
11
- secondaryTitle?: string;
12
- description: string;
13
- buttonText: string;
14
9
  image?: string;
10
+ alignImage?: "bottom" | "top";
11
+ imageFullWidth?: boolean;
12
+ /** Make image extend to the edge of viewport even when inside container */
13
+ bleedImage?: boolean;
14
+ children?: React.ReactNode;
15
+ itemClassName?: string;
16
+ imageClassName?: string;
17
+ variant?: "vertical";
15
18
  }
16
19
 
17
20
  const CLASS_ROOT = "promo-banner";
18
21
  export const PromoBanner = ({
19
- title,
20
- secondaryTitle,
21
- description,
22
- buttonText,
23
22
  image,
24
23
  colorScheme,
25
24
  className,
25
+ alignImage,
26
+ bleedImage,
27
+ children,
28
+ itemClassName,
29
+ imageClassName,
30
+ variant,
31
+ imageFullWidth,
26
32
  }: PromoBannerProps) => {
27
33
  const classes = cx(
28
34
  CLASS_ROOT,
@@ -33,33 +39,45 @@ export const PromoBanner = ({
33
39
  className,
34
40
  );
35
41
  return (
36
- <div className={classes}>
37
- <Grid>
42
+ <Grid className={classes}>
43
+ <GridCol
44
+ size={
45
+ variant === "vertical"
46
+ ? { xs: 12, sm: 10, md: 8, lg: 6 }
47
+ : { xs: 12, md: image ? 6 : 7 }
48
+ }
49
+ className={cx(
50
+ `${CLASS_ROOT}__item`,
51
+ {
52
+ "align-items-center align-center align-self-center":
53
+ variant === "vertical",
54
+ },
55
+ itemClassName,
56
+ )}
57
+ >
58
+ {children}
59
+ </GridCol>
60
+
61
+ {image && (
38
62
  <GridCol
39
- size={{ xs: 12, md: image ? 6 : 8 }}
40
- className={`${CLASS_ROOT}__item`}
63
+ size={variant === "vertical" ? { xs: 12 } : { xs: 12, md: 6 }}
64
+ className={cx(
65
+ `${CLASS_ROOT}__image`,
66
+ {
67
+ [`${CLASS_ROOT}__image--bleed-right`]: bleedImage,
68
+ [`align-self-${alignImage}`]: alignImage,
69
+ "align-center": variant === "vertical",
70
+ },
71
+ imageClassName,
72
+ )}
41
73
  >
42
- <h2 className="display-3 thin mb-medium">
43
- <span
44
- className={`${secondaryTitle ? `${CLASS_ROOT}__item-title` : ""}`}
45
- >
46
- {title}
47
- </span>
48
- {secondaryTitle && (
49
- <span className={`color-orange ml-small`}>{secondaryTitle}</span>
50
- )}
51
- </h2>
52
- <p className={`mb-large ${image ? "show-lg" : ""}`}>{description}</p>
53
- <Button type="fill" size="large">
54
- {buttonText}
55
- </Button>
74
+ <Image
75
+ src={image}
76
+ alt="Obrázok"
77
+ className={cx("mb-none", { fullwidth: imageFullWidth })}
78
+ />
56
79
  </GridCol>
57
- {image && (
58
- <GridCol size={{ xs: 12, md: 6 }} className={`${CLASS_ROOT}__image`}>
59
- <Image src={image} alt="" className="mb-none" />
60
- </GridCol>
61
- )}
62
- </Grid>
63
- </div>
80
+ )}
81
+ </Grid>
64
82
  );
65
83
  };
@@ -1,37 +1,54 @@
1
- @use "sass:map";
2
- @use "sass:math";
3
-
1
+ @use "sass:map" as sassmap;
2
+ @use "./../../../styles/tools/convert";
4
3
  @use "./../../../styles/tools/generate";
5
- @use "./../../../styles/tools/layout";
6
4
  @use "./../../../styles/tokens/breakpoint";
7
5
  @use "./../../../styles/tokens/space";
6
+ @use "./../../Section/styles/mixins" as section;
8
7
 
9
- @mixin promo-banner-base() {
10
- background-color: var(--color-background-primary);
11
- color: var(--color-text-default);
12
- padding: space.get("xlarge") 70px;
8
+ @mixin promo-banner-item() {
9
+ order: 2;
10
+ padding-top: space.get("xlarge");
11
+ padding-bottom: space.get("xlarge");
13
12
 
14
- @include breakpoint.get("lg", "down") {
15
- padding: space.get("xlarge") 20px;
13
+ @include breakpoint.get("md", "down") {
14
+ padding-top: space.get("large");
15
+ padding-bottom: space.get("medium");
16
16
  }
17
17
 
18
- @include breakpoint.get("sm", "down") {
19
- padding: 30px space.get("small");
18
+ display: flex;
19
+ flex-direction: column;
20
+ justify-content: center;
21
+
22
+ > * {
23
+ width: fit-content !important;
20
24
  }
21
25
  }
22
26
 
23
27
  @mixin promo-banner-image() {
24
- text-align: center;
28
+ order: 2;
29
+ text-align: end;
25
30
  align-self: center;
26
- }
27
31
 
28
- @mixin promo-banner-item() {
29
- padding-right: space.get("xlarge") !important;
30
- @include breakpoint.get("lg", "down") {
31
- padding-right: 10px !important;
32
+ @include breakpoint.get("md", "down") {
33
+ text-align: center;
32
34
  }
33
35
  }
34
36
 
35
- @mixin promo-banner-item-title() {
36
- margin-right: space.get("small") !important;
37
+ @mixin promo-banner-image-bleed-right() {
38
+ @include breakpoint.get("sm", "down") {
39
+ order: 1;
40
+ }
41
+
42
+ > * {
43
+ // Extend image to the right edge of viewport even when inside .container
44
+ margin-right: calc((50vw - 100%) * -1);
45
+
46
+ @include breakpoint.get("md", "down") {
47
+ margin-right: calc((65vw - 100%) * -1);
48
+ }
49
+
50
+ @include breakpoint.get("sm", "down") {
51
+ margin-right: calc(85vw - 100%);
52
+ }
53
+ }
37
54
  }
@@ -1,22 +1,16 @@
1
- @use "../../../styles/tools/layout";
2
- @use "../../../styles/tokens/space";
3
- @use "../../../styles/tokens/breakpoint";
4
- @use "../../../styles/tools/generate";
5
1
  @use "./mixins";
6
2
 
7
3
  @layer components {
8
4
  .promo-banner {
9
- @include mixins.promo-banner-base;
5
+ &__item {
6
+ @include mixins.promo-banner-item;
7
+ }
10
8
 
11
9
  &__image {
12
10
  @include mixins.promo-banner-image;
13
- }
14
-
15
- &__item {
16
- @include mixins.promo-banner-item;
17
11
 
18
- &-title {
19
- @include mixins.promo-banner-item-title;
12
+ &--bleed-right {
13
+ @include mixins.promo-banner-image-bleed-right;
20
14
  }
21
15
  }
22
16
  }