UNPKG

react-bootstrap-typeahead-portal

Version:
81 lines (65 loc) 3.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames = _interopRequireDefault(require("classnames")); var _getMenuItemId = _interopRequireDefault(require("./getMenuItemId")); var _excluded = ["activeIndex", "id", "isFocused", "isMenuShown", "multiple", "onFocus", "placeholder"], _excluded2 = ["className"]; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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, _objectWithoutProperties2["default"])(_ref, _excluded); return function () { var _cx; var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, className = _ref2.className, inputProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2); var props = _objectSpread(_objectSpread(_objectSpread({ /* 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 = {}, (0, _defineProperty2["default"])(_cx, className || '', !multiple), (0, _defineProperty2["default"])(_cx, "focus", isFocused), _cx)), onClick: function onClick(e) { // Re-open the menu if it's closed, eg: via ESC. onFocus && onFocus(e); inputProps.onClick && inputProps.onClick(e); }, 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 _objectSpread(_objectSpread({}, props), {}, { 'aria-autocomplete': 'list', 'aria-expanded': undefined, inputClassName: className, role: undefined }); }; }; var _default = getInputProps; exports["default"] = _default;