UNPKG

@ui-tars/operator-browser

Version:
140 lines (139 loc) 3.63 kB
/** * Copyright (c) 2025 Bytedance, Inc. and its affiliates. * SPDX-License-Identifier: Apache-2.0 */ "use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.n = (module)=>{ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module; __webpack_require__.d(getter, { a: getter }); return getter; }; })(); (()=>{ __webpack_require__.d = (exports1, definition)=>{ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, get: definition[key] }); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { shortcuts: ()=>shortcuts_shortcuts }); const external_os_namespaceObject = require("os"); var external_os_default = /*#__PURE__*/ __webpack_require__.n(external_os_namespaceObject); function isMacChrome(browser) { return 'darwin' === external_os_default().platform() && 'chrome' === browser; } function delay(ms) { return new Promise((resolve)=>setTimeout(resolve, ms)); } const ShortcutsMap = new Map([ [ 'Meta+KeyA', { key: 'KeyA', commands: 'SelectAll' } ], [ 'Meta+KeyX', { key: 'KeyX', commands: 'Cut' } ], [ 'Meta+KeyC', { key: 'KeyC', commands: 'Copy' } ], [ 'Meta+KeyV', { key: 'KeyV', commands: 'Paste' } ], [ 'Meta+KeyZ', { key: 'KeyZ', commands: 'Undo' } ], [ 'Meta+KeyY', { key: 'KeyY', commands: 'Redo' } ], [ 'Meta+Shift+KeyZ', { key: 'KeyZ', commands: 'Redo' } ], [ 'Shift+Meta+KeyZ', { key: 'KeyZ', commands: 'Redo' } ] ]); async function shortcuts_shortcuts(page, shortcuts, browser) { if (1 === shortcuts.length) { await page.keyboard.down(shortcuts[0]); await delay(100); await page.keyboard.up(shortcuts[0]); return; } if (isMacChrome(browser)) { const matched = ShortcutsMap.get(shortcuts.join('+')); if (matched) { await page.keyboard.down(matched.key, { commands: [ matched.commands ] }); await delay(100); await page.keyboard.up(matched.key); return; } } for (const key of shortcuts)await page.keyboard.down(key); await delay(100); for (const key of shortcuts.reverse())await page.keyboard.up(key); } exports.shortcuts = __webpack_exports__.shortcuts; for(var __webpack_i__ in __webpack_exports__)if (-1 === [ "shortcuts" ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=shortcuts.js.map