adverich-kun-ui
Version:
Una librería de componentes Vue.js con Tailwind CSS
49 lines (48 loc) • 1.81 kB
JavaScript
import { computed as i, ref as w } from "vue";
function m() {
var s, t, a, u, v;
const l = window.navigator.userAgent;
let d = "Unknown OS", o = "Unknown Version";
return /Mac/.test(l) ? (d = "Mac OS", o = (t = (s = l.match(/Mac OS X (\d+[\._]\d+[\._]\d+)/)) == null ? void 0 : s[1]) == null ? void 0 : t.replace(/_/g, ".")) : /iPhone|iPad|iPod/.test(l) ? (d = "iOS", o = ((a = l.match(/OS (\d+)[._](\d+)[._]?(\d+)?/)) == null ? void 0 : a.slice(1, 4).join(".")) || "Unknown") : /Windows/.test(l) ? (d = "Windows", o = (u = l.match(/Windows NT (\d+\.\d+)/)) == null ? void 0 : u[1]) : /Android/.test(l) ? (d = "Android", o = (v = l.match(/Android (\d+\.\d+)/)) == null ? void 0 : v[1]) : /Linux/.test(l) && (d = "Linux"), { os: d, osVersion: o };
}
const e = w(window.innerWidth), x = w(window.innerHeight), r = m(), h = i(
() => r.os === "iOS" || r.os === "Android" || x.value > e.value
), n = {
xs: 475,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
xxl: 1536
};
i(() => e.value < n.sm);
i(() => e.value >= n.sm && e.value < n.md);
i(() => e.value >= n.md && e.value < n.lg);
i(() => e.value >= n.lg && e.value < n.xl);
i(() => e.value >= n.xl && e.value < n.xxl);
i(() => e.value >= n.xxl);
i(() => e.value >= n.xs);
i(() => e.value >= n.sm);
i(() => e.value >= n.md);
i(() => e.value >= n.lg);
i(() => e.value >= n.xl);
i(() => e.value >= n.xxl);
i(() => e.value < n.sm);
i(() => e.value < n.md);
i(() => e.value < n.lg);
i(() => e.value < n.xl);
i(() => e.value < n.xxl);
i(() => e.value < n.xxl);
function c() {
e.value = window.innerWidth, x.value = window.innerHeight;
}
window.addEventListener("resize", c);
window.addEventListener("beforeunload", () => {
window.removeEventListener("resize", c);
});
export {
h as isMobile,
r as kunOS,
x as screenHeight,
e as screenWidth
};