Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

37 строки
1.4 KiB

  1. import './tile-grid.scss';
  2. import {createElement, createImage} from "../../_global/scripts/helpers";
  3. import {TileGridData} from "./TileGridData";
  4. export const createTileGrid = ({
  5. headline = 'Daten und Fakten auf einen Blick',
  6. tiles = TileGridData,
  7. }) => {
  8. const section = createElement('section', ['tile-grid']);
  9. const container = createElement('div', ['container'], null, section);
  10. createElement('h2', [], headline, container);
  11. const row = createElement('div', ['row'], null, container);
  12. tiles.map((group) => {
  13. const col = createElement('div', ['col'], null, row);
  14. const head = createElement('div', ['tile-head'], null, col);
  15. const tileLink = createElement('a', ['tile-head-outer'], null, head);
  16. tileLink.href = group.titleUrl;
  17. createElement('h3', ['like-h4'], group.title, tileLink);
  18. group.tiles.map((item) => {
  19. const tile = createElement('div', ['tile'], null, col);
  20. const tileLink = createElement('a', ['tile-outer'], null, tile);
  21. tileLink.href = item.url;
  22. const iconBox = createElement('div', ['icon'], null, tileLink);
  23. createImage(item.icon, 220, 220, ['icon'], [], iconBox);
  24. const p = createElement('p', [], null, tileLink);
  25. const num = createElement('span', ['number'], item.number, p);
  26. if (item.unit) {
  27. createElement('small', [], item.unit, num);
  28. }
  29. createElement('span', ['label'], item.label, p);
  30. })
  31. })
  32. return section;
  33. }