@angular/cdk
Version:
Angular Material Component Development Kit
1 lines • 2.54 kB
Source Map (JSON)
{"version":3,"file":"_fake-event-detection-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/a11y/fake-event-detection.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nexport function isFakeMousedownFromScreenReader(event: MouseEvent): boolean {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when `event.buttons` is zero, or\n // `event.detail` is zero depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `detail` works on Chrome, but fails on Firefox.\n return event.buttons === 0 || event.detail === 0;\n}\n\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nexport function isFakeTouchstartFromScreenReader(event: TouchEvent): boolean {\n const touch: Touch | undefined =\n (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (\n !!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1)\n );\n}\n"],"names":["isFakeMousedownFromScreenReader","event","buttons","detail","isFakeTouchstartFromScreenReader","touch","touches","changedTouches","identifier","radiusX","radiusY"],"mappings":"AASM,SAAUA,+BAA+BA,CAACC,KAAiB,EAAA;EAM/D,OAAOA,KAAK,CAACC,OAAO,KAAK,CAAC,IAAID,KAAK,CAACE,MAAM,KAAK,CAAC;AAClD;AAGM,SAAUC,gCAAgCA,CAACH,KAAiB,EAAA;EAChE,MAAMI,KAAK,GACRJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,IAAML,KAAK,CAACM,cAAc,IAAIN,KAAK,CAACM,cAAc,CAAC,CAAC,CAAE;AAM1F,EAAA,OACE,CAAC,CAACF,KAAK,IACPA,KAAK,CAACG,UAAU,KAAK,CAAC,CAAC,KACtBH,KAAK,CAACI,OAAO,IAAI,IAAI,IAAIJ,KAAK,CAACI,OAAO,KAAK,CAAC,CAAC,KAC7CJ,KAAK,CAACK,OAAO,IAAI,IAAI,IAAIL,KAAK,CAACK,OAAO,KAAK,CAAC,CAAC;AAElD;;;;"}