@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
28 lines (27 loc) • 849 B
JavaScript
//#region src/base-ui/DraggablePanel/core/env.ts
const media = (query) => {
let list;
const get = () => {
list ??= typeof matchMedia === "function" ? matchMedia(query) : void 0;
return list;
};
return {
get: () => get()?.matches ?? false,
subscribe: (listener) => {
get()?.addEventListener("change", listener);
return () => get()?.removeEventListener("change", listener);
}
};
};
const coarsePointer = media("(pointer: coarse)");
const reducedMotion = media("(prefers-reduced-motion: reduce)");
const HANDLE_SIZE_FINE = 8;
const HANDLE_SIZE_WIDE = 16;
const HANDLE_SIZE_COARSE = 20;
const handleSize = (wide = true) => {
if (coarsePointer.get()) return HANDLE_SIZE_COARSE;
return wide ? HANDLE_SIZE_WIDE : HANDLE_SIZE_FINE;
};
//#endregion
export { coarsePointer, handleSize, reducedMotion };
//# sourceMappingURL=env.mjs.map