UNPKG

937 BJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = defaultSelectHint;
9
10var _isSelectable = _interopRequireDefault(require("./isSelectable"));
11
12function defaultSelectHint(e, selectHint) {
13 var shouldSelectHint = false;
14
15 if (e.key === 'ArrowRight') {
16 // For selectable input types ("text", "search"), only select the hint if
17 // it's at the end of the input value. For non-selectable types ("email",
18 // "number"), always select the hint.
19 shouldSelectHint = (0, _isSelectable["default"])(e.currentTarget) ? e.currentTarget.selectionStart === e.currentTarget.value.length : true;
20 }
21
22 if (e.key === 'Tab') {
23 // Prevent input from blurring on TAB.
24 e.preventDefault();
25 shouldSelectHint = true;
26 }
27
28 return selectHint ? selectHint(shouldSelectHint, e) : shouldSelectHint;
29}
\No newline at end of file