
// Tabler-style outline icons (1.5px stroke at 24px).
// Each accepts size + color via "size" / "color" / standard svg props.

const Icon = ({ children, size = 24, color = "currentColor", strokeWidth = 1.5, ...rest }) => (
  <svg
    width={size} height={size} viewBox="0 0 24 24" fill="none"
    stroke={color} strokeWidth={strokeWidth}
    strokeLinecap="round" strokeLinejoin="round"
    {...rest}
  >
    {children}
  </svg>
);

const IconTools = (p) => (<Icon {...p}><path d="M3 21h4l13 -13a1.5 1.5 0 0 0 -4 -4l-13 13v4"/><path d="M14.5 5.5l4 4"/><path d="M12 8l-5 -5l-4 4l5 5"/><path d="M7 8l-1.5 1.5"/><path d="M16 12l5 5l-4 4l-5 -5"/><path d="M16 17l-1.5 1.5"/></Icon>);
const IconGauge = (p) => (<Icon {...p}><path d="M5.636 5.636a9 9 0 1 0 12.728 0a9 9 0 0 0 -12.728 0z"/><path d="M12 12l3 -3"/></Icon>);
const IconCar = (p) => (<Icon {...p}><path d="M5 17a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"/><path d="M15 17a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"/><path d="M5 17h-2v-6l2 -5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6 -6h15m-6 0v-5"/></Icon>);
const IconBolt = (p) => (<Icon {...p}><path d="M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11"/></Icon>);
const IconShield = (p) => (<Icon {...p}><path d="M11.46 20.846a12 12 0 0 1 -7.96 -14.846a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12 12 0 0 1 -.5 7.5"/><path d="M15 19l2 2l4 -4"/></Icon>);
const IconPhone = (p) => (<Icon {...p}><path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2"/></Icon>);
const IconPin = (p) => (<Icon {...p}><path d="M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"/><path d="M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"/></Icon>);
const IconClock = (p) => (<Icon {...p}><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"/><path d="M12 7v5l3 3"/></Icon>);
const IconDisc = (p) => (<Icon {...p}><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="3"/><path d="M3 12h6"/><path d="M15 12h6"/><path d="M12 3v6"/><path d="M12 15v6"/></Icon>);
const IconDrop = (p) => (<Icon {...p}><path d="M6 14.5a6 6 0 1 0 12 0c0 -4 -3 -7.5 -6 -11.5c-3 4 -6 7.5 -6 11.5z"/></Icon>);
const IconScan = (p) => (<Icon {...p}><path d="M4 7v-1a2 2 0 0 1 2 -2h2"/><path d="M4 17v1a2 2 0 0 0 2 2h2"/><path d="M16 4h2a2 2 0 0 1 2 2v1"/><path d="M16 20h2a2 2 0 0 0 2 -2v-1"/><path d="M5 12h14"/></Icon>);
const IconEngine = (p) => (<Icon {...p}><path d="M3 13v-2h3v-2h4v-2h6v3h2l2 2v6h-3v-2h-1v2h-10v-2h-3z"/></Icon>);
const IconClose = (p) => (<Icon {...p}><path d="M18 6l-12 12"/><path d="M6 6l12 12"/></Icon>);
const IconCheck = (p) => (<Icon {...p}><path d="M5 12l5 5l10 -10"/></Icon>);
const IconArrow = (p) => (<Icon {...p}><path d="M5 12h14"/><path d="M13 18l6 -6"/><path d="M13 6l6 6"/></Icon>);
const IconArrowUR = (p) => (<Icon {...p}><path d="M7 7h10v10"/><path d="M7 17l10 -10"/></Icon>);
const IconStar = (p) => (<Icon {...p} fill="currentColor" stroke="none"><path d="M12 17.27l-5.18 2.73l.99 -5.78l-4.2 -4.09l5.8 -.84l2.59 -5.26l2.59 5.26l5.8 .84l-4.2 4.09l.99 5.78z"/></Icon>);

Object.assign(window, {
  Icon,
  IconTools, IconGauge, IconCar, IconBolt, IconShield,
  IconPhone, IconPin, IconClock, IconDisc, IconDrop, IconScan,
  IconEngine, IconClose, IconCheck, IconArrow, IconArrowUR, IconStar,
});
