Spaces:
Paused
Paused
OpenAiChatbot / frontend /node_modules /@testing-library /user-event /dist /keyboard /plugins /control.js
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.keydownBehavior = void 0; | |
| var _utils = require("../../utils"); | |
| var _shared = require("../shared"); | |
| /** | |
| * This file should contain behavior for arrow keys as described here: | |
| * https://w3c.github.io/uievents-code/#key-controlpad-section | |
| */ | |
| const keydownBehavior = [{ | |
| matches: (keyDef, element) => (keyDef.key === 'Home' || keyDef.key === 'End') && ((0, _utils.isElementType)(element, ['input', 'textarea']) || (0, _utils.isContentEditable)(element)), | |
| handle: (keyDef, element) => { | |
| // This could probably been improved by collapsing a selection range | |
| if (keyDef.key === 'Home') { | |
| (0, _utils.setSelectionRange)(element, 0, 0); | |
| } else { | |
| var _getValue$length, _getValue; | |
| const newPos = (_getValue$length = (_getValue = (0, _utils.getValue)(element)) == null ? void 0 : _getValue.length) != null ? _getValue$length : | |
| /* istanbul ignore next */ | |
| 0; | |
| (0, _utils.setSelectionRange)(element, newPos, newPos); | |
| } | |
| } | |
| }, { | |
| matches: (keyDef, element) => (keyDef.key === 'PageUp' || keyDef.key === 'PageDown') && (0, _utils.isElementType)(element, ['input']), | |
| handle: (keyDef, element) => { | |
| // This could probably been improved by collapsing a selection range | |
| if (keyDef.key === 'PageUp') { | |
| (0, _utils.setSelectionRange)(element, 0, 0); | |
| } else { | |
| var _getValue$length2, _getValue2; | |
| const newPos = (_getValue$length2 = (_getValue2 = (0, _utils.getValue)(element)) == null ? void 0 : _getValue2.length) != null ? _getValue$length2 : | |
| /* istanbul ignore next */ | |
| 0; | |
| (0, _utils.setSelectionRange)(element, newPos, newPos); | |
| } | |
| } | |
| }, { | |
| matches: (keyDef, element) => keyDef.key === 'Delete' && (0, _utils.isEditable)(element) && !(0, _utils.isCursorAtEnd)(element), | |
| handle: (keDef, element, options, state) => { | |
| const { | |
| newValue, | |
| newSelectionStart | |
| } = (0, _utils.calculateNewValue)('', element, state.carryValue, undefined, 'forward'); | |
| (0, _shared.fireInputEvent)(element, { | |
| newValue, | |
| newSelectionStart, | |
| eventOverrides: { | |
| inputType: 'deleteContentForward' | |
| } | |
| }); | |
| (0, _shared.carryValue)(element, state, newValue); | |
| } | |
| }]; | |
| exports.keydownBehavior = keydownBehavior; |