/* Willow Creek — shared site chrome: Icon, Header, Footer, Section, parallax + photo helpers. Exports to window.WC for the other screen scripts (Babel files don't share scope). */ const { useState, useEffect, useRef, useLayoutEffect } = React; /* ---- Lucide icon wrapper ---- */ function Icon({ name, size = 20, color = "currentColor", strokeWidth = 2, style }) { const ref = useRef(null); useLayoutEffect(() => { const el = ref.current; if (!el || !window.lucide) return; el.innerHTML = ""; const i = document.createElement("i"); i.setAttribute("data-lucide", name); el.appendChild(i); window.lucide.createIcons({ attrs: { width: size, height: size, stroke: color, "stroke-width": strokeWidth }, nameAttr: "data-lucide", }); }, [name, size, color, strokeWidth]); return