/* Rust Truck — icon set (Lucide-style, stroke 2, round caps).
   These match the stroke icons used in the brand sheet. Exported
   to window for the UI-kit screens. */
(function () {
  const S = ({ children, size = 22, stroke = 'currentColor', sw = 2, ...rest }) =>
    React.createElement('svg', {
      width: size, height: size, viewBox: '0 0 24 24', fill: 'none',
      stroke, strokeWidth: sw, strokeLinecap: 'round', strokeLinejoin: 'round',
      style: { display: 'block' }, ...rest,
    }, React.Children.toArray(children));

  const p = (d) => React.createElement('path', { d });
  const line = (x1, y1, x2, y2) => React.createElement('line', { x1, y1, x2, y2 });
  const circle = (cx, cy, r, extra) => React.createElement('circle', { cx, cy, r, ...extra });
  const poly = (points) => React.createElement('polyline', { points });
  const rect = (x, y, w, h, rx) => React.createElement('rect', { x, y, width: w, height: h, rx });

  const Icons = {
    ArrowRight: (pr) => S({ ...pr, children: [line(5,12,19,12), poly('12 5 19 12 12 19')] }),
    Instagram:  (pr) => S({ ...pr, sw: 1.9, children: [rect(3,3,18,18,5), circle(12,12,4), circle(17.2,6.8,1.05,{ fill:'currentColor', stroke:'none' })] }),
    Globe:      (pr) => S({ ...pr, children: [circle(12,12,10), line(2,12,22,12), p('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')] }),
    MapPin:     (pr) => S({ ...pr, children: [p('M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'), circle(12,10,3)] }),
    Calendar:   (pr) => S({ ...pr, children: [rect(3,4,18,18,2), line(16,2,16,6), line(8,2,8,6), line(3,10,21,10)] }),
    Martini:    (pr) => S({ ...pr, children: [p('M8 22h8'), p('M12 11v11'), p('M5 3h14l-7 8-7-8z')] }),
    Truck:      (pr) => S({ ...pr, children: [p('M14 18V6H2v12h2'), p('M14 9h4l4 4v5h-2'), p('M10 18h4'), circle(7,18,2), circle(18,18,2)] }),
    Menu:       (pr) => S({ ...pr, children: [line(3,6,21,6), line(3,12,21,12), line(3,18,21,18)] }),
    X:          (pr) => S({ ...pr, children: [line(18,6,6,18), line(6,6,18,18)] }),
    Phone:      (pr) => S({ ...pr, children: [p('M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z')] }),
    Mail:       (pr) => S({ ...pr, children: [rect(2,4,20,16,2), poly('22,6 12,13 2,6')] }),
    Snowflake:  (pr) => S({ ...pr, children: [line(12,2,12,22), line(2,12,22,12), p('M20 16l-4-4 4-4'), p('M4 8l4 4-4 4'), p('M16 4l-4 4-4-4'), p('M8 20l4-4 4 4')] }),
    Leaf:       (pr) => S({ ...pr, children: [p('M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10z'), p('M2 21c0-3 1.85-5.36 5.08-6')] }),
    Quote:      (pr) => S({ ...pr, children: [p('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'), p('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')] }),
  };

  window.RTIcons = Icons;
})();
