dap-design-system
Version:
Official design system for the DÁP (dap.gov.hu)
91 lines (90 loc) • 2.06 kB
JavaScript
const l = {
xs: "--dds-breakpoints-xsmall",
sm: "--dds-breakpoints-small",
md: "--dds-breakpoints-medium",
lg: "--dds-breakpoints-large",
xl: "--dds-breakpoints-xlarge",
"2xl": "--dds-breakpoints-2xlarge"
}, u = {
xs: 320,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
"2xl": 1536
}, c = ["xs", "sm", "md", "lg", "xl", "2xl"];
function d(n) {
if (typeof window == "undefined" || typeof document == "undefined")
return null;
const t = l[n];
return `(max-width: ${getComputedStyle(document.documentElement).getPropertyValue(t).trim() || `${u[n]}px`})`;
}
const a = ["xxs", "xs", "sm", "md", "lg"], m = [
"xs",
"sm",
"md",
"lg",
"xl",
"2xl"
];
function x(n) {
const t = n == null ? void 0 : n.trim();
if (!t) return;
const e = {}, s = t.split(",").map((r) => r.trim().split(":"));
for (const [r, o] of s) {
if (!r || !o) continue;
const i = m.includes(r) ? r : null;
i && a.includes(o) && (e[i] = o);
}
return Object.keys(e).length > 0 ? e : void 0;
}
function f() {
if (typeof window == "undefined") return null;
try {
for (const n of c) {
const t = d(n);
if (t && window.matchMedia(t).matches) return n;
}
return null;
} catch (n) {
return null;
}
}
function g(n, t) {
var r;
if (!t) return n;
const e = f();
if (e == null) return n;
const s = c.indexOf(e);
for (let o = s; o < c.length; o++) {
const i = c[o];
if (i in t)
return (r = t[i]) != null ? r : n;
}
return n;
}
function p(n, t) {
const e = d(n);
if (!e) return () => {
};
try {
const s = window.matchMedia(e), r = () => t();
return s.addEventListener("change", r), () => s.removeEventListener("change", r);
} catch (s) {
return () => {
};
}
}
function h(n, t) {
if (n.length === 0) return () => {
};
const e = n.map((s) => p(s, t));
return () => e.forEach((s) => s());
}
export {
g as getResponsiveSize,
x as parseResponsiveSizeMap,
p as subscribeToBreakpoint,
h as subscribeToBreakpoints
};
//# sourceMappingURL=viewport.js.map