// Furnishfy — shared UI primitives const { useState, useEffect, useRef, useCallback } = React; // ---------- money ---------- function money(n) { return "$" + n.toLocaleString("en-US"); } // ---------- tiny icon set ---------- function Icon({ name, size = 20, stroke = 1.4, style }) { const p = { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: stroke, strokeLinecap: "round", strokeLinejoin: "round", style }; switch (name) { case "bag": return (); case "search": return (); case "menu": return (); case "close": return (); case "arrow": return (); case "arrowL": return (); case "plus": return (); case "minus": return (); case "star": return (); case "check": return (); case "truck": return (); case "leaf": return (); case "shield": return (); case "globe": return (); default: return null; } } // ---------- placeholder imagery ---------- function Placeholder({ hue = 40, name, label = "product shot", style, className = "" }) { return (