From b686bbe49f61204c2e413cae9498f6d5ea57714b Mon Sep 17 00:00:00 2001 From: Matthew Warman Date: Tue, 3 Feb 2026 06:19:15 -0500 Subject: [PATCH 01/30] update Node.js version in .nvmrc to v24.13.0 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 4349175..13f4d2c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.18.3 \ No newline at end of file +v24.13.0 \ No newline at end of file From 477f203ec2105d671de648a3e15728ed014b4f70 Mon Sep 17 00:00:00 2001 From: Matthew Warman Date: Tue, 3 Feb 2026 06:19:23 -0500 Subject: [PATCH 02/30] add .editorconfig for coding styles and update printWidth in .prettierrc to 120 --- .editorconfig | 12 ++++++++++++ .prettierrc | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4499194 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# This file is used to define coding styles and formatting rules for the project. +# For more information, see https://editorconfig.org/ +root=true + +[*] +charset=utf-8 +end_of_line=lf +indent_style=space +indent_size=2 +insert_final_newline=true +max_line_length=120 +trim_trailing_whitespace=true diff --git a/.prettierrc b/.prettierrc index 41b16d2..53858a8 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,6 @@ { "plugins": ["prettier-plugin-tailwindcss"], - "printWidth": 100, + "printWidth": 120, "semi": true, "singleQuote": true, "tabWidth": 2, From 72af2af97d4c4476f278cd0c0e2ff330bbbd98d5 Mon Sep 17 00:00:00 2001 From: Matthew Warman Date: Tue, 3 Feb 2026 06:19:33 -0500 Subject: [PATCH 03/30] update package.json version to 1.0.0-alpha.1 and enhance keywords; modify package-lock.json to include peer dependencies --- package-lock.json | 24 ++++++++++++++++++++++++ package.json | 6 ++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8aab88a..dcf80da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,6 +152,7 @@ "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -760,6 +761,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -783,6 +785,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -1352,6 +1355,7 @@ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", "license": "MIT", + "peer": true, "dependencies": { "@fortawesome/fontawesome-common-types": "6.7.2" }, @@ -3227,6 +3231,7 @@ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.74.4.tgz", "integrity": "sha512-mAbxw60d4ffQ4qmRYfkO1xzRBPUEf/72Dgo3qqea0J66nIKuDTLEqQt0ku++SDFlMGMnB6uKDnEG1xD/TDse4Q==", "license": "MIT", + "peer": true, "dependencies": { "@tanstack/query-core": "5.74.4" }, @@ -3294,6 +3299,7 @@ "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3589,6 +3595,7 @@ "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3600,6 +3607,7 @@ "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/react": "*" } @@ -3668,6 +3676,7 @@ "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.31.0", "@typescript-eslint/types": "8.31.0", @@ -4206,6 +4215,7 @@ "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4474,6 +4484,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -5335,6 +5346,7 @@ "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -5417,6 +5429,7 @@ "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -6244,6 +6257,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.26.10" }, @@ -6674,6 +6688,7 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -7706,6 +7721,7 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7927,6 +7943,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -7996,6 +8013,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -8009,6 +8027,7 @@ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.56.1.tgz", "integrity": "sha512-qWAVokhSpshhcEuQDSANHx3jiAEFzu2HAaaQIzi/r9FNPm1ioAvuJSD4EuZzWd7Al7nTRKcKPnBKO7sRn+zavQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=18.0.0" }, @@ -8406,6 +8425,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz", "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.7" }, @@ -8743,6 +8763,7 @@ "integrity": "sha512-Z/nWYEHBTLK1ZBtAWdhxC0l5zf7ioJ7G4+zYqtTdYeb67gTnxNj80gehf8o8QY9L2zA2+eyMRGLC2V5fI7Z3Tw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@storybook/core": "8.6.12" }, @@ -9242,6 +9263,7 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -9403,6 +9425,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.3.tgz", "integrity": "sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -9501,6 +9524,7 @@ "integrity": "sha512-WaxpJe092ID1C0mr+LH9MmNrhfzi8I65EX/NRU/Ld016KqQNRgxSOlGNP1hHN+a/F8L15Mh8klwaF77zR3GeDQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vitest/expect": "3.1.2", "@vitest/mocker": "3.1.2", diff --git a/package.json b/package.json index 3cfa229..e8c84ee 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,11 @@ "name": "react-starter-kit", "description": "Welcome to the LEANSTACKS React starter kit. This project provides a template to kickstart React single-page applications utilizing a curated Technology Stack for optimal testability, maintainability, and operability.", "keywords": [ - "react" + "react, typescript, vite" ], "author": "LeanStacks", "license": "MIT", - "version": "0.10.0", + "version": "1.0.0-alpha.1", "type": "module", "repository": { "type": "git", @@ -17,6 +17,8 @@ "dev": "vite --open", "build": "tsc && vite build", "build:storybook": "storybook build", + "format": "prettier --write .", + "format:check": "prettier --check .", "lint": "eslint --max-warnings 0", "preview": "vite preview", "storybook": "storybook dev -p 6006", From e3e521758ef8af9895ecb7f70b12479f0bf4f833 Mon Sep 17 00:00:00 2001 From: Matthew Warman Date: Tue, 3 Feb 2026 06:24:01 -0500 Subject: [PATCH 04/30] applied revised prettier line length rule --- .aws/cfn/app.yml | 9 +- .aws/cfn/storybook.yml | 9 +- .storybook/main.ts | 2 +- src/common/api/useGetUserTokens.ts | 4 +- src/common/components/Accordion/Accordion.tsx | 15 +-- .../__stories__/Accordion.stories.tsx | 42 +++---- .../Accordion/__tests__/Accordion.test.tsx | 12 +- src/common/components/Alert/Alert.tsx | 12 +- src/common/components/Alert/ErrorAlert.tsx | 4 +- .../Alert/__stories__/Alert.stories.tsx | 48 ++++---- src/common/components/Backdrop/Backdrop.tsx | 9 +- src/common/components/Badge/Badge.tsx | 9 +- .../components/Breadcrumbs/Breadcrumbs.tsx | 22 +--- .../__stories__/Breadcrumbs.stories.tsx | 8 +- src/common/components/Button/Button.tsx | 5 +- src/common/components/Card/Card.tsx | 17 +-- .../Card/__stories__/Card.stories.tsx | 28 ++--- src/common/components/Chart/DonutChart.tsx | 8 +- src/common/components/Content/Columns.tsx | 11 +- src/common/components/Content/Container.tsx | 12 +- .../Content/__stories__/Container.stories.tsx | 4 +- src/common/components/Dialog/Dialog.tsx | 22 +--- .../Dialog/__stories__/Dialog.stories.tsx | 22 ++-- .../components/Dropdown/DropdownMenu.tsx | 28 +---- .../Dropdown/__tests__/DropdownMenu.test.tsx | 8 +- src/common/components/Footer/Footer.tsx | 2 +- src/common/components/Form/Checkbox.tsx | 22 +--- src/common/components/Form/FieldError.tsx | 11 +- src/common/components/Form/Input.tsx | 8 +- src/common/components/Form/Label.tsx | 8 +- src/common/components/Form/RadioGroup.tsx | 30 +---- src/common/components/Form/SearchResult.tsx | 12 +- src/common/components/Form/Select.tsx | 11 +- src/common/components/Form/Textarea.tsx | 4 +- src/common/components/Form/Toggle.tsx | 4 +- .../Form/__tests__/SearchInput.test.tsx | 20 +--- src/common/components/Icon/Avatar.tsx | 13 +-- src/common/components/Icon/FAIcon.tsx | 16 +-- .../components/Layout/StandardLayout.tsx | 5 +- .../components/Loader/LoaderSuspense.tsx | 5 +- .../Loader/__tests__/Spinner.test.tsx | 4 +- src/common/components/Menu/MenuButton.tsx | 7 +- .../components/Menu/MenuCloseButton.tsx | 6 +- src/common/components/Menu/MenuNavLink.tsx | 9 +- src/common/components/Menu/MenuSeparator.tsx | 5 +- .../components/Menu/SideMenu/SideMenu.tsx | 7 +- .../Menu/SideMenu/SideMenuHeader.tsx | 12 +- .../SideMenu/__stories__/SideMenu.stories.tsx | 3 +- .../Menu/SideMenu/__tests__/SideMenu.test.tsx | 4 +- .../Menu/__tests__/MenuNavLink.test.tsx | 6 +- src/common/components/Popover/Popover.tsx | 39 +------ src/common/components/Router/Router.tsx | 8 +- src/common/components/Table/Table.tsx | 30 +---- .../Table/__stories__/Table.stories.tsx | 11 +- src/common/components/Tabs/Tabs.tsx | 19 +-- src/common/components/Text/CodeSnippet.tsx | 12 +- src/common/components/Text/Date.tsx | 7 +- src/common/components/Text/Heading.tsx | 13 +-- .../Text/__stories__/Date.stories.tsx | 3 +- .../Text/__stories__/DayOfTheWeek.stories.tsx | 3 +- .../Text/__tests__/Currency.test.tsx | 4 +- src/common/components/Theme/Theme.tsx | 7 +- src/common/components/Toast/Toast.tsx | 12 +- src/common/hooks/__tests__/useToasts.test.ts | 4 +- src/common/providers/AxiosProvider.tsx | 9 +- src/common/providers/ConfigProvider.tsx | 4 +- src/common/providers/SettingsProvider.tsx | 6 +- src/common/utils/numbers.ts | 6 +- src/index.css | 4 +- src/pages/Auth/Signin/api/useSignin.ts | 4 +- .../Auth/Signin/components/SigninForm.tsx | 7 +- .../components/AccordionComponents.tsx | 71 +++++------ .../Components/components/AlertComponents.tsx | 46 +++----- .../components/AvatarComponents.tsx | 26 +---- .../Components/components/BadgeComponents.tsx | 14 +-- .../components/BreadcrumbsComponents.tsx | 22 ++-- .../components/ButtonComponents.tsx | 13 +-- .../Components/components/CardComponents.tsx | 64 ++++------ .../components/CheckboxComponents.tsx | 50 +++----- .../components/ColumnsComponents.tsx | 19 +-- .../components/ContainerComponents.tsx | 24 ++-- .../components/DialogComponents.tsx | 49 +++----- .../components/DividerComponents.tsx | 13 +-- .../components/DropdownComponents.tsx | 13 +-- .../components/HeadingComponents.tsx | 13 +-- .../components/HelpTextComponents.tsx | 33 ++---- .../Components/components/IconComponents.tsx | 13 +-- .../Components/components/InputComponents.tsx | 81 ++++--------- .../Components/components/LabelComponents.tsx | 27 ++--- .../Components/components/LinkComponents.tsx | 37 +++--- .../Components/components/PageComponents.tsx | 13 +-- .../components/PopoverComponents.tsx | 43 +++---- .../components/RadioGroupComponents.tsx | 110 +++++------------- .../components/SearchInputComponents.tsx | 14 +-- .../components/SelectComponents.tsx | 51 +++----- .../components/SkeletonComponents.tsx | 26 ++--- .../components/SpinnerComponents.tsx | 35 ++---- .../Components/components/TableComponents.tsx | 68 ++++------- .../Components/components/TabsComponents.tsx | 13 +-- .../Components/components/TextComponents.tsx | 23 +--- .../components/TextareaComponents.tsx | 69 ++++------- .../Components/components/ToastComponents.tsx | 47 +++----- .../components/ToggleComponents.tsx | 58 +++------ .../ComponentsPageBreadcrumbs.test.tsx | 4 +- src/pages/Components/model/components.ts | 2 +- .../components/AppearanceSettings.tsx | 4 +- .../Settings/components/SettingsHeading.tsx | 5 +- .../SettingsPageBreadcrumbs.test.tsx | 4 +- .../Tasks/api/__tests__/useCreateTask.test.ts | 10 +- .../Tasks/api/__tests__/useDeleteTask.test.ts | 4 +- .../Tasks/api/__tests__/useUpdateTask.test.ts | 10 +- src/pages/Tasks/api/useCreateTask.ts | 5 +- src/pages/Tasks/api/useDeleteTask.ts | 5 +- src/pages/Tasks/api/useGetUserTasks.ts | 4 +- src/pages/Tasks/api/useUpdateTask.ts | 5 +- src/pages/Tasks/components/Add/TaskAdd.tsx | 8 +- .../components/Chart/TaskStatusDonutChart.tsx | 4 +- .../components/Delete/TaskDeleteDialog.tsx | 6 +- .../components/Edit/TaskCompleteToggle.tsx | 8 +- src/pages/Tasks/components/Edit/TaskEdit.tsx | 4 +- .../__tests__/TaskCompleteToggle.test.tsx | 10 +- src/pages/Tasks/components/Form/TaskForm.tsx | 8 +- src/pages/Tasks/components/List/TaskList.tsx | 6 +- .../Tasks/components/List/TaskListItem.tsx | 6 +- .../Tasks/components/TaskDetailLayout.tsx | 11 +- src/pages/Tasks/components/TaskListLayout.tsx | 9 +- .../Tasks/components/TasksPageBreadcrumbs.tsx | 9 +- src/pages/Tasks/components/UserInfo.tsx | 12 +- src/pages/Tasks/components/View/TaskView.tsx | 16 +-- .../__tests__/TaskListLayout.test.tsx | 10 +- src/test/test-utils.tsx | 14 +-- 131 files changed, 627 insertions(+), 1590 deletions(-) diff --git a/.aws/cfn/app.yml b/.aws/cfn/app.yml index 028928a..c1be153 100644 --- a/.aws/cfn/app.yml +++ b/.aws/cfn/app.yml @@ -57,8 +57,7 @@ Resources: Principal: AWS: !Sub - 'arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ${CloudFrontOAID}' - - CloudFrontOAID: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] + - CloudFrontOAID: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] ## # CloudFront Distribution for the React App - SPA errors and behaviors @@ -96,8 +95,7 @@ Resources: S3OriginConfig: OriginAccessIdentity: !Sub - 'origin-access-identity/cloudfront/${CloudFrontOAID}' - - CloudFrontOAID: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] + - CloudFrontOAID: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] PriceClass: PriceClass_100 ## @@ -178,8 +176,7 @@ Resources: Id: CUSTOM-API PriceClass: PriceClass_100 ViewerCertificate: - AcmCertificateArn: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CertificateArn] + AcmCertificateArn: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CertificateArn] SslSupportMethod: sni-only ## diff --git a/.aws/cfn/storybook.yml b/.aws/cfn/storybook.yml index 75c03f1..eafddb4 100644 --- a/.aws/cfn/storybook.yml +++ b/.aws/cfn/storybook.yml @@ -57,8 +57,7 @@ Resources: Principal: AWS: !Sub - 'arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ${CloudFrontOAID}' - - CloudFrontOAID: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] + - CloudFrontOAID: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] ## # CloudFront Distribution for the Storybook App - SPA errors and behaviors @@ -100,12 +99,10 @@ Resources: S3OriginConfig: OriginAccessIdentity: !Sub - 'origin-access-identity/cloudfront/${CloudFrontOAID}' - - CloudFrontOAID: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] + - CloudFrontOAID: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CloudFrontOAID] PriceClass: PriceClass_100 ViewerCertificate: - AcmCertificateArn: - !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CertificateArn] + AcmCertificateArn: !FindInMap [EnvironmentAttributeMap, !Ref EnvironmentCode, CertificateArn] SslSupportMethod: sni-only ## diff --git a/.storybook/main.ts b/.storybook/main.ts index 2edf179..c0f4183 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -7,7 +7,7 @@ const config: StorybookConfig = { '@storybook/addon-essentials', '@chromatic-com/storybook', '@storybook/addon-interactions', - '@storybook/addon-themes' + '@storybook/addon-themes', ], framework: { name: '@storybook/react-vite', diff --git a/src/common/api/useGetUserTokens.ts b/src/common/api/useGetUserTokens.ts index 988d8f6..3058286 100644 --- a/src/common/api/useGetUserTokens.ts +++ b/src/common/api/useGetUserTokens.ts @@ -23,9 +23,7 @@ export interface UserTokens { * configuration to `useQuery`. * @returns {UserTokens} Returns a `UseQueryResult` with `UserTokens` data. */ -export const useGetUserTokens = ( - options?: Partial>, -): UseQueryResult => { +export const useGetUserTokens = (options?: Partial>): UseQueryResult => { /** * Fetch `UserTokens` from the Identity Provider (IdP). * @returns The `UserTokens` if successful. diff --git a/src/common/components/Accordion/Accordion.tsx b/src/common/components/Accordion/Accordion.tsx index e8b11da..c05e237 100644 --- a/src/common/components/Accordion/Accordion.tsx +++ b/src/common/components/Accordion/Accordion.tsx @@ -89,9 +89,7 @@ const Accordion = ({ return (
- + {children}
@@ -125,12 +123,7 @@ interface ItemProps extends BaseComponentProps, PropsWithChildren { * The `Item` component represents a single item in the `Accordion`. It contains * a `Trigger` and `Content`. */ -const Item = ({ - children, - className, - value, - testId = 'accordion-item', -}: ItemProps): JSX.Element => { +const Item = ({ children, className, value, testId = 'accordion-item' }: ItemProps): JSX.Element => { const [isOpen, setIsOpen] = useState(false); const { activeItems, addItem, removeItem } = useContext(AccordionContext); @@ -157,9 +150,7 @@ const Item = ({ return (
- - {children} - + {children}
); }; diff --git a/src/common/components/Accordion/__stories__/Accordion.stories.tsx b/src/common/components/Accordion/__stories__/Accordion.stories.tsx index 6bc4b62..90c0e85 100644 --- a/src/common/components/Accordion/__stories__/Accordion.stories.tsx +++ b/src/common/components/Accordion/__stories__/Accordion.stories.tsx @@ -96,24 +96,21 @@ export const RichContent: Story = { Prologue
- Ornare occaecat aliquip voluptate esse est occaecat - cillum nam. Eiusmod aliquip magna dapibus ut ut deserunt. Justo nisi mi nunc nunc cras. - Ipsum quam officia dapibus et aenean enim. Bibendum do convallis donec eiusmod elit arcu - est. Quam ero ea massa culpa adipiscing. Justo neque aute qui nisi. Convallis nisi et - irure mollit dui aliqua fugait laoreet. + Ornare occaecat aliquip voluptate esse est occaecat cillum nam. Eiusmod + aliquip magna dapibus ut ut deserunt. Justo nisi mi nunc nunc cras. Ipsum quam officia dapibus et aenean + enim. Bibendum do convallis donec eiusmod elit arcu est. Quam ero ea massa culpa adipiscing. Justo neque + aute qui nisi. Convallis nisi et irure mollit dui aliqua fugait laoreet.
- Mollit urna ut ut pulvinar ullamco. Ero enim eiusmod qui in velit. Posuere dapibus cras - culpa ligula magna. Do neque urna nostrud tempus officia. Consequat condimentum a - eiusmod cillum. Pulvinar elit qui pulvinar donec non aute dolor. Sunt aliquip dapibus mi - vitae labore. + Mollit urna ut ut pulvinar ullamco. Ero enim eiusmod qui in velit. Posuere dapibus cras culpa ligula magna. + Do neque urna nostrud tempus officia. Consequat condimentum a eiusmod cillum. Pulvinar elit qui pulvinar + donec non aute dolor. Sunt aliquip dapibus mi vitae labore.
- Irure laoreet ligula justo sapien magna ea vel. Proident mollit aenean aliquip magna - ullamco ipsum tempus incididunt. Do aenean eiusmod amet dolor ipsum sunt sit. Irure - reprehenderit ad cupidatat labore bibendum convallis. Tempor deserunt nam lorem cras - excepteur a bibendum egestas. Donec labore duis esse quam. Dui culpa cupidatat cras - cillum vel ornare pulvinar dui. Duis donec aenean vel adipiscing ligula. + Irure laoreet ligula justo sapien magna ea vel. Proident mollit aenean aliquip magna ullamco ipsum tempus + incididunt. Do aenean eiusmod amet dolor ipsum sunt sit. Irure reprehenderit ad cupidatat labore bibendum + convallis. Tempor deserunt nam lorem cras excepteur a bibendum egestas. Donec labore duis esse quam. Dui + culpa cupidatat cras cillum vel ornare pulvinar dui. Duis donec aenean vel adipiscing ligula.
@@ -121,18 +118,17 @@ export const RichContent: Story = { Chapter 1
- Egestas justo donec laboris justo id laborum aliqua. - Nulla dapibus aute aenean donec vitae enim pulvinar donec. Neque cupidatat facilisis - sint laboris magna ea. Anim ero proident laboris fugait. Tempus labore dui vel laborum - esse donec pariatur. Consequat id laoreet mollit fugait id cillum anim. + Egestas justo donec laboris justo id laborum aliqua. Nulla dapibus aute + aenean donec vitae enim pulvinar donec. Neque cupidatat facilisis sint laboris magna ea. Anim ero proident + laboris fugait. Tempus labore dui vel laborum esse donec pariatur. Consequat id laoreet mollit fugait id + cillum anim.
Placeholder
- Pulvinar e nibh veniam arcu at aliqua pariatur. Enim cillum cupidatat elit elit occaecat - reprehenderit. Nibh sed justo quam convallis fermentum e aute. Incididunt ero in ornare - anim voluptate incididunt nul. Do exercitation bibendum nulla lorem est nul. Irure - labore ligula dui qos culpa aliquip condimentum. Proin excepteur incididunt do commodo - deserunt egestas. + Pulvinar e nibh veniam arcu at aliqua pariatur. Enim cillum cupidatat elit elit occaecat reprehenderit. Nibh + sed justo quam convallis fermentum e aute. Incididunt ero in ornare anim voluptate incididunt nul. Do + exercitation bibendum nulla lorem est nul. Irure labore ligula dui qos culpa aliquip condimentum. Proin + excepteur incididunt do commodo deserunt egestas.
diff --git a/src/common/components/Accordion/__tests__/Accordion.test.tsx b/src/common/components/Accordion/__tests__/Accordion.test.tsx index 3db5e5f..04a809b 100644 --- a/src/common/components/Accordion/__tests__/Accordion.test.tsx +++ b/src/common/components/Accordion/__tests__/Accordion.test.tsx @@ -65,9 +65,7 @@ describe('Accordion', () => { // ACT await user.click(screen.getByTestId('trigger-section-1-button')); - await waitFor(() => - expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open'), - ); + await waitFor(() => expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open')); // ASSERT expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open'); @@ -93,9 +91,7 @@ describe('Accordion', () => { // ACT await user.click(screen.getByTestId('trigger-section-1-button')); - await waitFor(() => - expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'closed'), - ); + await waitFor(() => expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'closed')); // ASSERT expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'closed'); @@ -123,9 +119,7 @@ describe('Accordion', () => { // ACT await user.click(screen.getByTestId('trigger-section-1-button')); await user.click(screen.getByTestId('trigger-section-2-button')); - await waitFor(() => - expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open'), - ); + await waitFor(() => expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open')); // ASSERT expect(screen.getByTestId('content-section-1')).toHaveAttribute('data-state', 'open'); diff --git a/src/common/components/Alert/Alert.tsx b/src/common/components/Alert/Alert.tsx index 550425e..3ec1542 100644 --- a/src/common/components/Alert/Alert.tsx +++ b/src/common/components/Alert/Alert.tsx @@ -23,10 +23,7 @@ const alertVariants = cva('relative rounded-md p-3 *:data-icon:absolute [&>svg~* /** * Properties for the `Alert` component. */ -export interface AlertProps - extends BaseComponentProps, - PropsWithChildren, - VariantProps {} +export interface AlertProps extends BaseComponentProps, PropsWithChildren, VariantProps {} /** * The `Alert` component formats and renders a styled message. Use the @@ -43,12 +40,7 @@ export interface AlertProps * ``` */ -const Alert = ({ - children, - className, - variant = 'info', - testId = 'alert', -}: AlertProps): JSX.Element => { +const Alert = ({ children, className, variant = 'info', testId = 'alert' }: AlertProps): JSX.Element => { return (
{children} diff --git a/src/common/components/Alert/ErrorAlert.tsx b/src/common/components/Alert/ErrorAlert.tsx index 5f1cfe3..e7b8878 100644 --- a/src/common/components/Alert/ErrorAlert.tsx +++ b/src/common/components/Alert/ErrorAlert.tsx @@ -5,9 +5,7 @@ import Alert, { AlertProps } from './Alert'; /** * Properties for the `ErrorAlert` component. */ -export interface ErrorAlertProps - extends Omit, - Partial> { +export interface ErrorAlertProps extends Omit, Partial> { title?: string; description: string; } diff --git a/src/common/components/Alert/__stories__/Alert.stories.tsx b/src/common/components/Alert/__stories__/Alert.stories.tsx index c61b545..1ccf13a 100644 --- a/src/common/components/Alert/__stories__/Alert.stories.tsx +++ b/src/common/components/Alert/__stories__/Alert.stories.tsx @@ -28,10 +28,10 @@ export const WithIcon: Story = { Something unexpected has happened! - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), @@ -45,10 +45,10 @@ export const NoIcon: Story = { Something unexpected has happened! - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), @@ -61,10 +61,10 @@ export const DescriptionOnly: Story = { render: (args) => ( - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), @@ -90,10 +90,10 @@ export const Info: Story = { Something you should know... - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), @@ -107,10 +107,10 @@ export const Warning: Story = { Proceed with caution! - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), @@ -124,10 +124,10 @@ export const Success: Story = { You did it! - Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero - exercitation labore a. Nisi commodo nunc id et. Labore facilisis do nibh fermentum - exercitation voluptate. Aute et ut est justo veniam. Ut do convallis reprehenderit qui. - Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque incididunt. + Mollit proident aliqua vel pariatur dolor cupidatat sunt. Tempus quis elit officia ero exercitation labore a. + Nisi commodo nunc id et. Labore facilisis do nibh fermentum exercitation voluptate. Aute et ut est justo veniam. + Ut do convallis reprehenderit qui. Consectetur nibh nibh est pariatur tempor. Qos laoreet qui labore a neque + incididunt. ), diff --git a/src/common/components/Backdrop/Backdrop.tsx b/src/common/components/Backdrop/Backdrop.tsx index f7025fa..8a01826 100644 --- a/src/common/components/Backdrop/Backdrop.tsx +++ b/src/common/components/Backdrop/Backdrop.tsx @@ -20,19 +20,14 @@ export interface BackdropProps extends BaseComponentProps, PropsWithChildren { * @param {BackgroundProps} props - Component properties * @returns {JSX.Element} JSX */ -const Backdrop = ({ - children, - className, - onClick, - testId = 'backdrop', -}: BackdropProps): JSX.Element => { +const Backdrop = ({ children, className, onClick, testId = 'backdrop' }: BackdropProps): JSX.Element => { const handleClick = (e: React.MouseEvent) => { onClick?.(e); }; return (
diff --git a/src/common/components/Badge/Badge.tsx b/src/common/components/Badge/Badge.tsx index e8337cd..353a0ad 100644 --- a/src/common/components/Badge/Badge.tsx +++ b/src/common/components/Badge/Badge.tsx @@ -43,14 +43,7 @@ export interface BadgeProps extends BaseComponentProps, PropsWithChildren, Badge * The `Badge` component highlights a notification, a count, or a piece status * information. */ -const Badge = ({ - children, - className, - size, - testId = 'badge', - variant, - uppercase, -}: BadgeProps): JSX.Element => { +const Badge = ({ children, className, size, testId = 'badge', variant, uppercase }: BadgeProps): JSX.Element => { return (
{children} diff --git a/src/common/components/Breadcrumbs/Breadcrumbs.tsx b/src/common/components/Breadcrumbs/Breadcrumbs.tsx index 2e41fd8..fcf32d9 100644 --- a/src/common/components/Breadcrumbs/Breadcrumbs.tsx +++ b/src/common/components/Breadcrumbs/Breadcrumbs.tsx @@ -48,11 +48,7 @@ export interface BreadcrumbsProps extends BaseComponentProps, PropsWithChildren * ``` */ -const Breadcrumbs = ({ - children, - className, - testId = 'breadcrumbs', -}: BreadcrumbsProps): JSX.Element => { +const Breadcrumbs = ({ children, className, testId = 'breadcrumbs' }: BreadcrumbsProps): JSX.Element => { return (