diff --git a/apps/storefront/src/components/form/B3TextField.tsx b/apps/storefront/src/components/form/B3TextField.tsx index 0a373a65..3c8f809a 100644 --- a/apps/storefront/src/components/form/B3TextField.tsx +++ b/apps/storefront/src/components/form/B3TextField.tsx @@ -7,7 +7,7 @@ import Form from './ui' export const B3TextField = ({ control, errors, ...rest } : Form.B3UIProps) => { const { fieldType, name, default: defaultValue, required, label, validate, variant, rows, - min, max, minLength, maxLength, fullWidth, muiTextFieldProps, + min, max, minLength, maxLength, fullWidth, muiTextFieldProps, disabled, } = rest const fieldsProps = { @@ -28,6 +28,7 @@ export const B3TextField = ({ control, errors, ...rest } : Form.B3UIProps) => { label, key: name, rows, + disabled, multiline: fieldType === 'multiline', variant: variant || 'filled', fullWidth: fullWidth || true, diff --git a/apps/storefront/src/pages/registered/RegisterComplete.tsx b/apps/storefront/src/pages/registered/RegisterComplete.tsx index e954545b..0bb90466 100644 --- a/apps/storefront/src/pages/registered/RegisterComplete.tsx +++ b/apps/storefront/src/pages/registered/RegisterComplete.tsx @@ -1,5 +1,219 @@ -export default function RegisterComplete() { +import { + useContext, useEffect, MouseEvent, useState, +} from 'react' +import { + Box, + Alert, +} from '@mui/material' +import styled from '@emotion/styled' +import { useForm } from 'react-hook-form' + +import { RegisteredContext } from './context/RegisteredContext' +import RegisteredStepButton from './component/RegisteredStepButton' +import { B3CustomForm } from '../../components' + +import { createBCCompanyUser } from '../../shared/service/b2b' + +import { RegisterFileds, CustomFieldItems } from './config' + +const InformationFourLabels = styled('h4')(() => ({ + marginBottom: '20px', +})) + +interface RegisterCompleteProps { + handleBack: () => void, + handleNext: () => void, + activeStep: number, +} + +type RegisterCompleteList = Array | undefined + +const TipContent = styled('div')(() => ({ + display: 'flex', + flexDirection: 'row', + alignItems: 'center', +})) + +export default function RegisterComplete(props: RegisterCompleteProps) { + const { handleBack, activeStep, handleNext } = props + + const [personalInfo, setPersonalInfo] = useState>([]) + const [errorMessage, setErrorMessage] = useState('') + + const { + control, handleSubmit, formState: { errors }, + } = useForm({ + mode: 'all', + }) + const { state } = useContext(RegisteredContext) + + const { + contactInformation, bcContactInformationFields, passwordInformation, accountType, + additionalInformation, addressBasicFields, addressExtraFields, + } = state + + const emailName = accountType === '1' ? 'workEmailAddress' : 'emailAddress' + const list:RegisterCompleteList = accountType === '1' ? contactInformation : bcContactInformationFields + useEffect(() => { + if (!accountType) return + const newPasswordInformation: Array = [] + let emailItem: CustomFieldItems = {} + if (list && list.length) { + const emailFileds = list.find((item: RegisterFileds) => item.name === emailName) || {} + emailItem = { ...emailFileds } + } + emailItem.label = 'email' + emailItem.name = 'email' + emailItem.disabled = true + newPasswordInformation.push(emailItem) + + if (passwordInformation?.length) newPasswordInformation.push(passwordInformation[0]) + newPasswordInformation.push({ + default: '', + required: true, + label: 'Confirm Password', + name: 'Confirm Password', + id: 'Confirm Password', + fieldType: 'password', + xs: 12, + }) + + setPersonalInfo(newPasswordInformation) + }, [contactInformation, bcContactInformationFields, accountType]) + + const getBCFieldsValue = (data: CustomFieldItems) => { + const bcFields: CustomFieldItems = {} + + bcFields.authentication = { + force_password_reset: false, + new_password: data.password, + } + if (list) { + list.forEach((item: any) => { + if (item.name === 'lastName') { + bcFields.last_name = item.default + } + if (item.name === 'firstName') { + bcFields.first_name = item.default + } + if (item.name === 'phoneNumber') { + bcFields.phone = item?.default || '' + } + if (item.name === 'companyName') { + bcFields.company = item?.default || '' + } + if (item.name === emailName) { + bcFields.email = item.default + } + }) + + bcFields.form_fields = [] + + if (additionalInformation && (additionalInformation as Array).length) { + additionalInformation.forEach((field: CustomFieldItems) => { + bcFields.form_fields.push({ + name: field.name, + value: field.default, + }) + }) + } + } + + if (addressBasicFields) { + bcFields.addresses = {} + addressBasicFields.forEach((field: any) => { + if (field.name === 'country') { + bcFields.addresses.country_code = field.default + } + if (field.name === 'address1') { + bcFields.addresses.address1 = field.default + } + if (field.name === 'address2') { + bcFields.addresses.address2 = field.default + } + if (field.name === 'city') { + bcFields.addresses.city = field.default + } + if (field.name === 'state_or_province') { + bcFields.addresses.state_or_province = field.default + } + if (field.name === 'postal_code') { + bcFields.addresses.country_code = field.default + } + }) + } + bcFields.addresses.first_name = bcFields.first_name + bcFields.addresses.last_name = bcFields.last_name + + bcFields.addresses.form_fields = [] + if (addressExtraFields && addressExtraFields.length) { + addressExtraFields.forEach((field: any) => { + bcFields.addresses.form_fields.push({ + name: field.name, + value: field.default, + }) + }) + } + + const userItem: any = { + storeHash: 'rtmh8fqr05', + method: 'post', + url: '/v3/customers', + data: [bcFields], + } + + createBCCompanyUser(userItem) + } + + const getB2BFieldsValue = (data: CustomFieldItems) => {} + + const handleCompleted = (event: MouseEvent) => { + handleSubmit((data: CustomFieldItems) => { + if (accountType === '2') { + getBCFieldsValue(data) + } else { + getB2BFieldsValue(data) + } + })(event) + } + return ( -
RegisterComplete
+ + { + errorMessage && ( + + + {errorMessage} + + + ) + } + + Complete Registration + { + personalInfo && ( + + ) + } + + + + ) } diff --git a/apps/storefront/src/pages/registered/RegisterContent.tsx b/apps/storefront/src/pages/registered/RegisterContent.tsx index 70cfdaac..ecdeddc8 100644 --- a/apps/storefront/src/pages/registered/RegisterContent.tsx +++ b/apps/storefront/src/pages/registered/RegisterContent.tsx @@ -42,12 +42,16 @@ export default function RegisterContent(props: RegisterContentProps) { case 2: return ( - + ) case 3: return ( - + ) default: diff --git a/apps/storefront/src/pages/registered/Registered.tsx b/apps/storefront/src/pages/registered/Registered.tsx index 6301a846..823b1934 100644 --- a/apps/storefront/src/pages/registered/Registered.tsx +++ b/apps/storefront/src/pages/registered/Registered.tsx @@ -72,6 +72,8 @@ export default function Registered() { } }) + const filterPasswordInformation = customerAccount.length && customerAccount.filter((field: RegisterFileds) => !field.custom && field.fieldType === 'password') + const newPasswordInformation: Array = conversionDataFormat(filterPasswordInformation) if (dispatch) { dispatch({ type: 'all', @@ -85,6 +87,7 @@ export default function Registered() { addressBasicFields: [...addressInformationFields], addressExtraFields: [...addressExtraFields], countryList: [...countries], + passwordInformation: [...newPasswordInformation], }, }) } diff --git a/apps/storefront/src/pages/registered/RegisteredAccount.tsx b/apps/storefront/src/pages/registered/RegisteredAccount.tsx index 6b02ccba..d8cb8c55 100644 --- a/apps/storefront/src/pages/registered/RegisteredAccount.tsx +++ b/apps/storefront/src/pages/registered/RegisteredAccount.tsx @@ -55,8 +55,6 @@ export default function RegisteredAccount(props: RegisteredAccountProps) { const captchaRef = useRef(null) - console.log(activeStep, 'activeStep') - const { contactInformation, accountType, additionalInformation, bcContactInformationFields, emailMarketingNewsletter, @@ -83,12 +81,8 @@ export default function RegisteredAccount(props: RegisteredAccountProps) { } const handleAccountToDetail = async (event: MouseEvent) => { - try { - const token = await captchaRef.current.executeAsync() - console.log(token, 'token') - } catch (error) { - console.log(error, 'error') - } + // await captchaRef.current.executeAsync() + handleSubmit((data: CustomFieldItems) => { const email = accountType === '1' ? data.email : data.workEmailAddress getB2BCompanyUserInfo(email).then(({ companyUserInfo: { userType } }: any) => { @@ -216,7 +210,7 @@ export default function RegisteredAccount(props: RegisteredAccountProps) { }} > diff --git a/apps/storefront/src/pages/registered/context/RegisteredContext.tsx b/apps/storefront/src/pages/registered/context/RegisteredContext.tsx index ec25724d..2ae3f4cb 100644 --- a/apps/storefront/src/pages/registered/context/RegisteredContext.tsx +++ b/apps/storefront/src/pages/registered/context/RegisteredContext.tsx @@ -16,6 +16,7 @@ interface RegisterState { addressExtraFields?: Array | Array<[]>, countryList?: Array, stateList?: Array, + passwordInformation?: Array | Array<[]>, } interface RegisterAction { type: string, @@ -34,6 +35,7 @@ const initState = { contactInformation: [], bcContactInformation: [], additionalInformation: [], + passwordInformation: [], accountType: '', emailMarketingNewsletter: false, companyInformation: [], diff --git a/apps/storefront/src/shared/service/b2b/api/register.ts b/apps/storefront/src/shared/service/b2b/api/register.ts new file mode 100644 index 00000000..921f7e0d --- /dev/null +++ b/apps/storefront/src/shared/service/b2b/api/register.ts @@ -0,0 +1,9 @@ +import { B3Request } from '../../request/b3Fetch' + +interface CustomFieldItems { + [key: string]: any +} + +const storeHash = (window as any).b3?.setting?.storeHash || 'rtmh8fqr05' + +export const createBCCompanyUser = (data: CustomFieldItems): CustomFieldItems => B3Request.post('/api/v2/proxy', data) diff --git a/apps/storefront/src/shared/service/b2b/graphql/register.ts b/apps/storefront/src/shared/service/b2b/graphql/register.ts index 2a704eef..56a775cc 100644 --- a/apps/storefront/src/shared/service/b2b/graphql/register.ts +++ b/apps/storefront/src/shared/service/b2b/graphql/register.ts @@ -51,6 +51,10 @@ const getCountries = () => `{ } }` +// const createB2BCompanyUser = () => `{ + +// }` + export const getB2BCompanyUserInfo = (email: string): CustomFieldItems => B3Request.graphqlB2B({ query: getCompanyUserInfo(email) }) export const getB2BRegisterLogo = (): CustomFieldItems => B3Request.graphqlB2B({ query: getRegisterLogo() }) diff --git a/apps/storefront/src/shared/service/b2b/index.ts b/apps/storefront/src/shared/service/b2b/index.ts index db131265..593076cc 100644 --- a/apps/storefront/src/shared/service/b2b/index.ts +++ b/apps/storefront/src/shared/service/b2b/index.ts @@ -5,9 +5,14 @@ import { getB2BCountries, } from './graphql/register' +import { + createBCCompanyUser, +} from './api/register' + export { getB2BRegisterCustomFields, getB2BRegisterLogo, getB2BCompanyUserInfo, getB2BCountries, + createBCCompanyUser, } diff --git a/apps/storefront/src/shared/service/request/b3Fetch.ts b/apps/storefront/src/shared/service/request/b3Fetch.ts index 004ef4f8..e4e5a237 100644 --- a/apps/storefront/src/shared/service/request/b3Fetch.ts +++ b/apps/storefront/src/shared/service/request/b3Fetch.ts @@ -63,7 +63,8 @@ function request(path: string, config?: T) { }, ...config, } - return b3Fetch(path, init) + const url = `https://dev-v2.bundleb2b.net/api${path}` + return b3Fetch(url, init) } function graphqlRequest(type: string, data: T, config?: Y) { diff --git a/yarn.lock b/yarn.lock index 43ff1ac7..dfe3ef7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,6 +221,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" + integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" @@ -750,6 +757,15 @@ "@mui/utils" "^5.8.6" prop-types "^15.8.1" +"@mui/private-theming@^5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.9.0.tgz#d2437ed95ecfa3bfc9d2ee7c6053c94d4931cb26" + integrity sha512-t0ZsWxE/LvX5RH5azjx1esBHbIfD9zjnbSAYkpE59BPpkOrqAYDGoJguL2EPd9LaUb6COmBozmAwNenvI6RJRQ== + dependencies: + "@babel/runtime" "^7.17.2" + "@mui/utils" "^5.9.0" + prop-types "^15.8.1" + "@mui/styled-engine@^5.8.7": version "5.8.7" resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.8.7.tgz#63d0779c07677fe76d4705a02c7ae99f89b50780" @@ -760,6 +776,29 @@ csstype "^3.1.0" prop-types "^15.8.1" +"@mui/styles@^5.8.7": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.9.0.tgz#bfac6206bd75d6635eb0f58ee291da0f4f37f200" + integrity sha512-RV8XUXzpWQ65fjOcu6WHPDZjBpdTN0+YG2JJbKWzz7yphG9SFNp13wLk0BHP2O+C7VBoIqmIg1twOZAIwMaBzg== + dependencies: + "@babel/runtime" "^7.17.2" + "@emotion/hash" "^0.8.0" + "@mui/private-theming" "^5.9.0" + "@mui/types" "^7.1.4" + "@mui/utils" "^5.9.0" + clsx "^1.2.1" + csstype "^3.1.0" + hoist-non-react-statics "^3.3.2" + jss "^10.8.2" + jss-plugin-camel-case "^10.8.2" + jss-plugin-default-unit "^10.8.2" + jss-plugin-global "^10.8.2" + jss-plugin-nested "^10.8.2" + jss-plugin-props-sort "^10.8.2" + jss-plugin-rule-value-function "^10.8.2" + jss-plugin-vendor-prefixer "^10.8.2" + prop-types "^15.8.1" + "@mui/system@^5.8.7": version "5.8.7" resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.8.7.tgz#6a7ab6ac8d3e6a6c7abcbea84b5697cbb225beb8" @@ -779,7 +818,7 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.4.tgz#4185c05d6df63ec673cda15feab80440abadc764" integrity sha512-uveM3byMbthO+6tXZ1n2zm0W3uJCQYtwt/v5zV5I77v2v18u0ITkb8xwhsDD2i3V2Kye7SaNR6FFJ6lMuY/WqQ== -"@mui/utils@^5.4.1": +"@mui/utils@^5.4.1", "@mui/utils@^5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.9.0.tgz#2e1ac58905b767de47412cb32475862875b8e880" integrity sha512-GAaiWP6zBC3RE1NHP9y1c1iKZh5s/nyKKqWxfTrw5lNQY5tWTh9/47F682FuiE5WT1o3h4w/LEkSSIZpMEDzrA== @@ -1259,6 +1298,11 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +attr-accept@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + axe-core@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.2.tgz#dcf7fb6dea866166c3eab33d68208afe4d5f670c" @@ -1426,7 +1470,7 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clsx@^1.2.0, clsx@^1.2.1: +clsx@^1.0.2, clsx@^1.2.0, clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -1573,6 +1617,14 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" + integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + csstype@^3.0.2, csstype@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" @@ -2184,6 +2236,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-selector@^0.1.12: + version "0.1.19" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.1.19.tgz#8ecc9d069a6f544f2e4a096b64a8052e70ec8abf" + integrity sha512-kCWw3+Aai8Uox+5tHCNgMFaUdgidxvMnLWO6fM5sZ0hA2wlHP5/DHGF0ECe84BiB95qdJbKNEJhWKVDvMN+JDQ== + dependencies: + tslib "^2.0.1" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2485,6 +2544,11 @@ husky@^8.0.1: resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" @@ -2613,6 +2677,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -2766,6 +2835,76 @@ jsonparse@^1.2.0: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== +jss-plugin-camel-case@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.0.tgz#4921b568b38d893f39736ee8c4c5f1c64670aaf7" + integrity sha512-UH6uPpnDk413/r/2Olmw4+y54yEF2lRIV8XIZyuYpgPYTITLlPOsq6XB9qeqv+75SQSg3KLocq5jUBXW8qWWww== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.9.0" + +jss-plugin-default-unit@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.0.tgz#bb23a48f075bc0ce852b4b4d3f7582bc002df991" + integrity sha512-7Ju4Q9wJ/MZPsxfu4T84mzdn7pLHWeqoGd/D8O3eDNNJ93Xc8PxnLmV8s8ZPNRYkLdxZqKtm1nPQ0BM4JRlq2w== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.0" + +jss-plugin-global@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.9.0.tgz#fc07a0086ac97aca174e37edb480b69277f3931f" + integrity sha512-4G8PHNJ0x6nwAFsEzcuVDiBlyMsj2y3VjmFAx/uHk/R/gzJV+yRHICjT4MKGGu1cJq2hfowFWCyrr/Gg37FbgQ== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.0" + +jss-plugin-nested@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.9.0.tgz#cc1c7d63ad542c3ccc6e2c66c8328c6b6b00f4b3" + integrity sha512-2UJnDrfCZpMYcpPYR16oZB7VAC6b/1QLsRiAutOt7wJaaqwCBvNsosLEu/fUyKNQNGdvg2PPJFDO5AX7dwxtoA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.0.tgz#30e9567ef9479043feb6e5e59db09b4de687c47d" + integrity sha512-7A76HI8bzwqrsMOJTWKx/uD5v+U8piLnp5bvru7g/3ZEQOu1+PjHvv7bFdNO3DwNPC9oM0a//KwIJsIcDCjDzw== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.0" + +jss-plugin-rule-value-function@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.0.tgz#379fd2732c0746fe45168011fe25544c1a295d67" + integrity sha512-IHJv6YrEf8pRzkY207cPmdbBstBaE+z8pazhPShfz0tZSDtRdQua5jjg6NMz3IbTasVx9FdnmptxPqSWL5tyJg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.9.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.0.tgz#aa9df98abfb3f75f7ed59a3ec50a5452461a206a" + integrity sha512-MbvsaXP7iiVdYVSEoi+blrW+AYnTDvHTW6I6zqi7JcwXdc6I9Kbm234nEblayhF38EftoenbM+5218pidmC5gA== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.9.0" + +jss@10.9.0, jss@^10.8.2: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.9.0.tgz#7583ee2cdc904a83c872ba695d1baab4b59c141b" + integrity sha512-YpzpreB6kUunQBbrlArlsMpXYyndt9JATbt95tajx0t4MTJJcCJdd4hdNpHmOIDiUJrF/oX5wtVFrS3uofWfGw== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.1.tgz#a3e0f1cb7e230954eab4dcbce9f6288a78f8ba44" @@ -3363,6 +3502,15 @@ react-dom@^18.0.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-dropzone@^10.2.1: + version "10.2.2" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-10.2.2.tgz#67b4db7459589a42c3b891a82eaf9ade7650b815" + integrity sha512-U5EKckXVt6IrEyhMMsgmHQiWTGLudhajPPG77KFSvgsMqNEHSyGpqWvOMc5+DhEah/vH4E1n+J5weBNLd5VtyA== + dependencies: + attr-accept "^2.0.0" + file-selector "^0.1.12" + prop-types "^15.7.2" + react-google-recaptcha@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/react-google-recaptcha/-/react-google-recaptcha-2.1.0.tgz#9f6f4954ce49c1dedabc2c532347321d892d0a16" @@ -3407,6 +3555,15 @@ react-is@^18.2.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-mui-dropzone@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/react-mui-dropzone/-/react-mui-dropzone-4.0.6.tgz#9e98337daed53638a5ea4b0606f98ac1f5e245f0" + integrity sha512-1rRlI+1wVydoL1tFx5LXt7k/CSXKmWYFn7bm5TUqiq/WnBnE8VI+tShSqqG7yJwSbvncpZXAn9Lnjgrcvxvy8Q== + dependencies: + "@babel/runtime" "^7.4.4" + clsx "^1.0.2" + react-dropzone "^10.2.1" + react-refresh@^0.13.0: version "0.13.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.13.0.tgz#cbd01a4482a177a5da8d44c9755ebb1f26d5a1c1" @@ -3918,6 +4075,11 @@ through2@^4.0.0: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -3986,7 +4148,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0: +tslib@^2.0.1, tslib@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==