UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.3 kB
{"version":3,"file":"event.mjs","sources":["../../../../../packages/utils/dom/event.ts"],"sourcesContent":["import { EVENT_CODE } from '@element-plus/constants'\nimport { isAndroid } from '../browser'\n\nexport const composeEventHandlers = <E>(\n theirsHandler?: (event: E) => boolean | void,\n oursHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) => {\n const handleEvent = (event: E) => {\n const shouldPrevent = theirsHandler?.(event)\n\n if (checkForDefaultPrevented === false || !shouldPrevent) {\n return oursHandler?.(event)\n }\n }\n return handleEvent\n}\n\ntype WhenMouseHandler = (e: PointerEvent) => any\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\n return (e: PointerEvent) =>\n e.pointerType === 'mouse' ? handler(e) : undefined\n}\n\nexport const getEventCode = (event: KeyboardEvent): string => {\n if (event.code && event.code !== 'Unidentified') return event.code\n // On android, event.code is always '' (see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code#browser_compatibility)\n const key = getEventKey(event)\n\n if (key) {\n if (Object.values(EVENT_CODE).includes(key)) return key\n\n switch (key) {\n case ' ':\n return EVENT_CODE.space\n default:\n return ''\n }\n }\n\n return ''\n}\n\nexport const getEventKey = (event: KeyboardEvent): string => {\n let key = event.key && event.key !== 'Unidentified' ? event.key : ''\n\n // On Android, event.key and event.code may not be useful when entering characters or space\n // So here we directly get the last character of the input\n // **only takes effect in the keyup event**\n if (!key && event.type === 'keyup' && isAndroid()) {\n const target = event.target as HTMLInputElement\n key = target.value.charAt(target.selectionStart! - 1)\n }\n\n return key\n}\n"],"names":[],"mappings":";;;AAGa,MAAA,oBAAA,GAAuB,CAClC,aACA,EAAA,WAAA,EACA,EAAE,wBAA2B,GAAA,IAAA,EAAS,GAAA,EACnC,KAAA;AACH,EAAM,MAAA,WAAA,GAAc,CAAC,KAAa,KAAA;AAChC,IAAA,MAAM,gBAAgB,aAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,KAAA,CAAA,CAAA;AAEtC,IAAI,IAAA,wBAAA,KAA6B,KAAS,IAAA,CAAC,aAAe,EAAA;AACxD,MAAA,OAAO,WAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACvB;AAAA,GACF,CAAA;AACA,EAAO,OAAA,WAAA,CAAA;AACT,EAAA;AAGa,MAAA,SAAA,GAAY,CAAC,OAAgD,KAAA;AACxE,EAAA,OAAO,CAAC,CACN,KAAA,CAAA,CAAE,gBAAgB,OAAU,GAAA,OAAA,CAAQ,CAAC,CAAI,GAAA,KAAA,CAAA,CAAA;AAC7C,EAAA;AAEa,MAAA,YAAA,GAAe,CAAC,KAAiC,KAAA;AAC5D,EAAI,IAAA,KAAA,CAAM,IAAQ,IAAA,KAAA,CAAM,IAAS,KAAA,cAAA;AAAgB,IAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAE9D,EAAM,MAAA,GAAA,GAAM,YAAY,KAAK,CAAA,CAAA;AAE7B,EAAA,IAAI,GAAK,EAAA;AACP,IAAA,IAAI,MAAO,CAAA,MAAA,CAAO,UAAU,CAAA,CAAE,SAAS,GAAG,CAAA;AAAG,MAAO,OAAA,GAAA,CAAA;AAEpD,IAAQ,QAAA,GAAA;AAAA,MACD,KAAA,GAAA;AACH,QAAA,OAAO,UAAW,CAAA,KAAA,CAAA;AAAA,MAAA;AAElB,QAAO,OAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAEb;AAEA,EAAO,OAAA,EAAA,CAAA;AACT,EAAA;AAEa,MAAA,WAAA,GAAc,CAAC,KAAiC,KAAA;AAC3D,EAAA,IAAI,MAAM,KAAM,CAAA,GAAA,IAAO,MAAM,GAAQ,KAAA,cAAA,GAAiB,MAAM,GAAM,GAAA,EAAA,CAAA;AAKlE,EAAA,IAAI,CAAC,GAAO,IAAA,KAAA,CAAM,IAAS,KAAA,OAAA,IAAW,WAAa,EAAA;AACjD,IAAA,MAAM,SAAS,KAAM,CAAA,MAAA,CAAA;AACrB,IAAA,GAAA,GAAM,MAAO,CAAA,KAAA,CAAM,MAAO,CAAA,MAAA,CAAO,iBAAkB,CAAC,CAAA,CAAA;AAAA,GACtD;AAEA,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}