@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
@@ -1,4 +1,12 @@
1
- import Glider from "@lighting-beetle/glider-js";
1
+ import { Swiper } from "swiper";
2
+ import type { SwiperOptions } from "swiper/types";
3
+ import {
4
+ Navigation,
5
+ Pagination,
6
+ A11y,
7
+ Keyboard,
8
+ Autoplay,
9
+ } from "swiper/modules";
2
10
 
3
11
  import {
4
12
  SELECTOR_DOTS,
@@ -7,84 +15,74 @@ import {
7
15
  CLASS_DOT_SVG,
8
16
  CLASS_AUTOPLAY,
9
17
  CLASS_SHOWING_INVERTED_SLIDE,
18
+ CLASS_TRACK,
19
+ CLASS_SLIDE,
20
+ CLASS_DOT,
21
+ CLASS_ACTIVE,
10
22
  } from "./constants";
11
23
 
12
- export interface CarouselPromotionsConfig {
13
- slidesToShow: number;
14
- dots: string;
15
- skipTrack: boolean;
16
- rewind: boolean;
17
- interval: number;
18
- scrollLock: boolean;
19
- classes: {
20
- glider: string;
21
- track: string;
22
- slide: string;
23
- drag: string;
24
- draggable: string;
25
- disabled: string;
26
- active: string;
27
- visible: string;
28
- dots: string;
29
- dot: string;
30
- };
31
- }
32
-
33
- export const defaultConfig: CarouselPromotionsConfig = {
34
- slidesToShow: 1,
35
- dots: SELECTOR_DOTS,
36
- skipTrack: true,
37
- rewind: true,
38
- interval: 0,
39
- scrollLock: true,
40
- classes: {
41
- glider: "carousel-promotions__viewport",
42
- track: "carousel-promotions__track",
43
- slide: "carousel-promotions__slide",
44
- drag: "is-dragging",
45
- draggable: "is-draggable",
46
- disabled: "is-disabled",
47
- active: "is-active",
48
- visible: "is-visible",
49
- dots: "carousel-promotions__pagination",
50
- dot: "carousel-promotions__pagination-item",
24
+ export const defaultConfig: SwiperOptions = {
25
+ pagination: {
26
+ el: SELECTOR_DOTS,
27
+ clickable: true,
28
+ bulletClass: CLASS_DOT,
29
+ bulletActiveClass: CLASS_ACTIVE,
30
+ renderBullet: (index, className) => {
31
+ return `<button aria-label="Stránka ${index + 1}" role="tab" class="${className}" type="button"></button>`;
32
+ },
33
+ },
34
+ slidesPerView: 1,
35
+ loop: true,
36
+ a11y: {
37
+ enabled: true,
38
+ prevSlideMessage: "Predchádzajúci snímok",
39
+ nextSlideMessage: "Nasledujúci snímok",
40
+ paginationBulletMessage: "Prejsť na snímok {index}",
41
+ containerMessage: "Carousel so snímkami",
42
+ containerRoleDescriptionMessage: "carousel",
43
+ itemRoleDescriptionMessage: "snímok",
44
+ firstSlideMessage: "Prvý snímok",
45
+ lastSlideMessage: "Posledný snímok",
46
+ slideLabelMessage: "Snímok",
51
47
  },
48
+ cssMode: false,
49
+ direction: "horizontal",
50
+ wrapperClass: CLASS_TRACK,
51
+ slideClass: CLASS_SLIDE,
52
+ slideActiveClass: CLASS_ACTIVE,
53
+ autoplay: false,
52
54
  };
53
55
 
54
56
  export default class CarouselPromotions {
55
57
  element: HTMLElement;
56
- config: CarouselPromotionsConfig & { dots?: HTMLElement | null };
58
+ config: SwiperOptions;
57
59
  viewport!: HTMLElement;
58
- instance: any;
60
+ instance!: Swiper;
59
61
  interval: number = 0;
62
+ autoplayTimer?: NodeJS.Timeout;
60
63
 
61
- constructor(
62
- element: HTMLElement,
63
- config?: Partial<CarouselPromotionsConfig>,
64
- ) {
64
+ constructor(element: HTMLElement, config?: Partial<SwiperOptions>) {
65
65
  this.element = element;
66
- const mergedConfig = { ...defaultConfig, ...config };
67
- const { interval, ...restConfig } = mergedConfig;
68
- // @ts-expect-error config is not typed to accept HTMLElement | null
69
- this.config = restConfig;
70
- this.interval = parseInt(String(interval));
71
- (this.element as any).ODS_CarouselPromotions = this;
66
+ this.config = { ...defaultConfig, ...config };
67
+ this.interval = 0;
72
68
 
73
- this.gliderLoadedHandler = this.gliderLoadedHandler.bind(this);
74
- this.gliderRefreshHandler = this.gliderRefreshHandler.bind(this);
69
+ this.handleSlideChange = this.handleSlideChange.bind(this);
75
70
  this.scrollToNextSlide = this.scrollToNextSlide.bind(this);
76
71
  this.autoplayAnimationEnd = this.autoplayAnimationEnd.bind(this);
77
72
 
78
73
  (this.element as any).ODS_CarouselPromotions = this;
79
74
 
75
+ // Defer initialization to ensure DOM is ready
76
+ // requestAnimationFrame(() => {
80
77
  this.init();
78
+ // });
81
79
  return this;
82
80
  }
83
81
 
84
82
  init() {
85
83
  this.getElements();
86
84
 
87
- if (this.element.hasAttribute("data-glider-options")) {
85
+ if (this.element.hasAttribute("data-swiper-options")) {
88
86
  this.getCustomOptions();
89
87
  }
90
88
 
@@ -96,30 +94,41 @@ export default class CarouselPromotions {
96
94
 
97
95
  if (isIntervalValid) {
98
96
  this.element.classList.add(CLASS_AUTOPLAY);
97
+ this.config.autoplay = {
98
+ delay: this.interval,
99
+ disableOnInteraction: false,
100
+ };
99
101
  } else {
100
102
  this.interval = 0;
103
+ this.config.autoplay = false;
101
104
  }
102
105
 
103
- this.element.addEventListener("glider-loaded", this.gliderLoadedHandler);
104
- this.element.addEventListener("glider-refresh", this.gliderRefreshHandler);
105
- this.element.addEventListener("glider-slide-visible", (e: any) => {
106
- this.element.classList.remove(CLASS_SHOWING_INVERTED_SLIDE);
107
- if (e.detail && e.detail.slide !== undefined) {
108
- const slideIndex = e.detail.slide;
109
- if (slideIndex % 2 === 1) {
110
- this.element.classList.add(CLASS_SHOWING_INVERTED_SLIDE);
111
- }
112
- }
106
+ this.instance = new Swiper(this.viewport, {
107
+ ...this.config,
108
+ modules: [Navigation, Pagination, A11y, Keyboard, Autoplay],
109
+ on: {
110
+ slideChange: this.handleSlideChange,
111
+ init: () => {
112
+ this.fixPaginationButtonType();
113
+ if (this.isAutoplayEnabled) {
114
+ this.renderSvgDotsForAnimation();
115
+ }
116
+ },
117
+ update: () => {
118
+ this.fixPaginationButtonType();
119
+ if (this.isAutoplayEnabled) {
120
+ this.renderSvgDotsForAnimation();
121
+ }
122
+ },
123
+ },
113
124
  });
114
125
 
115
- this.instance = new Glider(this.viewport, this.config);
116
-
117
- if (this.instance && this.instance.dots && isIntervalValid) {
118
- this.instance.dots.addEventListener(
119
- "animationend",
120
- this.autoplayAnimationEnd,
121
- );
122
- this.instance.dots.addEventListener("click", () => {
126
+ const paginationEl = this.element.querySelector(
127
+ SELECTOR_DOTS,
128
+ ) as HTMLElement | null;
129
+ if (paginationEl && isIntervalValid) {
130
+ paginationEl.addEventListener("animationend", this.autoplayAnimationEnd);
131
+ paginationEl.addEventListener("click", () => {
123
132
  this.stopAutoplay();
124
133
  });
125
134
  }
@@ -128,6 +137,23 @@ export default class CarouselPromotions {
128
137
  stopAutoplay() {
129
138
  this.interval = 0;
130
139
  this.element.classList.remove(CLASS_AUTOPLAY);
140
+ if (this.instance && this.instance.autoplay) {
141
+ this.instance.autoplay.stop();
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Handles the slide change event on the carousel.
147
+ * Updates the inverted slide class based on slide index.
148
+ */
149
+ handleSlideChange() {
150
+ this.element.classList.remove(CLASS_SHOWING_INVERTED_SLIDE);
151
+ if (this.instance && this.instance.activeIndex !== undefined) {
152
+ const slideIndex = this.instance.activeIndex;
153
+ if (slideIndex % 2 === 1) {
154
+ this.element.classList.add(CLASS_SHOWING_INVERTED_SLIDE);
155
+ }
156
+ }
131
157
  }
132
158
 
133
159
  autoplayAnimationEnd(e: AnimationEvent) {
@@ -146,35 +172,38 @@ export default class CarouselPromotions {
146
172
  }
147
173
 
148
174
  scrollToNextSlide() {
175
+ if (!this.instance || !this.instance.slides) {
176
+ return;
177
+ }
149
178
  const slidesCount = this.instance.slides.length;
150
- if (slidesCount < 0) {
179
+ if (slidesCount <= 0) {
151
180
  return;
152
181
  }
153
- const currentSlideIndex = this.instance.getCurrentSlide();
154
- this.instance.scrollItem((currentSlideIndex + 1) % slidesCount);
182
+ const currentSlideIndex = this.instance.activeIndex || 0;
183
+ this.instance.slideTo((currentSlideIndex + 1) % slidesCount);
155
184
  }
156
185
 
157
- gliderLoadedHandler() {
158
- this.fixPaginationButtonType();
159
- if (this.isAutoplayEnabled) {
160
- this.renderSvgDotsForAnimation();
161
- }
162
- }
186
+ getElements() {
187
+ this.viewport = this.element.querySelector(SELECTOR_VIEWPORT)!;
163
188
 
164
- gliderRefreshHandler() {
165
- this.fixPaginationButtonType();
166
- if (this.isAutoplayEnabled) {
167
- this.renderSvgDotsForAnimation();
189
+ // Ensure pagination container has proper role
190
+ const paginationEl = this.element.querySelector(
191
+ SELECTOR_DOTS,
192
+ ) as HTMLElement | null;
193
+ if (paginationEl && !paginationEl.hasAttribute("role")) {
194
+ paginationEl.setAttribute("role", "tablist");
168
195
  }
169
- }
170
196
 
171
- getElements() {
172
- this.viewport = this.element.querySelector(SELECTOR_VIEWPORT)!;
173
197
  const elements = {
174
- dots: this.element.querySelector(SELECTOR_DOTS),
198
+ pagination: {
199
+ ...((this.config.pagination ?? {}) as object),
200
+ el: paginationEl,
201
+ clickable: true,
202
+ bulletClass: CLASS_DOT,
203
+ bulletActiveClass: CLASS_ACTIVE,
204
+ },
175
205
  };
176
206
 
177
- // @ts-expect-error config is not typed to accept HTMLElement | null
178
207
  this.config = {
179
208
  ...this.config,
180
209
  ...elements,
@@ -182,15 +211,15 @@ export default class CarouselPromotions {
182
211
  }
183
212
 
184
213
  getCustomOptions() {
185
- const passedGliderOptions = this.element.getAttribute(
186
- "data-glider-options",
214
+ const passedSwiperOptions = this.element.getAttribute(
215
+ "data-swiper-options",
187
216
  );
188
- if (!passedGliderOptions) return;
189
- const parsedGliderOptions = JSON.parse(passedGliderOptions);
217
+ if (!passedSwiperOptions) return;
218
+ const parsedSwiperOptions = JSON.parse(passedSwiperOptions);
190
219
 
191
220
  this.config = {
192
221
  ...this.config,
193
- ...parsedGliderOptions,
222
+ ...parsedSwiperOptions,
194
223
  };
195
224
  }
196
225
 
@@ -239,11 +268,15 @@ export default class CarouselPromotions {
239
268
  }
240
269
 
241
270
  destroy() {
242
- this.instance.destroy();
271
+ if (this.instance) {
272
+ this.instance.destroy();
273
+ }
243
274
  }
244
275
 
245
276
  update() {
246
- this.instance.refresh();
277
+ if (this.instance) {
278
+ this.instance.update();
279
+ }
247
280
  }
248
281
 
249
282
  static getInstance(el: HTMLElement): CarouselPromotions | null {
@@ -16,22 +16,25 @@ import { useStatic } from "@/utils/hooks";
16
16
 
17
17
  interface CarouselPromotionsProps {
18
18
  className?: string;
19
- gliderOptions?: Record<string, any>;
20
- isInverse?: boolean;
19
+ swiperOptions?: Record<string, any>;
20
+ colorScheme?: "light" | "dark";
21
21
  children?: ReactNode;
22
22
  [key: string]: any;
23
23
  }
24
24
 
25
25
  const CarouselPromotions: React.FC<CarouselPromotionsProps> = ({
26
26
  className,
27
- gliderOptions,
28
- isInverse,
27
+ swiperOptions,
28
+ colorScheme,
29
29
  children,
30
30
  ...other
31
31
  }) => {
32
32
  const [carouselRef] = useStatic(CarouselPromotionsStatic);
33
33
 
34
- const classes = cx(CLASS_ROOT, className, { "bg-black": isInverse });
34
+ const classes = cx(CLASS_ROOT, className, {
35
+ "is-light": colorScheme === "light",
36
+ "is-dark": colorScheme === "dark",
37
+ });
35
38
 
36
39
  const elementClasses = {
37
40
  next: cx(CLASS_NEXT, "hide-lg"),
@@ -43,8 +46,8 @@ const CarouselPromotions: React.FC<CarouselPromotionsProps> = ({
43
46
  className={classes}
44
47
  ref={carouselRef}
45
48
  data-carousel-promotions
46
- {...(gliderOptions
47
- ? { "data-glider-options": JSON.stringify(gliderOptions) }
49
+ {...(swiperOptions
50
+ ? { "data-swiper-options": JSON.stringify(swiperOptions) }
48
51
  : {})}
49
52
  {...other}
50
53
  >
@@ -1,4 +1,4 @@
1
- export const CLASS_ROOT = 'carousel-promotions';
1
+ export const CLASS_ROOT = "carousel-promotions";
2
2
 
3
3
  export const CLASS_WRAPPER = `${CLASS_ROOT}`;
4
4
  export const CLASS_VIEWPORT_WRAPPER = `${CLASS_ROOT}__viewport-wrapper`;
@@ -10,11 +10,13 @@ export const CLASS_TITLE = `${CLASS_ROOT}__title`;
10
10
  export const CLASS_IMAGE = `${CLASS_ROOT}__image`;
11
11
  export const CLASS_NEXT = `${CLASS_ROOT}__next`;
12
12
  export const CLASS_DOTS = `${CLASS_ROOT}__pagination`;
13
+ export const CLASS_DOT = `${CLASS_ROOT}__pagination-item`;
13
14
  export const CLASS_DOT_SVG = `${CLASS_ROOT}__pagination-svg`;
14
15
  export const CLASS_DOT_CIRCLE = `${CLASS_ROOT}__pagination-circle`;
15
16
  export const CLASS_SHOWING_INVERTED_SLIDE = `${CLASS_ROOT}--slide-inverted`;
16
17
 
17
18
  export const CLASS_AUTOPLAY = `is-autoplay`;
19
+ export const CLASS_ACTIVE = "is-active";
18
20
 
19
21
  export const SELECTOR_WRAPPER = `.${CLASS_WRAPPER}`;
20
22
  export const SELECTOR_VIEWPORT = `.${CLASS_VIEWPORT}`;
@@ -78,17 +78,167 @@ describe("rendering CarouselPromotions", () => {
78
78
  </>
79
79
  );
80
80
 
81
- it("has number of pagination buttons with role tab equal to length of items array", () => {
81
+ it("has pagination container (buttons are rendered by Swiper after initialization)", () => {
82
82
  const { container } = render(
83
83
  <CarouselPromotions>{items}</CarouselPromotions>,
84
84
  );
85
- expect(container.querySelectorAll(`button[role="tab"]`).length).toBe(3);
85
+ // Pagination buttons are dynamically created by Swiper.js after initialization
86
+ // so we just verify the pagination container exists
87
+ expect(
88
+ container.querySelector(".carousel-promotions__pagination"),
89
+ ).toBeInTheDocument();
90
+ });
91
+ it("has class is-dark when colorScheme='dark' is passed", () => {
92
+ const { getByTestId } = render(
93
+ <CarouselPromotions data-testid="test-id" colorScheme="dark">
94
+ {items}
95
+ </CarouselPromotions>,
96
+ );
97
+ expect(getByTestId("test-id")).toHaveClass("is-dark");
98
+ });
99
+
100
+ it("has class is-light when colorScheme='light' is passed", () => {
101
+ const { getByTestId } = render(
102
+ <CarouselPromotions data-testid="test-id" colorScheme="light">
103
+ {items}
104
+ </CarouselPromotions>,
105
+ );
106
+ expect(getByTestId("test-id")).toHaveClass("is-light");
107
+ });
108
+
109
+ it("passes swiperOptions as data-swiper-options attribute", () => {
110
+ const swiperOptions = { slidesPerView: 2 };
111
+ const { getByTestId } = render(
112
+ <CarouselPromotions data-testid="test-id" swiperOptions={swiperOptions}>
113
+ {items}
114
+ </CarouselPromotions>,
115
+ );
116
+ expect(getByTestId("test-id")).toHaveAttribute(
117
+ "data-swiper-options",
118
+ JSON.stringify(swiperOptions),
119
+ );
120
+ });
121
+
122
+ it("does not set data-swiper-options attribute when swiperOptions prop is not provided", () => {
123
+ const { getByTestId } = render(
124
+ <CarouselPromotions data-testid="test-id">{items}</CarouselPromotions>,
125
+ );
126
+ expect(getByTestId("test-id").hasAttribute("data-swiper-options")).toBe(
127
+ false,
128
+ );
129
+ });
130
+ });
131
+
132
+ describe("Swiper integration", () => {
133
+ const items = (
134
+ <>
135
+ <CarouselPromotionsItem
136
+ image={
137
+ <Image
138
+ src={`https://placehold.co/800x150?text=slide`}
139
+ alt="Image"
140
+ />
141
+ }
142
+ title="Akcia za vernosť."
143
+ subtitle="Predĺž si svoj paušál a vyhraj telefón v súťaži."
144
+ />
145
+ <CarouselPromotionsItem
146
+ image={
147
+ <Image
148
+ src={`https://placehold.co/800x150?text=slide`}
149
+ alt="Image"
150
+ />
151
+ }
152
+ title="Akcia za vernosť."
153
+ subtitle="Predĺž si svoj paušál a vyhraj telefón v súťaži."
154
+ />
155
+ </>
156
+ );
157
+
158
+ it("track element uses carousel-promotions__track class which maps to swiper-wrapper", () => {
159
+ const { container } = render(
160
+ <CarouselPromotions>{items}</CarouselPromotions>,
161
+ );
162
+ expect(
163
+ container.querySelector(".carousel-promotions__track"),
164
+ ).toBeInTheDocument();
165
+ });
166
+
167
+ it("slide elements use carousel-promotions__slide class which maps to swiper-slide", () => {
168
+ const { container } = render(
169
+ <CarouselPromotions>{items}</CarouselPromotions>,
170
+ );
171
+ const slides = container.getElementsByClassName(
172
+ "carousel-promotions__slide",
173
+ );
174
+ for (let i = 0; i < slides.length; i++) {
175
+ expect(slides[i]).toHaveClass("carousel-promotions__slide");
176
+ }
177
+ });
178
+
179
+ it("viewport element is used as Swiper container", () => {
180
+ const { container } = render(
181
+ <CarouselPromotions>{items}</CarouselPromotions>,
182
+ );
183
+ expect(
184
+ container.querySelector(".carousel-promotions__viewport"),
185
+ ).toBeInTheDocument();
186
+ });
187
+
188
+ it("pagination container has proper accessibility attributes", () => {
189
+ const { container } = render(
190
+ <CarouselPromotions>{items}</CarouselPromotions>,
191
+ );
192
+ const pagination = container.querySelector(
193
+ ".carousel-promotions__pagination",
194
+ );
195
+ expect(pagination).toHaveAttribute("role", "tablist");
196
+ });
197
+
198
+ it("pagination container is empty initially (buttons are rendered by Swiper after initialization)", () => {
199
+ const { container } = render(
200
+ <CarouselPromotions>{items}</CarouselPromotions>,
201
+ );
202
+ // Pagination buttons are dynamically created by Swiper.js after initialization
203
+ const pagination = container.querySelector(
204
+ ".carousel-promotions__pagination",
205
+ );
206
+ expect(pagination.children.length).toBe(0);
207
+ });
208
+ });
209
+
210
+ describe("autoplay functionality", () => {
211
+ const items = (
212
+ <>
213
+ <CarouselPromotionsItem
214
+ image={
215
+ <Image
216
+ src={`https://placehold.co/800x150?text=slide`}
217
+ alt="Image"
218
+ />
219
+ }
220
+ title="Akcia za vernosť."
221
+ subtitle="Predĺž si svoj paušál a vyhraj telefón v súťaži."
222
+ />
223
+ </>
224
+ );
225
+
226
+ it("adds data-interval attribute when provided", () => {
227
+ const { getByTestId } = render(
228
+ <CarouselPromotions data-testid="test-id" data-interval={5000}>
229
+ {items}
230
+ </CarouselPromotions>,
231
+ );
232
+ expect(getByTestId("test-id")).toHaveAttribute("data-interval", "5000");
86
233
  });
87
- it("has class bg-black when isInverse is passed", () => {
234
+
235
+ it("adds data-carousel-promotions attribute for component identification", () => {
88
236
  const { getByTestId } = render(
89
- <CarouselPromotions data-testid="test-id" items={items} isInverse />,
237
+ <CarouselPromotions data-testid="test-id">{items}</CarouselPromotions>,
238
+ );
239
+ expect(getByTestId("test-id")).toHaveAttribute(
240
+ "data-carousel-promotions",
90
241
  );
91
- expect(getByTestId("test-id")).toHaveClass("bg-black");
92
242
  });
93
243
  });
94
244
  });
@@ -0,0 +1,85 @@
1
+ import React from "react";
2
+ import { Highlight, Language, PrismTheme } from "prism-react-renderer";
3
+
4
+ import oneDarkProTheme from "./oneDarkProTheme";
5
+ import "./styles/style.scss";
6
+
7
+ interface CodeProps {
8
+ /** Code to highlight. */
9
+ children?: string;
10
+ /** Supported languages. */
11
+ language?: Language;
12
+ /** Inline code preview with text. */
13
+ inline?: boolean;
14
+ /** Theme VSCode theme style object defined in https://github.com/FormidableLabs/prism-react-renderer#theming */
15
+ theme?: PrismTheme;
16
+ [key: string]: any;
17
+ }
18
+
19
+ interface RenderProps {
20
+ tokens: any[][];
21
+ style: React.CSSProperties;
22
+ getLineProps: (props: { line: any[]; key: number }) => any;
23
+ getTokenProps: (props: { token: any; key: number }) => any;
24
+ }
25
+
26
+ const PreviewCode: React.FC<CodeProps> = ({
27
+ children,
28
+ language = "markup",
29
+ inline = true,
30
+ theme = oneDarkProTheme,
31
+ ...other
32
+ }) => {
33
+ if (!children) {
34
+ return null;
35
+ }
36
+
37
+ const CodeTag = inline ? "span" : "div";
38
+
39
+ return (
40
+ <Highlight code={children} language={language} theme={theme}>
41
+ {({ tokens, style, getLineProps, getTokenProps }: RenderProps) => {
42
+ const highlight = tokens.map((line, i) => (
43
+ <CodeTag {...getLineProps({ line, key: i })} key={i}>
44
+ {line.map((token, key) => {
45
+ const tokenProps = getTokenProps({ token, key });
46
+ // Nahradiť "tag" s "code-tag" v className
47
+ if (tokenProps.className && tokenProps.className.includes('tag')) {
48
+ tokenProps.className = tokenProps.className.replace(/\btag\b/g, 'code-tag');
49
+ }
50
+ return <span {...tokenProps} key={key} />;
51
+ })}
52
+ </CodeTag>
53
+ ));
54
+
55
+ return (
56
+ <div
57
+ className={`code-container ${inline ? "inline" : "block"}`}
58
+ style={style}
59
+ {...other}
60
+ >
61
+ {inline ? (
62
+ <code
63
+ className={`code code--inline prism-code language-${language} code-inline`}
64
+ >
65
+ {highlight}
66
+ </code>
67
+ ) : (
68
+ <pre className={`language-${language} pre-block`}>
69
+ <code
70
+ className={`code prism-code language-${language} code-block`}
71
+ >
72
+ {highlight}
73
+ </code>
74
+ </pre>
75
+ )}
76
+ </div>
77
+ );
78
+ }}
79
+ </Highlight>
80
+ );
81
+ };
82
+
83
+ PreviewCode.displayName = "Code";
84
+
85
+ export { PreviewCode };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+
3
+ import { PreviewCode as Code } from './Code';
4
+
5
+ export const CodeBlock: React.FC<any> = (props) => <Code inline={false} {...props} />;
6
+ CodeBlock.displayName = 'CodeBlock';
7
+
8
+ export const CodeBlockJSX: React.FC<any> = (props) => (
9
+ <Code inline={false} language="jsx" {...props} />
10
+ );
11
+ CodeBlockJSX.displayName = 'CodeBlockJSX';
12
+
13
+ export const CodeJSX: React.FC<any> = (props) => <Code language="jsx" {...props} />;
14
+ CodeJSX.displayName = 'CodeJSX';
15
+
16
+ export default Code;