diff --git a/package.json b/package.json index 8061a07..2627f24 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@babel/core": "7.12.13", "@babel/preset-typescript": "7.12.13", - "@heetch/flamingo-react": "^5.2.0", + "@heetch/flamingo-react": "^4.1.3", "@nrwl/cli": "15.2.1", "@nrwl/eslint-plugin-nx": "15.2.1", "@nrwl/jest": "15.2.1", @@ -38,9 +38,9 @@ "@svgr/webpack": "^6.4.0", "@testing-library/react": "13.4.0", "@types/jest": "28.1.1", - "@types/node": "18.7.18", - "@types/react": "18.0.20", - "@types/react-dom": "18.0.6", + "@types/node": "16.11.68", + "@types/react": "17.0.39", + "@types/react-dom": "17.0.17", "@types/react-is": "17.0.3", "@types/styled-components": "5.1.26", "@typescript-eslint/eslint-plugin": "5.40.0", @@ -60,7 +60,7 @@ "jest-environment-jsdom": "28.1.1", "nx": "15.2.1", "prettier": "^2.6.2", - "react-test-renderer": "18.2.0", + "react-test-renderer": "17.0.2", "rollup-plugin-terser": "^7.0.2", "styled-components": "^5.1.0", "ts-jest": "28.0.5", @@ -81,9 +81,9 @@ "packageManager": "yarn@3.2.3", "dependencies": { "core-js": "^3.6.5", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-is": "18.2.0", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-is": "17.0.2", "regenerator-runtime": "0.13.7", "tslib": "^2.3.0" } diff --git a/packages/react-forms/package.json b/packages/react-forms/package.json index b40555a..9858d5c 100644 --- a/packages/react-forms/package.json +++ b/packages/react-forms/package.json @@ -1,17 +1,17 @@ { - "name": "@heetch/react-forms", - "version": "1.2.1", + "name": "@heetch/react-forms-legacy", + "version": "1.2.3", "license": "MIT", "author": "Heetch", "devDependencies": { "@react-hook/window-size": "^3.1.1", - "react-hook-form": "^7.35.0" + "react-hook-form": "~7.44.3" }, "peerDependencies": { - "@heetch/flamingo-react": "^5.2.0", + "@heetch/flamingo-react": "^4.1.3", "@react-hook/window-size": "^3.1.1", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-hook-form": "^7.35.0" + "react": "17.0.2", + "react-dom": "17.0.2", + "react-hook-form": "~7.44.3" } } diff --git a/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.stories.tsx b/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.stories.tsx index 5380f2b..f86447e 100644 --- a/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.stories.tsx +++ b/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.stories.tsx @@ -71,7 +71,7 @@ Helper.args = { export const IconColor = Template.bind({}); IconColor.args = { field: base, - options: { iconColor: flamingo.color_v3.brand.pink.shade1 }, + options: { iconColor: flamingo.color.brand.primary }, }; export const DateTime = Template.bind({}); diff --git a/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.tsx b/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.tsx index e4c728b..77e998a 100644 --- a/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.tsx +++ b/packages/react-forms/src/lib/form-field-date-renderer/form-field-date-renderer.tsx @@ -59,7 +59,7 @@ export function FormFieldDateRenderer({ const errorHelper = fieldState?.error?.message; const iconColor = props.invalid - ? flamingo.color_v3.feedback.error + ? flamingo.color.element.error : options?.iconColor; type MinMaxValidator = Exclude< diff --git a/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.module.scss b/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.module.scss index a5fdf7c..f5b4537 100644 --- a/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.module.scss +++ b/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.module.scss @@ -8,7 +8,7 @@ margin: 0; padding-left: 0; padding-right: 0; - color: var(--f-color-type-light); + color: var(--f-color-element--secondary); > span { font-weight: 500; diff --git a/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.tsx b/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.tsx index ad29ece..63df554 100644 --- a/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.tsx +++ b/packages/react-forms/src/lib/form-field-file-renderer/form-field-file-renderer.tsx @@ -70,7 +70,7 @@ export function FormFieldFileRenderer({ {showAddButton && ( )} diff --git a/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.stories.tsx b/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.stories.tsx index 65c0b38..77f3cc9 100644 --- a/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.stories.tsx +++ b/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.stories.tsx @@ -103,7 +103,7 @@ _tests.play = async () => { selector: 'input', }); await userEvent.type(input, '1.5', { delay: 50 }); - expect(input).not.toHaveStyle({ color: '#cd2703' }); + expect(input).not.toHaveStyle({ color: '#e4566f' }); await userEvent.clear(input); - expect(input).not.toHaveStyle({ color: '#cd2703' }); + expect(input).not.toHaveStyle({ color: '#e4566f' }); }; diff --git a/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.tsx b/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.tsx index 6d96db9..a6a0ede 100644 --- a/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.tsx +++ b/packages/react-forms/src/lib/form-field-number-renderer/form-field-number-renderer.tsx @@ -1,6 +1,6 @@ import { ChangeEvent, useState } from 'react'; import { Controller, FieldValues } from 'react-hook-form'; -import { InputField } from '@heetch/flamingo-react'; +import { InputField, theme as flamingo } from '@heetch/flamingo-react'; import { FormFieldRendererProps } from '../../types/renderer'; import { FormFieldNumber } from '../../types/fields'; import { buildValidationRules, classNames, isRequired } from '../../utils'; @@ -98,6 +98,8 @@ function NumberFieldRenderer({ | undefined )?.parameter; + const invalid = !!fieldState?.error; + const props = { ...fieldProps, onChange, @@ -106,7 +108,8 @@ function NumberFieldRenderer({ label, placeholder, helper: fieldState?.error ? fieldState.error.message : field.helper, - invalid: !!fieldState?.error, + invalid, + textColor: invalid ? flamingo.color.element.error : undefined, type: 'number', min, max, diff --git a/packages/react-forms/src/lib/form-field-string-renderer/form-field-string-renderer.tsx b/packages/react-forms/src/lib/form-field-string-renderer/form-field-string-renderer.tsx index 9d195e0..8bcba44 100644 --- a/packages/react-forms/src/lib/form-field-string-renderer/form-field-string-renderer.tsx +++ b/packages/react-forms/src/lib/form-field-string-renderer/form-field-string-renderer.tsx @@ -1,7 +1,12 @@ import { FormFieldRendererProps } from '../../types/renderer'; import { FormFieldString } from '../../types/fields'; import { Controller } from 'react-hook-form'; -import { InputField, SelectField, TextareaField } from '@heetch/flamingo-react'; +import { + InputField, + SelectField, + TextareaField, + theme as flamingo, +} from '@heetch/flamingo-react'; import { buildValidationRules, classNames, isRequired } from '../../utils'; export function FormFieldStringRenderer({ @@ -29,6 +34,8 @@ export function FormFieldStringRenderer({ label = undefined; } + const invalid = !!fieldState?.error; + const props = { ...fieldProps, id: fieldProps.name, @@ -36,7 +43,8 @@ export function FormFieldStringRenderer({ label, placeholder, helper: fieldState?.error ? fieldState.error.message : field.helper, - invalid: !!fieldState?.error, + invalid, + textColor: invalid ? flamingo.color.element.error : undefined, disabled: field.disabled, }; diff --git a/packages/react-forms/src/lib/form-renderer/form-renderer.stories.tsx b/packages/react-forms/src/lib/form-renderer/form-renderer.stories.tsx index 66153a2..6cbfdbc 100644 --- a/packages/react-forms/src/lib/form-renderer/form-renderer.stories.tsx +++ b/packages/react-forms/src/lib/form-renderer/form-renderer.stories.tsx @@ -3,6 +3,7 @@ import { action } from '@storybook/addon-actions'; import { FormRenderer } from './form-renderer'; import { FormField } from '../../types/fields'; import { screen, userEvent } from '@storybook/testing-library'; +import { expect, jest } from '@storybook/jest'; import { sleep } from '../../utils'; const fields: FormField[] = [ @@ -15,7 +16,7 @@ const fields: FormField[] = [ { type: 'required' }, { type: 'max_size', - parameter: 100, + parameter: 100 }, { type: 'function', @@ -23,9 +24,9 @@ const fields: FormField[] = [ parameter: (value) => { if (value === 'John Doe') return 'No unknown people'; return true; - }, - }, - ], + } + } + ] }, { id: 'email', @@ -33,7 +34,7 @@ const fields: FormField[] = [ label: 'E-mail', placeholder: 'Please enter a valid e-mail', format: 'email', - validators: [{ type: 'required' }], + validators: [{ type: 'required' }] }, { id: 'country', @@ -43,9 +44,9 @@ const fields: FormField[] = [ options: [ { value: 'fr', label: 'France' }, { value: 'be', label: 'Belgium' }, - { value: 'ch', label: 'Switzerland' }, + { value: 'ch', label: 'Switzerland' } ], - validators: [{ type: 'required' }], + validators: [{ type: 'required' }] }, { id: 'birthdate', @@ -53,12 +54,12 @@ const fields: FormField[] = [ label: 'Date of birth', format: 'date', yearSelector: true, - validators: [{ type: 'max', parameter: new Date() }], + validators: [{ type: 'max', parameter: new Date() }] }, { id: 'notifications', type: 'boolean', - label: 'Enable notifications', + label: 'Enable notifications' }, { id: 'notifications-delay', @@ -66,8 +67,8 @@ const fields: FormField[] = [ label: 'Notifications delay', helper: 'Delay in minutes between notifications', format: 'integer', - validators: [{ type: 'min', parameter: 0 }], - }, + validators: [{ type: 'min', parameter: 0 }] + } ]; export default { @@ -77,11 +78,15 @@ export default { fields, values: {}, options: { - showRequiredAsterisk: true, - }, - onSubmit: action('submit'), - onChange: action('change'), + showRequiredAsterisk: true + } + // onSubmit: action('submit'), + // onChange: action('change') }, + argTypes: { + onSubmit: { action: 'submit' }, + onChange: { action: 'change' } + } } as ComponentMeta; const Template: ComponentStory = (args) => ( @@ -96,29 +101,29 @@ LabelAsPlaceholder.storyName = 'Label as placeholder'; LabelAsPlaceholder.args = { options: { ...(LabelAsPlaceholder.args?.options, {}), - showLabelsAsPlaceholders: true, - }, + showLabelsAsPlaceholders: true + } }; export const Layout = Template.bind({}); Layout.args = { layout: [ { - cells: [{ field: 'name' }, { field: 'email' }], + cells: [{ field: 'name' }, { field: 'email' }] }, { cells: [ { field: 'country', widthConstraint: 3 }, - { field: 'birthdate', widthConstraint: 2 }, - ], + { field: 'birthdate', widthConstraint: 2 } + ] }, { cells: [ { field: 'notifications', widthConstraint: '200px' }, - { field: 'notifications-delay' }, - ], - }, - ], + { field: 'notifications-delay' } + ] + } + ] }; export const InitialValues = Template.bind({}); @@ -127,8 +132,8 @@ InitialValues.args = { name: 'Al Capone', notifications: true, 'notifications-delay': 42, - birthdate: new Date('1899-01-17'), - }, + birthdate: new Date('1899-01-17') + } }; export const CustomTexts = Template.bind({}); @@ -138,31 +143,31 @@ CustomTexts.args = { errors: { required: 'Custom required error', max_size: { - string: (x) => `Custom max size error (${x} letters)`, - }, - }, + string: (x) => `Custom max size error (${x} letters)` + } + } }, values: { name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - country: 'fr', - }, + country: 'fr' + } }; CustomTexts.play = async () => { await userEvent.type( screen.getByLabelText('Name *', { - selector: 'input', + selector: 'input' }), 'x' ); await userEvent.type( screen.getByLabelText('E-mail *', { - selector: 'input', + selector: 'input' }), 'foo' ); await userEvent.selectOptions( screen.getByLabelText('Country *', { - selector: 'select', + selector: 'select' }), '' ); @@ -179,15 +184,15 @@ Validation.args = { { cells: [ { field: 'notifications', widthConstraint: '200px' }, - { field: 'notifications-delay' }, - ], - }, + { field: 'notifications-delay' } + ] + } ], values: { name: 'John X', email: 'john.x@mail.com', notifications: true, - 'notifications-delay': 0, + 'notifications-delay': 0 }, validators: [ { @@ -200,14 +205,14 @@ Validation.args = { errors: [ { field: 'name', - error: 'Unknowns are forbidden', - }, - ], + error: 'Unknowns are forbidden' + } + ] }; } return { errors: [] }; - }, + } }, { validator: (values) => { @@ -219,14 +224,14 @@ Validation.args = { errors: [ { field: 'email', - error: 'No "x" in emails', - }, - ], + error: 'No "x" in emails' + } + ] }; } return { errors: [] }; - }, + } }, { async: true, @@ -241,18 +246,18 @@ Validation.args = { errors: [ { field: 'notifications-delay', - error: 'Must be > 1 if notifications are enabled', - }, - ], + error: 'Must be > 1 if notifications are enabled' + } + ] }); } resolve({ - errors: [], + errors: [] }); }, 1000); - }), - }, - ], + }) + } + ] }; Validation.play = async () => { await sleep(500); @@ -271,7 +276,7 @@ Autofill.args = { { type: 'required' }, { type: 'max_size', - parameter: 100, + parameter: 100 }, { type: 'function', @@ -286,9 +291,9 @@ Autofill.args = { } return true; - }, - }, - ], + } + } + ] }, { id: 'email', @@ -296,19 +301,19 @@ Autofill.args = { label: 'E-mail', placeholder: 'Please enter a valid e-mail', format: 'email', - validators: [{ type: 'required' }], - }, - ] as FormField[], + validators: [{ type: 'required' }] + } + ] as FormField[] }; Autofill.play = async () => { await sleep(100); await userEvent.type( screen.getByLabelText('Name *', { - selector: 'input', + selector: 'input' }), 'John Doe', { - delay: 100, + delay: 100 } ); }; @@ -316,13 +321,66 @@ Autofill.play = async () => { export const DisabledFields = Template.bind({}); DisabledFields.args = { - fields: fields.map(f => ({...f, disabled: true})) as FormField[], + fields: fields.map(f => ({ ...f, disabled: true })) as FormField[], values: { name: 'Al Capone', email: 'al@mafia.com', country: 'fr', notifications: true, 'notifications-delay': 42, - birthdate: new Date('1899-01-17'), - }, + birthdate: new Date('1899-01-17') + } +}; + +export const RemoveExistingValues = Template.bind({}); +RemoveExistingValues.args = { + fields: [ + { + id: 'name', + type: 'string', + label: 'Name', + format: 'line' + }, + { + id: 'coords.lat', + type: 'number', + label: 'Latitude', + format: 'decimal' + }, + { + id: 'coords.long', + type: 'number', + label: 'Longitude', + format: 'decimal' + } + ], + values: { + name: 'Orly', + coords: { + lat: 42.5, + long: 1.75 + } + } +}; +RemoveExistingValues.play = async ({ args }) => { + await userEvent.clear( + screen.getByLabelText('Name') + ); + await userEvent.clear( + screen.getByLabelText('Latitude') + ); + await userEvent.clear( + screen.getByLabelText('Longitude') + ); + expect(args.onSubmit).not.toHaveBeenCalled(); + await sleep(200); + await userEvent.click(screen.getByText('Submit')); + await sleep(200); + expect(args.onSubmit).toHaveBeenCalledWith({ + name: '', + coords: { + lat: undefined, + long: undefined + } + }); }; diff --git a/packages/react-forms/src/types/renderer.ts b/packages/react-forms/src/types/renderer.ts index 1584e34..1097c57 100644 --- a/packages/react-forms/src/types/renderer.ts +++ b/packages/react-forms/src/types/renderer.ts @@ -1,6 +1,6 @@ import { FormField } from './fields'; import { Control, FieldValues, UseFormSetValue } from 'react-hook-form'; -import { DefaultTexts, FormOptions } from '@heetch/react-forms'; +import { DefaultTexts, FormOptions } from './forms'; export type FormFieldRendererProps = { field: T; diff --git a/yarn.lock b/yarn.lock index 51f81d2..071aced 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1937,12 +1937,11 @@ __metadata: languageName: unknown linkType: soft -"@heetch/flamingo-react@npm:^5.2.0": - version: 5.2.0 - resolution: "@heetch/flamingo-react@npm:5.2.0" +"@heetch/flamingo-react@npm:^4.1.3": + version: 4.1.3 + resolution: "@heetch/flamingo-react@npm:4.1.3" dependencies: "@popperjs/core": ^2.9.2 - "@storybook/addon-backgrounds": ^6.3.9 classnames: ^2.2.6 normalize.css: ^8.0.1 react-datepicker: ^3.3.0 @@ -1954,22 +1953,22 @@ __metadata: react: ">=16.9.0" react-dom: ">=16.9.0" styled-components: ^5.0.1 - checksum: 83f2fd701b27a2aee943b7ae543348980455a3f345aecd0b0b64f3743d056b1d21fa02318748a8702ff6063a9a3816a1adecffe6a4c0d32b5019b17550d74271 + checksum: f09b5e98defbfdf5c0cdaf352ccceae864113ce094f38aa8e9941dbdaadc7ba7a9b9863bbc7edc31510cc5038f9f6e309b5ea2d827cc309a312608a3b19243d2 languageName: node linkType: hard -"@heetch/react-forms@workspace:packages/react-forms": +"@heetch/react-forms-legacy@workspace:packages/react-forms": version: 0.0.0-use.local - resolution: "@heetch/react-forms@workspace:packages/react-forms" + resolution: "@heetch/react-forms-legacy@workspace:packages/react-forms" dependencies: "@react-hook/window-size": ^3.1.1 - react-hook-form: ^7.35.0 + react-hook-form: ~7.44.3 peerDependencies: - "@heetch/flamingo-react": ^5.2.0 + "@heetch/flamingo-react": ^4.1.3 "@react-hook/window-size": ^3.1.1 - react: 18.2.0 - react-dom: 18.2.0 - react-hook-form: ^7.35.0 + react: 17.0.2 + react-dom: 17.0.2 + react-hook-form: ~7.44.3 languageName: unknown linkType: soft @@ -1979,7 +1978,7 @@ __metadata: dependencies: "@babel/core": 7.12.13 "@babel/preset-typescript": 7.12.13 - "@heetch/flamingo-react": ^5.2.0 + "@heetch/flamingo-react": ^4.1.3 "@nrwl/cli": 15.2.1 "@nrwl/eslint-plugin-nx": 15.2.1 "@nrwl/jest": 15.2.1 @@ -2001,9 +2000,9 @@ __metadata: "@svgr/webpack": ^6.4.0 "@testing-library/react": 13.4.0 "@types/jest": 28.1.1 - "@types/node": 18.7.18 - "@types/react": 18.0.20 - "@types/react-dom": 18.0.6 + "@types/node": 16.11.68 + "@types/react": 17.0.39 + "@types/react-dom": 17.0.17 "@types/react-is": 17.0.3 "@types/styled-components": 5.1.26 "@typescript-eslint/eslint-plugin": 5.40.0 @@ -2024,10 +2023,10 @@ __metadata: jest-environment-jsdom: 28.1.1 nx: 15.2.1 prettier: ^2.6.2 - react: 18.2.0 - react-dom: 18.2.0 - react-is: 18.2.0 - react-test-renderer: 18.2.0 + react: 17.0.2 + react-dom: 17.0.2 + react-is: 17.0.2 + react-test-renderer: 17.0.2 regenerator-runtime: 0.13.7 rollup-plugin-terser: ^7.0.2 styled-components: ^5.1.0 @@ -3557,7 +3556,7 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:6.5.12, @storybook/addon-backgrounds@npm:^6.3.9": +"@storybook/addon-backgrounds@npm:6.5.12": version: 6.5.12 resolution: "@storybook/addon-backgrounds@npm:6.5.12" dependencies: @@ -5488,7 +5487,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:18.7.18": +"@types/node@npm:*": version: 18.7.18 resolution: "@types/node@npm:18.7.18" checksum: 8aec61f0f96e2a69ce51f1f40f949ca578bbb4fe05d7c0b8ce3aeeb848e90f755837f17f6ac132ca404d974fe9b2974150ad3b4984fc9dc7c3ceddb10bae0167 @@ -5502,6 +5501,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:16.11.68": + version: 16.11.68 + resolution: "@types/node@npm:16.11.68" + checksum: a35293b6b8867e10ab9e10b6cd5f0e4224a86256d5ef102581dcb9f79f35f255ad87443e8584ddf8dce1229ee28885c58187e41822cf8d1e82495e7897c47c3f + languageName: node + linkType: hard + "@types/node@npm:^14.0.10 || ^16.0.0, @types/node@npm:^14.14.20 || ^16.0.0": version: 16.11.59 resolution: "@types/node@npm:16.11.59" @@ -5579,7 +5585,16 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:18.0.6, @types/react-dom@npm:^18.0.0": +"@types/react-dom@npm:17.0.17": + version: 17.0.17 + resolution: "@types/react-dom@npm:17.0.17" + dependencies: + "@types/react": ^17 + checksum: 23caf98aa03e968811560f92a2c8f451694253ebe16b670929b24eaf0e7fa62ba549abe9db0ac028a9d8a9086acd6ab9c6c773f163fa21224845edbc00ba6232 + languageName: node + linkType: hard + +"@types/react-dom@npm:^18.0.0": version: 18.0.6 resolution: "@types/react-dom@npm:18.0.6" dependencies: @@ -5597,7 +5612,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:18.0.20": +"@types/react@npm:*": version: 18.0.20 resolution: "@types/react@npm:18.0.20" dependencies: @@ -5608,6 +5623,28 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:17.0.39": + version: 17.0.39 + resolution: "@types/react@npm:17.0.39" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: bf04d3c2894559012710d595553e12b422d3b91cd8f4f7e122d8cb044ba9c2ba17f6e8a4e09581359cc5509ddc59cd8c8fabd6774f3505a40a45393f074d6e6e + languageName: node + linkType: hard + +"@types/react@npm:^17": + version: 17.0.58 + resolution: "@types/react@npm:17.0.58" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: 4eaf32b86c43f388c681e34a00921c508dd88a1d1022aebfadc5fe802b7c5bed863de1a17eed31e43ca2d65222952dfe79a022055a0e6e4e1ad89fc5a42ec05e + languageName: node + linkType: hard + "@types/resolve@npm:1.17.1": version: 1.17.1 resolution: "@types/resolve@npm:1.17.1" @@ -18995,15 +19032,16 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" +"react-dom@npm:17.0.2": + version: 17.0.2 + resolution: "react-dom@npm:17.0.2" dependencies: loose-envify: ^1.1.0 - scheduler: ^0.23.0 + object-assign: ^4.1.1 + scheduler: ^0.20.2 peerDependencies: - react: ^18.2.0 - checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc + react: 17.0.2 + checksum: 1c1eaa3bca7c7228d24b70932e3d7c99e70d1d04e13bb0843bbf321582bc25d7961d6b8a6978a58a598af2af496d1cedcfb1bf65f6b0960a0a8161cb8dab743c languageName: node linkType: hard @@ -19028,12 +19066,12 @@ __metadata: languageName: node linkType: hard -"react-hook-form@npm:^7.35.0": - version: 7.35.0 - resolution: "react-hook-form@npm:7.35.0" +"react-hook-form@npm:~7.44.3": + version: 7.44.3 + resolution: "react-hook-form@npm:7.44.3" peerDependencies: react: ^16.8.0 || ^17 || ^18 - checksum: e0e78de4a08fdae9eebf248ddefd99ff35d4964ef2815006704ae4a43972786f62dede3847b41e29d3e89ea6cb16c8f5837b1e00238aa65f7c38cb52aabcaf5b + checksum: 8dc97e705d28d842c60fd79b0f07b8b045c458c234e3bf422baab87a844d0ebecbdf3e349538eaaa5c12366cd85169f60a52ed84dd31cdd99729899e424548bf languageName: node linkType: hard @@ -19050,14 +19088,14 @@ __metadata: languageName: node linkType: hard -"react-is@npm:17.0.2, react-is@npm:^17.0.1": +"react-is@npm:17.0.2, react-is@npm:^17.0.1, react-is@npm:^17.0.2": version: 17.0.2 resolution: "react-is@npm:17.0.2" checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 languageName: node linkType: hard -"react-is@npm:18.2.0, react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.2.0": +"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0": version: 18.2.0 resolution: "react-is@npm:18.2.0" checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e @@ -19133,7 +19171,7 @@ __metadata: languageName: node linkType: hard -"react-shallow-renderer@npm:^16.15.0": +"react-shallow-renderer@npm:^16.13.1": version: 16.15.0 resolution: "react-shallow-renderer@npm:16.15.0" dependencies: @@ -19145,25 +19183,27 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:18.2.0": - version: 18.2.0 - resolution: "react-test-renderer@npm:18.2.0" +"react-test-renderer@npm:17.0.2": + version: 17.0.2 + resolution: "react-test-renderer@npm:17.0.2" dependencies: - react-is: ^18.2.0 - react-shallow-renderer: ^16.15.0 - scheduler: ^0.23.0 + object-assign: ^4.1.1 + react-is: ^17.0.2 + react-shallow-renderer: ^16.13.1 + scheduler: ^0.20.2 peerDependencies: - react: ^18.2.0 - checksum: 6b6980ced93fa2b72662d5e4ab3b4896833586940047ce52ca9aca801e5432adf05fcbe28289b0af3ce6a2a7c590974e25dcc8aa43d0de658bfe8bbcd686f958 + react: 17.0.2 + checksum: e6b5c6ed2a0bde2c34f1ab9523ff9bc4c141a271daf730d6b852374e83acc0155d58ab71a318251e953ebfa65b8bebb9c5dce3eba1ccfcbef7cc4e1e8261c401 languageName: node linkType: hard -"react@npm:18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" +"react@npm:17.0.2": + version: 17.0.2 + resolution: "react@npm:17.0.2" dependencies: loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + object-assign: ^4.1.1 + checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b languageName: node linkType: hard @@ -20039,12 +20079,13 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" +"scheduler@npm:^0.20.2": + version: 0.20.2 + resolution: "scheduler@npm:0.20.2" dependencies: loose-envify: ^1.1.0 - checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a + object-assign: ^4.1.1 + checksum: c4b35cf967c8f0d3e65753252d0f260271f81a81e427241295c5a7b783abf4ea9e905f22f815ab66676f5313be0a25f47be582254db8f9241b259213e999b8fc languageName: node linkType: hard