Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

37 righe
782 B

  1. import './button.scss';
  2. export const createButton =
  3. ({
  4. elementType = 'a',
  5. color = 'primary',
  6. size = 'regular',
  7. link = '#',
  8. preventClick = true,
  9. label,
  10. icon,
  11. iconPosition,
  12. onClick,
  13. }) => {
  14. const btn = document.createElement(elementType);
  15. btn.innerHTML = label;
  16. btn.addEventListener('click', onClick);
  17. const classes = ['btn', color, 'btn-' + size];
  18. if (iconPosition && iconPosition !== 'none' && icon) {
  19. classes.push(iconPosition);
  20. classes.push('icon-' + icon);
  21. }
  22. btn.className = classes.join(' ');
  23. if (link && elementType === 'a') {
  24. btn.href = link;
  25. }
  26. if (preventClick) {
  27. btn.addEventListener('click', (e) => {
  28. e.preventDefault();
  29. })
  30. }
  31. return btn;
  32. };