// icons.jsx — compact stroke icon set. Simple line glyphs only.
const _i = (paths, vb = 24) => ({ size = 18, stroke = 2, ...p } = {}) =>
  React.createElement('svg', {
    width: size, height: size, viewBox: `0 0 ${vb} ${vb}`, fill: 'none',
    stroke: 'currentColor', strokeWidth: stroke, strokeLinecap: 'round',
    strokeLinejoin: 'round', ...p
  }, paths.map((d, i) =>
    typeof d === 'string'
      ? React.createElement('path', { key: i, d })
      : React.createElement(d.t, { key: i, ...d.p })
  ));

const Icon = {
  grid:    _i(['M3 3h7v7H3zM14 3h7v7h-7zM14 14h7v7h-7zM3 14h7v7H3z']),
  globe:   _i([{ t:'circle', p:{ cx:12, cy:12, r:10 } }, 'M2 12h20', 'M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z']),
  inbox:   _i(['M22 12h-6l-2 3h-4l-2-3H2', 'M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z']),
  wrench:  _i(['M14.7 6.3a4 4 0 0 0-5.4 5.4l-6 6a1.5 1.5 0 0 0 2.1 2.1l6-6a4 4 0 0 0 5.4-5.4l-2.5 2.5-2-2 2.4-2.6z']),
  calendar:_i(['M8 2v4M16 2v4', { t:'rect', p:{ x:3, y:4, width:18, height:18, rx:2 } }, 'M3 10h18']),
  tag:     _i(['M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z', { t:'circle', p:{ cx:7, cy:7, r:1.4 } }]),
  cart:    _i([{ t:'circle', p:{ cx:9, cy:21, r:1 } }, { t:'circle', p:{ cx:20, cy:21, r:1 } }, 'M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6']),
  wallet:  _i(['M21 12V7H5a2 2 0 0 1 0-4h14v4', 'M3 5v14a2 2 0 0 0 2 2h16v-5', 'M18 12a2 2 0 0 0 0 4h4v-4z']),
  users:   _i(['M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2', { t:'circle', p:{ cx:9, cy:7, r:4 } }, 'M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75']),
  star:    _i(['M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z']),
  settings:_i([{ t:'circle', p:{ cx:12, cy:12, r:3 } }, 'M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z']),
  car:     _i(['M5 13l1.5-4.5A2 2 0 0 1 8.4 7h7.2a2 2 0 0 1 1.9 1.5L19 13', 'M3 17v-2a2 2 0 0 1 1-1.7L5 13h14l1 .3A2 2 0 0 1 21 15v2a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1M7 18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1', { t:'circle', p:{ cx:7.5, cy:17.5, r:.6 } }, { t:'circle', p:{ cx:16.5, cy:17.5, r:.6 } }]),
  check:   _i(['M20 6 9 17l-5-5']),
  checkCircle: _i(['M22 11.08V12a10 10 0 1 1-5.93-9.14', 'M22 4 12 14.01l-3-3']),
  x:       _i(['M18 6 6 18M6 6l12 12']),
  xCircle: _i([{ t:'circle', p:{ cx:12, cy:12, r:10 } }, 'M15 9l-6 6M9 9l6 6']),
  plus:    _i(['M12 5v14M5 12h14']),
  chevR:   _i(['M9 18l6-6-6-6']),
  chevD:   _i(['M6 9l6 6 6-6']),
  arrowUp: _i(['M12 19V5M5 12l7-7 7 7']),
  arrowR:  _i(['M5 12h14M12 5l7 7-7 7']),
  clock:   _i([{ t:'circle', p:{ cx:12, cy:12, r:10 } }, 'M12 6v6l4 2']),
  bell:    _i(['M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9', 'M13.73 21a2 2 0 0 1-3.46 0']),
  cash:    _i([{ t:'rect', p:{ x:2, y:6, width:20, height:12, rx:2 } }, { t:'circle', p:{ cx:12, cy:12, r:2.5 } }, 'M6 12h.01M18 12h.01']),
  card:    _i([{ t:'rect', p:{ x:2, y:5, width:20, height:14, rx:2 } }, 'M2 10h20']),
  camera:  _i(['M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z', { t:'circle', p:{ cx:12, cy:13, r:4 } }]),
  receipt: _i(['M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1z', 'M8 7h8M8 11h8M8 15h5']),
  chat:    _i(['M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z']),
  alert:   _i(['M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z', 'M12 9v4M12 17h.01']),
  search:  _i([{ t:'circle', p:{ cx:11, cy:11, r:8 } }, 'M21 21l-4.35-4.35']),
  filter:  _i(['M22 3H2l8 9.46V19l4 2v-8.54z']),
  dots:    _i([{ t:'circle', p:{ cx:12, cy:12, r:1 } }, { t:'circle', p:{ cx:19, cy:12, r:1 } }, { t:'circle', p:{ cx:5, cy:12, r:1 } }]),
  pin:     _i(['M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z', { t:'circle', p:{ cx:12, cy:10, r:3 } }]),
  trend:   _i(['M23 6l-9.5 9.5-5-5L1 18', 'M17 6h6v6']),
  edit:    _i(['M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7', 'M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4z']),
  package: _i(['M16.5 9.4 7.5 4.21', 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z', 'M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12']),
  logout:  _i(['M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4', 'M16 17l5-5-5-5M21 12H9']),
  flag:    _i(['M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z', 'M4 22v-7']),
  shield:  _i(['M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z']),
  shieldCheck: _i(['M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z', 'M9 11.5l2 2 4-4']),
  award:   _i([{ t:'circle', p:{ cx:12, cy:8, r:6 } }, 'M15.477 12.89 17 22l-5-3-5 3 1.523-9.11']),
  list:    _i(['M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01']),
  user:    _i([{ t:'circle', p:{ cx:12, cy:8, r:4 } }, 'M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1']),
  trash:   _i(['M3 6h18', 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', 'M10 11v6M14 11v6']),
  mail:    _i([{ t:'rect', p:{ x:2, y:4, width:20, height:16, rx:2 } }, 'M22 7l-10 6L2 7']),
  userPlus:_i(['M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2', { t:'circle', p:{ cx:9, cy:7, r:4 } }, 'M19 8v6M22 11h-6']),
  refresh: _i(['M21 2v6h-6', 'M3 12a9 9 0 0 1 15-6.7L21 8', 'M3 22v-6h6', 'M21 12a9 9 0 0 1-15 6.7L3 16']),
};

window.Icon = Icon;
