/* GarageWiz — line icon set (24x24, stroke=currentColor) */
(function () {
  const e = React.createElement;
  const P = { fill: 'none', stroke: 'currentColor', strokeWidth: 2, strokeLinecap: 'round', strokeLinejoin: 'round' };

  const PATHS = {
    dashboard: ['M4 13h7V4H4zM13 20h7v-9h-7zM13 4v4h7V4zM4 20h7v-4H4z'],
    door: ['M3 21V11l9-6 9 6v10', 'M2 21h20', 'M8 21v-7.5h8V21', 'M8 16.2h8M8 18.6h8'],
    opener: ['M9 8.5h6a1 1 0 0 1 1 1v10.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5a1 1 0 0 1 1-1z', 'M12 8.5V5.5', 'M9.6 4.6a3.6 3.6 0 0 1 4.8 0', 'M8.2 3a6.4 6.4 0 0 1 7.6 0', 'M10.5 12.5h3'],
    parts: ['M14.6 6.4a4 4 0 0 0-5.6 5.6l-5.7 5.7a1.5 1.5 0 0 0 0 2.1l.9.9a1.5 1.5 0 0 0 2.1 0l5.7-5.7a4 4 0 0 0 5.6-5.6l-2.4 2.4-2.7-.7-.7-2.7z'],
    settings: ['M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z', 'M19.4 13.5a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-2.9 1.2 2 2 0 1 1-4 0 1.7 1.7 0 0 0-2.9-1.2l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0-1.2-2.9 2 2 0 1 1 0-4 1.7 1.7 0 0 0 1.2-2.9l-.1-.1A2 2 0 1 1 6.9 2.6l.1.1a1.7 1.7 0 0 0 2.9-1.2 2 2 0 1 1 4 0 1.7 1.7 0 0 0 2.9 1.2l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.2 2.5'],
    users: ['M16 20v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2', 'M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM22 20v-2a4 4 0 0 0-3-3.9M16 3.1A4 4 0 0 1 16 11'],
    activity: ['M3 12h4l3 8 4-16 3 8h4'],
    manufacturers: ['M3 21V9l6 3V9l6 3V4l6 3v14z', 'M3 21h18'],
    suppliers: ['M1 3h15v13H1zM16 8h4l3 3v5h-7z', 'M5.5 18.5a2 2 0 1 0 0 .1zM18.5 18.5a2 2 0 1 0 0 .1z'],
    lock: ['M5 11h14v10H5z', 'M8 11V7a4 4 0 0 1 8 0v4M12 15v2'],
    check: ['M20 6L9 17l-5-5'],
    chevR: ['M9 6l6 6-6 6'],
    chevL: ['M15 6l-6 6 6 6'],
    chevD: ['M6 9l6 6 6-6'],
    close: ['M18 6L6 18M6 6l12 12'],
    plus: ['M12 5v14M5 12h14'],
    edit: ['M11 4H4v16h16v-7', 'M18.5 2.5a2.1 2.1 0 0 1 3 3L12 15l-4 1 1-4z'],
    trash: ['M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'],
    search: ['M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM21 21l-4.3-4.3'],
    logout: ['M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4', 'M16 17l5-5-5-5M21 12H9'],
    eye: ['M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z', 'M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'],
    eyeOff: ['M9.9 5.1A9.8 9.8 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-2.4 3.3M6.1 6.1A17 17 0 0 0 2 12s3.5 7 10 7a9.8 9.8 0 0 0 3.9-.8', 'M3 3l18 18M9.5 9.5a3 3 0 0 0 4 4'],
    arrowR: ['M5 12h14M13 6l6 6-6 6'],
    arrowL: ['M19 12H5M11 18l-6-6 6-6'],
    mail: ['M3 5h18v14H3z', 'M3 6l9 7 9-7'],
    phone: ['M5 3h4l2 5-3 2a14 14 0 0 0 6 6l2-3 5 2v4a2 2 0 0 1-2 2A18 18 0 0 1 3 5a2 2 0 0 1 2-2z'],
    print: ['M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2M6 14h12v7H6z'],
    download: ['M12 3v12M7 10l5 5 5-5', 'M5 21h14'],
    bundle: ['M21 8l-9-5-9 5 9 5 9-5z', 'M3 8v8l9 5 9-5V8', 'M12 13v8'],
    home: ['M3 10.5L12 3l9 7.5', 'M5 9.5V21h14V9.5', 'M9 21v-6h6v6'],
    briefcase: ['M3 8h18v12H3z', 'M8 8V6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', 'M3 13h18'],
    dollar: ['M12 2v20', 'M16.5 6.5A4 4 0 0 0 13 4.5h-1.5a3 3 0 0 0 0 6h1a3 3 0 0 1 0 6H11A4 4 0 0 1 7.5 20.5'],
    gift: ['M20 12v9H4v-9', 'M2 7.5h20v4.5H2z', 'M12 7.5V21', 'M12 7.5S10.5 3 8 3a2.5 2.5 0 0 0 0 5c2.5 0 4 0 4 0z', 'M12 7.5S13.5 3 16 3a2.5 2.5 0 0 1 0 5c-2.5 0-4 0-4 0z'],
    reports: ['M3 3v18h18', 'M7 15v3', 'M12 9v9', 'M17 5v13'],
    star: ['M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.8 6.8 19.6l1-5.8L3.5 9.7l5.9-.9z'],
    info: ['M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18zM12 11v5M12 8h.01'],
    truck: ['M1 5h13v11H1zM14 9h4l3 3v4h-7z', 'M5.5 18.5a2 2 0 1 0 .1 0zM17.5 18.5a2 2 0 1 0 .1 0z'],
    spark: ['M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5L18 18M18 6l-2.5 2.5M8.5 15.5L6 18'],
    tag: ['M20.6 13.4L13 21l-9-9V4h8l8.6 8.6a2 2 0 0 1 0 2.8z', 'M7.5 7.5h.01'],
    grid: ['M3 3h8v8H3zM13 3h8v8h-8zM13 13h8v8h-8zM3 13h8v8H3z'],
    minus: ['M5 12h14'],
    back: ['M19 12H5M11 18l-6-6 6-6'],
    window: ['M4 4h16v16H4z', 'M12 4v16M4 12h16'],
    drag: ['M9 5h.01M9 12h.01M9 19h.01M15 5h.01M15 12h.01M15 19h.01'],
    dollar: ['M12 2v20M17 6.5a4 4 0 0 0-4-2.5h-1.5a3.5 3.5 0 0 0 0 7h3a3.5 3.5 0 0 1 0 7H10a4 4 0 0 1-4-2.5'],
    shield: ['M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z', 'M9 12l2 2 4-4'],
  };

  function Icon(props) {
    const { name, size = 22, style, className, strokeWidth } = props;
    const d = PATHS[name];
    if (!d) return null;
    return e('svg', {
      width: size, height: size, viewBox: '0 0 24 24', className, style,
      'aria-hidden': true,
    }, d.map((p, i) => e('path', Object.assign({}, P, strokeWidth ? { strokeWidth } : null, { d: p, key: i }))));
  }

  window.Icon = Icon;
})();
