/* Lucide-style inline icons (stroke 2, round caps) — matches Vault's icon language. */
const I = ({ d, size = 18, sw = 2, fill = 'none', children, ...p }) =>
  React.createElement('svg', {
    width: size, height: size, viewBox: '0 0 24 24', fill,
    stroke: 'currentColor', strokeWidth: sw, strokeLinecap: 'round', strokeLinejoin: 'round', ...p,
  }, children || React.createElement('path', { d }));

const Icons = {
  chevL: (p) => React.createElement(I, p, React.createElement('polyline', { points: '15 18 9 12 15 6' })),
  chevR: (p) => React.createElement(I, p, React.createElement('polyline', { points: '9 18 15 12 9 6' })),
  plus: (p) => React.createElement(I, p,
    React.createElement('line', { x1: 12, y1: 5, x2: 12, y2: 19 }),
    React.createElement('line', { x1: 5, y1: 12, x2: 19, y2: 12 })),
  x: (p) => React.createElement(I, p,
    React.createElement('line', { x1: 18, y1: 6, x2: 6, y2: 18 }),
    React.createElement('line', { x1: 6, y1: 6, x2: 18, y2: 18 })),
  check: (p) => React.createElement(I, { ...p }, React.createElement('polyline', { points: '20 6 9 17 4 12' })),
  search: (p) => React.createElement(I, p,
    React.createElement('circle', { cx: 11, cy: 11, r: 7 }),
    React.createElement('path', { d: 'M21 21l-4.3-4.3' })),
  sun: (p) => React.createElement(I, p,
    React.createElement('circle', { cx: 12, cy: 12, r: 4 }),
    React.createElement('path', { d: 'M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4' })),
  moon: (p) => React.createElement(I, p, React.createElement('path', { d: 'M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8z' })),
  grid: (p) => React.createElement(I, p,
    React.createElement('rect', { x: 3, y: 3, width: 18, height: 18, rx: 2 }),
    React.createElement('path', { d: 'M3 9h18M3 15h18M9 3v18M15 3v18' })),
  columns: (p) => React.createElement(I, p,
    React.createElement('rect', { x: 3, y: 3, width: 18, height: 18, rx: 2 }),
    React.createElement('path', { d: 'M9 3v18M15 3v18' })),
  list: (p) => React.createElement(I, p,
    React.createElement('line', { x1: 8, y1: 6, x2: 21, y2: 6 }),
    React.createElement('line', { x1: 8, y1: 12, x2: 21, y2: 12 }),
    React.createElement('line', { x1: 8, y1: 18, x2: 21, y2: 18 }),
    React.createElement('line', { x1: 3, y1: 6, x2: 3.01, y2: 6 }),
    React.createElement('line', { x1: 3, y1: 12, x2: 3.01, y2: 12 }),
    React.createElement('line', { x1: 3, y1: 18, x2: 3.01, y2: 18 })),
  clock: (p) => React.createElement(I, p,
    React.createElement('circle', { cx: 12, cy: 12, r: 9 }),
    React.createElement('polyline', { points: '12 7 12 12 15 14' })),
  pin: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z' }),
    React.createElement('circle', { cx: 12, cy: 10, r: 3 })),
  trash: (p) => React.createElement(I, p,
    React.createElement('polyline', { points: '3 6 5 6 21 6' }),
    React.createElement('path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2' })),
  shield: (p) => React.createElement(I, { fill: 'currentColor', stroke: 'none', ...p },
    React.createElement('path', { d: 'M12 2 4 6.5v5C4 16.45 7.4 21.05 12 22c4.6-.95 8-5.55 8-10.5v-5L12 2z' }),
    React.createElement('path', { d: 'M9 12l2 2 4-4', stroke: 'var(--text-on-accent)', strokeWidth: 1.6, fill: 'none' })),
  align: (p) => React.createElement(I, p,
    React.createElement('line', { x1: 21, y1: 10, x2: 3, y2: 10 }),
    React.createElement('line', { x1: 21, y1: 6, x2: 3, y2: 6 }),
    React.createElement('line', { x1: 21, y1: 14, x2: 3, y2: 14 }),
    React.createElement('line', { x1: 21, y1: 18, x2: 3, y2: 18 })),
  fileText: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z' }),
    React.createElement('polyline', { points: '14 2 14 8 20 8' })),
  folder: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z' })),
  folderPlus: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z' }),
    React.createElement('path', { d: 'M12 10v6M9 13h6' })),
  upload: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M12 16V4M8 8l4-4 4 4' }),
    React.createElement('path', { d: 'M3 16v3a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-3' })),
  calendar: (p) => React.createElement(I, p,
    React.createElement('rect', { x: 3, y: 4, width: 18, height: 18, rx: 2 }),
    React.createElement('line', { x1: 16, y1: 2, x2: 16, y2: 6 }),
    React.createElement('line', { x1: 8, y1: 2, x2: 8, y2: 6 }),
    React.createElement('line', { x1: 3, y1: 10, x2: 21, y2: 10 })),
  logout: (p) => React.createElement(I, p,
    React.createElement('path', { d: 'M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4' }),
    React.createElement('polyline', { points: '16 17 21 12 16 7' }),
    React.createElement('line', { x1: 21, y1: 12, x2: 9, y2: 12 })),
  image: (p) => React.createElement(I, p,
    React.createElement('rect', { x: 3, y: 3, width: 18, height: 18, rx: 2 }),
    React.createElement('circle', { cx: 9, cy: 9, r: 2 }),
    React.createElement('path', { d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21' })),
  bold: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z' }),
    React.createElement('path', { d: 'M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z' })),
  italic: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('line', { x1: 19, y1: 4, x2: 10, y2: 4 }),
    React.createElement('line', { x1: 14, y1: 20, x2: 5, y2: 20 }),
    React.createElement('line', { x1: 15, y1: 4, x2: 9, y2: 20 })),
  underline: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3' }),
    React.createElement('line', { x1: 4, y1: 21, x2: 20, y2: 21 })),
  strike: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M17.3 4.9c-2.3-.6-4.4-1-6.2-.9-2.7 0-5.3.7-5.3 3.6 0 1.5 1.1 2.4 3 3.1H3' }),
    React.createElement('path', { d: 'M21 12H3' }),
    React.createElement('path', { d: 'M11.6 14c.6.3 1.2.7 1.7 1.1 1.5 1.1 2.1 2.4 2.1 3.5 0 2.7-2.5 3.9-5.3 3.9-1.8 0-4-.4-6.2-.9' })),
  h1: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M4 12h8M4 18V6M12 18V6' }),
    React.createElement('path', { d: 'm17 12 3-2v8' })),
  h2: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M4 12h8M4 18V6M12 18V6' }),
    React.createElement('path', { d: 'M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1' })),
  quote: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('path', { d: 'M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z' }),
    React.createElement('path', { d: 'M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z' })),
  listUl: (p) => React.createElement(I, { sw: 2.5, ...p },
    React.createElement('line', { x1: 9, y1: 6, x2: 20, y2: 6 }),
    React.createElement('line', { x1: 9, y1: 12, x2: 20, y2: 12 }),
    React.createElement('line', { x1: 9, y1: 18, x2: 20, y2: 18 }),
    React.createElement('circle', { cx: 4.5, cy: 6, r: 1.4, fill: 'currentColor', stroke: 'none' }),
    React.createElement('circle', { cx: 4.5, cy: 12, r: 1.4, fill: 'currentColor', stroke: 'none' }),
    React.createElement('circle', { cx: 4.5, cy: 18, r: 1.4, fill: 'currentColor', stroke: 'none' })),
};

window.Icons = Icons;
