UNPKG

color-picker-svelte

Version:
42 lines (41 loc) 1.1 kB
export function clamp(min, max, x) { if (x < min) { return min; } else if (x > max) { return max; } else { return x; } } let isMac; export function checkModifiers(e, options = {}) { if (isMac === undefined) { isMac = navigator.userAgent.indexOf('Mac') != -1; } const target = { shift: options.shift || false, alt: options.alt || false, ctrl: (!isMac && options.cmdOrCtrl) || false, meta: (isMac && options.cmdOrCtrl) || false, }; const pressed = { shift: !!e.shiftKey, alt: !!e.altKey, ctrl: !!e.ctrlKey, meta: !!e.metaKey, }; return (pressed.shift === target.shift && pressed.alt === target.alt && pressed.ctrl === target.ctrl && pressed.meta === target.meta); } export function checkShortcut(e, key, options = {}) { if (e.key.toUpperCase() !== key.toUpperCase()) return false; return checkModifiers(e, options); } export function checkMouseShortcut(e, options = {}) { return checkModifiers(e, options); }