// easy-icons.jsx — extra big-friendly icons for the easy app

const EZ = ({ children, size = 24, stroke = 1.8 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={stroke}
       strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    {children}
  </svg>
);

const IconMic = (p) => (
  <EZ {...p}>
    <rect x="9" y="2" width="6" height="12" rx="3" />
    <path d="M5 11a7 7 0 0 0 14 0" />
    <path d="M12 18v3" />
  </EZ>
);

const IconWand = (p) => (
  <EZ {...p}>
    <path d="M15 4l1.5 3L20 8.5l-3.5 1.5L15 13l-1.5-3L10 8.5 13.5 7 15 4z" />
    <path d="M3 21l9-9" />
  </EZ>
);

const IconGallery = (p) => (
  <EZ {...p}>
    <rect x="3" y="3" width="18" height="14" rx="2" />
    <circle cx="9" cy="9" r="1.6" />
    <path d="M21 14l-5-5L7 17" />
    <path d="M3 20h18" />
  </EZ>
);

const IconText = (p) => (
  <EZ {...p}>
    <path d="M4 6h16" />
    <path d="M9 6v14" />
    <path d="M15 6v14" />
  </EZ>
);

const IconEditPhoto = (p) => (
  <EZ {...p}>
    <rect x="3" y="5" width="18" height="14" rx="2" />
    <circle cx="8" cy="10" r="1.6" />
    <path d="M21 16l-4-4-8 8" />
    <path d="M16 4l4 4" stroke="currentColor" />
  </EZ>
);

const IconPencil = (p) => (
  <EZ {...p}>
    <path d="M3 21l3.5-1L19 8.5a2.12 2.12 0 0 0-3-3L3.5 17.5 3 21z" />
    <path d="M14.5 7l3 3" />
  </EZ>
);

const IconBack = (p) => (
  <EZ {...p}>
    <path d="M15 6l-6 6 6 6" />
  </EZ>
);

const IconNext = (p) => (
  <EZ {...p}>
    <path d="M9 6l6 6-6 6" />
  </EZ>
);

const IconBigCheck = (p) => (
  <EZ {...p}>
    <path d="M5 12l5 5L20 7" />
  </EZ>
);

const IconRefresh = (p) => (
  <EZ {...p}>
    <path d="M3 12a9 9 0 0 1 15.5-6.3L21 8" />
    <path d="M21 3v5h-5" />
    <path d="M21 12a9 9 0 0 1-15.5 6.3L3 16" />
    <path d="M3 21v-5h5" />
  </EZ>
);

const IconHomeRoof = (p) => (
  <EZ {...p}>
    <path d="M3 11l9-7 9 7" />
    <path d="M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9" />
  </EZ>
);

const IconExpand = (p) => (
  <EZ {...p}>
    <path d="M7 7H3v4" />
    <path d="M17 7h4v4" />
    <path d="M17 17h4v-4" />
    <path d="M7 17H3v-4" />
    <rect x="8" y="8" width="8" height="8" rx="1" />
  </EZ>
);

const IconCutPart = (p) => (
  <EZ {...p}>
    <rect x="3" y="3" width="18" height="18" rx="2" />
    <path d="M8 12.5l3 3 5-7" />
  </EZ>
);

const IconCopies = (p) => (
  <EZ {...p}>
    <rect x="3" y="3" width="8" height="8" rx="1.5" />
    <rect x="13" y="3" width="8" height="8" rx="1.5" />
    <rect x="3" y="13" width="8" height="8" rx="1.5" />
    <rect x="13" y="13" width="8" height="8" rx="1.5" />
  </EZ>
);

const IconStyleSwap = (p) => (
  <EZ {...p}>
    <circle cx="9" cy="12" r="6" />
    <circle cx="15" cy="12" r="6" />
  </EZ>
);

const IconCamera = (p) => (
  <EZ {...p}>
    <path d="M3 8a2 2 0 0 1 2-2h2.5L9 4h6l1.5 2H19a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8z" />
    <circle cx="12" cy="13" r="3.5" />
  </EZ>
);

const IconQuestion = (p) => (
  <EZ {...p}>
    <circle cx="12" cy="12" r="9" />
    <path d="M9.5 9.5a2.5 2.5 0 0 1 5 0c0 1.5-2.5 2-2.5 4" />
    <circle cx="12" cy="17" r="0.6" fill="currentColor" stroke="none" />
  </EZ>
);

const IconEraserBig = (p) => (
  <EZ {...p}>
    <path d="M14 4l6 6-9 9H5l-2-2 11-13z" />
    <path d="M9 8l6 6" />
  </EZ>
);

const IconBrushBig = (p) => (
  <EZ {...p}>
    <path d="M9.5 11.5l8-8a2 2 0 0 1 3 3l-8 8" />
    <path d="M7 14c-1.5 0-3 1.5-3 3 0 1.5-1 3-3 3 1.5 0 4-.5 4-3a3 3 0 0 1 2-3z" />
  </EZ>
);

const IconKey = (p) => (
  <EZ {...p}>
    <circle cx="8" cy="15" r="4" />
    <path d="M10.5 12.5L21 2" />
    <path d="M16 7l3 3" />
    <path d="M18 5l3 3" />
  </EZ>
);

const IconAlert = (p) => (
  <EZ {...p}>
    <path d="M12 3l10 18H2L12 3z" />
    <path d="M12 10v5" />
    <circle cx="12" cy="18" r="0.6" fill="currentColor" stroke="none" />
  </EZ>
);

const IconPlug = (p) => (
  <EZ {...p}>
    <path d="M9 2v6" />
    <path d="M15 2v6" />
    <path d="M6 8h12v3a6 6 0 0 1-12 0V8z" />
    <path d="M12 17v5" />
  </EZ>
);

const IconUnplug = (p) => (
  <EZ {...p}>
    <path d="M9 2v4" />
    <path d="M15 2v4" />
    <path d="M6 6h12v3a6 6 0 0 1-6 6 6 6 0 0 1-6-6V6z" />
    <path d="M4 22l16-16" />
  </EZ>
);

const IconLogout = (p) => (
  <EZ {...p}>
    <path d="M14 4h5v16h-5" />
    <path d="M10 8l-4 4 4 4" />
    <path d="M6 12h11" />
  </EZ>
);

const IconWifiOff = (p) => (
  <EZ {...p}>
    <path d="M2 9a17 17 0 0 1 9-3" />
    <path d="M22 9a17 17 0 0 0-5-2.7" />
    <path d="M5 13a11 11 0 0 1 5-2" />
    <path d="M9 17a4 4 0 0 1 5 0" />
    <circle cx="12" cy="20" r="0.6" fill="currentColor" stroke="none" />
    <path d="M3 3l18 18" />
  </EZ>
);

const IconStar = (p) => (
  <EZ {...p}>
    <path d="M12 3l2.7 6 6.3.6-4.8 4.4 1.5 6.3L12 17.3 6.3 20.3l1.5-6.3L3 9.6 9.3 9 12 3z" />
  </EZ>
);

const IconStarFill = (p) => (
  <svg width={p.size || 20} height={p.size || 20} viewBox="0 0 24 24"
       fill="currentColor" aria-hidden="true">
    <path d="M12 3l2.7 6 6.3.6-4.8 4.4 1.5 6.3L12 17.3 6.3 20.3l1.5-6.3L3 9.6 9.3 9 12 3z" />
  </svg>
);

const IconSpark = (p) => (
  <EZ {...p}>
    <path d="M12 2v6" />
    <path d="M12 16v6" />
    <path d="M2 12h6" />
    <path d="M16 12h6" />
    <path d="M5 5l4 4" />
    <path d="M15 15l4 4" />
    <path d="M19 5l-4 4" />
    <path d="M9 15l-5 4" />
  </EZ>
);

Object.assign(window, {
  IconMic, IconWand, IconGallery, IconText, IconEditPhoto, IconPencil,
  IconBack, IconNext, IconBigCheck, IconRefresh, IconHomeRoof, IconExpand,
  IconCutPart, IconCopies, IconStyleSwap, IconCamera, IconQuestion,
  IconEraserBig, IconBrushBig, IconSpark,
  IconKey, IconAlert, IconPlug, IconUnplug, IconLogout, IconWifiOff,
  IconStar, IconStarFill,
});
