UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

28 lines (27 loc) • 773 B
import chroma from "chroma-js"; //#region src/base-ui/ColorPicker/color.ts const parseColor = (value, fallbackHue = 0) => { if (!value || !chroma.valid(value)) return { a: 1, h: fallbackHue, s: 0, v: 0 }; const color = chroma(value); const [h, s, v] = color.hsv(); return { a: color.alpha(), h: Number.isNaN(h) ? fallbackHue : h, s, v }; }; const formatColor = ({ a, h, s, v }, alpha) => chroma.hsv(h, s, v).alpha(alpha ? a : 1).hex(alpha ? "rgba" : "rgb"); const normalizeHexInput = (input) => { const raw = input.trim().replace(/^#/, ""); if (!/^([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i.test(raw)) return null; return `#${raw.toLowerCase()}`; }; //#endregion export { formatColor, normalizeHexInput, parseColor }; //# sourceMappingURL=color.mjs.map