// icons.jsx — clean line/solid UI icons for the Khail app
// <Icon name="truck" size={20} />  (stroke icons)  |  filled via fill prop where noted
(function(){
  const P = {
    'chevron-l': 'M15 5l-7 7 7 7',
    'chevron-r': 'M9 5l7 7-7 7',
    'arrow-l':   'M19 12H5M11 6l-6 6 6 6',
    'arrow-r':   'M5 12h14M13 6l6 6-6 6',
    'plus':      'M12 5v14M5 12h14',
    'search':    'M11 4a7 7 0 105.3 11.6M20 20l-3.6-3.6',
    'check':     'M5 12.5l4.5 4.5L19 7',
    'clock':     'M12 7v5l3.5 2',
    'calendar':  'M4 8h16M8 3v4M16 3v4',
    'edit':      'M5 19h3L19 8l-3-3L5 16v3zM14 6l3 3',
    'printer':   'M7 9V3h10v6M7 18H5a1 1 0 01-1-1v-5a2 2 0 012-2h12a2 2 0 012 2v5a1 1 0 01-1 1h-2M7 14h10v7H7z',
    'share':     'M12 15V4M8.5 7.5L12 4l3.5 3.5M5 12v6a1 1 0 001 1h12a1 1 0 001-1v-6',
    'bell':      'M6 9a6 6 0 0112 0c0 4 1.5 5.5 2 6H4c.5-.5 2-2 2-6zM9.5 20a2.5 2.5 0 005 0',
    'headset':   'M4 13v-1a8 8 0 0116 0v1M4 13v3a1 1 0 001 1h1a1 1 0 001-1v-3a1 1 0 00-1-1H5a1 1 0 00-1 1zM20 13v3a1 1 0 01-1 1l-2 .5a3 3 0 01-3 1.5',
    'phone':     'M5 4h3l1.5 4-2 1.5a11 11 0 005 5l1.5-2 4 1.5v3a2 2 0 01-2 2A15 15 0 013 6a2 2 0 012-2z',
    'pin':       'M12 21s7-6 7-11a7 7 0 10-14 0c0 5 7 11 7 11z',
    'pin-dot':   'M12 11.5a2 2 0 100-4 2 2 0 000 4z',
    'shield':    'M12 3l7 3v5.5c0 4.5-3 7.8-7 9.5-4-1.7-7-5-7-9.5V6l7-3z',
    'shield-ck': 'M9 12l2 2 4-4',
    'gear':      'M12 9a3 3 0 100 6 3 3 0 000-6zM19 12l1.6 1.2-1.2 2.4-2-.4a6.6 6.6 0 01-1.5.9L15.5 18h-2.7l-.4-1.9a6.6 6.6 0 01-1.5-.9l-2 .4-1.2-2.4L5 12l-1.6-1.2 1.2-2.4 2 .4a6.6 6.6 0 011.5-.9L8.5 6h2.7l.4 1.9c.5.2 1 .5 1.5.9l2-.4 1.2 2.4z',
    'truck':     'M3 7a1 1 0 011-1h9a1 1 0 011 1v8H3zM14 9h3.5L21 12.5V15h-7M7 18.5a1.6 1.6 0 100-3.2 1.6 1.6 0 000 3.2zM17.5 18.5a1.6 1.6 0 100-3.2 1.6 1.6 0 000 3.2z',
    'home':      'M4 11l8-6 8 6M6 9.8V20h12V9.8M10 20v-5h4v5',
    'building':  'M5 21V5a1 1 0 011-1h12a1 1 0 011 1v16M9 8h2M14 8h2M9 12h2M14 12h2M9 16h6v5H9z',
    'cross-med': 'M12 7v10M7 12h10',
    'bag':       'M6.5 8h11l-1 12.5H7.5zM9 8a3 3 0 016 0',
    'stetho':    'M6 4v5a4.5 4.5 0 009 0V4M9.5 13v2.5a4.5 4.5 0 009 0V13M18.5 11.5a1.7 1.7 0 100 3.4 1.7 1.7 0 000-3.4zM5 4h2M13.5 4h2',
    'syringe':   'M16 4l4 4M18 6l-9 9-3 1 1-3 9-9M9.5 11.5l3 3M13 8l3 3',
    'tooth':     'M8 4c-2 0-3.5 1.6-3.5 4 0 1.8.7 3.4 1.2 5.6.4 1.8.6 5.4 1.8 5.4 1 0 1-2.5 1.5-2.5s.5 2.5 1.5 2.5c1.2 0 1.4-3.6 1.8-5.4.5-2.2 1.2-3.8 1.2-5.6 0-2.4-1.5-4-3.5-4-1.2 0-1.8.7-3 .7s-1.8-.7-3-.7z',
    'pulse':     'M3 12h3l2-5 4 10 2.5-7 1.5 2H21',
    'doc':       'M7 3h7l4 4v14H7zM14 3v4h4M9.5 12h6M9.5 15.5h6',
    'list':      'M8 6h12M8 12h12M8 18h12M4 6h.01M4 12h.01M4 18h.01',
    'box':       'M12 3l8 4.5v9L12 21l-8-4.5v-9zM4 7.5l8 4.5 8-4.5M12 12v9',
    'wallet':    'M4 7a2 2 0 012-2h11a1 1 0 011 1v2M4 7v10a2 2 0 002 2h13a1 1 0 001-1v-3M4 7h15v4h-3a2 2 0 100 4h3',
    'card':      'M3 7a2 2 0 012-2h14a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2zM3 10h18M7 15h3',
    'tag':       'M4 12V5a1 1 0 011-1h7l8 8-8 8-8-8zM8 8h.01',
    'star':      'M12 4l2.3 4.7 5.2.8-3.8 3.6.9 5.1L12 16.8 7.4 18.2l.9-5.1L4.5 9.5l5.2-.8z',
    'reorder':   'M4 9a8 8 0 0114-5l2 2M20 5v4h-4M20 15a8 8 0 01-14 5l-2-2M4 19v-4h4',
    'horse-tab': 'M4 20c0-5 3-8 6-9l1-3 2 1 3-2-1 4c2 2 3 4 3 6l2 1-1 2h-3l-1-2-2 1-2-1-1 2H5z',
    'dots':      'M5 12h.01M12 12h.01M19 12h.01',
    'heart':     'M12 20s-7-4.5-7-9.5A3.6 3.6 0 0112 7a3.6 3.6 0 017 3.5C19 15.5 12 20 12 20z',
    'leaf':      'M5 19c0-8 5-13 14-13 0 9-5 14-13 13M8 16c2-4 5-6 8-7',
    'sun':       'M12 8a4 4 0 100 8 4 4 0 000-8zM12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M18.4 5.6L17 7M7 17l-1.4 1.4',
    'water':     'M12 4s6 6.5 6 10.5a6 6 0 11-12 0C6 10.5 12 4 12 4z',
    'user':      'M12 12a4 4 0 100-8 4 4 0 000 8zM5 20a7 7 0 0114 0',
    'tree':      'M12 4a1.6 1.6 0 100-3.2A1.6 1.6 0 0012 4zM6 20a1.6 1.6 0 100-3.2A1.6 1.6 0 006 20zM18 20a1.6 1.6 0 100-3.2A1.6 1.6 0 0018 20zM12 4v5M6 16.8V14a2 2 0 012-2h8a2 2 0 012 2v2.8M12 9v5',
  };
  const FILLED = { star:1 };

  function Icon({ name, size = 22, sw = 1.9, color = 'currentColor', fill, style }) {
    const d = P[name];
    const solid = fill || FILLED[name];
    const extra = name === 'pin' ? P['pin-dot'] : (name === 'shield' ? P['shield-ck'] : null);
    return (
      <svg width={size} height={size} viewBox="0 0 24 24" fill="none" style={style} aria-hidden="true">
        <path d={d} stroke={solid ? 'none' : color} fill={solid ? color : 'none'}
          strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" />
        {extra && <path d={extra} stroke={color} fill="none" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" />}
      </svg>
    );
  }
  window.Icon = Icon;
})();
