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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/build/components/index.css +1 -2
  2. package/build/components/index.css.map +1 -1
  3. package/build/components/index.js +7 -7
  4. package/build/components/index.js.map +1 -1
  5. package/build/components/tsconfig.tsbuildinfo +1 -1
  6. package/build/components/types/index.d.ts +1508 -0
  7. package/build/components/types/src/components/Accordion/Accordion.d.ts +2 -0
  8. package/build/components/types/src/components/Accordion/AccordionHeader.d.ts +2 -1
  9. package/build/components/types/src/components/Accordion/AccordionItem.d.ts +2 -1
  10. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +1 -1
  11. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +19 -17
  12. package/build/components/types/src/components/AnchorNavigation/index.d.ts +0 -1
  13. package/build/components/types/src/components/BlockAction/index.d.ts +0 -1
  14. package/build/components/types/src/components/BodyBanner/index.d.ts +0 -1
  15. package/build/components/types/src/components/Button/Button.d.ts +1 -0
  16. package/build/components/types/src/components/Button/index.d.ts +0 -1
  17. package/build/components/types/src/components/Card/Card.d.ts +2 -4
  18. package/build/components/types/src/components/Card/CardSection.d.ts +2 -2
  19. package/build/components/types/src/components/Carousel/Carousel.d.ts +4 -0
  20. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +1 -0
  21. package/build/components/types/src/components/Carousel/constants.d.ts +2 -0
  22. package/build/components/types/src/components/CarouselHero/CarouselHero.d.ts +18 -0
  23. package/build/components/types/src/components/CarouselHero/CarouselHero.static.d.ts +47 -0
  24. package/build/components/types/src/components/CarouselHero/CarouselHeroItem.d.ts +8 -0
  25. package/build/components/types/src/components/CarouselHero/constants.d.ts +33 -0
  26. package/build/components/types/src/components/CarouselHero/index.d.ts +2 -0
  27. package/build/components/types/src/components/Cover/index.d.ts +1 -2
  28. package/build/components/types/src/components/Divider/Divider.d.ts +0 -4
  29. package/build/components/types/src/components/Expander/Expander.d.ts +2 -2
  30. package/build/components/types/src/components/Footer/Footer.d.ts +1 -5
  31. package/build/components/types/src/components/Footer/constants.d.ts +9 -0
  32. package/build/components/types/src/components/Forms/Select/index.d.ts +0 -1
  33. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +253 -251
  34. package/build/components/types/src/components/IconList/index.d.ts +2 -3
  35. package/build/components/types/src/components/List/index.d.ts +2 -3
  36. package/build/components/types/src/components/Megamenu/MegaMenuIcon.d.ts +13 -0
  37. package/build/components/types/src/components/Megamenu/Megamenu.d.ts +1 -9
  38. package/build/components/types/src/components/Megamenu/Megamenu.static.d.ts +47 -0
  39. package/build/components/types/src/components/Megamenu/MegamenuBlog.d.ts +1 -0
  40. package/build/components/types/src/components/Megamenu/constants.d.ts +48 -0
  41. package/build/components/types/src/components/Megamenu/index.d.ts +2 -3
  42. package/build/components/types/src/components/Megamenu/static.d.ts +22 -0
  43. package/build/components/types/src/components/Modal/Modal.d.ts +6 -0
  44. package/build/components/types/src/components/Modal/ModalBody.d.ts +4 -3
  45. package/build/components/types/src/components/Modal/ModalProductBody.d.ts +10 -0
  46. package/build/components/types/src/components/Modal/ModalProductFooter.d.ts +10 -0
  47. package/build/components/types/src/components/Modal/index.d.ts +2 -0
  48. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  49. package/build/components/types/src/components/Pill/Pill.d.ts +4 -1
  50. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  51. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -5
  52. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +2 -2
  53. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  54. package/build/components/types/src/components/Tag/Tag.d.ts +9 -2
  55. package/build/components/types/src/components/index.d.ts +3 -5
  56. package/build/components/types/src/scripts/index.d.ts +10 -0
  57. package/build/lib/after-components.css +1 -1
  58. package/build/lib/after-components.css.map +1 -1
  59. package/build/lib/before-components.css +1 -1
  60. package/build/lib/before-components.css.map +1 -1
  61. package/build/lib/components.css +1 -1
  62. package/build/lib/components.css.map +1 -1
  63. package/build/lib/footer.css +2 -0
  64. package/build/lib/footer.css.map +1 -0
  65. package/build/lib/megamenu.css +2 -0
  66. package/build/lib/megamenu.css.map +1 -0
  67. package/build/lib/megamenu.js +2 -0
  68. package/build/lib/megamenu.js.map +1 -0
  69. package/build/lib/scripts.css +1 -1
  70. package/build/lib/scripts.css.map +1 -1
  71. package/build/lib/scripts.js +5 -5
  72. package/build/lib/scripts.js.map +1 -1
  73. package/build/lib/style.css +1 -1
  74. package/build/lib/style.css.map +1 -1
  75. package/build/lib/tsconfig.tsbuildinfo +1 -1
  76. package/build/logo-line.svg +5 -0
  77. package/build/sprite.svg +1 -1
  78. package/package.json +35 -29
  79. package/src/assets/icons/ai.svg +6 -0
  80. package/src/assets/icons/article.svg +7 -0
  81. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  82. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  83. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  84. package/src/assets/icons/pictogram-activation.svg +10 -11
  85. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  86. package/src/assets/icons/pictogram-archive.svg +3 -4
  87. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  88. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  89. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  90. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  91. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  92. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  93. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  94. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  95. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  96. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  97. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  98. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  99. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  100. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  101. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  102. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  103. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  104. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  105. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  106. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  107. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  108. package/src/assets/icons/pictogram-gift.svg +3 -4
  109. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  110. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  111. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  112. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  113. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  114. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  115. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  116. package/src/assets/icons/pictogram-installation.svg +4 -5
  117. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  118. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  119. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  120. package/src/assets/icons/pictogram-max.svg +3 -4
  121. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  122. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  123. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  124. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  125. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  126. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  127. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  128. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  129. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  130. package/src/assets/icons/pictogram-recycling.svg +14 -15
  131. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  132. package/src/assets/icons/pictogram-repair.svg +12 -13
  133. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  134. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  135. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  136. package/src/assets/icons/pictogram-roaming.svg +3 -4
  137. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  138. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  139. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  140. package/src/assets/icons/pictogram-skylink.svg +10 -11
  141. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  142. package/src/assets/icons/pictogram-sms.svg +5 -6
  143. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  144. package/src/assets/icons/pictogram-theft.svg +3 -7
  145. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  146. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  147. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  148. package/src/assets/icons/pictogram-trust.svg +3 -4
  149. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  150. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  151. package/src/components/Accordion/Accordion.tsx +4 -0
  152. package/src/components/Accordion/AccordionHeader.tsx +9 -2
  153. package/src/components/Accordion/AccordionItem.tsx +5 -2
  154. package/src/components/Accordion/styles/config.scss +4 -4
  155. package/src/components/Accordion/styles/mixins.scss +9 -3
  156. package/src/components/Accordion/styles/style.scss +4 -0
  157. package/src/components/Accordion/tests/Accordion.unit.test.js +11 -0
  158. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +253 -73
  159. package/src/components/AnchorNavigation/AnchorNavigation.tsx +20 -16
  160. package/src/components/AnchorNavigation/index.tsx +0 -2
  161. package/src/components/AnchorNavigation/styles/mixins.scss +14 -27
  162. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +67 -0
  163. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  164. package/src/components/Bar/styles/config.scss +4 -5
  165. package/src/components/BlockAction/index.tsx +0 -2
  166. package/src/components/BlockAction/styles/mixins.scss +0 -6
  167. package/src/components/BodyBanner/index.tsx +0 -2
  168. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  169. package/src/components/Button/Button.tsx +2 -2
  170. package/src/components/Button/index.tsx +0 -2
  171. package/src/components/Button/styles/config.scss +1 -1
  172. package/src/components/Button/styles/mixins.scss +5 -0
  173. package/src/components/Button/styles/style.scss +4 -0
  174. package/src/components/Card/Card.tsx +20 -8
  175. package/src/components/Card/CardSection.tsx +7 -11
  176. package/src/components/Card/styles/config.scss +1 -1
  177. package/src/components/Card/styles/mixins.scss +8 -6
  178. package/src/components/Card/styles/style.scss +4 -0
  179. package/src/components/Card/tests/Card.unit.test.js +45 -11
  180. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  181. package/src/components/Carousel/Carousel.static.ts +67 -1
  182. package/src/components/Carousel/Carousel.tsx +41 -19
  183. package/src/components/Carousel/constants.ts +2 -0
  184. package/src/components/Carousel/styles/config.scss +1 -2
  185. package/src/components/Carousel/styles/mixins.scss +35 -2
  186. package/src/components/Carousel/styles/style.scss +8 -0
  187. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  188. package/src/components/CarouselHero/CarouselHero.tsx +147 -0
  189. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  190. package/src/components/CarouselHero/constants.ts +36 -0
  191. package/src/components/CarouselHero/index.ts +2 -0
  192. package/src/components/CarouselHero/styles/config.scss +54 -0
  193. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  194. package/src/components/CarouselHero/styles/style.scss +63 -0
  195. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +130 -0
  196. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +346 -0
  197. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  198. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  199. package/src/components/CarouselPromotions/styles/mixins.scss +10 -3
  200. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  201. package/src/components/CartTable/Price.tsx +1 -1
  202. package/src/components/Controls/styles/config.scss +2 -2
  203. package/src/components/Controls/tests/Controls.test.js +0 -9
  204. package/src/components/Cover/index.ts +1 -2
  205. package/src/components/Divider/Divider.tsx +2 -16
  206. package/src/components/Divider/styles/config.scss +0 -17
  207. package/src/components/Divider/styles/mixins.scss +8 -10
  208. package/src/components/Divider/styles/style.scss +2 -16
  209. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  210. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  211. package/src/components/Dropdown/styles/mixins.scss +1 -1
  212. package/src/components/Expander/Expander.tsx +4 -2
  213. package/src/components/Expander/styles/style.scss +7 -0
  214. package/src/components/Footer/Footer.tsx +86 -70
  215. package/src/components/Footer/constants.ts +10 -0
  216. package/src/components/Footer/styles/config.scss +1 -0
  217. package/src/components/Footer/styles/mixins.scss +172 -0
  218. package/src/components/Footer/styles/style.scss +48 -0
  219. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  220. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  221. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  222. package/src/components/Forms/File/styles/mixins.scss +1 -1
  223. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  224. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  225. package/src/components/Forms/Select/index.tsx +0 -2
  226. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  227. package/src/components/Forms/styles/config.scss +3 -3
  228. package/src/components/Icon/iconSearchTags.ts +434 -432
  229. package/src/components/Icon/styles/style.scss +15 -0
  230. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  231. package/src/components/IconList/index.ts +2 -3
  232. package/src/components/Link/styles/style.scss +6 -2
  233. package/src/components/Link/tests/Link.conformance.test.js +5 -20
  234. package/src/components/Link/tests/Link.unit.test.js +1 -10
  235. package/src/components/List/index.ts +2 -3
  236. package/src/components/Loader/Loader.tsx +2 -10
  237. package/src/components/Loader/styles/mixins.scss +1 -1
  238. package/src/components/Loader/styles/style.scss +6 -4
  239. package/src/components/Megamenu/MegaMenuIcon.tsx +48 -0
  240. package/src/components/Megamenu/Megamenu.static.ts +600 -0
  241. package/src/components/Megamenu/Megamenu.tsx +799 -356
  242. package/src/components/Megamenu/MegamenuBlog.tsx +309 -0
  243. package/src/components/Megamenu/constants.ts +56 -0
  244. package/src/components/Megamenu/index.ts +2 -5
  245. package/src/components/Megamenu/static.ts +73 -0
  246. package/src/components/Megamenu/styles/config.scss +2 -13
  247. package/src/components/Megamenu/styles/mixins.scss +647 -208
  248. package/src/components/Megamenu/styles/style.scss +173 -61
  249. package/src/components/Modal/Modal.tsx +17 -2
  250. package/src/components/Modal/ModalBody.tsx +29 -14
  251. package/src/components/Modal/ModalProductBody.tsx +52 -0
  252. package/src/components/Modal/ModalProductFooter.tsx +38 -0
  253. package/src/components/Modal/index.ts +2 -0
  254. package/src/components/Modal/styles/config.scss +7 -0
  255. package/src/components/Modal/styles/mixins.scss +121 -14
  256. package/src/components/Modal/styles/style.scss +28 -0
  257. package/src/components/Modal/tests/Modal.unit.test.js +73 -0
  258. package/src/components/Modal/tests/ModalBody.unit.test.js +28 -12
  259. package/src/components/Pagination/Pagination.tsx +2 -2
  260. package/src/components/Pill/Pill.tsx +8 -3
  261. package/src/components/Pill/styles/config.scss +22 -2
  262. package/src/components/Pill/styles/style.scss +7 -3
  263. package/src/components/Pill/tests/Pill.conformance.test.js +7 -3
  264. package/src/components/Pill/tests/Pill.unit.test.js +45 -7
  265. package/src/components/Preview/PreviewGenerator.tsx +78 -34
  266. package/src/components/PromoBanner/PromoBanner.tsx +52 -34
  267. package/src/components/PromoBanner/styles/mixins.scss +37 -20
  268. package/src/components/PromoBanner/styles/style.scss +5 -11
  269. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +781 -0
  270. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +529 -0
  271. package/src/components/PromotionCard/PromotionCard.tsx +13 -12
  272. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +567 -0
  273. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +500 -0
  274. package/src/components/Section/Section.tsx +20 -4
  275. package/src/components/Section/styles/config.scss +18 -16
  276. package/src/components/Section/styles/mixins.scss +16 -13
  277. package/src/components/Section/styles/style.scss +1 -0
  278. package/src/components/Section/tests/Section.conformance.test.js +27 -10
  279. package/src/components/Section/tests/Section.unit.test.js +73 -25
  280. package/src/components/Tag/Tag.tsx +27 -3
  281. package/src/components/Tag/styles/config.scss +31 -0
  282. package/src/components/Tag/styles/mixins.scss +39 -3
  283. package/src/components/Tag/styles/style.scss +28 -2
  284. package/src/components/Tag/tests/Tag.conformance.test.js +19 -1
  285. package/src/components/Tag/tests/Tag.unit.test.js +93 -0
  286. package/src/components/Tile/styles/style.scss +1 -1
  287. package/src/components/index.ts +5 -6
  288. package/src/styles/base/globals.scss +19 -0
  289. package/src/styles/base/styleguide.scss +17 -17
  290. package/src/styles/export/base.js +2 -2
  291. package/src/styles/export/color.js +2 -2
  292. package/src/styles/shame.scss +2 -1
  293. package/src/styles/tokens/base.scss +1 -1
  294. package/src/styles/tokens/color.scss +12 -8
  295. package/src/styles/typography/mixins.scss +3 -2
  296. package/src/styles/utilities/border.scss +1 -1
  297. package/src/styles/utilities/color.scss +113 -20
  298. package/src/styles/utilities/index.scss +1 -0
  299. package/src/styles/utilities/layout.scss +9 -0
  300. package/src/styles/utilities/ordering.scss +44 -0
  301. package/build/components/Accordion/index.js +0 -16
  302. package/build/components/Accordion/index.js.map +0 -1
  303. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  304. package/build/components/Alert/index.js +0 -16
  305. package/build/components/Alert/index.js.map +0 -1
  306. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  307. package/build/components/AnchorNavigation/index.js +0 -16
  308. package/build/components/AnchorNavigation/index.js.map +0 -1
  309. package/build/components/AnchorNavigation/style.css +0 -2
  310. package/build/components/AnchorNavigation/style.css.map +0 -1
  311. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  312. package/build/components/Bar/index.js +0 -16
  313. package/build/components/Bar/index.js.map +0 -1
  314. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  315. package/build/components/BlockAction/index.js +0 -16
  316. package/build/components/BlockAction/index.js.map +0 -1
  317. package/build/components/BlockAction/style.css +0 -2
  318. package/build/components/BlockAction/style.css.map +0 -1
  319. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  320. package/build/components/BodyBanner/index.js +0 -16
  321. package/build/components/BodyBanner/index.js.map +0 -1
  322. package/build/components/BodyBanner/style.css +0 -2
  323. package/build/components/BodyBanner/style.css.map +0 -1
  324. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  325. package/build/components/Breadcrumbs/index.js +0 -16
  326. package/build/components/Breadcrumbs/index.js.map +0 -1
  327. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  328. package/build/components/Button/index.js +0 -16
  329. package/build/components/Button/index.js.map +0 -1
  330. package/build/components/Button/style.css +0 -2
  331. package/build/components/Button/style.css.map +0 -1
  332. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  333. package/build/components/Buttons/index.js +0 -16
  334. package/build/components/Buttons/index.js.map +0 -1
  335. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  336. package/build/components/Card/index.js +0 -16
  337. package/build/components/Card/index.js.map +0 -1
  338. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  339. package/build/components/Carousel/index.js +0 -16
  340. package/build/components/Carousel/index.js.map +0 -1
  341. package/build/components/Carousel/style.css +0 -2
  342. package/build/components/Carousel/style.css.map +0 -1
  343. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  344. package/build/components/CarouselPromotions/index.js +0 -16
  345. package/build/components/CarouselPromotions/index.js.map +0 -1
  346. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  347. package/build/components/CartTable/index.js +0 -16
  348. package/build/components/CartTable/index.js.map +0 -1
  349. package/build/components/CartTable/style.css +0 -2
  350. package/build/components/CartTable/style.css.map +0 -1
  351. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  352. package/build/components/Code/index.js +0 -11
  353. package/build/components/Code/index.js.map +0 -1
  354. package/build/components/Code/style.css +0 -2
  355. package/build/components/Code/style.css.map +0 -1
  356. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  357. package/build/components/Container/index.js +0 -16
  358. package/build/components/Container/index.js.map +0 -1
  359. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  360. package/build/components/Controls/index.js +0 -16
  361. package/build/components/Controls/index.js.map +0 -1
  362. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  363. package/build/components/Cover/index.js +0 -16
  364. package/build/components/Cover/index.js.map +0 -1
  365. package/build/components/Cover/style.css +0 -2
  366. package/build/components/Cover/style.css.map +0 -1
  367. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  368. package/build/components/Divider/index.js +0 -16
  369. package/build/components/Divider/index.js.map +0 -1
  370. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  371. package/build/components/DocumentationSidebar/index.js +0 -16
  372. package/build/components/DocumentationSidebar/index.js.map +0 -1
  373. package/build/components/DocumentationSidebar/style.css +0 -2
  374. package/build/components/DocumentationSidebar/style.css.map +0 -1
  375. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  376. package/build/components/Dropdown/index.js +0 -16
  377. package/build/components/Dropdown/index.js.map +0 -1
  378. package/build/components/Dropdown/style.css +0 -2
  379. package/build/components/Dropdown/style.css.map +0 -1
  380. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  381. package/build/components/Expander/index.js +0 -16
  382. package/build/components/Expander/index.js.map +0 -1
  383. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  384. package/build/components/FeatureAccordion/index.js +0 -16
  385. package/build/components/FeatureAccordion/index.js.map +0 -1
  386. package/build/components/FeatureAccordion/style.css +0 -2
  387. package/build/components/FeatureAccordion/style.css.map +0 -1
  388. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  389. package/build/components/Footer/index.js +0 -16
  390. package/build/components/Footer/index.js.map +0 -1
  391. package/build/components/Footer/style.css +0 -2
  392. package/build/components/Footer/style.css.map +0 -1
  393. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  394. package/build/components/Forms/index.js +0 -20
  395. package/build/components/Forms/index.js.map +0 -1
  396. package/build/components/Forms/style.css +0 -2
  397. package/build/components/Forms/style.css.map +0 -1
  398. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  399. package/build/components/Gauge/index.js +0 -16
  400. package/build/components/Gauge/index.js.map +0 -1
  401. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  402. package/build/components/Grid/index.js +0 -16
  403. package/build/components/Grid/index.js.map +0 -1
  404. package/build/components/Grid/style.css +0 -2
  405. package/build/components/Grid/style.css.map +0 -1
  406. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  407. package/build/components/Hero/index.js +0 -16
  408. package/build/components/Hero/index.js.map +0 -1
  409. package/build/components/Hero/style.css +0 -2
  410. package/build/components/Hero/style.css.map +0 -1
  411. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  412. package/build/components/Icon/index.js +0 -11
  413. package/build/components/Icon/index.js.map +0 -1
  414. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  415. package/build/components/IconList/index.js +0 -16
  416. package/build/components/IconList/index.js.map +0 -1
  417. package/build/components/IconList/style.css +0 -2
  418. package/build/components/IconList/style.css.map +0 -1
  419. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  420. package/build/components/Image/index.js +0 -16
  421. package/build/components/Image/index.js.map +0 -1
  422. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  423. package/build/components/Link/index.js +0 -7
  424. package/build/components/Link/index.js.map +0 -1
  425. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  426. package/build/components/List/index.js +0 -16
  427. package/build/components/List/index.js.map +0 -1
  428. package/build/components/List/style.css +0 -2
  429. package/build/components/List/style.css.map +0 -1
  430. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  431. package/build/components/Loader/index.js +0 -16
  432. package/build/components/Loader/index.js.map +0 -1
  433. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  434. package/build/components/Megamenu/index.js +0 -20
  435. package/build/components/Megamenu/index.js.map +0 -1
  436. package/build/components/Megamenu/style.css +0 -2
  437. package/build/components/Megamenu/style.css.map +0 -1
  438. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  439. package/build/components/Modal/index.js +0 -20
  440. package/build/components/Modal/index.js.map +0 -1
  441. package/build/components/Modal/style.css +0 -2
  442. package/build/components/Modal/style.css.map +0 -1
  443. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  444. package/build/components/Pagination/index.js +0 -16
  445. package/build/components/Pagination/index.js.map +0 -1
  446. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  447. package/build/components/Pill/index.js +0 -16
  448. package/build/components/Pill/index.js.map +0 -1
  449. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  450. package/build/components/Preview/index.js +0 -77
  451. package/build/components/Preview/index.js.map +0 -1
  452. package/build/components/Preview/style.css +0 -2
  453. package/build/components/Preview/style.css.map +0 -1
  454. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  455. package/build/components/Progress/index.js +0 -16
  456. package/build/components/Progress/index.js.map +0 -1
  457. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  458. package/build/components/PromoBanner/index.js +0 -16
  459. package/build/components/PromoBanner/index.js.map +0 -1
  460. package/build/components/PromoBanner/style.css +0 -2
  461. package/build/components/PromoBanner/style.css.map +0 -1
  462. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  463. package/build/components/PromotionCard/index.js +0 -16
  464. package/build/components/PromotionCard/index.js.map +0 -1
  465. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  466. package/build/components/Section/index.js +0 -16
  467. package/build/components/Section/index.js.map +0 -1
  468. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  469. package/build/components/Skeleton/index.js +0 -16
  470. package/build/components/Skeleton/index.js.map +0 -1
  471. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  472. package/build/components/SkipLink/index.js +0 -16
  473. package/build/components/SkipLink/index.js.map +0 -1
  474. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  475. package/build/components/Stepbar/index.js +0 -16
  476. package/build/components/Stepbar/index.js.map +0 -1
  477. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  478. package/build/components/Sticker/index.js +0 -16
  479. package/build/components/Sticker/index.js.map +0 -1
  480. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  481. package/build/components/Table/index.js +0 -16
  482. package/build/components/Table/index.js.map +0 -1
  483. package/build/components/Table/style.css +0 -2
  484. package/build/components/Table/style.css.map +0 -1
  485. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  486. package/build/components/Tabs/index.js +0 -16
  487. package/build/components/Tabs/index.js.map +0 -1
  488. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  489. package/build/components/Tag/index.js +0 -16
  490. package/build/components/Tag/index.js.map +0 -1
  491. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  492. package/build/components/Testimonial/index.js +0 -16
  493. package/build/components/Testimonial/index.js.map +0 -1
  494. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  495. package/build/components/Tile/index.js +0 -16
  496. package/build/components/Tile/index.js.map +0 -1
  497. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  498. package/build/components/Tooltip/index.js +0 -16
  499. package/build/components/Tooltip/index.js.map +0 -1
  500. package/build/components/Tooltip/style.css +0 -2
  501. package/build/components/Tooltip/style.css.map +0 -1
  502. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  503. package/build/components/static.css +0 -2
  504. package/build/components/static.css.map +0 -1
  505. package/build/components/static.js +0 -10
  506. package/build/components/static.js.map +0 -1
  507. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  508. package/build/components/types/src/components/Megamenu/MegamenuDropdown.d.ts +0 -17
  509. package/src/components/Accordion/Accordion.mdx +0 -222
  510. package/src/components/Alert/Alert.mdx +0 -141
  511. package/src/components/Bar/Bar.mdx +0 -203
  512. package/src/components/BlockAction/BlockAction.mdx +0 -244
  513. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  514. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  515. package/src/components/Button/Button.mdx +0 -273
  516. package/src/components/Buttons/Buttons.mdx +0 -39
  517. package/src/components/Card/Card.mdx +0 -334
  518. package/src/components/Carousel/Carousel.mdx +0 -159
  519. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  520. package/src/components/CartTable/CartTable.mdx +0 -129
  521. package/src/components/Container/Container.mdx +0 -73
  522. package/src/components/Controls/Controls.mdx +0 -469
  523. package/src/components/Cover/Cover.mdx +0 -87
  524. package/src/components/Divider/Divider.mdx +0 -65
  525. package/src/components/Dropdown/Dropdown.mdx +0 -260
  526. package/src/components/Expander/Expander.mdx +0 -153
  527. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  528. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  529. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  530. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  531. package/src/components/Forms/Field/Field.mdx +0 -383
  532. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  533. package/src/components/Forms/File/File.mdx +0 -88
  534. package/src/components/Forms/FormTooltip.mdx +0 -51
  535. package/src/components/Forms/Forms.mdx +0 -48
  536. package/src/components/Forms/Group/Group.mdx +0 -146
  537. package/src/components/Forms/Hint/Hint.mdx +0 -40
  538. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  539. package/src/components/Forms/Label/Label.mdx +0 -95
  540. package/src/components/Forms/Message/Message.mdx +0 -40
  541. package/src/components/Forms/Radio/Radio.mdx +0 -98
  542. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  543. package/src/components/Forms/Select/Select.mdx +0 -106
  544. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  545. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  546. package/src/components/Gauge/Gauge.mdx +0 -35
  547. package/src/components/Grid/Grid.mdx +0 -320
  548. package/src/components/Hero/Hero.mdx +0 -168
  549. package/src/components/Hero/HeroPlayground.tsx +0 -369
  550. package/src/components/Icon/Icon.mdx +0 -172
  551. package/src/components/IconList/IconList.mdx +0 -53
  552. package/src/components/Image/Image.mdx +0 -175
  553. package/src/components/Link/Link.mdx +0 -224
  554. package/src/components/List/List.mdx +0 -216
  555. package/src/components/Loader/Loader.mdx +0 -148
  556. package/src/components/Megamenu/MegamenuDropdown.tsx +0 -64
  557. package/src/components/Modal/Modal.mdx +0 -565
  558. package/src/components/Pagination/Pagination.mdx +0 -45
  559. package/src/components/Pill/Pill.mdx +0 -41
  560. package/src/components/Progress/Progress.mdx +0 -119
  561. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  562. package/src/components/Section/Section.mdx +0 -397
  563. package/src/components/Skeleton/Skeleton.mdx +0 -90
  564. package/src/components/SkipLink/SkipLink.mdx +0 -23
  565. package/src/components/Stepbar/Stepbar.mdx +0 -137
  566. package/src/components/Sticker/Sticker.mdx +0 -50
  567. package/src/components/Table/Table.mdx +0 -199
  568. package/src/components/Tabs/Tabs.mdx +0 -373
  569. package/src/components/Tag/Tag.mdx +0 -52
  570. package/src/components/Testimonial/Testimonial.mdx +0 -41
  571. package/src/components/Tile/Tile.mdx +0 -163
  572. package/src/components/Tooltip/Tooltip.mdx +0 -227
@@ -1,168 +0,0 @@
1
- import queryString from 'query-string';
2
- import { ComponentDocs } from '@lighting-beetle/lighter-styleguide';
3
-
4
- import { Preview } from '../../styleguide/';
5
- import HeroIframePreview from './IframePreview';
6
-
7
- import Alert from '../Alert';
8
-
9
- import Hero from './';
10
-
11
- # Hero
12
-
13
- ## Composition
14
-
15
- Hero combines Container, Grid, Button and Sticker together with it's built in responsive styles to create a modular component. Height is determined by its content and image, which means that too much text can overflow the image. Copywriters and designers must test that their images and text fit on each breakpoint.
16
-
17
- ### Title
18
-
19
- - Required.
20
- - Must be shorter than 45 characters.
21
- - Medium (`.display-2`) and large (`.display-1`) variants must match with medium and large description size. Medium title can only be used with medium description and large title with large description.
22
-
23
- ### Description
24
-
25
- - Optional.
26
- - Must be shorter than 120 characters.
27
- - Medium (`.h5`) and large (`.h4`) variants must match with medium and large title size. Medium description can only be used with medium title and large description with large title.
28
-
29
- ### Price
30
-
31
- - Optional.
32
- - All price wording and numbers must be the same size.
33
- - Must not contain conditions (e.g. asterisk and explanation).
34
-
35
- ### Button
36
-
37
- - Optional.
38
- - Points to the main actionable section of the page.
39
- - Copy should reflect the desired action. Instead of "Read more", try and match the button text with the actionable section.
40
-
41
- ### Sticker
42
-
43
- - Optional.
44
- - Can contain an icon or text.
45
-
46
- ### Image
47
-
48
- - Always aligned to the right and vertically centered.
49
- - [**Fullwidth**](#fullwidth-photo-all-features) image dimensions:
50
- - **xs**: 768 x 540
51
- - **sm, md**: 768 x 540 + hidpi version
52
- - **lg**: 1024 x 540 + hidpi version
53
- - **xl**: 1280 x 540 + hidpi version
54
- - **xxl**: 1400 x 540 + hidpi version
55
- - [**Half width**](#half-width-photo) image dimensions:
56
- - **xs**: 768 x 540
57
- - **sm, md**: 768 x 540 + hidpi version
58
- - **lg**: 470 x 540 + hidpi version
59
- - **xl**: 590 x 540 + hidpi version
60
- - **xxl**: 650 x 540 + hidpi version
61
- - [**Single size**](#with-single-image-size) half width image dimensions:
62
- - **xs**: 626 x 540 + hidpi version
63
- - [**Vendor logo**](#with-vendor-logo) height and position
64
- the logo size is constrained by its height and must be placed inside the image by a graphic designer.
65
- - **xs**: 30px, 10px from top, 10px from left
66
- - **sm, md**: 50px, 30px from top, 20px from left
67
- - **lg**: 50px, 50px from top, 30px from right
68
- - **xl**: 60px, 60px from top, 30px from right
69
- - **xxl**: 60px, 60px from top, 50px from right
70
-
71
- ### Gradient overlay
72
-
73
- - Optional.
74
- - Makes sure text is readable on full width images.
75
-
76
- ## Variants
77
-
78
- ### Build your own!
79
-
80
- [Visit the playground](/pages/hero-playground.html) to build your own Hero
81
-
82
- ### Fullwidth photo all features
83
-
84
- <HeroIframePreview
85
- textSize="large"
86
- background="black"
87
- title="Ušetrite až 100&nbsp;€ pri kúpe hernej konzoly"
88
- description="Nezmeškajte štedrú ponuku od Orangeu a získajte od nás k internetu hernú konzolu so zľavou až 100&nbsp;."
89
- price="od 10&nbsp;€/mes."
90
- sticker={{ children: 'Lorem ipsum' }}
91
- image={{
92
- default: '/images/hero/photo.jpg',
93
- xxl: '/images/hero/photo-xxl.jpg, /images/hero/photo-xxl-2x.jpg 2x',
94
- xl: '/images/hero/photo-xl.jpg, /images/hero/photo-xl-2x.jpg 2x',
95
- lg: '/images/hero/photo-lg.jpg, /images/hero/photo-lg-2x.jpg 2x',
96
- sm: '/images/hero/photo.jpg, /images/hero/photo-2x.jpg 2x',
97
- }}
98
- button={{ children: 'Chcem zľavu na hernú konzolu' }}
99
- hasGradientOverlay={true}
100
- hasFullwidthImage={true}
101
- />
102
-
103
- ### Half width photo
104
-
105
- <HeroIframePreview
106
- background="gray"
107
- title="Vyberte si vašu dvojičku s OPPO"
108
- textSize="large"
109
- description="Vyberte si dvojicu smartfónov OPPO. Druhý len za 1 € a bez viazanosti."
110
- image={{
111
- default: '/images/hero/example.jpg',
112
- xxl: '/images/hero/example-xxl.jpg, /images/hero/example-xxl@2x.jpg 2x',
113
- xl: '/images/hero/example-xl.jpg, /images/hero/example-xl@2x.jpg 2x',
114
- lg: '/images/hero/example-lg.jpg, /images/hero/example-lg@2x.jpg 2x',
115
- sm: '/images/hero/example.jpg, /images/hero/example@2x.jpg 2x',
116
- }}
117
- sticker={{ children: 'Získajte druhý telefón za 1 €' }}
118
- hasGradientOverlay
119
- />
120
-
121
- ### With single image size
122
-
123
- <HeroIframePreview
124
- background="black"
125
- title="Byť v Orangei, znamená byť v dobrých rukách"
126
- textSize="large"
127
- description="Jednoducho sa to oplatí. Ako operátor s maximálnym pokrytím stále myslíme na našich zákazníkov a zdokonaľujeme naše služby. Nechajte sa prekvapiť."
128
- image={{
129
- src: '/images/hero/single.png',
130
- srcSet: '/images/hero/single.png 1x, /images/hero/single@2x.png 2x',
131
- }}
132
- />
133
-
134
- ### With vendor logo
135
-
136
- <HeroIframePreview
137
- background="gray"
138
- title="Samsung Galaxy Z Fold4 | Z Flip4"
139
- textSize="large"
140
- description="Objednajte si jeden z telefónov už teraz."
141
- image={{
142
- default: '/images/hero/vendor.png',
143
- xxl: '/images/hero/vendor-xxl.png, /images/hero/vendor-xxl@2x.png 2x',
144
- xl: '/images/hero/vendor-xl.png, /images/hero/vendor-xl@2x.png 2x',
145
- lg: '/images/hero/vendor-lg.png, /images/hero/vendor-lg@2x.png 2x',
146
- sm: '/images/hero/vendor.png, /images/hero/vendor@2x.png 2x',
147
- }}
148
- />
149
-
150
- ### With other vendor logo style
151
-
152
- <HeroIframePreview
153
- background="black"
154
- title="Samsung Galaxy S21 | S21+ | S21 Ultra 5G"
155
- textSize="medium"
156
- description="Objednajte si jeden z telefónov už teraz."
157
- image={{
158
- default: '/images/hero/old-vendor.jpg',
159
- xxl: '/images/hero/old-vendor-xxl.jpg, /images/hero/old-vendor-xxl-2x.jpg 2x',
160
- xl: '/images/hero/old-vendor-xl.jpg, /images/hero/old-vendor-xl-2x.jpg 2x',
161
- lg: '/images/hero/old-vendor-lg.jpg, /images/hero/old-vendor-lg-2x.jpg 2x',
162
- sm: '/images/hero/old-vendor.jpg, /images/hero/old-vendor-2x.jpg 2x',
163
- }}
164
- />
165
-
166
- ## Props
167
-
168
- <ComponentDocs title="<Hero />" component={Hero} />
@@ -1,369 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import queryString from "query-string";
3
-
4
- import { Fieldset } from "../Forms/Fieldset";
5
- import { Container } from "../Container";
6
- import { Grid, GridCol } from "../Grid";
7
- import { Field, TextInput, TextArea } from "../Forms";
8
-
9
- import {
10
- Hero,
11
- HeroBackground,
12
- HeroTextSize,
13
- StickerColor,
14
- HeroPrice,
15
- } from "./Hero";
16
-
17
- interface ImageConfig {
18
- default: string;
19
- xxl: string;
20
- xl: string;
21
- lg: string;
22
- sm: string;
23
- [key: string]: string;
24
- }
25
-
26
- const config = {
27
- hasFullwidthImage: false,
28
- background: "black" as HeroBackground,
29
- button: null,
30
- description: "Description text",
31
- hasGradientOverlay: false,
32
- price: null,
33
- textSize: "medium" as HeroTextSize,
34
- title: "Title",
35
- stickerColor: "orange" as StickerColor,
36
- stickerText: null,
37
- image: {
38
- default: "/images/hero/photo.jpg",
39
- xxl: "/images/hero/photo-xxl.jpg, /images/hero/photo-xxl-2x.jpg 2x",
40
- xl: "/images/hero/photo-xl.jpg, /images/hero/photo-xl-2x.jpg 2x",
41
- lg: "/images/hero/photo-lg.jpg, /images/hero/photo-lg-2x.jpg 2x",
42
- sm: "/images/hero/photo.jpg, /images/hero/photo-2x.jpg 2x",
43
- } as ImageConfig,
44
- };
45
-
46
- export const HeroPlayground: React.FC = () => {
47
- const [hasFullwidthImage, setHasFullwidthImage] = useState(
48
- config.hasFullwidthImage,
49
- );
50
- const [background, setBackground] = useState<HeroBackground>(
51
- config.background,
52
- );
53
- const [button, setButton] = useState<any>(config.button);
54
- const [description, setDescription] = useState(config.description);
55
- const [hasGradientOverlay, setGradientOverlay] = useState(
56
- config.hasGradientOverlay,
57
- );
58
- const [price, setPrice] = useState<HeroPrice | null>(config.price);
59
- const [textSize, setTextSize] = useState<HeroTextSize>(config.textSize);
60
- const [title, setTitle] = useState(config.title);
61
- const [stickerColor, setStickerColor] = useState<StickerColor>(
62
- config.stickerColor,
63
- );
64
- const [stickerText, setStickerText] = useState<string | null>(
65
- config.stickerText,
66
- );
67
- const [image, setImage] = useState<ImageConfig>(config.image);
68
- const [isEditable, setIsEditable] = useState(true);
69
-
70
- useEffect(() => {
71
- const params = queryString.parse(window.location.search, {
72
- parseBooleans: true,
73
- });
74
- const sticker = params?.sticker
75
- ? JSON.parse(params?.sticker as string)
76
- : {};
77
- if (params?.hasFullwidthImage !== undefined) {
78
- setHasFullwidthImage(params.hasFullwidthImage as boolean);
79
- }
80
- if (params?.background) {
81
- setBackground(params.background as HeroBackground);
82
- }
83
- if (params?.button) {
84
- setButton(JSON.parse(params.button as string));
85
- }
86
- if (params?.description) {
87
- setDescription(params.description as string);
88
- }
89
- if (params?.hasGradientOverlay) {
90
- setGradientOverlay(params.hasGradientOverlay as boolean);
91
- }
92
- if (params?.price) {
93
- setPrice(params.price as HeroPrice);
94
- }
95
- if (params?.textSize) {
96
- setTextSize(params.textSize as HeroTextSize);
97
- }
98
- if (params?.title) {
99
- setTitle(params.title as string);
100
- }
101
- if (sticker.color) {
102
- setStickerColor(sticker.color as StickerColor);
103
- }
104
- if (sticker.children) {
105
- setStickerText(sticker.children as string);
106
- }
107
- if (params?.image) {
108
- setImage(JSON.parse(params.image as string));
109
- }
110
- if (params?.disableEditor) {
111
- setIsEditable(!params.disableEditor);
112
- }
113
- }, []);
114
-
115
- const setImageBreakpointSrc = (
116
- url: File,
117
- breakpoint: string,
118
- dpi?: string,
119
- ) => {
120
- const [x1, x2] = image[breakpoint].split(", ");
121
- const imgSrc = URL.createObjectURL(url);
122
- const newSrcSet =
123
- (breakpoint === "default" && imgSrc) ||
124
- (dpi === "1x" && `${imgSrc}, ${x2}`) ||
125
- (dpi === "2x" && `${x1}, ${imgSrc} 2x`) ||
126
- imgSrc; // fallback
127
-
128
- setImage({
129
- ...image,
130
- [breakpoint]: newSrcSet as string,
131
- });
132
- };
133
-
134
- const renderControl = (
135
- id: string,
136
- value: any,
137
- setValue: (value: any) => void,
138
- isArea?: boolean,
139
- ) => {
140
- const ControlComponent = (props: any) => {
141
- const Tag = isArea ? TextArea : TextInput;
142
- return (
143
- <Tag
144
- id={id}
145
- onChange={(e) => setValue(e.target.value)}
146
- defaultValue={value ?? ""}
147
- {...props}
148
- />
149
- );
150
- };
151
- ControlComponent.displayName = `RenderControl(${id})`;
152
- return ControlComponent;
153
- };
154
-
155
- return (
156
- <>
157
- <Hero
158
- button={
159
- button
160
- ? typeof button === "string"
161
- ? { children: button }
162
- : button
163
- : undefined
164
- }
165
- description={description}
166
- hasGradientOverlay={hasGradientOverlay}
167
- hasFullwidthImage={hasFullwidthImage}
168
- price={price || undefined}
169
- textSize={textSize}
170
- title={title}
171
- sticker={
172
- stickerText
173
- ? {
174
- color: stickerColor,
175
- children: stickerText,
176
- }
177
- : undefined
178
- }
179
- image={image}
180
- />
181
-
182
- {isEditable && (
183
- <>
184
- <hr />
185
- <Container>
186
- <h2>Settings:</h2>
187
- <Grid>
188
- <GridCol size={{ md: 6, lg: 4 }}>
189
- <Fieldset legend="Background">
190
- {["white", "gray", "black"].map((bg) => (
191
- <Field
192
- key={bg}
193
- label={bg}
194
- control={{
195
- type: "radio",
196
- id: `bg-${bg}`,
197
- name: "background",
198
- isChecked: background === bg,
199
- onClick: () => setBackground(bg as HeroBackground),
200
- key: bg,
201
- }}
202
- />
203
- ))}
204
- </Fieldset>
205
- <Field
206
- label="Has gradient overlay"
207
- control={{
208
- type: "checkbox",
209
- id: "gradient-overlay",
210
- isChecked: hasGradientOverlay,
211
- onClick: (e: React.ChangeEvent<HTMLInputElement>) =>
212
- setGradientOverlay(e.target.checked),
213
- }}
214
- />
215
- <Field
216
- label="Has fullwidth image"
217
- control={{
218
- type: "checkbox",
219
- id: "fullwidth-image",
220
- isChecked: hasFullwidthImage,
221
- onClick: (e: React.ChangeEvent<HTMLInputElement>) =>
222
- setHasFullwidthImage(e.target.checked),
223
- }}
224
- />
225
- </GridCol>
226
- <GridCol size={{ md: 6, lg: 4 }}>
227
- <Fieldset legend="Text size">
228
- {["medium", "large"].map((size) => (
229
- <Field
230
- key={size}
231
- label={size}
232
- control={{
233
- type: "radio",
234
- id: `textSize-${size}`,
235
- name: "textSize",
236
- isChecked: textSize === size,
237
- onClick: () => setTextSize(size as HeroTextSize),
238
- key: size,
239
- }}
240
- />
241
- ))}
242
- </Fieldset>
243
-
244
- <Field
245
- label="Title"
246
- control={{
247
- renderControl: renderControl("title", title, setTitle),
248
- id: "title",
249
- }}
250
- />
251
-
252
- <Field
253
- label="Description"
254
- control={{
255
- renderControl: renderControl(
256
- "description",
257
- description,
258
- setDescription,
259
- true,
260
- ),
261
- id: "description",
262
- }}
263
- />
264
-
265
- <Field
266
- label="Price"
267
- control={{
268
- renderControl: renderControl("price", price, setPrice),
269
- id: "price",
270
- }}
271
- />
272
- <Field
273
- label="Button"
274
- control={{
275
- renderControl: renderControl("button", button, setButton),
276
- id: "button",
277
- }}
278
- />
279
- </GridCol>
280
- <GridCol size={{ md: 6, lg: 4 }}>
281
- <Fieldset legend="Sticker color">
282
- {["orange", "white", "black"].map((color) => (
283
- <Field
284
- key={color}
285
- label={color}
286
- control={{
287
- type: "radio",
288
- id: `stickerColor-${color}`,
289
- name: "stickerColor",
290
- isChecked: stickerColor === color,
291
- onClick: () => setStickerColor(color as StickerColor),
292
- key: color,
293
- }}
294
- />
295
- ))}
296
- </Fieldset>
297
-
298
- <Field
299
- label="Sticker text"
300
- control={{
301
- renderControl: renderControl(
302
- "stickerText",
303
- stickerText,
304
- setStickerText,
305
- ),
306
- id: "sticker-text",
307
- }}
308
- />
309
- </GridCol>
310
- <GridCol size={{ md: 6, lg: 4 }}>
311
- <Fieldset legend="Images">
312
- <p>
313
- <span>See </span>
314
- <a target="_blank" href="/styleguide/components/hero#image">
315
- required image sizes
316
- </a>
317
- </p>
318
- <ul className="list-unstyled">
319
- <li className="mb-2">
320
- <span className="font-weight-bold">Default</span>
321
- <Field
322
- control={{
323
- type: "file",
324
- id: `image-default`,
325
- onChange: (
326
- e: React.ChangeEvent<HTMLInputElement>,
327
- ) => {
328
- setImageBreakpointSrc(
329
- e.target.files![0],
330
- "default",
331
- );
332
- },
333
- }}
334
- />
335
- </li>
336
- {["xxl", "xl", "lg", "sm"].map((breakpoint) =>
337
- ["1x", "2x"].map((dpi) => (
338
- <li key={`${breakpoint}${dpi}`} className="mb-2">
339
- <span className="font-weight-bold">
340
- {breakpoint + (dpi === "2x" ? "@2x" : "")}
341
- </span>
342
- <Field
343
- control={{
344
- type: "file",
345
- id: `image-${breakpoint}-${dpi}`,
346
- onChange: (
347
- e: React.ChangeEvent<HTMLInputElement>,
348
- ) => {
349
- setImageBreakpointSrc(
350
- e.target.files![0],
351
- breakpoint,
352
- dpi,
353
- );
354
- },
355
- }}
356
- />
357
- </li>
358
- )),
359
- )}
360
- </ul>
361
- </Fieldset>
362
- </GridCol>
363
- </Grid>
364
- </Container>
365
- </>
366
- )}
367
- </>
368
- );
369
- };