Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

48 wiersze
1.8 KiB

  1. import './slider.scss';
  2. import {createElement, createImage} from "../../_global/scripts/helpers";
  3. import $ from 'jquery';
  4. import {createButton} from "../../atoms/button/ButtonComponent";
  5. import IHKSlider from "./slider";
  6. import {sliderData} from "./SliderData";
  7. export const createSlider =
  8. ({
  9. slides = sliderData,
  10. }) => {
  11. const section = createElement('section', ['rotation'], null);
  12. const container = createElement('div', ['container'], null, section);
  13. const sliderComponent = createElement('div', ['slider'], null, container);
  14. slides.map((slideData, index) => {
  15. const slide = createElement('div', ['slide'], null, sliderComponent);
  16. const outer = createElement('outer', ['outer'], null, slide);
  17. if (slideData.imageSrc && slideData.imageSrc.length > 0) {
  18. const imageBox = createElement('div', ['image-box'], null, outer);
  19. createImage(slideData.imageSrc, 900, 600, 'Slide ' + index, [], imageBox);
  20. }
  21. const textBox = createElement('div', ['text-box'], null, outer);
  22. if (slideData.kicker && slideData.kicker.length > 0) {
  23. createElement('span', ['kicker'], slideData.kicker, textBox);
  24. }
  25. if (slideData.headline && slideData.headline.length > 0) {
  26. createElement('h3', ['like-h2'], slideData.headline, textBox);
  27. }
  28. if (slideData.kicker && slideData.kicker.length > 0) {
  29. createElement('p', [], slideData.copy, textBox);
  30. }
  31. if (slideData.cta && slideData.link) {
  32. const buttonP = createElement('p', [], '', textBox);
  33. const btn = createButton({
  34. color: 'white', icon: 'pfeil-simple-rechts', iconPosition: 'icon-right', label: slideData.cta
  35. });
  36. buttonP.appendChild(btn);
  37. }
  38. })
  39. new IHKSlider($(sliderComponent));
  40. return section;
  41. }