@anoki/fse-ui
Version:
FSE UI components library
60 lines (59 loc) • 1.98 kB
JavaScript
import { breakpoints as l } from "./index.es658.js";
import { hasOwnProperty as p } from "./index.es659.js";
import { isResponsiveObject as m } from "./index.es649.js";
function V({ className: n, customProperties: i, ...t }) {
const u = v({ allowArbitraryValues: !0, className: n, ...t }), s = d({ customProperties: i, ...t });
return [u, s];
}
function v({ allowArbitraryValues: n, value: i, className: t, propValues: u, parseValue: s = (e) => e }) {
const e = [];
if (i) {
if (typeof i == "string" && u.includes(i)) return f(t, i, s);
if (m(i)) {
const o = i;
for (const r in o) {
if (!p(o, r) || !l.includes(r)) continue;
const a = o[r];
if (a !== void 0) {
if (u.includes(a)) {
const c = f(t, a, s), $ = r === "initial" ? c : `${r}:${c}`;
e.push($);
} else if (n) {
const c = r === "initial" ? t : `${r}:${t}`;
e.push(c);
}
}
}
return e.join(" ");
}
if (n) return t;
}
}
function f(n, i, t) {
const u = n ? "-" : "", s = t(i), e = s == null ? void 0 : s.startsWith("-"), o = e ? "-" : "", r = e ? s == null ? void 0 : s.substring(1) : s;
return `${o}${n}${u}${r}`;
}
function d({ customProperties: n, value: i, propValues: t, parseValue: u = (s) => s }) {
let s = {};
if (!(!i || typeof i == "string" && t.includes(i))) {
if (typeof i == "string" && (s = Object.fromEntries(n.map((e) => [e, i]))), m(i)) {
const e = i;
for (const o in e) {
if (!p(e, o) || !l.includes(o)) continue;
const r = e[o];
if (!t.includes(r)) for (const a of n) s = { [o === "initial" ? a : `${a}-${o}`]: r, ...s };
}
}
for (const e in s) {
const o = s[e];
o !== void 0 && (s[e] = u(o));
}
return s;
}
}
export {
v as getResponsiveClassNames,
d as getResponsiveCustomProperties,
V as getResponsiveStyles
};
//# sourceMappingURL=index.es631.js.map