UNPKG

@alegendstale/holly-components

Version:

Reusable UI components created using lit

113 lines (112 loc) 2.72 kB
import o, { x11 as c } from "./colorsea-wrapper.js"; import { CopyFormat as f, defaultSettings as n } from "../components/color-palette/color-palette-utils.js"; function l(e) { let r = {}; for (const [t, i] of Object.entries(e)) { const a = n[t]; if (t in n) i !== a && (r = { ...r, [t]: i }); else { if (i instanceof Array && i.length === 0) break; r = { ...r, [t]: i }; } } return Object.keys(r).length !== 0 ? r : void 0; } function g(e) { for (const [r, t] of Object.entries(e)) { if (!(r in n)) return !0; if (t !== n[r]) return !1; } return !0; } function h(e) { const r = l(e); if (r) return JSON.stringify(r); } function v(e) { return JSON.parse( `{ "height": ${e.height}, "direction": "${e.direction}", "gradient": ${e.gradient}, "preventHover": ${e.preventHover}, "hideText": ${e.hideText}, "override": ${e.override}, "aliases": ${JSON.stringify(e.aliases)} }` ); } function p(e) { return e.includes("-") ? e.substring(e.lastIndexOf("/") + 1).split("-").map((r) => "#" + r) : e.substring(e.lastIndexOf("/") + 1).match(/.{1,6}/g)?.map((r) => "#" + r) || []; } function m(e) { return { height: e.height, width: e.width, direction: e.direction, gradient: e.gradient, preventHover: e.preventHover, hideText: e.hideText, override: e.override, aliases: [] }; } function S(e) { return typeof e == "string" ? `\`\`\`palette ${e} \`\`\` ` : e.settings ? `\`\`\`palette ${s(e.colors)} ${JSON.stringify(e.settings)} \`\`\` ` : `\`\`\`palette ${s(e.colors)} \`\`\` `; } function y(e) { const r = o(e); return r.rgb()[0] * 0.299 + r.rgb()[1] * 0.587 + r.rgb()[2] * 0.114 > 186 ? "#000000" : "#ffffff"; } function s(e) { let r = ""; for (const t of e) r += t + ` `; return r.trim(); } async function b(e, r) { let t = e; r === f.Value && !e.includes("`") && (t.includes("#") ? t = t.split("#")[1] : t.includes("(") && (t = t.split("(")[1].split(")")[0])), await navigator.clipboard.writeText(t); } function x(e) { return Math.max(10, 16 - e); } function $(e) { try { return o.useNames(c), o(e, void 0, { thowParseError: !0 }), !0; } catch { return !1; } } function O(e) { const t = new DOMParser().parseFromString(e, "image/svg+xml"); return t.querySelector("svg") ?? t.querySelector("parsererror"); } export { g as areSettingsDefault, v as convertStringSettings, b as copyToClipboard, S as createPaletteBlock, x as getAdjustedFontSize, y as getForegroundColor, l as getModifiedSettings, h as getModifiedSettingsAsString, $ as isColorValid, O as parseSVG, p as parseUrl, m as pluginToPaletteSettings, s as toNString };