UNPKG

react-bootstrap-typeahead

Version:
71 lines (58 loc) 2.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _classnames = _interopRequireDefault(require("classnames")); var _getMenuItemId = _interopRequireDefault(require("./getMenuItemId")); var getInputProps = function getInputProps(_ref) { var activeIndex = _ref.activeIndex, id = _ref.id, isFocused = _ref.isFocused, isMenuShown = _ref.isMenuShown, multiple = _ref.multiple, onFocus = _ref.onFocus, placeholder = _ref.placeholder, rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["activeIndex", "id", "isFocused", "isMenuShown", "multiple", "onFocus", "placeholder"]); return function (_temp) { var _cx; var _ref2 = _temp === void 0 ? {} : _temp, className = _ref2.className, inputProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, ["className"]); var props = (0, _extends2["default"])({ /* eslint-disable sort-keys */ // These props can be overridden by values in `inputProps`. autoComplete: 'off', placeholder: placeholder, type: 'text' }, inputProps, {}, rest, { 'aria-activedescendant': activeIndex >= 0 ? (0, _getMenuItemId["default"])(id, activeIndex) : undefined, 'aria-autocomplete': 'both', 'aria-expanded': isMenuShown, 'aria-haspopup': 'listbox', 'aria-owns': isMenuShown ? id : undefined, className: (0, _classnames["default"])((_cx = {}, _cx[className || ''] = !multiple, _cx.focus = isFocused, _cx)), // Re-open the menu, eg: if it's closed via ESC. onClick: onFocus, onFocus: onFocus, // Comboboxes are single-select by definition: // https://www.w3.org/TR/wai-aria-practices-1.1/#combobox role: 'combobox' /* eslint-enable sort-keys */ }); if (!multiple) { return props; } return (0, _extends2["default"])({}, props, { 'aria-autocomplete': 'list', 'aria-expanded': undefined, inputClassName: className, role: undefined }); }; }; var _default = getInputProps; exports["default"] = _default;