UNPKG

@alegendstale/holly-components

Version:

Reusable UI components created using lit

41 lines (40 loc) 1.7 kB
import o from "./colorsea-wrapper.js"; var M = /* @__PURE__ */ ((s) => (s.Complimentary = "Complimentary", s.Monochromatic = "Monochromatic", s.Analogous = "Analogous", s.Triadic = "Triadic", s.Tetradic = "Tetradic", s.Random = "Random", s))(M || {}); function B(s, c = { baseColor: o.random() }) { let { baseColor: e, settings: a } = c; e || (e = o.random()); let r = []; switch (s) { case "Complimentary": r = [e.hex(), e.complement().hex()], a && (a.aliases = ["Base", "Complimentary Color"]); break; case "Monochromatic": const n = e.lighten(20), h = e.lighten(10), l = e.darken(10), d = e.darken(20); r = [n.hex(), h.hex(), e.hex(), l.hex(), d.hex()], a && (a.aliases = ["Lightest", "Lighter", "Base", "Darker", "Darkest"]); break; case "Analogous": const x = e.adjustHue(-25), m = e.adjustHue(25); r = [x.hex(), e.hex(), m.hex()], a && (a.aliases = ["Analogous East", "Base", "Analogous West"]); break; case "Triadic": const u = e.spin(120), g = e.spin(240); r = [e.hex(), u.hex(), g.hex()], a && (a.aliases = ["Triadic First", "Base", "Triadic Third"]); break; case "Tetradic": const p = e.spin(90), T = e.spin(180), k = e.spin(270); r = [e.hex(), p.hex(), T.hex(), k.hex()], a && (a.aliases = ["Base", "Tetradic Second", "Tetradic Third", "Tetradic Fourth"]); break; case "Random": const f = Math.max(Math.round(Math.random() * 10), 2); let t = []; for (let i = 0; i < f; i++) t.push(o.random().hex()); r = t, a && (a.aliases = []); break; } return { colors: r, settings: a }; } export { M as Combination, B as generateColors };