/* global React */
// Lucide-style line icons. All take {size, color, strokeWidth} props.

const iconBase = (size = 18, strokeWidth = 1.8, extra = {}) => ({
  width: size,
  height: size,
  viewBox: '0 0 24 24',
  fill: 'none',
  stroke: 'currentColor',
  strokeWidth,
  strokeLinecap: 'round',
  strokeLinejoin: 'round',
  ...extra,
});

const I = (paths) => ({ size = 18, strokeWidth = 1.8, ...rest } = {}) =>
  React.createElement('svg', { ...iconBase(size, strokeWidth), ...rest }, paths);

// Navigation icons
const Home = I([
  React.createElement('path', { key: 1, d: 'M3 12L12 4l9 8' }),
  React.createElement('path', { key: 2, d: 'M5 10v10h14V10' }),
]);
const Inbox = I([
  React.createElement('path', { key: 1, d: 'M22 12h-6l-2 3h-4l-2-3H2' }),
  React.createElement('path', { key: 2, d: 'M5.45 5.11L2 12v6a2 2 0 002 2h16a2 2 0 002-2v-6l-3.45-6.89A2 2 0 0016.76 4H7.24a2 2 0 00-1.79 1.11z' }),
]);
const Users = I([
  React.createElement('path', { key: 1, d: 'M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2' }),
  React.createElement('circle', { key: 2, cx: 9, cy: 7, r: 4 }),
  React.createElement('path', { key: 3, d: 'M23 21v-2a4 4 0 00-3-3.87' }),
  React.createElement('path', { key: 4, d: 'M16 3.13a4 4 0 010 7.75' }),
]);
const UserPlus = I([
  React.createElement('path', { key: 1, d: 'M16 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2' }),
  React.createElement('circle', { key: 2, cx: 8.5, cy: 7, r: 4 }),
  React.createElement('path', { key: 3, d: 'M20 8v6M23 11h-6' }),
]);
const UserSearch = I([
  React.createElement('circle', { key: 1, cx: 10, cy: 7, r: 4 }),
  React.createElement('path', { key: 2, d: 'M2 21v-2a4 4 0 014-4h6' }),
  React.createElement('circle', { key: 3, cx: 17, cy: 17, r: 3 }),
  React.createElement('path', { key: 4, d: 'M21 21l-1.6-1.6' }),
]);
const Bot = I([
  React.createElement('rect', { key: 1, x: 4, y: 7, width: 16, height: 12, rx: 2 }),
  React.createElement('path', { key: 2, d: 'M12 7V3M9 12h.01M15 12h.01' }),
  React.createElement('circle', { key: 3, cx: 12, cy: 3, r: 1 }),
  React.createElement('path', { key: 4, d: 'M2 13h2M20 13h2M9 17h6' }),
]);
const Megaphone = I([
  React.createElement('path', { key: 1, d: 'M3 11l15-5v12L3 13z' }),
  React.createElement('path', { key: 2, d: 'M11.6 16.8a3 3 0 11-5.8-1.6' }),
]);
const UserCircle = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('circle', { key: 2, cx: 12, cy: 10, r: 3 }),
  React.createElement('path', { key: 3, d: 'M6.5 18a6 6 0 0111 0' }),
]);
const Puzzle = I([
  React.createElement('path', { key: 1, d: 'M19.4 12.4a2 2 0 110-4 2 2 0 010 4zm-7-7a2 2 0 11-4 0 2 2 0 014 0zm-7 7a2 2 0 110 4 2 2 0 010-4zm0 0V8a2 2 0 012-2h2.6m6.4 0H17a2 2 0 012 2v.4m0 7.2V17a2 2 0 01-2 2h-2.6m-6.4 0H7a2 2 0 01-2-2v-.4' }),
]);
const BarChart = I([
  React.createElement('path', { key: 1, d: 'M3 3v18h18' }),
  React.createElement('rect', { key: 2, x: 7, y: 13, width: 3, height: 5, rx: 1 }),
  React.createElement('rect', { key: 3, x: 12, y: 9, width: 3, height: 9, rx: 1 }),
  React.createElement('rect', { key: 4, x: 17, y: 5, width: 3, height: 13, rx: 1 }),
]);
const Settings = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 3 }),
  React.createElement('path', { key: 2, d: 'M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.6 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09A1.65 1.65 0 0015 4.6a1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9c.16.61.59 1.12 1.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z' }),
]);

// Topbar / utility
const Building = I([
  React.createElement('rect', { key: 1, x: 4, y: 3, width: 16, height: 18, rx: 1 }),
  React.createElement('path', { key: 2, d: 'M9 9h.01M15 9h.01M9 13h.01M15 13h.01M9 17h6' }),
]);
const ChevronDown = I([React.createElement('polyline', { key: 1, points: '6 9 12 15 18 9' })]);
const ChevronUp = I([React.createElement('polyline', { key: 1, points: '18 15 12 9 6 15' })]);
const ChevronRight = I([React.createElement('polyline', { key: 1, points: '9 6 15 12 9 18' })]);
const Search = I([
  React.createElement('circle', { key: 1, cx: 11, cy: 11, r: 7 }),
  React.createElement('line', { key: 2, x1: 21, y1: 21, x2: 16.65, y2: 16.65 }),
]);
const Bell = I([
  React.createElement('path', { key: 1, d: 'M18 16v-5a6 6 0 10-12 0v5l-2 2v1h16v-1z' }),
  React.createElement('path', { key: 2, d: 'M10 21a2 2 0 004 0' }),
]);
const Mail = I([
  React.createElement('rect', { key: 1, x: 3, y: 5, width: 18, height: 14, rx: 2 }),
  React.createElement('polyline', { key: 2, points: '3 7 12 13 21 7' }),
]);
const Help = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('path', { key: 2, d: 'M9.5 9a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 4M12 17h.01' }),
]);

// Action icons
const Check = I([React.createElement('polyline', { key: 1, points: '20 6 9 17 4 12' })]);
const Plus = I([React.createElement('path', { key: 1, d: 'M12 5v14M5 12h14' })]);
const ArrowUp = I([
  React.createElement('line', { key: 1, x1: 12, y1: 19, x2: 12, y2: 5 }),
  React.createElement('polyline', { key: 2, points: '5 12 12 5 19 12' }),
]);
const ArrowDown = I([
  React.createElement('line', { key: 1, x1: 12, y1: 5, x2: 12, y2: 19 }),
  React.createElement('polyline', { key: 2, points: '19 12 12 19 5 12' }),
]);
const ArrowRight = I([
  React.createElement('line', { key: 1, x1: 5, y1: 12, x2: 19, y2: 12 }),
  React.createElement('polyline', { key: 2, points: '12 5 19 12 12 19' }),
]);
const Edit = I([
  React.createElement('path', { key: 1, d: 'M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7' }),
  React.createElement('path', { key: 2, d: 'M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z' }),
]);
const Send = I([
  React.createElement('path', { key: 1, d: 'M22 2L11 13' }),
  React.createElement('polygon', { key: 2, points: '22 2 15 22 11 13 2 9 22 2' }),
]);
const Download = I([
  React.createElement('path', { key: 1, d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4' }),
  React.createElement('polyline', { key: 2, points: '7 10 12 15 17 10' }),
  React.createElement('line', { key: 3, x1: 12, y1: 15, x2: 12, y2: 3 }),
]);
const Sparkles = I([
  React.createElement('path', { key: 1, d: 'M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3z' }),
  React.createElement('path', { key: 2, d: 'M19 14l.7 2.1L22 17l-2.3.9L19 20l-.7-2.1L16 17l2.3-.9z' }),
  React.createElement('path', { key: 3, d: 'M5 17l.5 1.5L7 19l-1.5.5L5 21l-.5-1.5L3 19l1.5-.5z' }),
]);
const ThumbsUp = I([
  React.createElement('path', { key: 1, d: 'M14 9V5a3 3 0 00-3-3l-4 9v11h11.28a2 2 0 002-1.7l1.38-9A2 2 0 0019.7 9H14z' }),
  React.createElement('line', { key: 2, x1: 7, y1: 11, x2: 7, y2: 22 }),
]);
const Filter = I([React.createElement('polygon', { key: 1, points: '22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3' })]);
const Calendar = I([
  React.createElement('rect', { key: 1, x: 3, y: 4, width: 18, height: 17, rx: 2 }),
  React.createElement('line', { key: 2, x1: 16, y1: 2, x2: 16, y2: 6 }),
  React.createElement('line', { key: 3, x1: 8, y1: 2, x2: 8, y2: 6 }),
  React.createElement('line', { key: 4, x1: 3, y1: 10, x2: 21, y2: 10 }),
]);
const Tag = I([
  React.createElement('path', { key: 1, d: 'M20.59 13.41L13.42 20.58a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z' }),
  React.createElement('line', { key: 2, x1: 7, y1: 7, x2: 7.01, y2: 7 }),
]);
const Star = I([React.createElement('polygon', { key: 1, points: '12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2' })]);
const MoreVertical = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 5, r: 1 }),
  React.createElement('circle', { key: 2, cx: 12, cy: 12, r: 1 }),
  React.createElement('circle', { key: 3, cx: 12, cy: 19, r: 1 }),
]);
const Smile = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('path', { key: 2, d: 'M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01' }),
]);
const Paperclip = I([
  React.createElement('path', { key: 1, d: 'M21.44 11.05l-9.19 9.19a6 6 0 11-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66L9.41 17.41a2 2 0 01-2.83-2.83l8.49-8.49' }),
]);
const Bookmark = I([
  React.createElement('path', { key: 1, d: 'M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2z' }),
]);
const Zap = I([React.createElement('polygon', { key: 1, points: '13 2 3 14 12 14 11 22 21 10 12 10 13 2' })]);
const Phone = I([
  React.createElement('path', { key: 1, d: 'M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.13.96.37 1.9.7 2.81a2 2 0 01-.45 2.11L8 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.91.33 1.85.57 2.81.7a2 2 0 011.72 2z' }),
]);
const Wrench = I([React.createElement('path', { key: 1, d: 'M14.7 6.3a4 4 0 00-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 005.4-5.4l-2.7 2.7-3-3 2.7-2.7z' })]);
const Brain = I([
  React.createElement('path', { key: 1, d: 'M9.5 2A2.5 2.5 0 0112 4.5v15a2.5 2.5 0 11-5 0 2.5 2.5 0 01-2.5-2.5A2.5 2.5 0 012 14.5 2.5 2.5 0 014.5 12 2.5 2.5 0 012 9.5 2.5 2.5 0 014.5 7a2.5 2.5 0 010-5 2.5 2.5 0 015 0z' }),
  React.createElement('path', { key: 2, d: 'M14.5 2A2.5 2.5 0 0012 4.5v15a2.5 2.5 0 105 0 2.5 2.5 0 002.5-2.5 2.5 2.5 0 002.5-2.5 2.5 2.5 0 00-2.5-2.5 2.5 2.5 0 002.5-2.5A2.5 2.5 0 0019.5 7a2.5 2.5 0 000-5 2.5 2.5 0 00-5 0z' }),
]);
const Database = I([
  React.createElement('ellipse', { key: 1, cx: 12, cy: 5, rx: 9, ry: 3 }),
  React.createElement('path', { key: 2, d: 'M3 5v6c0 1.66 4 3 9 3s9-1.34 9-3V5' }),
  React.createElement('path', { key: 3, d: 'M3 11v6c0 1.66 4 3 9 3s9-1.34 9-3v-6' }),
]);
const MessageSquare = I([React.createElement('path', { key: 1, d: 'M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z' })]);
const MessageCircle = I([React.createElement('path', { key: 1, d: 'M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z' })]);
const Globe = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('line', { key: 2, x1: 3, y1: 12, x2: 21, y2: 12 }),
  React.createElement('path', { key: 3, d: 'M12 3a14 14 0 010 18 14 14 0 010-18z' }),
]);
const Utensils = I([
  React.createElement('path', { key: 1, d: 'M3 2v7a3 3 0 003 3M9 2v20M9 9h-3' }),
  React.createElement('path', { key: 2, d: 'M21 15V2a5 5 0 00-3 9v11' }),
]);
const Shield = I([React.createElement('path', { key: 1, d: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z' })]);
const ShieldCheck = I([
  React.createElement('path', { key: 1, d: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z' }),
  React.createElement('polyline', { key: 2, points: '9 12 11 14 15 10' }),
]);
const Lock = I([
  React.createElement('rect', { key: 1, x: 3, y: 11, width: 18, height: 11, rx: 2 }),
  React.createElement('path', { key: 2, d: 'M7 11V7a5 5 0 0110 0v4' }),
]);
const Clock = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('polyline', { key: 2, points: '12 7 12 12 16 14' }),
]);
const X = I([
  React.createElement('line', { key: 1, x1: 18, y1: 6, x2: 6, y2: 18 }),
  React.createElement('line', { key: 2, x1: 6, y1: 6, x2: 18, y2: 18 }),
]);
const Link = I([
  React.createElement('path', { key: 1, d: 'M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71' }),
  React.createElement('path', { key: 2, d: 'M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71' }),
]);
const Eye = I([
  React.createElement('path', { key: 1, d: 'M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z' }),
  React.createElement('circle', { key: 2, cx: 12, cy: 12, r: 3 }),
]);
const Pencil = I([React.createElement('path', { key: 1, d: 'M12 20h9M16.5 3.5a2.12 2.12 0 113 3L7 19l-4 1 1-4 12.5-12.5z' })]);
const PlayCircle = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('polygon', { key: 2, points: '10 8 16 12 10 16 10 8', fill: 'currentColor' }),
]);
const ListChecks = I([
  React.createElement('path', { key: 1, d: 'M3 5l2 2 3-3' }),
  React.createElement('path', { key: 2, d: 'M3 13l2 2 3-3' }),
  React.createElement('path', { key: 3, d: 'M3 21l2 2 3-3' }),
  React.createElement('line', { key: 4, x1: 13, y1: 6, x2: 21, y2: 6 }),
  React.createElement('line', { key: 5, x1: 13, y1: 14, x2: 21, y2: 14 }),
  React.createElement('line', { key: 6, x1: 13, y1: 22, x2: 21, y2: 22 }),
]);
const Refresh = I([
  React.createElement('polyline', { key: 1, points: '23 4 23 10 17 10' }),
  React.createElement('polyline', { key: 2, points: '1 20 1 14 7 14' }),
  React.createElement('path', { key: 3, d: 'M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15' }),
]);
const Heart = I([React.createElement('path', { key: 1, d: 'M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 000-7.78z' })]);
const Flag = I([
  React.createElement('path', { key: 1, d: 'M4 22V4M4 4h14l-3 5 3 5H4' }),
]);
const AlertTriangle = I([
  React.createElement('path', { key: 1, d: 'M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z' }),
  React.createElement('line', { key: 2, x1: 12, y1: 9, x2: 12, y2: 13 }),
  React.createElement('line', { key: 3, x1: 12, y1: 17, x2: 12.01, y2: 17 }),
]);
const Gauge = I([
  React.createElement('path', { key: 1, d: 'M12 14l4-4' }),
  React.createElement('path', { key: 2, d: 'M3.34 19a10 10 0 1117.32 0' }),
]);
const FileText = I([
  React.createElement('path', { key: 1, d: 'M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z' }),
  React.createElement('polyline', { key: 2, points: '14 2 14 8 20 8' }),
  React.createElement('line', { key: 3, x1: 16, y1: 13, x2: 8, y2: 13 }),
  React.createElement('line', { key: 4, x1: 16, y1: 17, x2: 8, y2: 17 }),
  React.createElement('line', { key: 5, x1: 10, y1: 9, x2: 8, y2: 9 }),
]);

// Channel icons (generic shapes — original, not branded glyphs)
const ChWhatsapp = I([
  React.createElement('path', { key: 1, d: 'M21 12a9 9 0 11-3.4-7L21 4l-1.1 3.5A9 9 0 0121 12z' }),
  React.createElement('path', { key: 2, d: 'M9 9.5a2 2 0 002 2 6 6 0 003 3 2 2 0 002 2 1 1 0 001-1v-1l-2-1-1 1a4 4 0 01-2-2l1-1-1-2H9a1 1 0 00-1 1z' }),
]);
const ChMessenger = I([
  React.createElement('path', { key: 1, d: 'M12 3C7 3 3 6.7 3 11.2c0 2.5 1.2 4.7 3.2 6.2V21l3-1.6c.9.2 1.8.4 2.8.4 5 0 9-3.7 9-8.4S17 3 12 3z' }),
  React.createElement('path', { key: 2, d: 'M7.5 13.2L10 10.5l2.5 2 4-4-3.5 5-2.5-2-3 1.7z' }),
]);
const ChInstagram = I([
  React.createElement('rect', { key: 1, x: 3, y: 3, width: 18, height: 18, rx: 5 }),
  React.createElement('circle', { key: 2, cx: 12, cy: 12, r: 4 }),
  React.createElement('circle', { key: 3, cx: 17.5, cy: 6.5, r: 0.7, fill: 'currentColor' }),
]);
const ChEmail = I([
  React.createElement('rect', { key: 1, x: 3, y: 5, width: 18, height: 14, rx: 2 }),
  React.createElement('polyline', { key: 2, points: '3 7 12 13 21 7' }),
]);
const ChWebChat = I([
  React.createElement('circle', { key: 1, cx: 12, cy: 12, r: 9 }),
  React.createElement('path', { key: 2, d: 'M3 12h18M12 3a14 14 0 010 18' }),
]);

window.SaoriIcons = {
  Home, Inbox, Users, UserPlus, UserSearch, Bot, Megaphone, UserCircle,
  Puzzle, BarChart, Settings, Building, ChevronDown, ChevronUp, ChevronRight,
  Search, Bell, Mail, Help, Check, Plus, ArrowUp, ArrowDown, ArrowRight,
  Edit, Send, Download, Sparkles, ThumbsUp, Filter, Calendar, Tag, Star, MoreVertical,
  Smile, Paperclip, Bookmark, Zap, Phone, Wrench, Brain, Database,
  MessageSquare, MessageCircle, Globe, Utensils, Shield, ShieldCheck, Lock,
  Clock, X, Link, Eye, Pencil, PlayCircle, ListChecks, Refresh, Heart, Flag,
  AlertTriangle, Gauge, FileText,
  ChWhatsapp, ChMessenger, ChInstagram, ChEmail, ChWebChat,
};
