gitextract_fp6r61rc/ ├── .all-contributorsrc ├── .flowconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ └── validate.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── babel.config.js ├── cypress/ │ ├── .eslintrc │ ├── e2e/ │ │ ├── combobox.cy.js │ │ ├── useCombobox.cy.js │ │ ├── useMultipleCombobox.cy.js │ │ ├── useMultipleSelect.cy.js │ │ ├── useSelect.cy.js │ │ └── useTagGroup.cy.js │ ├── fixtures/ │ │ └── example.json │ ├── plugins/ │ │ └── index.js │ └── support/ │ └── e2e.js ├── cypress.config.js ├── docusaurus/ │ ├── pages/ │ │ ├── combobox.js │ │ ├── index.js │ │ ├── useCombobox.js │ │ ├── useMultipleCombobox.js │ │ ├── useMultipleSelect.js │ │ ├── useSelect.js │ │ ├── useTagGroup.css │ │ ├── useTagGroup.tsx │ │ ├── useTagGroupCombobox.css │ │ └── useTagGroupCombobox.tsx │ ├── plugins/ │ │ └── webpack5polyfills.js │ ├── tsconfig.json │ └── utils.ts ├── docusaurus.config.js ├── flow-typed/ │ └── npm/ │ └── downshift_v2.x.x.js.flow ├── jest.config.js ├── netlify.toml ├── other/ │ ├── MAINTAINING.md │ ├── TYPESCRIPT_USAGE.md │ ├── USERS.md │ ├── manual-releases.md │ ├── misc-tests/ │ │ ├── __tests__/ │ │ │ ├── build.js │ │ │ └── preact.js │ │ └── jest.config.js │ ├── react-native/ │ │ ├── .babelrc │ │ ├── __tests__/ │ │ │ ├── __snapshots__/ │ │ │ │ └── render-tests.js.snap │ │ │ ├── onBlur-tests.js │ │ │ ├── onChange-tests.js │ │ │ └── render-tests.js │ │ └── jest.config.js │ └── ssr/ │ ├── __tests__/ │ │ └── index.js │ └── jest.config.js ├── package.json ├── prettier.config.js ├── rollup.config.js ├── src/ │ ├── __mocks__/ │ │ ├── set-a11y-status.js │ │ └── utils.js │ ├── __tests__/ │ │ ├── .eslintrc │ │ ├── __snapshots__/ │ │ │ ├── downshift.aria.js.snap │ │ │ ├── downshift.get-item-props.js.snap │ │ │ ├── downshift.get-menu-props.js.snap │ │ │ ├── downshift.get-root-props.js.snap │ │ │ ├── downshift.misc.js.snap │ │ │ └── set-a11y-status.js.snap │ │ ├── downshift.aria.js │ │ ├── downshift.focus-restoration.js │ │ ├── downshift.get-button-props.js │ │ ├── downshift.get-input-props.js │ │ ├── downshift.get-item-props.js │ │ ├── downshift.get-label-props.js │ │ ├── downshift.get-menu-props.js │ │ ├── downshift.get-root-props.js │ │ ├── downshift.lifecycle.js │ │ ├── downshift.misc-with-utils-mocked.js │ │ ├── downshift.misc.js │ │ ├── downshift.props.js │ │ ├── portal-support.js │ │ ├── set-a11y-status.js │ │ ├── utils.call-all-event-handlers.js │ │ ├── utils.get-a11y-status-message.js │ │ ├── utils.get-highlighted-index.js │ │ ├── utils.handle-refs.js │ │ ├── utils.pick-state.js │ │ ├── utils.reset-id-counter.js │ │ ├── utils.reset-id-counter.r18.js │ │ └── utils.scroll-into-view.js │ ├── downshift.js │ ├── hooks/ │ │ ├── MIGRATION_V7.md │ │ ├── MIGRATION_V8.md │ │ ├── MIGRATION_V9.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── __snapshots__/ │ │ │ │ └── utils.test.js.snap │ │ │ └── utils.test.js │ │ ├── index.ts │ │ ├── reducer.js │ │ ├── testUtils.js │ │ ├── useCombobox/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── getInputProps.test.js.snap │ │ │ │ ├── getInputProps.test.js │ │ │ │ ├── getItemProps.test.js │ │ │ │ ├── getLabelProps.test.js │ │ │ │ ├── getMenuProps.test.js │ │ │ │ ├── getToggleButtonProps.test.js │ │ │ │ ├── memo.test.js │ │ │ │ ├── props.test.js │ │ │ │ ├── returnProps.test.js │ │ │ │ └── utils.test.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ ├── stateChangeTypes.js │ │ │ ├── testUtils.js │ │ │ └── utils.js │ │ ├── useMultipleSelection/ │ │ │ ├── MIGRATION_GUIDE.md │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── getDropdownProps.test.js │ │ │ │ ├── getSelectedItemProps.test.js │ │ │ │ ├── memo.test.js │ │ │ │ ├── props.test.js │ │ │ │ ├── returnProps.test.js │ │ │ │ └── utils.test.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ ├── stateChangeTypes.js │ │ │ ├── testUtils.js │ │ │ └── utils.js │ │ ├── useSelect/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── getToggleButtonProps.test.js.snap │ │ │ │ ├── getItemProps.test.js │ │ │ │ ├── getLabelProps.test.js │ │ │ │ ├── getMenuProps.test.js │ │ │ │ ├── getToggleButtonProps.test.js │ │ │ │ ├── memo.test.js │ │ │ │ ├── props.test.js │ │ │ │ ├── returnProps.test.js │ │ │ │ └── utils.test.ts │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ ├── stateChangeTypes.js │ │ │ ├── testUtils.js │ │ │ └── utils/ │ │ │ ├── defaultProps.ts │ │ │ ├── getItemIndexByCharacterKey.ts │ │ │ ├── index.ts │ │ │ └── propTypes.ts │ │ ├── useTagGroup/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── getTagGroupProps.test.ts │ │ │ │ ├── getTagProps.test.ts │ │ │ │ ├── getTagRemoveProps.test.ts │ │ │ │ ├── props.test.ts │ │ │ │ ├── reducer.test.ts │ │ │ │ ├── returnProps.test.ts │ │ │ │ └── utils/ │ │ │ │ ├── defaultIds.ts │ │ │ │ ├── defaultProps.ts │ │ │ │ ├── index.ts │ │ │ │ ├── renderTagGroup.tsx │ │ │ │ └── renderUseTagGroup.ts │ │ │ ├── index.ts │ │ │ ├── index.types.ts │ │ │ ├── reducer.ts │ │ │ ├── stateChangeTypes.ts │ │ │ └── utils/ │ │ │ ├── __tests__/ │ │ │ │ ├── useAccessibleDescription.test.ts │ │ │ │ ├── useElementIds.legacy.test.ts │ │ │ │ └── useElementIds.r18.test.ts │ │ │ ├── getInitialState.ts │ │ │ ├── getMergedProps.ts │ │ │ ├── index.ts │ │ │ ├── isStateEqual.ts │ │ │ ├── useAccessibleDescription.ts │ │ │ ├── useElementIds.ts │ │ │ └── useRovingTagFocus.ts │ │ ├── utils-ts/ │ │ │ ├── __tests__/ │ │ │ │ └── getItemAndIndex.test.ts │ │ │ ├── callOnChangeProps.ts │ │ │ ├── capitalizeString.ts │ │ │ ├── getDefaultValue.ts │ │ │ ├── getInitialValue.ts │ │ │ ├── getItemAndIndex.ts │ │ │ ├── index.ts │ │ │ ├── propTypes.ts │ │ │ ├── stateReducer.ts │ │ │ ├── useA11yMessageStatus.ts │ │ │ ├── useControlledReducer.ts │ │ │ ├── useEnhancedReducer.ts │ │ │ └── useIsInitialMount.ts │ │ ├── utils.dropdown/ │ │ │ ├── __tests__/ │ │ │ │ ├── useElementIds.legacy.test.ts │ │ │ │ └── useElementIds.r18.test.ts │ │ │ ├── defaultProps.ts │ │ │ ├── defaultStateValues.ts │ │ │ ├── index.ts │ │ │ ├── propTypes.ts │ │ │ └── useElementIds.ts │ │ └── utils.js │ ├── index.ts │ ├── is.macro.d.ts │ ├── is.macro.js │ ├── productionEnum.macro.d.ts │ ├── productionEnum.macro.js │ ├── stateChangeTypes.js │ ├── utils-ts/ │ │ ├── __tests__/ │ │ │ ├── getState.test.ts │ │ │ └── handleRefs.test.ts │ │ ├── callAllEventHandlers.ts │ │ ├── debounce.ts │ │ ├── generateId.ts │ │ ├── getState.ts │ │ ├── handleRefs.ts │ │ ├── index.ts │ │ ├── noop.ts │ │ ├── scrollIntoView.ts │ │ ├── setA11yStatus.ts │ │ ├── useLatestRef.ts │ │ └── validatePropTypes.ts │ └── utils.js ├── test/ │ ├── basic.test.js │ ├── basic.test.tsx │ ├── custom.test.js │ ├── custom.test.tsx │ ├── downshift.test.tsx │ ├── setup.ts │ ├── tsconfig.json │ ├── useCombobox.test.tsx │ ├── useMultipleSelect.test.tsx │ └── useSelect.test.tsx ├── tsconfig.json ├── tsconfig.preact.json └── typings/ ├── index.d.ts └── index.legacy.d.ts