├── .editorconfig ├── .env ├── .eslintignore ├── .eslintrc ├── .github └── workflows │ └── chromatic.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .storybook ├── global-style │ ├── global-style.ts │ ├── index.ts │ └── react-toastify-override.ts ├── main.ts ├── manager-head.html ├── manager.ts └── preview.tsx ├── .test ├── custom-test-env.ts └── setup-tests.ts ├── .travis.yml ├── LICENSE ├── README.md ├── __stories__ ├── helpers │ ├── components │ │ ├── Checkbox.tsx │ │ ├── CodeMarkup.tsx │ │ ├── OptionsCountButton.tsx │ │ ├── PackageLink.tsx │ │ └── index.ts │ ├── constants │ │ ├── index.ts │ │ ├── markup.ts │ │ ├── npm-package.ts │ │ ├── options-data.ts │ │ ├── react-toastify.ts │ │ ├── svg-props.ts │ │ └── theme.ts │ ├── hooks │ │ ├── index.ts │ │ └── useCallbackState.ts │ ├── index.ts │ ├── styled │ │ └── index.ts │ └── utils │ │ └── index.ts ├── index.stories.tsx └── types │ └── index.d.ts ├── __tests__ ├── AriaLiveRegion.test.tsx ├── AutosizeInput.test.tsx ├── IndicatorIcons.test.tsx ├── LoadingDots.test.tsx ├── MenuList.test.tsx ├── MultiValue.test.tsx ├── Option.test.tsx ├── ReactSSR.test.tsx ├── Select.test.tsx ├── Value.test.tsx └── helpers │ ├── ThemeWrapper.tsx │ ├── index.ts │ └── utils.ts ├── babel.config.js ├── jest.config.js ├── package.json ├── rollup.config.js ├── src ├── Select.tsx ├── components │ ├── AriaLiveRegion │ │ └── index.tsx │ ├── AutosizeInput │ │ └── index.tsx │ ├── IndicatorIcons │ │ ├── ClearIcon.tsx │ │ ├── LoadingDots.tsx │ │ └── index.tsx │ ├── Menu │ │ ├── MenuList.tsx │ │ ├── Option.tsx │ │ └── index.tsx │ ├── Value │ │ ├── MultiValue.tsx │ │ └── index.tsx │ └── index.ts ├── constants │ ├── defaults.ts │ ├── dom.ts │ ├── enums.ts │ ├── index.ts │ ├── styled.ts │ └── theme.ts ├── globals.d.ts ├── hooks │ ├── index.ts │ ├── useCallbackRef.ts │ ├── useDebounce.ts │ ├── useLatestRef.ts │ ├── useMenuOptions.ts │ ├── useMenuPosition.ts │ ├── useMountEffect.ts │ └── useUpdateEffect.ts ├── index.ts ├── types.ts └── utils │ ├── common.ts │ ├── device.ts │ ├── index.ts │ └── menu.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | CHROMATIC_PROJECT_TOKEN=df2e1449fdc1 -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/workflows/chromatic.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.github/workflows/chromatic.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.prettierrc -------------------------------------------------------------------------------- /.storybook/global-style/global-style.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/global-style/global-style.ts -------------------------------------------------------------------------------- /.storybook/global-style/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/global-style/index.ts -------------------------------------------------------------------------------- /.storybook/global-style/react-toastify-override.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/global-style/react-toastify-override.ts -------------------------------------------------------------------------------- /.storybook/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/main.ts -------------------------------------------------------------------------------- /.storybook/manager-head.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/manager-head.html -------------------------------------------------------------------------------- /.storybook/manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/manager.ts -------------------------------------------------------------------------------- /.storybook/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.storybook/preview.tsx -------------------------------------------------------------------------------- /.test/custom-test-env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.test/custom-test-env.ts -------------------------------------------------------------------------------- /.test/setup-tests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/README.md -------------------------------------------------------------------------------- /__stories__/helpers/components/Checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/components/Checkbox.tsx -------------------------------------------------------------------------------- /__stories__/helpers/components/CodeMarkup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/components/CodeMarkup.tsx -------------------------------------------------------------------------------- /__stories__/helpers/components/OptionsCountButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/components/OptionsCountButton.tsx -------------------------------------------------------------------------------- /__stories__/helpers/components/PackageLink.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/components/PackageLink.tsx -------------------------------------------------------------------------------- /__stories__/helpers/components/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/components/index.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/index.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/markup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/markup.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/npm-package.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/npm-package.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/options-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/options-data.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/react-toastify.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/react-toastify.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/svg-props.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/svg-props.ts -------------------------------------------------------------------------------- /__stories__/helpers/constants/theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/constants/theme.ts -------------------------------------------------------------------------------- /__stories__/helpers/hooks/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/hooks/index.ts -------------------------------------------------------------------------------- /__stories__/helpers/hooks/useCallbackState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/hooks/useCallbackState.ts -------------------------------------------------------------------------------- /__stories__/helpers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/index.ts -------------------------------------------------------------------------------- /__stories__/helpers/styled/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/styled/index.ts -------------------------------------------------------------------------------- /__stories__/helpers/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/helpers/utils/index.ts -------------------------------------------------------------------------------- /__stories__/index.stories.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/index.stories.tsx -------------------------------------------------------------------------------- /__stories__/types/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__stories__/types/index.d.ts -------------------------------------------------------------------------------- /__tests__/AriaLiveRegion.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/AriaLiveRegion.test.tsx -------------------------------------------------------------------------------- /__tests__/AutosizeInput.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/AutosizeInput.test.tsx -------------------------------------------------------------------------------- /__tests__/IndicatorIcons.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/IndicatorIcons.test.tsx -------------------------------------------------------------------------------- /__tests__/LoadingDots.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/LoadingDots.test.tsx -------------------------------------------------------------------------------- /__tests__/MenuList.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/MenuList.test.tsx -------------------------------------------------------------------------------- /__tests__/MultiValue.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/MultiValue.test.tsx -------------------------------------------------------------------------------- /__tests__/Option.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/Option.test.tsx -------------------------------------------------------------------------------- /__tests__/ReactSSR.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/ReactSSR.test.tsx -------------------------------------------------------------------------------- /__tests__/Select.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/Select.test.tsx -------------------------------------------------------------------------------- /__tests__/Value.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/Value.test.tsx -------------------------------------------------------------------------------- /__tests__/helpers/ThemeWrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/helpers/ThemeWrapper.tsx -------------------------------------------------------------------------------- /__tests__/helpers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/helpers/index.ts -------------------------------------------------------------------------------- /__tests__/helpers/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/__tests__/helpers/utils.ts -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/babel.config.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/package.json -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/rollup.config.js -------------------------------------------------------------------------------- /src/Select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/Select.tsx -------------------------------------------------------------------------------- /src/components/AriaLiveRegion/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/AriaLiveRegion/index.tsx -------------------------------------------------------------------------------- /src/components/AutosizeInput/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/AutosizeInput/index.tsx -------------------------------------------------------------------------------- /src/components/IndicatorIcons/ClearIcon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/IndicatorIcons/ClearIcon.tsx -------------------------------------------------------------------------------- /src/components/IndicatorIcons/LoadingDots.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/IndicatorIcons/LoadingDots.tsx -------------------------------------------------------------------------------- /src/components/IndicatorIcons/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/IndicatorIcons/index.tsx -------------------------------------------------------------------------------- /src/components/Menu/MenuList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/Menu/MenuList.tsx -------------------------------------------------------------------------------- /src/components/Menu/Option.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/Menu/Option.tsx -------------------------------------------------------------------------------- /src/components/Menu/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/Menu/index.tsx -------------------------------------------------------------------------------- /src/components/Value/MultiValue.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/Value/MultiValue.tsx -------------------------------------------------------------------------------- /src/components/Value/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/Value/index.tsx -------------------------------------------------------------------------------- /src/components/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/components/index.ts -------------------------------------------------------------------------------- /src/constants/defaults.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/defaults.ts -------------------------------------------------------------------------------- /src/constants/dom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/dom.ts -------------------------------------------------------------------------------- /src/constants/enums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/enums.ts -------------------------------------------------------------------------------- /src/constants/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/index.ts -------------------------------------------------------------------------------- /src/constants/styled.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/styled.ts -------------------------------------------------------------------------------- /src/constants/theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/constants/theme.ts -------------------------------------------------------------------------------- /src/globals.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/globals.d.ts -------------------------------------------------------------------------------- /src/hooks/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/index.ts -------------------------------------------------------------------------------- /src/hooks/useCallbackRef.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useCallbackRef.ts -------------------------------------------------------------------------------- /src/hooks/useDebounce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useDebounce.ts -------------------------------------------------------------------------------- /src/hooks/useLatestRef.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useLatestRef.ts -------------------------------------------------------------------------------- /src/hooks/useMenuOptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useMenuOptions.ts -------------------------------------------------------------------------------- /src/hooks/useMenuPosition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useMenuPosition.ts -------------------------------------------------------------------------------- /src/hooks/useMountEffect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useMountEffect.ts -------------------------------------------------------------------------------- /src/hooks/useUpdateEffect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/hooks/useUpdateEffect.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/utils/common.ts -------------------------------------------------------------------------------- /src/utils/device.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/utils/device.ts -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/utils/index.ts -------------------------------------------------------------------------------- /src/utils/menu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/src/utils/menu.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/based-ghost/react-functional-select/HEAD/tsconfig.json --------------------------------------------------------------------------------