/* Willow Creek Portal — shared helpers: Icon, SignaturePad, demo store. */ const { useState, useEffect, useRef, useLayoutEffect } = React; function PIcon({ 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