@orangesk/orange-design-system 2.0.0-alpha.2 → 2.0.0-alpha.3

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 (826) hide show
  1. package/build/components/Accordion/index.js +2 -2
  2. package/build/components/Accordion/index.js.map +1 -1
  3. package/build/components/Alert/index.js +1 -1
  4. package/build/components/Alert/index.js.map +1 -1
  5. package/build/components/Alert/style.css +1 -1
  6. package/build/components/Alert/style.css.map +1 -1
  7. package/build/components/AnchorNavigation/index.js +16 -0
  8. package/build/components/AnchorNavigation/index.js.map +1 -0
  9. package/build/components/AnchorNavigation/style.css +2 -0
  10. package/build/components/AnchorNavigation/style.css.map +1 -0
  11. package/build/components/Bar/index.js +1 -1
  12. package/build/components/Bar/index.js.map +1 -1
  13. package/build/components/BlockAction/index.js +1 -1
  14. package/build/components/BlockAction/index.js.map +1 -1
  15. package/build/components/BodyBanner/index.js +1 -1
  16. package/build/components/BodyBanner/index.js.map +1 -1
  17. package/build/components/Breadcrumbs/index.js +2 -2
  18. package/build/components/Breadcrumbs/index.js.map +1 -1
  19. package/build/components/Breadcrumbs/style.css +1 -1
  20. package/build/components/Breadcrumbs/style.css.map +1 -1
  21. package/build/components/Button/index.js +1 -1
  22. package/build/components/Button/index.js.map +1 -1
  23. package/build/components/Button/style.css +1 -1
  24. package/build/components/Button/style.css.map +1 -1
  25. package/build/components/Buttons/index.js +1 -1
  26. package/build/components/Buttons/index.js.map +1 -1
  27. package/build/components/Card/index.js +1 -1
  28. package/build/components/Card/index.js.map +1 -1
  29. package/build/components/Card/style.css +1 -1
  30. package/build/components/Card/style.css.map +1 -1
  31. package/build/components/Carousel/index.js +3 -18
  32. package/build/components/Carousel/index.js.map +1 -1
  33. package/build/components/Carousel/style.css +1 -1
  34. package/build/components/Carousel/style.css.map +1 -1
  35. package/build/components/CarouselPromotions/index.js +3 -3
  36. package/build/components/CarouselPromotions/index.js.map +1 -1
  37. package/build/components/CartTable/index.js +2 -2
  38. package/build/components/CartTable/index.js.map +1 -1
  39. package/build/components/CartTable/style.css +1 -1
  40. package/build/components/CartTable/style.css.map +1 -1
  41. package/build/components/Code/index.js +11 -0
  42. package/build/components/Code/index.js.map +1 -0
  43. package/build/components/Code/style.css +2 -0
  44. package/build/components/Code/style.css.map +1 -0
  45. package/build/components/Container/index.js +1 -1
  46. package/build/components/Container/index.js.map +1 -1
  47. package/build/components/Controls/index.js +1 -1
  48. package/build/components/Controls/index.js.map +1 -1
  49. package/build/components/Controls/style.css +1 -1
  50. package/build/components/Controls/style.css.map +1 -1
  51. package/build/components/Cover/index.js +1 -1
  52. package/build/components/Cover/index.js.map +1 -1
  53. package/build/components/Divider/index.js +1 -1
  54. package/build/components/Divider/index.js.map +1 -1
  55. package/build/components/DocumentationSidebar/index.js +16 -0
  56. package/build/components/DocumentationSidebar/index.js.map +1 -0
  57. package/build/components/DocumentationSidebar/style.css +2 -0
  58. package/build/components/DocumentationSidebar/style.css.map +1 -0
  59. package/build/components/Dropdown/index.js +1 -1
  60. package/build/components/Dropdown/index.js.map +1 -1
  61. package/build/components/Dropdown/style.css +1 -1
  62. package/build/components/Dropdown/style.css.map +1 -1
  63. package/build/components/Expander/index.js +1 -1
  64. package/build/components/Expander/index.js.map +1 -1
  65. package/build/components/FeatureAccordion/index.js +2 -2
  66. package/build/components/FeatureAccordion/index.js.map +1 -1
  67. package/build/components/Footer/index.js +1 -1
  68. package/build/components/Footer/index.js.map +1 -1
  69. package/build/components/Footer/style.css +1 -1
  70. package/build/components/Footer/style.css.map +1 -1
  71. package/build/components/Forms/index.js +4 -4
  72. package/build/components/Forms/index.js.map +1 -1
  73. package/build/components/Forms/style.css +1 -1
  74. package/build/components/Forms/style.css.map +1 -1
  75. package/build/components/Gauge/index.js +1 -1
  76. package/build/components/Gauge/index.js.map +1 -1
  77. package/build/components/Grid/index.js +1 -1
  78. package/build/components/Grid/index.js.map +1 -1
  79. package/build/components/Hero/index.js +16 -0
  80. package/build/components/Hero/index.js.map +1 -0
  81. package/build/components/Hero/style.css +2 -0
  82. package/build/components/Hero/style.css.map +1 -0
  83. package/build/components/Icon/index.js +1 -1
  84. package/build/components/Icon/index.js.map +1 -1
  85. package/build/components/IconList/index.js +16 -0
  86. package/build/components/IconList/index.js.map +1 -0
  87. package/build/components/IconList/style.css +2 -0
  88. package/build/components/IconList/style.css.map +1 -0
  89. package/build/components/Image/index.js +1 -1
  90. package/build/components/Image/index.js.map +1 -1
  91. package/build/components/Link/style.css +1 -1
  92. package/build/components/Link/style.css.map +1 -1
  93. package/build/components/List/index.js +1 -1
  94. package/build/components/List/index.js.map +1 -1
  95. package/build/components/Loader/index.js +1 -1
  96. package/build/components/Loader/index.js.map +1 -1
  97. package/build/components/Modal/index.js +1 -1
  98. package/build/components/Modal/index.js.map +1 -1
  99. package/build/components/Modal/style.css +1 -1
  100. package/build/components/Modal/style.css.map +1 -1
  101. package/build/components/Pagination/index.js +1 -1
  102. package/build/components/Pagination/index.js.map +1 -1
  103. package/build/components/Pagination/style.css +1 -1
  104. package/build/components/Pagination/style.css.map +1 -1
  105. package/build/components/Preview/index.js +83 -0
  106. package/build/components/Preview/index.js.map +1 -0
  107. package/build/components/Preview/style.css +2 -0
  108. package/build/components/Preview/style.css.map +1 -0
  109. package/build/components/Progress/index.js +1 -1
  110. package/build/components/Progress/index.js.map +1 -1
  111. package/build/components/PromoBanner/index.js +16 -0
  112. package/build/components/PromoBanner/index.js.map +1 -0
  113. package/build/components/PromoBanner/style.css +2 -0
  114. package/build/components/PromoBanner/style.css.map +1 -0
  115. package/build/components/PromotionCard/index.js +16 -0
  116. package/build/components/PromotionCard/index.js.map +1 -0
  117. package/build/components/PromotionCard/style.css +2 -0
  118. package/build/components/PromotionCard/style.css.map +1 -0
  119. package/build/components/Section/index.js +1 -1
  120. package/build/components/Section/index.js.map +1 -1
  121. package/build/components/Skeleton/index.js +1 -1
  122. package/build/components/Skeleton/index.js.map +1 -1
  123. package/build/components/SkipLink/index.js +16 -0
  124. package/build/components/SkipLink/index.js.map +1 -0
  125. package/build/components/SkipLink/style.css +2 -0
  126. package/build/components/SkipLink/style.css.map +1 -0
  127. package/build/components/Stepbar/index.js +16 -0
  128. package/build/components/Stepbar/index.js.map +1 -0
  129. package/build/components/Stepbar/style.css +2 -0
  130. package/build/components/Stepbar/style.css.map +1 -0
  131. package/build/components/Sticker/index.js +1 -1
  132. package/build/components/Sticker/index.js.map +1 -1
  133. package/build/components/Table/index.js +2 -2
  134. package/build/components/Table/index.js.map +1 -1
  135. package/build/components/Table/style.css +1 -1
  136. package/build/components/Table/style.css.map +1 -1
  137. package/build/components/Tabs/index.js +1 -1
  138. package/build/components/Tabs/index.js.map +1 -1
  139. package/build/components/Tag/index.js +1 -1
  140. package/build/components/Tag/index.js.map +1 -1
  141. package/build/components/Testimonial/index.js +1 -1
  142. package/build/components/Testimonial/index.js.map +1 -1
  143. package/build/components/Tile/index.js +1 -1
  144. package/build/components/Tile/index.js.map +1 -1
  145. package/build/components/Tooltip/index.js +2 -2
  146. package/build/components/Tooltip/index.js.map +1 -1
  147. package/build/components/Tooltip/style.css +1 -1
  148. package/build/components/Tooltip/style.css.map +1 -1
  149. package/build/components/index.css +1 -1
  150. package/build/components/index.css.map +1 -1
  151. package/build/components/index.js +5 -20
  152. package/build/components/index.js.map +1 -1
  153. package/build/components/static.js +3 -3
  154. package/build/components/static.js.map +1 -1
  155. package/build/components/types/mdx-components.d.ts +2 -0
  156. package/build/components/types/next.config.d.ts +3 -0
  157. package/build/components/types/src/app/ODSLib.d.ts +1 -0
  158. package/build/components/types/src/app/components/accordion/AccordionClientWrapper.d.ts +1 -0
  159. package/build/components/types/src/app/components/alert/AlertClientWrapper.d.ts +1 -0
  160. package/build/components/types/src/app/components/anchor-navigation/AnchorNavigationClientWrapper.d.ts +2 -0
  161. package/build/components/types/src/app/components/body-banner/BodyBannerClientWrapper.d.ts +1 -0
  162. package/build/components/types/src/app/components/code/CodeClientWrapper.d.ts +1 -0
  163. package/build/components/types/src/app/components/cover/CoverClientWrapper.d.ts +1 -0
  164. package/build/components/types/src/app/components/expander/ExpanderClientWrapper.d.ts +1 -0
  165. package/build/components/types/src/app/components/feature-accordion/FeatureAccordionClientWrapper.d.ts +1 -0
  166. package/build/components/types/src/app/components/forms/autocomplete/AutocompleteClientWrapper.d.ts +1 -0
  167. package/build/components/types/src/app/components/forms/datepicker/DatePickerClientWrapper.d.ts +1 -0
  168. package/build/components/types/src/app/components/forms/radio/RadioClientWrapper.d.ts +1 -0
  169. package/build/components/types/src/app/components/gauge/GaugeClientWrapper.d.ts +1 -0
  170. package/build/components/types/src/app/components/hero/HeroClientWrapper.d.ts +1 -0
  171. package/build/components/types/src/app/components/icon-list/IconListClientWrapper.d.ts +1 -0
  172. package/build/components/types/src/app/components/list/ListClientWrapper.d.ts +1 -0
  173. package/build/components/types/src/app/components/pagination/PaginationClientWrapper.d.ts +1 -0
  174. package/build/components/types/src/app/components/progress/ProgressClientWrapper.d.ts +1 -0
  175. package/build/components/types/src/app/components/promo-banner/PromoBannerClientWrapper.d.ts +1 -0
  176. package/build/components/types/src/app/components/promotion-card/PromotionCardWrapper.d.ts +1 -0
  177. package/build/components/types/src/app/components/sticker/StickerClientWrapper.d.ts +1 -0
  178. package/build/components/types/src/app/components/tag/TagClientWrapper.d.ts +1 -0
  179. package/build/components/types/src/app/components/testimonial/TestimonialClientWrapper.d.ts +1 -0
  180. package/build/components/types/src/app/layout.d.ts +4 -0
  181. package/build/components/types/src/app/menuItems.d.ts +24 -0
  182. package/build/components/types/src/components/Accordion/tests/data.d.ts +5 -0
  183. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +17 -0
  184. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +24 -0
  185. package/build/components/types/src/components/AnchorNavigation/index.d.ts +2 -0
  186. package/build/components/types/src/components/BlockAction/BlockAction.static.d.ts +19 -0
  187. package/build/components/types/{components → src/components}/Breadcrumbs/Breadcrumbs.d.ts +1 -2
  188. package/build/components/types/{components → src/components}/Card/CardProductHeader.d.ts +1 -1
  189. package/build/components/types/src/components/Card/tests/data.d.ts +5 -0
  190. package/build/components/types/{components → src/components}/Carousel/Carousel.d.ts +2 -2
  191. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +33 -0
  192. package/build/components/types/{components → src/components}/Carousel/constants.d.ts +9 -3
  193. package/build/components/types/{components → src/components}/CarouselPromotions/CarouselPromotions.d.ts +2 -2
  194. package/build/components/types/src/components/CarouselPromotions/CarouselPromotions.static.d.ts +31 -0
  195. package/build/components/types/{components → src/components}/CarouselPromotions/constants.d.ts +2 -0
  196. package/build/components/types/src/components/CartTable/data.d.ts +33 -0
  197. package/build/components/types/src/components/Code/Code.d.ts +16 -0
  198. package/build/components/types/src/components/Code/index.d.ts +6 -0
  199. package/build/components/types/src/components/Code/oneDarkProTheme.d.ts +13 -0
  200. package/build/components/types/{components → src/components}/Controls/Controls.d.ts +1 -1
  201. package/build/components/types/src/components/DocumentationSidebar/DocumentationSidebar.d.ts +16 -0
  202. package/build/components/types/src/components/DocumentationSidebar/index.d.ts +3 -0
  203. package/build/components/types/src/components/Expander/index.d.ts +2 -0
  204. package/build/components/types/src/components/Forms/DatePicker/DatePicker.d.ts +84 -0
  205. package/build/components/types/src/components/Forms/DatePicker/DatePicker.static.d.ts +69 -0
  206. package/build/components/types/src/components/Forms/DatePicker/index.d.ts +2 -0
  207. package/build/components/types/{components → src/components}/Forms/Field/Control.d.ts +1 -1
  208. package/build/components/types/{components → src/components}/Forms/Field/Description.d.ts +1 -1
  209. package/build/components/types/{components → src/components}/Forms/Field/FieldContext.d.ts +1 -1
  210. package/build/components/types/{components → src/components}/Forms/Field/Label.d.ts +1 -1
  211. package/build/components/types/{components → src/components}/Forms/Field/Messages.d.ts +1 -1
  212. package/build/components/types/{components → src/components}/Forms/Field/Tooltip.d.ts +1 -1
  213. package/build/components/types/{components → src/components}/Forms/Fieldset/FieldsetContext.d.ts +1 -1
  214. package/build/components/types/src/components/Forms/Fieldset/docsData.d.ts +59 -0
  215. package/build/components/types/{components → src/components}/Forms/index.d.ts +1 -0
  216. package/build/components/types/src/components/Gauge/GaugeMaker.d.ts +3 -0
  217. package/build/components/types/src/components/Hero/Hero.d.ts +52 -0
  218. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +2 -0
  219. package/build/components/types/src/components/Hero/index.d.ts +2 -0
  220. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +419 -0
  221. package/build/components/types/src/components/IconList/IconList.d.ts +13 -0
  222. package/build/components/types/src/components/IconList/Item.d.ts +9 -0
  223. package/build/components/types/src/components/IconList/index.d.ts +3 -0
  224. package/build/components/types/src/components/Preview/CodeExample.d.ts +9 -0
  225. package/build/components/types/src/components/Preview/Interact/ButtonShowPropsGroup.d.ts +10 -0
  226. package/build/components/types/src/components/Preview/Interact/Interact.d.ts +17 -0
  227. package/build/components/types/src/components/Preview/Interact/PropCheckbox.d.ts +15 -0
  228. package/build/components/types/src/components/Preview/Interact/PropFormField.d.ts +7 -0
  229. package/build/components/types/src/components/Preview/Interact/PropInput.d.ts +17 -0
  230. package/build/components/types/src/components/Preview/Interact/PropLabelWithTooltip.d.ts +17 -0
  231. package/build/components/types/src/components/Preview/Interact/PropSelect.d.ts +15 -0
  232. package/build/components/types/src/components/Preview/Interact/PropsGroup.d.ts +10 -0
  233. package/build/components/types/src/components/Preview/Interact/Tooltip.d.ts +8 -0
  234. package/build/components/types/src/components/Preview/Interact/helpers.d.ts +19 -0
  235. package/build/components/types/src/components/Preview/Interact/state.d.ts +14 -0
  236. package/build/components/types/src/components/Preview/Preview.d.ts +26 -0
  237. package/build/components/types/src/components/Preview/PreviewTitleBar.d.ts +9 -0
  238. package/build/components/types/src/components/Preview/index.d.ts +7 -0
  239. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +12 -0
  240. package/build/components/types/src/components/PromoBanner/index.d.ts +2 -0
  241. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +9 -0
  242. package/build/components/types/src/components/PromotionCard/PromotionCardContent.d.ts +8 -0
  243. package/build/components/types/src/components/PromotionCard/PromotionCardImageWrapper.d.ts +8 -0
  244. package/build/components/types/src/components/PromotionCard/PromotionCardSection.d.ts +9 -0
  245. package/build/components/types/src/components/PromotionCard/PromotionCardTitle.d.ts +8 -0
  246. package/build/components/types/src/components/PromotionCard/constants.d.ts +5 -0
  247. package/build/components/types/src/components/PromotionCard/index.d.ts +6 -0
  248. package/build/components/types/src/components/SkipLink/SkipLink.d.ts +6 -0
  249. package/build/components/types/src/components/SkipLink/index.d.ts +2 -0
  250. package/build/components/types/src/components/Stepbar/Stepbar.d.ts +21 -0
  251. package/build/components/types/src/components/Stepbar/index.d.ts +2 -0
  252. package/build/components/types/src/components/Table/docsData.d.ts +39 -0
  253. package/build/components/types/src/components/Tooltip/tests/BaseWrapper.d.ts +3 -0
  254. package/build/components/types/{components → src/components}/index.d.ts +7 -1
  255. package/build/components/types/src/components/static.d.ts +1 -0
  256. package/build/components/types/src/lib/scripts.d.ts +1 -0
  257. package/build/components/types/src/scripts/index.d.ts +102 -0
  258. package/build/components/types/src/scripts/lib/moduleFactory.d.ts +3 -0
  259. package/build/components/types/src/scripts/modules/SameHeight.d.ts +15 -0
  260. package/build/lib/before-components.css +1 -1
  261. package/build/lib/before-components.css.map +1 -1
  262. package/build/lib/components.css +1 -1
  263. package/build/lib/components.css.map +1 -1
  264. package/build/lib/scripts.js +3 -3
  265. package/build/lib/scripts.js.map +1 -1
  266. package/build/lib/style.css +1 -1
  267. package/build/lib/style.css.map +1 -1
  268. package/package.json +36 -29
  269. package/src/components/Accordion/tests/{data.js → data.ts} +9 -7
  270. package/src/components/Alert/styles/config.scss +4 -3
  271. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +115 -0
  272. package/src/components/AnchorNavigation/AnchorNavigation.tsx +81 -0
  273. package/src/components/AnchorNavigation/index.tsx +3 -0
  274. package/src/components/AnchorNavigation/styles/mixins.scss +126 -0
  275. package/src/components/AnchorNavigation/styles/style.scss +22 -0
  276. package/src/components/Breadcrumbs/Breadcrumbs.tsx +4 -4
  277. package/src/components/Breadcrumbs/styles/mixins.scss +16 -28
  278. package/src/components/Breadcrumbs/styles/style.scss +2 -13
  279. package/src/components/Breadcrumbs/tests/Breadcrumbs.integration.test.js +16 -14
  280. package/src/components/Breadcrumbs/tests/Breadcrumbs.unit.test.js +27 -19
  281. package/src/components/Button/styles/config.scss +0 -8
  282. package/src/components/Card/CardProductHeader.tsx +6 -4
  283. package/src/components/Card/styles/style.scss +13 -11
  284. package/src/components/Card/tests/CardProductHeader.unit.test.js +10 -0
  285. package/src/components/Carousel/CHANGELOG.md +11 -0
  286. package/src/components/Carousel/Carousel.mdx +29 -33
  287. package/src/components/Carousel/Carousel.static.ts +127 -93
  288. package/src/components/Carousel/Carousel.tsx +12 -7
  289. package/src/components/Carousel/constants.ts +10 -4
  290. package/src/components/Carousel/styles/config.scss +0 -13
  291. package/src/components/Carousel/styles/mixins.scss +21 -56
  292. package/src/components/Carousel/styles/style.scss +13 -12
  293. package/src/components/Carousel/tests/Carousel.unit.test.js +95 -38
  294. package/src/components/Carousel/tests/CarouselItem.unit.test.js +4 -0
  295. package/src/components/CarouselPromotions/CarouselPromotions.static.ts +131 -98
  296. package/src/components/CarouselPromotions/CarouselPromotions.tsx +10 -7
  297. package/src/components/CarouselPromotions/constants.ts +3 -1
  298. package/src/components/CarouselPromotions/tests/CarouselPromotions.unit.test.js +155 -5
  299. package/src/components/Code/Code.tsx +85 -0
  300. package/src/components/Code/index.tsx +16 -0
  301. package/src/components/Code/oneDarkProTheme.ts +70 -0
  302. package/src/components/Code/styles/style.scss +58 -0
  303. package/src/components/Container/tests/Container.conformance.test.js +0 -1
  304. package/src/components/Container/tests/Container.unit.test.js +0 -9
  305. package/src/components/Controls/styles/config.scss +0 -9
  306. package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +171 -0
  307. package/src/components/DocumentationSidebar/index.ts +4 -0
  308. package/src/components/DocumentationSidebar/styles/style.scss +230 -0
  309. package/src/components/Dropdown/styles/config.scss +0 -2
  310. package/src/components/Forms/Autocomplete/styles/mixins.scss +1 -0
  311. package/src/components/Forms/DatePicker/DatePicker.mdx +149 -0
  312. package/src/components/Forms/DatePicker/DatePicker.static.ts +211 -0
  313. package/src/components/Forms/DatePicker/DatePicker.tsx +129 -0
  314. package/src/components/Forms/DatePicker/index.ts +3 -0
  315. package/src/components/Forms/DatePicker/styles/style.scss +183 -0
  316. package/src/components/Forms/DatePicker/tests/DatePicker.unit.test.js +262 -0
  317. package/src/components/Forms/Field/Control.tsx +7 -7
  318. package/src/components/Forms/Field/Description.tsx +5 -5
  319. package/src/components/Forms/Field/Field.tsx +10 -8
  320. package/src/components/Forms/Field/FieldContext.tsx +1 -1
  321. package/src/components/Forms/Field/Label.tsx +2 -2
  322. package/src/components/Forms/Field/Messages.tsx +3 -3
  323. package/src/components/Forms/Field/Tooltip.tsx +3 -1
  324. package/src/components/Forms/Field/tests/Label.unit.test.js +15 -15
  325. package/src/components/Forms/Field/tests/Messages.unit.test.js +3 -3
  326. package/src/components/Forms/Field/tests/Tooltip.unit.test.js +3 -3
  327. package/src/components/Forms/Fieldset/Fieldset.tsx +2 -2
  328. package/src/components/Forms/Fieldset/FieldsetContext.ts +1 -1
  329. package/src/components/Forms/Group/styles/mixins.scss +0 -4
  330. package/src/components/Forms/Message/Message.tsx +1 -7
  331. package/src/components/Forms/Message/styles/config.scss +0 -6
  332. package/src/components/Forms/Message/styles/mixins.scss +0 -8
  333. package/src/components/Forms/Message/styles/style.scss +0 -1
  334. package/src/components/Forms/Message/tests/Message.unit.test.js +0 -12
  335. package/src/components/Forms/index.ts +1 -1
  336. package/src/components/Grid/tests/Grid.unit.test.js +572 -0
  337. package/src/components/Grid/tests/GridCol.unit.test.js +223 -0
  338. package/src/components/Hero/Hero.mdx +168 -0
  339. package/src/components/Hero/Hero.tsx +182 -0
  340. package/src/components/Hero/HeroPlayground.tsx +369 -0
  341. package/src/components/Hero/index.ts +3 -0
  342. package/src/components/Hero/styles/config.scss +23 -0
  343. package/src/components/Hero/styles/mixins.scss +173 -0
  344. package/src/components/Hero/styles/style.scss +59 -0
  345. package/src/components/Hero/tests/Hero.conformance.test.js +29 -0
  346. package/src/components/Hero/tests/Hero.unit.test.js +272 -0
  347. package/src/components/Hero/tests/data.js +40 -0
  348. package/src/components/Icon/IconSearch.jsx +2 -0
  349. package/src/components/IconList/IconList.mdx +53 -0
  350. package/src/components/IconList/IconList.tsx +30 -0
  351. package/src/components/IconList/Item.tsx +39 -0
  352. package/src/components/IconList/index.ts +4 -0
  353. package/src/components/IconList/styles/config.scss +3 -0
  354. package/src/components/IconList/styles/mixins.scss +33 -0
  355. package/src/components/IconList/styles/style.scss +21 -0
  356. package/src/components/IconList/tests/IconList.conformance.test.js +55 -0
  357. package/src/components/IconList/tests/IconList.unit.test.js +79 -0
  358. package/src/components/IconList/tests/Item.unit.test.js +143 -0
  359. package/src/components/Link/styles/style.scss +14 -14
  360. package/src/components/Pagination/styles/mixins.scss +2 -2
  361. package/src/components/Preview/CodeExample.tsx +238 -0
  362. package/src/components/Preview/Interact/ButtonShowPropsGroup.tsx +38 -0
  363. package/src/components/Preview/Interact/Interact.tsx +263 -0
  364. package/src/components/Preview/Interact/PropCheckbox.tsx +50 -0
  365. package/src/components/Preview/Interact/PropFormField.tsx +76 -0
  366. package/src/components/Preview/Interact/PropInput.tsx +72 -0
  367. package/src/components/Preview/Interact/PropLabelWithTooltip.tsx +77 -0
  368. package/src/components/Preview/Interact/PropSelect.tsx +60 -0
  369. package/src/components/Preview/Interact/PropsGroup.tsx +49 -0
  370. package/src/components/Preview/Interact/Tooltip.tsx +17 -0
  371. package/src/components/Preview/Interact/helpers.ts +60 -0
  372. package/src/components/Preview/Interact/state.ts +18 -0
  373. package/src/components/Preview/Preview.docs.mdx +153 -0
  374. package/src/components/Preview/Preview.test.js +66 -0
  375. package/src/components/Preview/Preview.tsx +273 -0
  376. package/src/components/Preview/PreviewTitleBar.tsx +32 -0
  377. package/src/components/Preview/index.tsx +16 -0
  378. package/src/components/Preview/styles/style.scss +340 -0
  379. package/src/components/PromoBanner/PromoBanner.tsx +65 -0
  380. package/src/components/PromoBanner/index.ts +2 -0
  381. package/src/components/PromoBanner/styles/mixins.scss +37 -0
  382. package/src/components/PromoBanner/styles/style.scss +23 -0
  383. package/src/components/PromotionCard/PromotionCard.mdx +191 -0
  384. package/src/components/PromotionCard/PromotionCard.tsx +31 -0
  385. package/src/components/PromotionCard/PromotionCardContent.tsx +25 -0
  386. package/src/components/PromotionCard/PromotionCardImageWrapper.tsx +25 -0
  387. package/src/components/PromotionCard/PromotionCardSection.tsx +29 -0
  388. package/src/components/PromotionCard/PromotionCardTitle.tsx +24 -0
  389. package/src/components/PromotionCard/constants.ts +5 -0
  390. package/src/components/PromotionCard/index.ts +7 -0
  391. package/src/components/PromotionCard/styles/config.scss +4 -0
  392. package/src/components/PromotionCard/styles/mixins.scss +89 -0
  393. package/src/components/PromotionCard/styles/style.scss +25 -0
  394. package/src/components/SkipLink/SkipLink.mdx +23 -0
  395. package/src/components/SkipLink/SkipLink.tsx +25 -0
  396. package/src/components/SkipLink/index.ts +3 -0
  397. package/src/components/SkipLink/styles/style.scss +20 -0
  398. package/src/components/SkipLink/tests/SkipLink.unit.test.js +88 -0
  399. package/src/components/Stepbar/Stepbar.mdx +137 -0
  400. package/src/components/Stepbar/Stepbar.tsx +100 -0
  401. package/src/components/Stepbar/index.ts +3 -0
  402. package/src/components/Stepbar/styles/config.scss +91 -0
  403. package/src/components/Stepbar/styles/mixins.scss +132 -0
  404. package/src/components/Stepbar/styles/style.scss +77 -0
  405. package/src/components/Stepbar/tests/Stepbar.conformance.test.js +34 -0
  406. package/src/components/Stepbar/tests/Stepbar.unit.test.js +92 -0
  407. package/src/components/Tooltip/styles/config.scss +1 -0
  408. package/src/components/Tooltip/tests/Tooltip.unit.test.js +2 -2
  409. package/src/components/index.ts +24 -1
  410. package/src/styles/before-components.scss +10 -0
  411. package/build/404.html +0 -1
  412. package/build/_next/static/BGy4QLZfZPwswIZT7YGE2/_buildManifest.js +0 -1
  413. package/build/_next/static/BGy4QLZfZPwswIZT7YGE2/_ssgManifest.js +0 -1
  414. package/build/_next/static/chunks/1206-59e86c9be0c6edc8.js +0 -1
  415. package/build/_next/static/chunks/1684-f3cca2440b2d04c9.js +0 -1
  416. package/build/_next/static/chunks/1790-42537fde486481dc.js +0 -1
  417. package/build/_next/static/chunks/1856-87fba6dedcfa51f4.js +0 -1
  418. package/build/_next/static/chunks/2355.4c3c65d46ce6edf1.js +0 -1
  419. package/build/_next/static/chunks/2366-ccdf9c167d62c230.js +0 -1
  420. package/build/_next/static/chunks/2511.d334cb67ac6af21d.js +0 -1
  421. package/build/_next/static/chunks/2735.7a75728bb235d0d4.js +0 -1
  422. package/build/_next/static/chunks/3557.53c406667aa62240.js +0 -1
  423. package/build/_next/static/chunks/4bd1b696-63246a30a5dafad8.js +0 -1
  424. package/build/_next/static/chunks/5426-60b8df37a33e8cf3.js +0 -1
  425. package/build/_next/static/chunks/579-22f1eb9ccb4fc983.js +0 -1
  426. package/build/_next/static/chunks/6729-c9c23d280815e7ae.js +0 -1
  427. package/build/_next/static/chunks/7916.f1f5aa6f1d094885.js +0 -1
  428. package/build/_next/static/chunks/7998-4f9ee8dd2d772e13.js +0 -1
  429. package/build/_next/static/chunks/9186-7ca86a881bc0fae7.js +0 -4
  430. package/build/_next/static/chunks/app/_not-found/page-a9506bc9a3364319.js +0 -1
  431. package/build/_next/static/chunks/app/components/accordion/page-aa200fabd855563b.js +0 -1
  432. package/build/_next/static/chunks/app/components/alert/page-7c67ea9c86227082.js +0 -1
  433. package/build/_next/static/chunks/app/components/bar/page-c30f8fd11c4651d6.js +0 -1
  434. package/build/_next/static/chunks/app/components/block-action/page-7274174a43629f9f.js +0 -1
  435. package/build/_next/static/chunks/app/components/body-banner/page-15ff1f59b2aa843d.js +0 -1
  436. package/build/_next/static/chunks/app/components/button/page-0e30b9dfcecf1399.js +0 -1
  437. package/build/_next/static/chunks/app/components/buttons/page-fffd250aa886c49b.js +0 -1
  438. package/build/_next/static/chunks/app/components/card/page-cd4cf793507e5671.js +0 -1
  439. package/build/_next/static/chunks/app/components/carousel/page-b365266404937787.js +0 -1
  440. package/build/_next/static/chunks/app/components/carousel-promotions/page-a44240a70a405853.js +0 -1
  441. package/build/_next/static/chunks/app/components/cart-table/page-c33464d94e85aacb.js +0 -1
  442. package/build/_next/static/chunks/app/components/controls/page-ab8a0113b4b2e54b.js +0 -1
  443. package/build/_next/static/chunks/app/components/cover/page-c5a39a466cf72302.js +0 -1
  444. package/build/_next/static/chunks/app/components/divider/page-048e0ea7f0f61c9f.js +0 -1
  445. package/build/_next/static/chunks/app/components/dropdown/page-86dc20ead95d1104.js +0 -1
  446. package/build/_next/static/chunks/app/components/expander/page-37e9fdf98c038541.js +0 -1
  447. package/build/_next/static/chunks/app/components/feature-accordion/page-994e106b83948b2a.js +0 -1
  448. package/build/_next/static/chunks/app/components/footer/page-39f76624a4c5435a.js +0 -1
  449. package/build/_next/static/chunks/app/components/forms/addons/page-b819ad9999952653.js +0 -1
  450. package/build/_next/static/chunks/app/components/forms/autocomplete/page-0cfae5a356eefe59.js +0 -1
  451. package/build/_next/static/chunks/app/components/forms/captions/hint/page-36a64250bd583aca.js +0 -1
  452. package/build/_next/static/chunks/app/components/forms/captions/label/page-84cb1a7b98fb64c8.js +0 -1
  453. package/build/_next/static/chunks/app/components/forms/captions/message/page-c22889abedb1d070.js +0 -1
  454. package/build/_next/static/chunks/app/components/forms/checkbox/page-8428d9a5becd0678.js +0 -1
  455. package/build/_next/static/chunks/app/components/forms/field/page-3c75a0c1a8f4867a.js +0 -1
  456. package/build/_next/static/chunks/app/components/forms/fieldset/page-5e7316fdf0310e1e.js +0 -1
  457. package/build/_next/static/chunks/app/components/forms/file/page-a83e9d5be583038b.js +0 -1
  458. package/build/_next/static/chunks/app/components/forms/inputstepper/page-2a61408ee3dd66a3.js +0 -1
  459. package/build/_next/static/chunks/app/components/forms/radio/page-d25e81a49e31fd5f.js +0 -1
  460. package/build/_next/static/chunks/app/components/forms/rangeslider/page-2b516b597dabcdde.js +0 -1
  461. package/build/_next/static/chunks/app/components/forms/select/page-28d631ad9ea28a9c.js +0 -1
  462. package/build/_next/static/chunks/app/components/forms/text-area/page-167de9c3a457c62a.js +0 -1
  463. package/build/_next/static/chunks/app/components/forms/text-input/page-5798b254c725bec1.js +0 -1
  464. package/build/_next/static/chunks/app/components/gauge/page-8299bca301ad707b.js +0 -1
  465. package/build/_next/static/chunks/app/components/icon/page-3d2696eb1415bbb8.js +0 -1
  466. package/build/_next/static/chunks/app/components/link/page-5691bc96657b379e.js +0 -1
  467. package/build/_next/static/chunks/app/components/list/page-93428135db5e0f50.js +0 -1
  468. package/build/_next/static/chunks/app/components/loader/page-60a3331abd258bde.js +0 -1
  469. package/build/_next/static/chunks/app/components/modal/page-193e4d93ab10dc9a.js +0 -1
  470. package/build/_next/static/chunks/app/components/pagination/page-dd52f805ef5196de.js +0 -1
  471. package/build/_next/static/chunks/app/components/progress/page-4ac45801c7ec5663.js +0 -1
  472. package/build/_next/static/chunks/app/components/skeleton/page-71307720865ef677.js +0 -1
  473. package/build/_next/static/chunks/app/components/sticker/page-c79c492044c10f40.js +0 -1
  474. package/build/_next/static/chunks/app/components/table/page-9dc77bc63b3b5895.js +0 -1
  475. package/build/_next/static/chunks/app/components/tabs/page-dcc36f18992b00f9.js +0 -1
  476. package/build/_next/static/chunks/app/components/tag/page-ba00a3d16f7f6d11.js +0 -1
  477. package/build/_next/static/chunks/app/components/testimonial/page-a3615b0a32c32fe1.js +0 -1
  478. package/build/_next/static/chunks/app/components/tile/page-b354dd7941df8670.js +0 -1
  479. package/build/_next/static/chunks/app/components/tooltip/page-9861cd4f82830d82.js +0 -1
  480. package/build/_next/static/chunks/app/javascript/toggle/page-8b83ddce80f9d755.js +0 -1
  481. package/build/_next/static/chunks/app/layout-41aa6f28da614a69.js +0 -1
  482. package/build/_next/static/chunks/app/page-e1799527aabeb98a.js +0 -1
  483. package/build/_next/static/chunks/app/utilities/horizontal-scroll/page-c6ee529373c337f9.js +0 -1
  484. package/build/_next/static/chunks/framework-fda66049c8bbcca5.js +0 -1
  485. package/build/_next/static/chunks/main-3e6405259d828a22.js +0 -1
  486. package/build/_next/static/chunks/main-app-a265e200b32683f1.js +0 -1
  487. package/build/_next/static/chunks/pages/_app-eb694f3fd49020c8.js +0 -1
  488. package/build/_next/static/chunks/pages/_error-2b3482c094a540b4.js +0 -1
  489. package/build/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  490. package/build/_next/static/chunks/webpack-1a128887cf981885.js +0 -1
  491. package/build/_next/static/css/05453e813192b05b.css +0 -1
  492. package/build/_next/static/css/05c85c9ea7e2ea58.css +0 -1
  493. package/build/_next/static/css/0e5de495ff48931f.css +0 -1
  494. package/build/_next/static/css/1139a47c85362386.css +0 -1
  495. package/build/_next/static/css/1b3f28cfd13039ad.css +0 -1
  496. package/build/_next/static/css/1fdf8ee56483471a.css +0 -1
  497. package/build/_next/static/css/286405eb07784ddd.css +0 -1
  498. package/build/_next/static/css/2cb6b1436172662a.css +0 -1
  499. package/build/_next/static/css/33a9af3bd42f0314.css +0 -1
  500. package/build/_next/static/css/3632d2fdde580dcb.css +0 -1
  501. package/build/_next/static/css/37365c3a0857a3c5.css +0 -1
  502. package/build/_next/static/css/412dd278760dc9fc.css +0 -1
  503. package/build/_next/static/css/417edeeaaadbac4d.css +0 -1
  504. package/build/_next/static/css/43c66157c59241c2.css +0 -1
  505. package/build/_next/static/css/57b0c84bbf7d7098.css +0 -1
  506. package/build/_next/static/css/5b55b50737ef7662.css +0 -1
  507. package/build/_next/static/css/5ec7df8d7719c810.css +0 -1
  508. package/build/_next/static/css/62680b6eacd53665.css +0 -1
  509. package/build/_next/static/css/645dada84db193d4.css +0 -1
  510. package/build/_next/static/css/7058542e728d5b05.css +0 -1
  511. package/build/_next/static/css/7108a96a607fe7c5.css +0 -1
  512. package/build/_next/static/css/7202aa220abab0eb.css +0 -1
  513. package/build/_next/static/css/75e15d3944ffd4f3.css +0 -1
  514. package/build/_next/static/css/77590e66868bf291.css +0 -1
  515. package/build/_next/static/css/7c62e057927bfe3a.css +0 -1
  516. package/build/_next/static/css/7d4c59347b15c45f.css +0 -1
  517. package/build/_next/static/css/7f570791ca140154.css +0 -1
  518. package/build/_next/static/css/8ed102a331809889.css +0 -1
  519. package/build/_next/static/css/a88042aa83a2c354.css +0 -1
  520. package/build/_next/static/css/a9a58f4c38bee2fd.css +0 -1
  521. package/build/_next/static/css/ac1d2e9b77b16926.css +0 -1
  522. package/build/_next/static/css/ae4b3848536f0c88.css +0 -1
  523. package/build/_next/static/css/b0ab7f81488aec78.css +0 -1
  524. package/build/_next/static/css/b853a4f8d045643a.css +0 -1
  525. package/build/_next/static/css/bcaa5e7fd24949ed.css +0 -1
  526. package/build/_next/static/css/d38343a4cf5388d8.css +0 -1
  527. package/build/_next/static/css/d829c1a3f2fcd594.css +0 -1
  528. package/build/_next/static/css/dbfffa33262d63c5.css +0 -1
  529. package/build/_next/static/css/dfae3c27eaeb27f7.css +0 -1
  530. package/build/_next/static/css/e0b468ba3d618325.css +0 -1
  531. package/build/_next/static/css/e5e018b7f5cf6e41.css +0 -1
  532. package/build/_next/static/css/e6a4dfa3d63d18c0.css +0 -1
  533. package/build/_next/static/css/ee49dfd49ae395ac.css +0 -1
  534. package/build/_next/static/css/ef46db3751d8e999.css +0 -0
  535. package/build/_next/static/css/f2867b2bd265a443.css +0 -1
  536. package/build/_next/static/media/671791babd225be4-s.p.woff2 +0 -0
  537. package/build/_next/static/media/c62d990acddde5f0-s.p.woff2 +0 -0
  538. package/build/_next/static/media/dfdbb1c4973e0bd7-s.p.woff2 +0 -0
  539. package/build/_next/static/media/phones.a832cbb3.png +0 -0
  540. package/build/components/accordion.html +0 -18
  541. package/build/components/accordion.txt +0 -28
  542. package/build/components/alert.html +0 -4
  543. package/build/components/alert.txt +0 -32
  544. package/build/components/bar.html +0 -10
  545. package/build/components/bar.txt +0 -27
  546. package/build/components/block-action.html +0 -4
  547. package/build/components/block-action.txt +0 -26
  548. package/build/components/body-banner.html +0 -1
  549. package/build/components/body-banner.txt +0 -28
  550. package/build/components/button.html +0 -2
  551. package/build/components/button.txt +0 -29
  552. package/build/components/buttons.html +0 -1
  553. package/build/components/buttons.txt +0 -29
  554. package/build/components/card.html +0 -20
  555. package/build/components/card.txt +0 -35
  556. package/build/components/carousel-promotions.html +0 -20
  557. package/build/components/carousel-promotions.txt +0 -31
  558. package/build/components/carousel.html +0 -5
  559. package/build/components/carousel.txt +0 -32
  560. package/build/components/cart-table.html +0 -39
  561. package/build/components/cart-table.txt +0 -35
  562. package/build/components/controls.html +0 -2
  563. package/build/components/controls.txt +0 -29
  564. package/build/components/cover.html +0 -1
  565. package/build/components/cover.txt +0 -26
  566. package/build/components/divider.html +0 -6
  567. package/build/components/divider.txt +0 -29
  568. package/build/components/dropdown.html +0 -18
  569. package/build/components/dropdown.txt +0 -36
  570. package/build/components/expander.html +0 -1
  571. package/build/components/expander.txt +0 -27
  572. package/build/components/feature-accordion.html +0 -1
  573. package/build/components/feature-accordion.txt +0 -31
  574. package/build/components/footer.html +0 -2
  575. package/build/components/footer.txt +0 -31
  576. package/build/components/forms/addons.html +0 -2
  577. package/build/components/forms/addons.txt +0 -26
  578. package/build/components/forms/autocomplete.html +0 -2
  579. package/build/components/forms/autocomplete.txt +0 -27
  580. package/build/components/forms/captions/hint.html +0 -4
  581. package/build/components/forms/captions/hint.txt +0 -26
  582. package/build/components/forms/captions/label.html +0 -4
  583. package/build/components/forms/captions/label.txt +0 -24
  584. package/build/components/forms/captions/message.html +0 -1
  585. package/build/components/forms/captions/message.txt +0 -24
  586. package/build/components/forms/checkbox.html +0 -2
  587. package/build/components/forms/checkbox.txt +0 -27
  588. package/build/components/forms/field.html +0 -3
  589. package/build/components/forms/field.txt +0 -24
  590. package/build/components/forms/fieldset.html +0 -2
  591. package/build/components/forms/fieldset.txt +0 -26
  592. package/build/components/forms/file.html +0 -1
  593. package/build/components/forms/file.txt +0 -24
  594. package/build/components/forms/inputstepper.html +0 -2
  595. package/build/components/forms/inputstepper.txt +0 -26
  596. package/build/components/forms/radio.html +0 -1
  597. package/build/components/forms/radio.txt +0 -37
  598. package/build/components/forms/rangeslider.html +0 -2
  599. package/build/components/forms/rangeslider.txt +0 -26
  600. package/build/components/forms/select.html +0 -1
  601. package/build/components/forms/select.txt +0 -24
  602. package/build/components/forms/text-area.html +0 -1
  603. package/build/components/forms/text-area.txt +0 -24
  604. package/build/components/forms/text-input.html +0 -1
  605. package/build/components/forms/text-input.txt +0 -24
  606. package/build/components/gauge.html +0 -15
  607. package/build/components/gauge.txt +0 -28
  608. package/build/components/icon.html +0 -1
  609. package/build/components/icon.txt +0 -24
  610. package/build/components/link.html +0 -6
  611. package/build/components/link.txt +0 -29
  612. package/build/components/list.html +0 -1
  613. package/build/components/list.txt +0 -30
  614. package/build/components/loader.html +0 -18
  615. package/build/components/loader.txt +0 -32
  616. package/build/components/modal.html +0 -2
  617. package/build/components/modal.txt +0 -33
  618. package/build/components/pagination.html +0 -1
  619. package/build/components/pagination.txt +0 -27
  620. package/build/components/progress.html +0 -1
  621. package/build/components/progress.txt +0 -33
  622. package/build/components/skeleton.html +0 -13
  623. package/build/components/skeleton.txt +0 -30
  624. package/build/components/sticker.html +0 -1
  625. package/build/components/sticker.txt +0 -27
  626. package/build/components/table.html +0 -2
  627. package/build/components/table.txt +0 -30
  628. package/build/components/tabs.html +0 -2
  629. package/build/components/tabs.txt +0 -29
  630. package/build/components/tag.html +0 -7
  631. package/build/components/tag.txt +0 -30
  632. package/build/components/testimonial.html +0 -1
  633. package/build/components/testimonial.txt +0 -28
  634. package/build/components/tile.html +0 -19
  635. package/build/components/tile.txt +0 -37
  636. package/build/components/tooltip.html +0 -4
  637. package/build/components/tooltip.txt +0 -26
  638. package/build/components/types/components/Carousel/Carousel.static.d.ts +0 -58
  639. package/build/components/types/components/CarouselPromotions/CarouselPromotions.static.d.ts +0 -47
  640. package/build/index.html +0 -65
  641. package/build/index.txt +0 -24
  642. package/build/javascript/toggle.html +0 -1
  643. package/build/javascript/toggle.txt +0 -29
  644. package/build/utilities/horizontal-scroll.html +0 -4
  645. package/build/utilities/horizontal-scroll.txt +0 -26
  646. package/src/components/Grid/tests/Grid.unit.test.tsx +0 -533
  647. package/src/components/Grid/tests/GridCol.unit.test.tsx +0 -199
  648. /package/build/components/types/{components → src/components}/Accordion/Accordion.d.ts +0 -0
  649. /package/build/components/types/{components → src/components}/Accordion/Accordion.static.d.ts +0 -0
  650. /package/build/components/types/{components → src/components}/Accordion/AccordionHeader.d.ts +0 -0
  651. /package/build/components/types/{components → src/components}/Accordion/AccordionItem.d.ts +0 -0
  652. /package/build/components/types/{components → src/components}/Accordion/HeadingContext.d.ts +0 -0
  653. /package/build/components/types/{components → src/components}/Accordion/index.d.ts +0 -0
  654. /package/build/components/types/{components → src/components}/Alert/Alert.d.ts +0 -0
  655. /package/build/components/types/{components → src/components}/Alert/data.d.ts +0 -0
  656. /package/build/components/types/{components → src/components}/Alert/index.d.ts +0 -0
  657. /package/build/components/types/{components → src/components}/Bar/Bar.d.ts +0 -0
  658. /package/build/components/types/{components → src/components}/Bar/BarBreak.d.ts +0 -0
  659. /package/build/components/types/{components → src/components}/Bar/BarItem.d.ts +0 -0
  660. /package/build/components/types/{components → src/components}/Bar/index.d.ts +0 -0
  661. /package/build/components/types/{components → src/components}/BlockAction/BlockAction.d.ts +0 -0
  662. /package/build/components/types/{components → src/components}/BlockAction/BlockActionControl.d.ts +0 -0
  663. /package/build/components/types/{components → src/components}/BlockAction/BlockActionIndicator.d.ts +0 -0
  664. /package/build/components/types/{components → src/components}/BlockAction/CloneElementWithClassName.d.ts +0 -0
  665. /package/build/components/types/{components → src/components}/BlockAction/Context.d.ts +0 -0
  666. /package/build/components/types/{components → src/components}/BlockAction/index.d.ts +0 -0
  667. /package/build/components/types/{components → src/components}/BodyBanner/BodyBanner.d.ts +0 -0
  668. /package/build/components/types/{components → src/components}/BodyBanner/index.d.ts +0 -0
  669. /package/build/components/types/{components → src/components}/Breadcrumbs/BreadcrumbItem.d.ts +0 -0
  670. /package/build/components/types/{components → src/components}/Breadcrumbs/index.d.ts +0 -0
  671. /package/build/components/types/{components → src/components}/Button/Button.d.ts +0 -0
  672. /package/build/components/types/{components → src/components}/Button/IconButton.d.ts +0 -0
  673. /package/build/components/types/{components → src/components}/Button/index.d.ts +0 -0
  674. /package/build/components/types/{components → src/components}/Buttons/Buttons.d.ts +0 -0
  675. /package/build/components/types/{components → src/components}/Buttons/index.d.ts +0 -0
  676. /package/build/components/types/{components → src/components}/Card/Card.d.ts +0 -0
  677. /package/build/components/types/{components → src/components}/Card/CardSection.d.ts +0 -0
  678. /package/build/components/types/{components → src/components}/Card/index.d.ts +0 -0
  679. /package/build/components/types/{components → src/components}/Carousel/CarouselItem.d.ts +0 -0
  680. /package/build/components/types/{components → src/components}/Carousel/index.d.ts +0 -0
  681. /package/build/components/types/{components → src/components}/CarouselPromotions/CarouselPromotionsItem.d.ts +0 -0
  682. /package/build/components/types/{components → src/components}/CarouselPromotions/index.d.ts +0 -0
  683. /package/build/components/types/{components → src/components}/CartTable/CartTable.d.ts +0 -0
  684. /package/build/components/types/{components → src/components}/CartTable/FooterNameColumn.d.ts +0 -0
  685. /package/build/components/types/{components → src/components}/CartTable/FooterPriceColumn.d.ts +0 -0
  686. /package/build/components/types/{components → src/components}/CartTable/Price.d.ts +0 -0
  687. /package/build/components/types/{components → src/components}/CartTable/generateFooter.d.ts +0 -0
  688. /package/build/components/types/{components → src/components}/CartTable/generateRow.d.ts +0 -0
  689. /package/build/components/types/{components → src/components}/CartTable/generateTotal.d.ts +0 -0
  690. /package/build/components/types/{components → src/components}/CartTable/index.d.ts +0 -0
  691. /package/build/components/types/{components → src/components}/Container/Container.d.ts +0 -0
  692. /package/build/components/types/{components → src/components}/Container/index.d.ts +0 -0
  693. /package/build/components/types/{components → src/components}/Controls/index.d.ts +0 -0
  694. /package/build/components/types/{components → src/components}/Cover/Cover.d.ts +0 -0
  695. /package/build/components/types/{components → src/components}/Cover/index.d.ts +0 -0
  696. /package/build/components/types/{components → src/components}/Divider/Divider.d.ts +0 -0
  697. /package/build/components/types/{components → src/components}/Divider/index.d.ts +0 -0
  698. /package/build/components/types/{components → src/components}/Dropdown/Dropdown.d.ts +0 -0
  699. /package/build/components/types/{components → src/components}/Dropdown/Dropdown.static.d.ts +0 -0
  700. /package/build/components/types/{components → src/components}/Dropdown/DropdownDivider.d.ts +0 -0
  701. /package/build/components/types/{components → src/components}/Dropdown/DropdownItem.d.ts +0 -0
  702. /package/build/components/types/{components → src/components}/Dropdown/DropdownToggleButton.d.ts +0 -0
  703. /package/build/components/types/{components → src/components}/Dropdown/index.d.ts +0 -0
  704. /package/build/components/types/{components → src/components}/Expander/Expander.d.ts +0 -0
  705. /package/build/components/types/{components → src/components}/Expander/Expander.static.d.ts +0 -0
  706. /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordion.d.ts +0 -0
  707. /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordion.static.d.ts +0 -0
  708. /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordionItem.d.ts +0 -0
  709. /package/build/components/types/{components → src/components}/FeatureAccordion/index.d.ts +0 -0
  710. /package/build/components/types/{components → src/components}/Footer/Footer.d.ts +0 -0
  711. /package/build/components/types/{components → src/components}/Footer/data.d.ts +0 -0
  712. /package/build/components/types/{components → src/components}/Footer/index.d.ts +0 -0
  713. /package/build/components/types/{components → src/components}/Forms/Autocomplete/Autocomplete.d.ts +0 -0
  714. /package/build/components/types/{components → src/components}/Forms/Autocomplete/Autocomplete.static.d.ts +0 -0
  715. /package/build/components/types/{components → src/components}/Forms/Autocomplete/index.d.ts +0 -0
  716. /package/build/components/types/{components → src/components}/Forms/Checkbox/Checkbox.d.ts +0 -0
  717. /package/build/components/types/{components → src/components}/Forms/Checkbox/index.d.ts +0 -0
  718. /package/build/components/types/{components → src/components}/Forms/Field/Field.d.ts +0 -0
  719. /package/build/components/types/{components → src/components}/Forms/Field/index.d.ts +0 -0
  720. /package/build/components/types/{components → src/components}/Forms/Field/utils.d.ts +0 -0
  721. /package/build/components/types/{components → src/components}/Forms/Fieldset/Fieldset.d.ts +0 -0
  722. /package/build/components/types/{components → src/components}/Forms/Fieldset/index.d.ts +0 -0
  723. /package/build/components/types/{components → src/components}/Forms/File/File.d.ts +0 -0
  724. /package/build/components/types/{components → src/components}/Forms/File/File.static.d.ts +0 -0
  725. /package/build/components/types/{components → src/components}/Forms/File/index.d.ts +0 -0
  726. /package/build/components/types/{components → src/components}/Forms/Group/Group.d.ts +0 -0
  727. /package/build/components/types/{components → src/components}/Forms/Group/Item.d.ts +0 -0
  728. /package/build/components/types/{components → src/components}/Forms/Group/index.d.ts +0 -0
  729. /package/build/components/types/{components → src/components}/Forms/Hint/Hint.d.ts +0 -0
  730. /package/build/components/types/{components → src/components}/Forms/Hint/index.d.ts +0 -0
  731. /package/build/components/types/{components → src/components}/Forms/InputStepper/InputStepper.d.ts +0 -0
  732. /package/build/components/types/{components → src/components}/Forms/InputStepper/InputStepper.static.d.ts +0 -0
  733. /package/build/components/types/{components → src/components}/Forms/InputStepper/index.d.ts +0 -0
  734. /package/build/components/types/{components → src/components}/Forms/Label/Label.d.ts +0 -0
  735. /package/build/components/types/{components → src/components}/Forms/Label/index.d.ts +0 -0
  736. /package/build/components/types/{components → src/components}/Forms/Message/Message.d.ts +0 -0
  737. /package/build/components/types/{components → src/components}/Forms/Message/index.d.ts +0 -0
  738. /package/build/components/types/{components → src/components}/Forms/Radio/Radio.d.ts +0 -0
  739. /package/build/components/types/{components → src/components}/Forms/Radio/index.d.ts +0 -0
  740. /package/build/components/types/{components → src/components}/Forms/RangeSlider/RangeSlider.d.ts +0 -0
  741. /package/build/components/types/{components → src/components}/Forms/RangeSlider/RangeSlider.static.d.ts +0 -0
  742. /package/build/components/types/{components → src/components}/Forms/RangeSlider/data.d.ts +0 -0
  743. /package/build/components/types/{components → src/components}/Forms/RangeSlider/index.d.ts +0 -0
  744. /package/build/components/types/{components → src/components}/Forms/Select/Select.d.ts +0 -0
  745. /package/build/components/types/{components → src/components}/Forms/Select/index.d.ts +0 -0
  746. /package/build/components/types/{components → src/components}/Forms/TextArea/TextArea.d.ts +0 -0
  747. /package/build/components/types/{components → src/components}/Forms/TextArea/index.d.ts +0 -0
  748. /package/build/components/types/{components → src/components}/Forms/TextInput/TextInput.d.ts +0 -0
  749. /package/build/components/types/{components → src/components}/Forms/TextInput/index.d.ts +0 -0
  750. /package/build/components/types/{components → src/components}/Gauge/Gauge.d.ts +0 -0
  751. /package/build/components/types/{components → src/components}/Gauge/index.d.ts +0 -0
  752. /package/build/components/types/{components → src/components}/Grid/Grid.d.ts +0 -0
  753. /package/build/components/types/{components → src/components}/Grid/GridCol.d.ts +0 -0
  754. /package/build/components/types/{components → src/components}/Grid/index.d.ts +0 -0
  755. /package/build/components/types/{components → src/components}/Icon/Icon.d.ts +0 -0
  756. /package/build/components/types/{components → src/components}/Icon/SpritePathContext.d.ts +0 -0
  757. /package/build/components/types/{components → src/components}/Icon/index.d.ts +0 -0
  758. /package/build/components/types/{components → src/components}/Image/Image.d.ts +0 -0
  759. /package/build/components/types/{components → src/components}/Image/index.d.ts +0 -0
  760. /package/build/components/types/{components → src/components}/Link/Link.d.ts +0 -0
  761. /package/build/components/types/{components → src/components}/Link/index.d.ts +0 -0
  762. /package/build/components/types/{components → src/components}/List/ClickableControl.d.ts +0 -0
  763. /package/build/components/types/{components → src/components}/List/List.d.ts +0 -0
  764. /package/build/components/types/{components → src/components}/List/ListItem.d.ts +0 -0
  765. /package/build/components/types/{components → src/components}/List/index.d.ts +0 -0
  766. /package/build/components/types/{components → src/components}/Loader/Loader.d.ts +0 -0
  767. /package/build/components/types/{components → src/components}/Loader/Loader.static.d.ts +0 -0
  768. /package/build/components/types/{components → src/components}/Loader/index.d.ts +0 -0
  769. /package/build/components/types/{components → src/components}/Modal/Modal.d.ts +0 -0
  770. /package/build/components/types/{components → src/components}/Modal/Modal.static.d.ts +0 -0
  771. /package/build/components/types/{components → src/components}/Modal/ModalBody.d.ts +0 -0
  772. /package/build/components/types/{components → src/components}/Modal/ModalCloseButton.d.ts +0 -0
  773. /package/build/components/types/{components → src/components}/Modal/ModalTitle.d.ts +0 -0
  774. /package/build/components/types/{components → src/components}/Modal/index.d.ts +0 -0
  775. /package/build/components/types/{components → src/components}/Pagination/Pagination.d.ts +0 -0
  776. /package/build/components/types/{components → src/components}/Pagination/PaginationItem.d.ts +0 -0
  777. /package/build/components/types/{components → src/components}/Pagination/Separator.d.ts +0 -0
  778. /package/build/components/types/{components → src/components}/Pagination/helpers.d.ts +0 -0
  779. /package/build/components/types/{components → src/components}/Pagination/index.d.ts +0 -0
  780. /package/build/components/types/{components → src/components}/Progress/Progress.d.ts +0 -0
  781. /package/build/components/types/{components → src/components}/Progress/index.d.ts +0 -0
  782. /package/build/components/types/{components → src/components}/Section/Section.d.ts +0 -0
  783. /package/build/components/types/{components → src/components}/Section/index.d.ts +0 -0
  784. /package/build/components/types/{components → src/components}/Skeleton/Skeleton.d.ts +0 -0
  785. /package/build/components/types/{components → src/components}/Skeleton/index.d.ts +0 -0
  786. /package/build/components/types/{components → src/components}/Sticker/Sticker.d.ts +0 -0
  787. /package/build/components/types/{components → src/components}/Sticker/index.d.ts +0 -0
  788. /package/build/components/types/{components → src/components}/Table/Cell.d.ts +0 -0
  789. /package/build/components/types/{components → src/components}/Table/Footer.d.ts +0 -0
  790. /package/build/components/types/{components → src/components}/Table/Header.d.ts +0 -0
  791. /package/build/components/types/{components → src/components}/Table/Row.d.ts +0 -0
  792. /package/build/components/types/{components → src/components}/Table/Rows.d.ts +0 -0
  793. /package/build/components/types/{components → src/components}/Table/Table.d.ts +0 -0
  794. /package/build/components/types/{components → src/components}/Table/Table.static.d.ts +0 -0
  795. /package/build/components/types/{components → src/components}/Table/TableContext.d.ts +0 -0
  796. /package/build/components/types/{components → src/components}/Table/index.d.ts +0 -0
  797. /package/build/components/types/{components → src/components}/Table/types.d.ts +0 -0
  798. /package/build/components/types/{components → src/components}/Tabs/Tab.d.ts +0 -0
  799. /package/build/components/types/{components → src/components}/Tabs/TabPanel.d.ts +0 -0
  800. /package/build/components/types/{components → src/components}/Tabs/Tabs.d.ts +0 -0
  801. /package/build/components/types/{components → src/components}/Tabs/Tabs.static.d.ts +0 -0
  802. /package/build/components/types/{components → src/components}/Tabs/index.d.ts +0 -0
  803. /package/build/components/types/{components → src/components}/Tag/Tag.d.ts +0 -0
  804. /package/build/components/types/{components → src/components}/Tag/TagButton.d.ts +0 -0
  805. /package/build/components/types/{components → src/components}/Tag/index.d.ts +0 -0
  806. /package/build/components/types/{components → src/components}/Testimonial/Testimonial.d.ts +0 -0
  807. /package/build/components/types/{components → src/components}/Testimonial/index.d.ts +0 -0
  808. /package/build/components/types/{components → src/components}/Tile/Tile.d.ts +0 -0
  809. /package/build/components/types/{components → src/components}/Tile/index.d.ts +0 -0
  810. /package/build/components/types/{components → src/components}/Tooltip/InfoTooltip.d.ts +0 -0
  811. /package/build/components/types/{components → src/components}/Tooltip/Tooltip.d.ts +0 -0
  812. /package/build/components/types/{components → src/components}/Tooltip/Tooltip.static.d.ts +0 -0
  813. /package/build/components/types/{components → src/components}/Tooltip/index.d.ts +0 -0
  814. /package/build/components/types/{docs → src/docs}/utils/ToggleButton.d.ts +0 -0
  815. /package/build/components/types/{scripts → src/scripts}/modules/Toggle.d.ts +0 -0
  816. /package/build/components/types/{scripts → src/scripts}/modules/toggleUtil.d.ts +0 -0
  817. /package/build/components/types/{styles → src/styles}/export/breakpoint.d.ts +0 -0
  818. /package/build/components/types/{utils → src/utils}/ConditionalWrapper.d.ts +0 -0
  819. /package/build/components/types/{utils → src/utils}/classes.d.ts +0 -0
  820. /package/build/components/types/{utils → src/utils}/color.d.ts +0 -0
  821. /package/build/components/types/{utils → src/utils}/constants.d.ts +0 -0
  822. /package/build/components/types/{utils → src/utils}/generateId.d.ts +0 -0
  823. /package/build/components/types/{utils → src/utils}/helpers.d.ts +0 -0
  824. /package/build/components/types/{utils → src/utils}/hooks.d.ts +0 -0
  825. /package/build/components/types/{utils → src/utils}/index.d.ts +0 -0
  826. /package/build/components/types/{utils → src/utils}/keyboard.d.ts +0 -0
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Cleanup docgen prop value of string which has this form:
3
+ * "'string'" and converts it to "string"
4
+ */
5
+ export const cleanValue = (s: any): any =>
6
+ typeof s === 'string' ? s.replace(/(^['"]|['"]$)/g, '') : s;
7
+
8
+ /**
9
+ * Get docgen props of component
10
+ * if it's an html element we parse just first level of text to be editable
11
+ * if it's just a string we create docgen type of string
12
+ */
13
+ export const getDocgenProps = (component: any): Record<string, any> => {
14
+ const componentType = component.type;
15
+
16
+ if (typeof componentType === 'function') {
17
+ if (componentType.__docgenInfo) {
18
+ return componentType.__docgenInfo.props;
19
+ }
20
+ } else if (typeof componentType === 'string') {
21
+ const props = component.props;
22
+ return Object.keys(props).reduce(
23
+ (acc: Record<string, any>, curr: string) => ({
24
+ ...acc,
25
+ [curr]: {
26
+ type: {
27
+ name: typeof props[curr],
28
+ value: props[curr],
29
+ },
30
+ },
31
+ }),
32
+ {}
33
+ );
34
+ }
35
+
36
+ return {
37
+ children: {
38
+ type: {
39
+ name: typeof component,
40
+ value: component,
41
+ },
42
+ },
43
+ };
44
+ };
45
+
46
+ /**
47
+ * parse displayName of component or create custom name
48
+ */
49
+ export const getDisplayName = (component: any): string =>
50
+ (component.type && component.type.displayName) ||
51
+ (typeof component === 'string'
52
+ ? 'PlainText'
53
+ : typeof component.type === 'string'
54
+ ? component.type
55
+ : 'NoDisplayName');
56
+
57
+ /**
58
+ * Helper function for comparision
59
+ */
60
+ export const is = (value: any, type: any): boolean => value === type;
@@ -0,0 +1,18 @@
1
+ import { createContext } from 'react';
2
+
3
+ interface InteractContextType {
4
+ liveProps: Record<string, any>;
5
+ showProps: boolean;
6
+ docgenProps: Record<string, any>;
7
+ setDeepState: (propName: string, value: any) => void;
8
+ handleShowProps: (e: React.MouseEvent) => void;
9
+ handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
10
+ handleCheckboxChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
11
+ handleSelectChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
12
+ isDefaultValue: (propName: string) => boolean;
13
+ getDefaultValue: (docgen: any) => any;
14
+ }
15
+
16
+ const InteractContext = createContext<InteractContextType | undefined>(undefined);
17
+
18
+ export default InteractContext;
@@ -0,0 +1,153 @@
1
+ import { Preview, ComponentDocs, CodeJSX } from './../';
2
+ import PreviewForDocs from './Preview';
3
+ import InteractForDOcs from './Interact/Interact';
4
+ import { Bar, BarItem } from './../Bar';
5
+
6
+ # Preview
7
+
8
+ Preview component is dedicated to displaing other components with code preview and colored backgrounds.
9
+
10
+ ## Variants
11
+
12
+ ### Default
13
+
14
+ <Preview code={<Preview>Default preview</Preview>}>Default preview</Preview>
15
+
16
+ ### Different default background color
17
+
18
+ <Preview
19
+ bgTheme="dark"
20
+ code={<Preview bgTheme="dark">Preview with `dark` background color</Preview>}
21
+ >
22
+ Preview with <CodeJSX>dark</CodeJSX> background color
23
+ </Preview>
24
+
25
+ ### Disable colors in background color chooser
26
+
27
+ <Preview
28
+ bgThemeExcludedColors={['accent']}
29
+ code={
30
+ <Preview bgThemeExcludedColors={['accent']}>
31
+ `accent` background color is not available
32
+ </Preview>
33
+ }
34
+ >
35
+ <CodeJSX>accent</CodeJSX> background color is not available
36
+ </Preview>
37
+
38
+ ### Disable background color chooser
39
+
40
+ <Preview
41
+ bgTheme={false}
42
+ code={`<Preview bgTheme={false}>
43
+ Disabled background color chooser.
44
+ </Preview>`}
45
+ >
46
+ Disabled background color chooser
47
+ </Preview>
48
+
49
+ ### Adapt to current background color
50
+
51
+ <Preview
52
+ code={`<Preview>
53
+ {({ bgTheme, bgThemeValue }) => (/*...*/)}
54
+ </Preview>`}
55
+ >
56
+ {({ bgTheme, bgThemeValue }) => (
57
+ <React.Fragment>
58
+ Current background is <CodeJSX>{`${bgTheme} (${bgThemeValue})`}</CodeJSX>
59
+ </React.Fragment>
60
+ )}
61
+ </Preview>
62
+
63
+ ### Disable code preview
64
+
65
+ <Preview hasCodePreview={false}>
66
+ Pass <CodeJSX>hasCodePreview=&#123;false&#125;</CodeJSX> prop to{' '}
67
+ <CodeJSX>Preview</CodeJSX>
68
+ </Preview>
69
+
70
+ ### Custom code in show code
71
+
72
+ <Preview
73
+ code={
74
+ <Preview code={<div>This is custom code preview of component</div>}>
75
+ Different code output will be shown in code preview
76
+ </Preview>
77
+ }
78
+ >
79
+ Different code output will be shown in code preview
80
+ </Preview>
81
+
82
+ ### Code JSX options
83
+
84
+ Library
85
+ [react-element-to-jsx-string](https://github.com/algolia/react-element-to-jsx-string)
86
+ is used to generate JSX in code example. To overide options of this library, use
87
+ `codeJSXOptions`. This can be usefull to filter some props code preview.
88
+
89
+ <Preview
90
+ codeJSXOptions={{ filterProps: ['key'] }}
91
+ code={
92
+ <Preview codeJSXOptions={{ filterProps: ['key'] }}>
93
+ <div key={"key won't show at code example"}>
94
+ This component has key, but code example hides it
95
+ </div>
96
+ </Preview>
97
+ }
98
+ >
99
+ <div key={"key won't show at code example"}>
100
+ This component has key, but code example hides it
101
+ </div>
102
+ </Preview>
103
+
104
+ ### Code example types
105
+
106
+ If you need to adjust visible code example types use `codeTypes` property.
107
+
108
+ <Preview
109
+ code={
110
+ <Preview codeTypes={['html', 'jsx']}>
111
+ <p>
112
+ This preview has html as a main code example type
113
+ </p>
114
+ </Preview>
115
+ }
116
+ codeTypes={['html', 'jsx']}>
117
+ <p>
118
+ This preview has html as a main code example type
119
+ </p>
120
+ </Preview>
121
+
122
+ ### Preview HTML string
123
+
124
+ <Preview
125
+ code={
126
+ <Preview
127
+ html={`
128
+ <div class='html'>
129
+ <div>This is HTML string</div>
130
+ </div>
131
+ `}
132
+ />
133
+ }
134
+ >
135
+ This is HTML string
136
+ </Preview>
137
+
138
+ ### Preview interactiveProps
139
+
140
+ `interactiveProps` are used as a pipe for sending special props to Interactive elements renderer.
141
+
142
+ Every component in the `Preview` gets their own Interactive component to `render`.
143
+ `render` prop is prefilled with parsed component from `Preview`.
144
+ `filterProps` is set of values that ensures, that user cannot edit these props interactively.
145
+ `skipChildren` is used to make just the parent element interactive not the children elements.
146
+
147
+ ## Props
148
+
149
+ <ComponentDocs title="<Preview />" component={PreviewForDocs} />
150
+
151
+ ## Props for interactive component
152
+
153
+ <ComponentDocs title="<Interact />" component={InteractForDOcs} />
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ import { render, fireEvent } from '@testing-library/react';
3
+
4
+ import Preview from '.';
5
+
6
+ describe('rendering', () => {
7
+ it('Preview', () => {
8
+ const { getByText } = render(<Preview>Preview</Preview>);
9
+ expect(getByText('Preview')).toBeInTheDocument();
10
+ });
11
+
12
+ it('HTML preview renders more than 1 child', () => {
13
+ const { getByText, getByTestId } = render(
14
+ <Preview>
15
+ <p>Paragraph 1</p>
16
+ <p>Paragraph 2</p>
17
+ </Preview>
18
+ );
19
+
20
+ fireEvent.click(getByText('SHOW CODE'));
21
+
22
+ fireEvent.click(getByText('HTML'));
23
+
24
+ expect(getByTestId('html')).toBeInTheDocument();
25
+ });
26
+
27
+ it('at least one tab is rendered by default', () => {
28
+ const { queryAllByTestId, getByText } = render(<Preview>preview</Preview>);
29
+
30
+ fireEvent.click(getByText('SHOW CODE'));
31
+
32
+ const toggleButtons = queryAllByTestId('code-type-toggle');
33
+
34
+ expect(toggleButtons).not.toHaveLength(0);
35
+ });
36
+
37
+ it('order of tabs is same as order of codeTypes', () => {
38
+ const codeTypes = ['html', 'jsx'];
39
+
40
+ const { queryAllByTestId, getByText } = render(
41
+ <Preview codeTypes={codeTypes}>preview</Preview>
42
+ );
43
+
44
+ fireEvent.click(getByText('SHOW CODE'));
45
+
46
+ const toggleButtons = queryAllByTestId('code-type-toggle');
47
+
48
+ const buttonTypesArray = toggleButtons.map(button =>
49
+ button?.innerHTML?.toLowerCase()
50
+ );
51
+
52
+ expect(buttonTypesArray).toEqual(codeTypes);
53
+ });
54
+
55
+ it('render only one tab when html property is set', () => {
56
+ const { queryAllByTestId, getByText } = render(
57
+ <Preview html={`<div>preview</div>`}>preview</Preview>
58
+ );
59
+
60
+ fireEvent.click(getByText('SHOW CODE'));
61
+
62
+ const toggleButtons = queryAllByTestId('code-type-toggle');
63
+
64
+ expect(toggleButtons).toHaveLength(1);
65
+ });
66
+ });
@@ -0,0 +1,273 @@
1
+ import React, { useState, ReactNode, FunctionComponent } from "react";
2
+ import cx from "classnames";
3
+
4
+ import PreviewTitleBar from "./PreviewTitleBar";
5
+ import CodeExample from "./CodeExample";
6
+ import Interact from "./Interact/Interact";
7
+
8
+ import { Card } from "./../Card";
9
+ import { Icon } from "./../Icon";
10
+ import { Button } from "./../Button";
11
+ import { Dropdown, DropdownItem } from "./../Dropdown";
12
+
13
+ import "./styles/style.scss";
14
+
15
+ const CLASS_ROOT = "preview";
16
+
17
+ interface PreviewBackground {
18
+ value: string;
19
+ label: string;
20
+ }
21
+
22
+ interface PreviewProps {
23
+ bgTheme?: string | boolean;
24
+ bgThemeColors?: Record<string, string>;
25
+ bgThemeExcludedColors?: string[];
26
+ children?:
27
+ | ReactNode
28
+ | ((context: { bgTheme: string; bgThemeValue: string }) => ReactNode);
29
+ className?: string;
30
+ code?:
31
+ | ReactNode
32
+ | ((context: { bgTheme: string; bgThemeValue: string }) => ReactNode);
33
+ codeJSXOptions?: Record<string, any>;
34
+ codeTypes?: string[];
35
+ enableFullscreen?: boolean;
36
+ hasCodePreview?: boolean;
37
+ html?: string;
38
+ interactiveProps?: Record<string, any>;
39
+ isInteractive?: boolean;
40
+ [key: string]: any;
41
+ }
42
+
43
+ const getBackgroundsAsArray = (
44
+ previewBackgrounds: Record<string, string>,
45
+ excludedColors: string[] = [],
46
+ ): PreviewBackground[] =>
47
+ Object.keys(previewBackgrounds).reduce<PreviewBackground[]>((acc, name) => {
48
+ if (!excludedColors.includes(name)) {
49
+ acc.push({
50
+ value: previewBackgrounds[name],
51
+ label: name,
52
+ });
53
+ }
54
+ return acc;
55
+ }, []);
56
+
57
+ // Funkcia na detekciu farby a určenie CSS triedy
58
+ const getThemeClass = (backgroundColor: string): string => {
59
+ // Fallback na základe názvu farby
60
+ console.log(backgroundColor);
61
+ const colorName = backgroundColor.toLowerCase();
62
+ if (colorName === "#000") {
63
+ return "is-dark";
64
+ }
65
+ if (colorName === "#fff" || colorName === "#f5f5f5") {
66
+ return "is-light";
67
+ }
68
+
69
+ return "is-light"; // default
70
+ };
71
+
72
+ const Preview: FunctionComponent<PreviewProps> = ({
73
+ bgTheme = "white",
74
+ bgThemeColors = { White: "#fff", Gray: "#f5f5f5", Black: "#000" },
75
+ bgThemeExcludedColors = [],
76
+ children,
77
+ className,
78
+ code,
79
+ codeJSXOptions,
80
+ codeTypes,
81
+ enableFullscreen = true,
82
+ hasCodePreview = true,
83
+ html,
84
+ interactiveProps = {},
85
+ isInteractive = false,
86
+ ...other
87
+ }) => {
88
+ const [isCodeShown, setIsCodeShown] = useState(false);
89
+ const [isFullscreen, setIsFullscreen] = useState(false);
90
+ const [showInteract, setShowInteract] = useState(false);
91
+ const [previewBackground, setPreviewBackground] = useState<PreviewBackground>(
92
+ () => {
93
+ if (bgThemeColors && typeof bgTheme === "string") {
94
+ const bgColorsOptions = getBackgroundsAsArray(
95
+ bgThemeColors,
96
+ bgThemeExcludedColors,
97
+ );
98
+
99
+ // Ak je bgTheme string, skús nájsť zodpovedajúcu farbu
100
+ if (bgThemeColors[bgTheme]) {
101
+ return {
102
+ label: bgTheme,
103
+ value: bgThemeColors[bgTheme],
104
+ };
105
+ }
106
+
107
+ // Ak bgTheme nie je v bgThemeColors, skús nájsť farbu s rovnakým názvom
108
+ const matchingOption = bgColorsOptions.find(
109
+ (option) => option.label.toLowerCase() === bgTheme.toLowerCase(),
110
+ );
111
+
112
+ if (matchingOption) {
113
+ return matchingOption;
114
+ }
115
+
116
+ // Ak sa nenájde zhoda, použij prvú dostupnú farbu
117
+ if (bgColorsOptions.length > 0) {
118
+ return bgColorsOptions[0];
119
+ }
120
+
121
+ return {
122
+ label: bgTheme,
123
+ value: bgThemeColors[bgTheme] || "#fff",
124
+ };
125
+ }
126
+ return { label: "white", value: "#fff" };
127
+ },
128
+ );
129
+
130
+ function handleToggleCode() {
131
+ setIsCodeShown(!isCodeShown);
132
+ }
133
+
134
+ function handleToggleInteract() {
135
+ setShowInteract(!showInteract);
136
+ }
137
+
138
+ function handlePreviewBackground(previewBackground: PreviewBackground) {
139
+ setPreviewBackground(previewBackground);
140
+ }
141
+
142
+ function handleToggleFullscreen() {
143
+ setIsFullscreen(!isFullscreen);
144
+ }
145
+
146
+ const classes = cx(
147
+ CLASS_ROOT,
148
+ className,
149
+ getThemeClass(previewBackground.value),
150
+ );
151
+ const wrapperClasses = cx("previewWrapper", {
152
+ isFullscreen: isFullscreen,
153
+ });
154
+
155
+ const actions: ReactNode[] = [];
156
+
157
+ if (bgTheme && bgThemeColors) {
158
+ const bgColorsOptions = getBackgroundsAsArray(
159
+ bgThemeColors,
160
+ bgThemeExcludedColors,
161
+ );
162
+
163
+ if (bgColorsOptions.length) {
164
+ actions.push(
165
+ <Dropdown
166
+ id="background-select"
167
+ button={{
168
+ children: previewBackground.label,
169
+ iconName: "menu-arrow",
170
+ }}
171
+ >
172
+ {bgColorsOptions.map((option: any) => (
173
+ <DropdownItem
174
+ key={option.value}
175
+ onClick={() => handlePreviewBackground(option)}
176
+ >
177
+ {option.label}
178
+ </DropdownItem>
179
+ ))}
180
+ </Dropdown>,
181
+ );
182
+ }
183
+ }
184
+
185
+ if (hasCodePreview) {
186
+ actions.push(
187
+ <Button key="code-toggle" onClick={handleToggleCode}>
188
+ <Icon name="code" fill={bgThemeColors?.accent || "#000"} />
189
+ {isCodeShown ? "HIDE CODE" : "SHOW CODE"}
190
+ </Button>,
191
+ );
192
+ }
193
+
194
+ if (isInteractive) {
195
+ actions.push(
196
+ <Button key="interact-toggle" onClick={handleToggleInteract}>
197
+ <Icon name="code" fill={bgThemeColors?.accent || "#000"} />
198
+ {showInteract ? "HIDE INTERACTIVE" : "SHOW INTERACTIVE"}
199
+ </Button>,
200
+ );
201
+ }
202
+
203
+ if (enableFullscreen) {
204
+ actions.push(
205
+ <Button key="fullscreen-toggle" onClick={handleToggleFullscreen}>
206
+ <Icon name={isFullscreen ? "fullscreen-exit" : "fullscreen"} />
207
+ {isFullscreen ? "MINIMIZE" : "FULLSCREEN"}
208
+ </Button>,
209
+ );
210
+ }
211
+
212
+ const renderAsFunctionContext = {
213
+ bgTheme: previewBackground.label,
214
+ bgThemeValue: previewBackground.value,
215
+ };
216
+
217
+ const childrenToRender =
218
+ typeof children === "function"
219
+ ? children(renderAsFunctionContext)
220
+ : children;
221
+
222
+ const toRender = childrenToRender || (
223
+ // eslint-disable-next-line react/no-danger
224
+ <div dangerouslySetInnerHTML={{ __html: html || "" }} />
225
+ );
226
+
227
+ const toCode =
228
+ (code && typeof code === "function"
229
+ ? code(renderAsFunctionContext)
230
+ : code) ||
231
+ childrenToRender ||
232
+ html;
233
+
234
+ return (
235
+ <div className={wrapperClasses}>
236
+ <PreviewTitleBar actions={actions} />
237
+ <Card
238
+ className={classes}
239
+ style={{ backgroundColor: previewBackground.value }}
240
+ {...other}
241
+ >
242
+ {showInteract ? (
243
+ React.Children.map(childrenToRender, (child) => {
244
+ if (React.isValidElement(child)) {
245
+ return (
246
+ <Interact key="interact" render={child} {...interactiveProps} />
247
+ );
248
+ }
249
+ return null;
250
+ })
251
+ ) : (
252
+ <>
253
+ <div className="previewLive">{toRender}</div>
254
+ </>
255
+ )}
256
+ </Card>
257
+ {isCodeShown && hasCodePreview && toCode && (
258
+ <Card className="codeExample">
259
+ <CodeExample
260
+ codeJSXOptions={codeJSXOptions}
261
+ codeTypes={html ? ["html"] : codeTypes}
262
+ >
263
+ {toCode}
264
+ </CodeExample>
265
+ </Card>
266
+ )}
267
+ </div>
268
+ );
269
+ };
270
+
271
+ Preview.displayName = "Preview";
272
+
273
+ export default Preview;
@@ -0,0 +1,32 @@
1
+ import React, { ReactNode } from "react";
2
+ import cx from "classnames";
3
+
4
+ interface PreviewTitleBarProps {
5
+ title?: string;
6
+ actions?: ReactNode[];
7
+ className?: string;
8
+ [key: string]: any;
9
+ }
10
+
11
+ const CLASS_ROOT = "";
12
+
13
+ const PreviewTitleBar: React.FC<PreviewTitleBarProps> = ({
14
+ className,
15
+ title,
16
+ actions = [],
17
+ ...other
18
+ }) => {
19
+ const classes = cx(CLASS_ROOT, className);
20
+
21
+ return (
22
+ <div className={cx(classes, "bar justify-content-end")} {...other}>
23
+ {actions.map((action, actionIndex) => (
24
+ <div key={actionIndex}>{action}</div>
25
+ ))}
26
+ </div>
27
+ );
28
+ };
29
+
30
+ PreviewTitleBar.displayName = "PreviewTitleBar";
31
+
32
+ export default PreviewTitleBar;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import "./styles/style.scss";
3
+
4
+ import Preview from "./Preview";
5
+
6
+ interface ThemedPreviewProps {
7
+ [key: string]: any;
8
+ }
9
+
10
+ const ThemedPreview: React.FC<ThemedPreviewProps> = (props) => (
11
+ <Preview
12
+ {...props}
13
+ />
14
+ );
15
+
16
+ export default ThemedPreview;