diff --git a/README.md b/README.md index 74872fd..7fa2b16 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,21 @@ -# React + TypeScript + Vite +# PasswordInput component -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +This component was built upon request for a take-home interview prompt. -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: +``` +Using React, write a password entry library that meets the following requirements: -- Configure the top-level `parserOptions` property like this: +Has two input fields to validate the entry from the user (both inputs must match) +Password has a min length of 6 characters +Password has at least 1 uppercase character +Password has at least 1 lowercase character +Password has at least 1 number +Password has at least 1 special character (!@#$%^&*()_-+={[}]|:;"'<,>.) -```js -export default tseslint.config({ - languageOptions: { - // other options... - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - }, -}) +Has a submit button that will trigger validation and present success or why the password entry failed ``` -- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` -- Optionally add `...tseslint.configs.stylisticTypeChecked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: +See it in action: [example](https://gkindel.github.io/password-form-validate/index.html) -```js -// eslint.config.js -import react from 'eslint-plugin-react' +Read the docs: [storybook](https://gkindel.github.io/password-form-validate/storybook/index.html) -export default tseslint.config({ - // Set the react version - settings: { react: { version: '18.3' } }, - plugins: { - // Add the react plugin - react, - }, - rules: { - // other rules... - // Enable its recommended rules - ...react.configs.recommended.rules, - ...react.configs['jsx-runtime'].rules, - }, -}) -``` diff --git a/package.json b/package.json index a9101c9..6aec23c 100644 --- a/package.json +++ b/package.json @@ -50,5 +50,5 @@ "plugin:storybook/recommended" ] }, - "module": "src/module/PasswordInput.tsx" + "module": "src/module/PasswordForm.tsx" }