├── .github └── workflows │ ├── canary.yaml │ └── publish.yaml ├── .gitignore ├── LICENSE ├── README.md ├── eslint.config.js ├── package.json ├── packages ├── example │ ├── .gitignore │ ├── README.md │ ├── eslint.config.js │ ├── index.html │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── UseFilePicker.tsx │ │ ├── UseImperativeFilePicker.tsx │ │ ├── main.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts └── use-file-picker │ ├── .gitignore │ ├── package.json │ ├── src │ ├── helpers │ │ ├── encodings.ts │ │ └── openFileDialog.ts │ ├── index.ts │ ├── interfaces.ts │ ├── types.ts │ ├── useFilePicker.ts │ ├── useImperativeFilePicker.ts │ ├── validators.ts │ └── validators │ │ ├── FileTypeValidator │ │ └── index.ts │ │ ├── fileAmountLimitValidator │ │ └── index.ts │ │ ├── fileSizeValidator │ │ └── index.ts │ │ ├── imageDimensionsValidator │ │ └── index.ts │ │ ├── index.ts │ │ ├── persistentFileAmountLimitValidator │ │ └── index.ts │ │ ├── useValidators.ts │ │ └── validatorBase.ts │ ├── test │ ├── AmountOfFilesValidator.test.tsx │ ├── FilePicker.test.tsx │ ├── FilePickerTestComponents.tsx │ ├── FileSizeValidator.test.tsx │ ├── FileTypeValidator.test.tsx │ ├── ImperativeFilePicker.test.tsx │ ├── setup.ts │ └── testUtils.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── tsconfig.json └── turbo.json /.github/workflows/canary.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/.github/workflows/canary.yaml -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/.github/workflows/publish.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .DS_Store 3 | node_modules 4 | .turbo 5 | /**/dist -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/README.md -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/eslint.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/package.json -------------------------------------------------------------------------------- /packages/example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/.gitignore -------------------------------------------------------------------------------- /packages/example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/README.md -------------------------------------------------------------------------------- /packages/example/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/eslint.config.js -------------------------------------------------------------------------------- /packages/example/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/index.html -------------------------------------------------------------------------------- /packages/example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/package.json -------------------------------------------------------------------------------- /packages/example/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/src/App.tsx -------------------------------------------------------------------------------- /packages/example/src/UseFilePicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/src/UseFilePicker.tsx -------------------------------------------------------------------------------- /packages/example/src/UseImperativeFilePicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/src/UseImperativeFilePicker.tsx -------------------------------------------------------------------------------- /packages/example/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/src/main.tsx -------------------------------------------------------------------------------- /packages/example/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/example/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/tsconfig.app.json -------------------------------------------------------------------------------- /packages/example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/tsconfig.json -------------------------------------------------------------------------------- /packages/example/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/tsconfig.node.json -------------------------------------------------------------------------------- /packages/example/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/example/vite.config.ts -------------------------------------------------------------------------------- /packages/use-file-picker/.gitignore: -------------------------------------------------------------------------------- 1 | README.md 2 | LICENSE -------------------------------------------------------------------------------- /packages/use-file-picker/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/package.json -------------------------------------------------------------------------------- /packages/use-file-picker/src/helpers/encodings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/helpers/encodings.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/helpers/openFileDialog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/helpers/openFileDialog.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/interfaces.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/types.ts: -------------------------------------------------------------------------------- 1 | export * from './interfaces.js'; 2 | -------------------------------------------------------------------------------- /packages/use-file-picker/src/useFilePicker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/useFilePicker.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/useImperativeFilePicker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/useImperativeFilePicker.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators.ts: -------------------------------------------------------------------------------- 1 | export * from './validators/index.js'; 2 | -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/FileTypeValidator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/FileTypeValidator/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/fileAmountLimitValidator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/fileAmountLimitValidator/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/fileSizeValidator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/fileSizeValidator/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/imageDimensionsValidator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/imageDimensionsValidator/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/persistentFileAmountLimitValidator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/persistentFileAmountLimitValidator/index.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/useValidators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/useValidators.ts -------------------------------------------------------------------------------- /packages/use-file-picker/src/validators/validatorBase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/src/validators/validatorBase.ts -------------------------------------------------------------------------------- /packages/use-file-picker/test/AmountOfFilesValidator.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/AmountOfFilesValidator.test.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/FilePicker.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/FilePicker.test.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/FilePickerTestComponents.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/FilePickerTestComponents.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/FileSizeValidator.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/FileSizeValidator.test.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/FileTypeValidator.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/FileTypeValidator.test.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/ImperativeFilePicker.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/ImperativeFilePicker.test.tsx -------------------------------------------------------------------------------- /packages/use-file-picker/test/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/setup.ts -------------------------------------------------------------------------------- /packages/use-file-picker/test/testUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/test/testUtils.ts -------------------------------------------------------------------------------- /packages/use-file-picker/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/use-file-picker/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/packages/use-file-picker/vitest.config.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/tsconfig.json -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaaneek/useFilePicker/HEAD/turbo.json --------------------------------------------------------------------------------