@gusto/embedded-react-sdk 0.10.7 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/components/Common/HamburgerMenu/HamburgerMenu.js +20 -19
- package/dist/components/Common/HamburgerMenu/HamburgerMenu.js.map +1 -1
- package/dist/components/Common/ReorderableList/ReorderableItem.js +1 -1
- package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
- package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
- package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
- package/dist/components/Common/UI/Button/Button.d.ts +1 -1
- package/dist/components/Common/UI/Button/Button.js +4 -4
- package/dist/components/Common/UI/Button/Button.js.map +1 -1
- package/dist/components/Common/UI/Button/ButtonTypes.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +0 -5
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +34 -38
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +3 -2
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +3 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +0 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +51 -54
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +13 -14
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +3 -2
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +0 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +40 -43
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +10 -11
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/index.d.ts +0 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +0 -5
- package/dist/components/Company/BankAccount/BankAccount.js +17 -23
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +6 -6
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +0 -5
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +28 -31
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +0 -5
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +25 -28
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +8 -7
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +0 -5
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +33 -36
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +3 -2
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +0 -6
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +38 -43
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +0 -4
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +23 -26
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -6
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +41 -46
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +6 -5
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +12 -13
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +4 -3
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +3 -2
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +5 -4
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +0 -5
- package/dist/components/Company/Industry/Industry.js +23 -29
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +7 -6
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +5 -6
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +0 -5
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +44 -48
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +0 -4
- package/dist/components/Company/Locations/Locations.js +14 -18
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +7 -6
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +3 -2
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +0 -5
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +28 -32
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/Completed.js +11 -10
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js +7 -6
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -3
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +1 -7
- package/dist/components/Company/PaySchedule/PaySchedule.js +72 -77
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Actions.js +10 -9
- package/dist/components/Company/PaySchedule/_parts/Actions.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Edit.js +37 -38
- package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/Head.js +7 -6
- package/dist/components/Company/PaySchedule/_parts/Head.js.map +1 -1
- package/dist/components/Company/PaySchedule/_parts/List.js +12 -11
- package/dist/components/Company/PaySchedule/_parts/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +0 -4
- package/dist/components/Company/StateTaxes/StateTaxes.js +16 -20
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -2
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +0 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +44 -47
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +3 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +3 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +0 -5
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -29
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Contractor/Address/Address.d.ts +0 -5
- package/dist/components/Contractor/Address/Address.js +35 -39
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Form.js +3 -4
- package/dist/components/Contractor/Address/Form.js.map +1 -1
- package/dist/components/Contractor/List/index.js +2 -3
- package/dist/components/Contractor/List/index.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +6 -5
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +11 -0
- package/dist/components/Contractor/Profile/ContractorProfile.js +24 -0
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +5 -0
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +140 -0
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -0
- package/dist/components/Contractor/Profile/index.d.ts +3 -0
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +254 -0
- package/dist/components/Contractor/Profile/useContractorProfile.js +223 -0
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -0
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.d.ts +6 -0
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js +27 -0
- package/dist/components/Contractor/Submit/ContractorSubmitWithApi.js.map +1 -0
- package/dist/components/Contractor/Submit/SubmitDone.d.ts +5 -0
- package/dist/components/Contractor/Submit/SubmitDone.js +18 -0
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -0
- package/dist/components/Contractor/Submit/index.d.ts +6 -0
- package/dist/components/Contractor/Submit/index.js +20 -0
- package/dist/components/Contractor/Submit/index.js.map +1 -0
- package/dist/components/Contractor/Submit/index.module.scss.js +8 -0
- package/dist/components/Contractor/Submit/index.module.scss.js.map +1 -0
- package/dist/components/Contractor/index.d.ts +2 -0
- package/dist/components/Contractor/index.js +10 -6
- package/dist/components/Contractor/index.js.map +1 -1
- package/dist/components/Employee/Compensation/Actions.js +1 -1
- package/dist/components/Employee/Compensation/Compensation.d.ts +0 -6
- package/dist/components/Employee/Compensation/Compensation.js +97 -102
- package/dist/components/Employee/Compensation/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/Edit.js +12 -12
- package/dist/components/Employee/Compensation/List.js +23 -22
- package/dist/components/Employee/Compensation/List.js.map +1 -1
- package/dist/components/Employee/Deductions/Actions.js +8 -7
- package/dist/components/Employee/Deductions/Actions.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionForm.js +11 -10
- package/dist/components/Employee/Deductions/DeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsList.js +6 -5
- package/dist/components/Employee/Deductions/DeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/IncludeDeductionsForm.js +11 -10
- package/dist/components/Employee/Deductions/IncludeDeductionsForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js +7 -6
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.d.ts +0 -5
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +25 -29
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js +3 -2
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentSigner.d.ts +1 -7
- package/dist/components/Employee/DocumentSigner/DocumentSigner.js +16 -20
- package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.d.ts +0 -7
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +40 -45
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/Actions.js +3 -2
- package/dist/components/Employee/EmployeeList/Actions.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.d.ts +0 -5
- package/dist/components/Employee/EmployeeList/EmployeeList.js +56 -60
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/Head.js +6 -5
- package/dist/components/Employee/EmployeeList/Head.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +12 -12
- package/dist/components/Employee/Landing/Landing.js +8 -8
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +7 -7
- package/dist/components/Employee/PaymentMethod/Actions.js +6 -5
- package/dist/components/Employee/PaymentMethod/Actions.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +1 -1
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js +9 -8
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/Split.js +8 -8
- package/dist/components/Employee/Profile/Actions.js +7 -6
- package/dist/components/Employee/Profile/Actions.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +3 -3
- package/dist/components/Employee/Profile/HomeAddress.js +5 -6
- package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js +10 -11
- package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
- package/dist/components/Employee/Profile/Profile.d.ts +0 -8
- package/dist/components/Employee/Profile/Profile.js +131 -138
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Taxes/Actions.js +9 -8
- package/dist/components/Employee/Taxes/Actions.js.map +1 -1
- package/dist/components/Employee/Taxes/FederalForm.js +11 -10
- package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.d.ts +0 -6
- package/dist/components/Employee/Taxes/Taxes.js +76 -81
- package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/i18n/I18n.js +1 -1
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorSubmit.json.js +22 -0
- package/dist/i18n/en/Contractor.ContractorSubmit.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Profile.json.js +73 -0
- package/dist/i18n/en/Contractor.Profile.json.js.map +1 -0
- package/dist/shared/constants.d.ts +14 -0
- package/dist/shared/constants.js +33 -26
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +77 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesCreateMutation } from '@gusto/embedded-api/react-query/signatoriesCreate'\nimport { useSignatoriesUpdateMutation } from '@gusto/embedded-api/react-query/signatoriesUpdate'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type CreateSignatoryInputs } from './CreateSignatoryForm'\nimport { CreateSignatoryForm } from './CreateSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './CreateSignatory.module.scss'\nimport type { CreateSignatoryDefaultValues } from './useCreateSignatory'\nimport { CreateSignatoryProvider } from './useCreateSignatory'\nimport { generateCreateSignatorySchema } from './Schema'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\n\ninterface CreateSignatoryProps extends CommonComponentInterface {\n companyId: string\n signatoryId?: string\n defaultValues?: CreateSignatoryDefaultValues\n}\n\nexport function CreateSignatory(props: CreateSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n}: CreateSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const currentSignatory = signatories.find(signatory => signatory.uuid === signatoryId)\n\n const createSignatoryMutation = useSignatoriesCreateMutation()\n const updateSignatoryMutation = useSignatoriesUpdateMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const defaultBirthday = currentSignatory?.birthday ?? defaultValues?.birthday\n\n const createSignatoryDefaultValues = {\n firstName: currentSignatory?.firstName ?? defaultValues?.firstName ?? '',\n lastName: currentSignatory?.lastName ?? defaultValues?.lastName ?? '',\n email: currentSignatory?.email ?? defaultValues?.email ?? '',\n title: currentSignatory?.title ?? defaultValues?.title ?? '',\n phone: transformPhone(currentSignatory?.phone ?? defaultValues?.phone ?? ''),\n ssn: currentSignatory?.hasSsn ? '' : defaultValues?.ssn,\n street1: currentSignatory?.homeAddress?.street1 ?? defaultValues?.street1,\n street2: currentSignatory?.homeAddress?.street2 ?? defaultValues?.street2,\n city: currentSignatory?.homeAddress?.city ?? defaultValues?.city,\n state: currentSignatory?.homeAddress?.state ?? defaultValues?.state,\n zip: currentSignatory?.homeAddress?.zip ?? defaultValues?.zip,\n ...(defaultBirthday ? { birthday: new Date(defaultBirthday) } : {}),\n }\n\n const formMethods = useForm<CreateSignatoryInputs>({\n resolver: zodResolver(generateCreateSignatorySchema(currentSignatory?.hasSsn)),\n defaultValues: createSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: CreateSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { street1, street2, city, state, zip, birthday, email, ssn, ...signatoryData } = payload\n\n const commonData = {\n ...signatoryData,\n birthday: formatDateToStringDate(birthday) || '',\n homeAddress: {\n street1,\n street2,\n city,\n state,\n zip,\n },\n }\n\n if (currentSignatory) {\n const updateSignatoryResponse = await updateSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: currentSignatory.uuid,\n requestBody: {\n version: currentSignatory.version,\n ...(ssn ? { ssn } : {}),\n ...commonData,\n },\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_UPDATED, updateSignatoryResponse.signatory)\n } else {\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n const createSignatoryResponse = await createSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n email,\n ssn: ssn || '',\n ...commonData,\n },\n },\n })\n onEvent(companyEvents.COMPANY_SIGNATORY_CREATED, createSignatoryResponse.signatory)\n }\n onEvent(companyEvents.COMPANY_CREATE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <CreateSignatoryProvider\n value={{\n isPending:\n createSignatoryMutation.isPending ||\n deleteSignatoryMutation.isPending ||\n updateSignatoryMutation.isPending,\n currentSignatory,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <CreateSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </CreateSignatoryProvider>\n </section>\n )\n}\n\nCreateSignatory.Form = CreateSignatoryForm\nCreateSignatory.Actions = Actions\n"],"names":["CreateSignatory","props","jsx","BaseComponent","Root","companyId","signatoryId","defaultValues","className","children","useI18n","onEvent","baseSubmitHandler","useBase","transformPhone","useMaskedTransform","commonMasks","signatoryList","useSignatoriesListSuspense","signatories","currentSignatory","signatory","createSignatoryMutation","useSignatoriesCreateMutation","updateSignatoryMutation","useSignatoriesUpdateMutation","deleteSignatoryMutation","useSignatoriesDeleteMutation","defaultBirthday","createSignatoryDefaultValues","formMethods","useForm","zodResolver","generateCreateSignatorySchema","onSubmit","data","payload","street1","street2","city","state","zip","birthday","email","ssn","signatoryData","commonData","formatDateToStringDate","updateSignatoryResponse","companyEvents","createSignatoryResponse","classNames","styles","CreateSignatoryProvider","FormProvider","Form","Flex","jsxs","Fragment","CreateSignatoryForm","Actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreateSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesCreateMutation } from '@gusto/embedded-api/react-query/signatoriesCreate'\nimport { useSignatoriesUpdateMutation } from '@gusto/embedded-api/react-query/signatoriesUpdate'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type CreateSignatoryInputs } from './CreateSignatoryForm'\nimport { CreateSignatoryForm } from './CreateSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './CreateSignatory.module.scss'\nimport type { CreateSignatoryDefaultValues } from './useCreateSignatory'\nimport { CreateSignatoryProvider } from './useCreateSignatory'\nimport { generateCreateSignatorySchema } from './Schema'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\n\ninterface CreateSignatoryProps extends CommonComponentInterface {\n companyId: string\n signatoryId?: string\n defaultValues?: CreateSignatoryDefaultValues\n}\n\nexport function CreateSignatory(props: CreateSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({\n companyId,\n signatoryId,\n defaultValues,\n className,\n children,\n}: CreateSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const currentSignatory = signatories.find(signatory => signatory.uuid === signatoryId)\n\n const createSignatoryMutation = useSignatoriesCreateMutation()\n const updateSignatoryMutation = useSignatoriesUpdateMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const defaultBirthday = currentSignatory?.birthday ?? defaultValues?.birthday\n\n const createSignatoryDefaultValues = {\n firstName: currentSignatory?.firstName ?? defaultValues?.firstName ?? '',\n lastName: currentSignatory?.lastName ?? defaultValues?.lastName ?? '',\n email: currentSignatory?.email ?? defaultValues?.email ?? '',\n title: currentSignatory?.title ?? defaultValues?.title ?? '',\n phone: transformPhone(currentSignatory?.phone ?? defaultValues?.phone ?? ''),\n ssn: currentSignatory?.hasSsn ? '' : defaultValues?.ssn,\n street1: currentSignatory?.homeAddress?.street1 ?? defaultValues?.street1,\n street2: currentSignatory?.homeAddress?.street2 ?? defaultValues?.street2,\n city: currentSignatory?.homeAddress?.city ?? defaultValues?.city,\n state: currentSignatory?.homeAddress?.state ?? defaultValues?.state,\n zip: currentSignatory?.homeAddress?.zip ?? defaultValues?.zip,\n ...(defaultBirthday ? { birthday: new Date(defaultBirthday) } : {}),\n }\n\n const formMethods = useForm<CreateSignatoryInputs>({\n resolver: zodResolver(generateCreateSignatorySchema(currentSignatory?.hasSsn)),\n defaultValues: createSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: CreateSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { street1, street2, city, state, zip, birthday, email, ssn, ...signatoryData } = payload\n\n const commonData = {\n ...signatoryData,\n birthday: formatDateToStringDate(birthday) || '',\n homeAddress: {\n street1,\n street2,\n city,\n state,\n zip,\n },\n }\n\n if (currentSignatory) {\n const updateSignatoryResponse = await updateSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: currentSignatory.uuid,\n requestBody: {\n version: currentSignatory.version,\n ...(ssn ? { ssn } : {}),\n ...commonData,\n },\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_UPDATED, updateSignatoryResponse.signatory)\n } else {\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n const createSignatoryResponse = await createSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n email,\n ssn: ssn || '',\n ...commonData,\n },\n },\n })\n onEvent(companyEvents.COMPANY_SIGNATORY_CREATED, createSignatoryResponse.signatory)\n }\n onEvent(companyEvents.COMPANY_CREATE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <CreateSignatoryProvider\n value={{\n isPending:\n createSignatoryMutation.isPending ||\n deleteSignatoryMutation.isPending ||\n updateSignatoryMutation.isPending,\n currentSignatory,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <CreateSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </CreateSignatoryProvider>\n </section>\n )\n}\n"],"names":["CreateSignatory","props","jsx","BaseComponent","Root","companyId","signatoryId","defaultValues","className","children","useI18n","onEvent","baseSubmitHandler","useBase","transformPhone","useMaskedTransform","commonMasks","signatoryList","useSignatoriesListSuspense","signatories","currentSignatory","signatory","createSignatoryMutation","useSignatoriesCreateMutation","updateSignatoryMutation","useSignatoriesUpdateMutation","deleteSignatoryMutation","useSignatoriesDeleteMutation","defaultBirthday","createSignatoryDefaultValues","formMethods","useForm","zodResolver","generateCreateSignatorySchema","onSubmit","data","payload","street1","street2","city","state","zip","birthday","email","ssn","signatoryData","commonData","formatDateToStringDate","updateSignatoryResponse","companyEvents","createSignatoryResponse","classNames","styles","CreateSignatoryProvider","FormProvider","Form","Flex","jsxs","Fragment","CreateSignatoryForm","Actions"],"mappings":"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"}
|
|
@@ -3,17 +3,16 @@ import { useTranslation as c } from "react-i18next";
|
|
|
3
3
|
import { useCreateSignatory as p } from "./useCreateSignatory.js";
|
|
4
4
|
import { Flex as o } from "../../../Common/Flex/Flex.js";
|
|
5
5
|
import { Grid as n } from "../../../Common/Grid/Grid.js";
|
|
6
|
-
import "classnames";
|
|
7
|
-
import { STATES_ABBR as u } from "../../../../shared/constants.js";
|
|
8
|
-
import { usePlaceholderSSN as g, normalizeSSN as h } from "../../../../helpers/ssn.js";
|
|
9
|
-
import { TitleSelect as f } from "../TitleSelect.js";
|
|
10
|
-
import { useMaskedTransform as y, commonMasks as b } from "../../../../helpers/mask.js";
|
|
11
|
-
import { useComponentContext as S } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
6
|
import { TextInputField as s } from "../../../Common/Fields/TextInputField/TextInputField.js";
|
|
13
|
-
import { DatePickerField as
|
|
7
|
+
import { DatePickerField as u } from "../../../Common/Fields/DatePickerField/DatePickerField.js";
|
|
8
|
+
import { STATES_ABBR as g } from "../../../../shared/constants.js";
|
|
9
|
+
import { usePlaceholderSSN as h, normalizeSSN as f } from "../../../../helpers/ssn.js";
|
|
10
|
+
import { TitleSelect as y } from "../TitleSelect.js";
|
|
11
|
+
import { useMaskedTransform as b, commonMasks as S } from "../../../../helpers/mask.js";
|
|
12
|
+
import { useComponentContext as D } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
14
13
|
import { SelectField as M } from "../../../Common/Fields/SelectField/SelectField.js";
|
|
15
|
-
const
|
|
16
|
-
const i =
|
|
14
|
+
const j = () => {
|
|
15
|
+
const i = D(), { currentSignatory: t } = p(), { t: e } = c("Company.AssignSignatory"), d = h(t?.hasSsn), m = b(S.phoneMask);
|
|
17
16
|
return /* @__PURE__ */ a(o, { flexDirection: "column", gap: 32, children: [
|
|
18
17
|
/* @__PURE__ */ a(o, { flexDirection: "column", gap: 12, children: [
|
|
19
18
|
/* @__PURE__ */ a("header", { children: [
|
|
@@ -49,7 +48,7 @@ const A = () => {
|
|
|
49
48
|
isDisabled: !!t
|
|
50
49
|
}
|
|
51
50
|
),
|
|
52
|
-
/* @__PURE__ */ r(
|
|
51
|
+
/* @__PURE__ */ r(y, {}),
|
|
53
52
|
/* @__PURE__ */ r(
|
|
54
53
|
s,
|
|
55
54
|
{
|
|
@@ -67,12 +66,12 @@ const A = () => {
|
|
|
67
66
|
label: e("signatoryDetails.ssn"),
|
|
68
67
|
errorMessage: e("validations.ssn", { ns: "common" }),
|
|
69
68
|
isRequired: !t?.hasSsn,
|
|
70
|
-
transform:
|
|
69
|
+
transform: f,
|
|
71
70
|
placeholder: d
|
|
72
71
|
}
|
|
73
72
|
),
|
|
74
73
|
/* @__PURE__ */ r(
|
|
75
|
-
|
|
74
|
+
u,
|
|
76
75
|
{
|
|
77
76
|
name: "birthday",
|
|
78
77
|
label: e("signatoryDetails.birthday"),
|
|
@@ -111,7 +110,7 @@ const A = () => {
|
|
|
111
110
|
M,
|
|
112
111
|
{
|
|
113
112
|
name: "state",
|
|
114
|
-
options:
|
|
113
|
+
options: g.map((l) => ({
|
|
115
114
|
label: e(`statesHash.${l}`, { ns: "common" }),
|
|
116
115
|
value: l
|
|
117
116
|
})),
|
|
@@ -135,6 +134,6 @@ const A = () => {
|
|
|
135
134
|
] });
|
|
136
135
|
};
|
|
137
136
|
export {
|
|
138
|
-
|
|
137
|
+
j as CreateSignatoryForm
|
|
139
138
|
};
|
|
140
139
|
//# sourceMappingURL=CreateSignatoryForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateSignatoryForm.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { z } from 'zod'\nimport { useCreateSignatory } from './useCreateSignatory'\nimport type { generateCreateSignatorySchema } from './Schema'\nimport { TextInputField, Grid, Flex, SelectField, DatePickerField } from '@/components/Common'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { normalizeSSN, usePlaceholderSSN } from '@/helpers/ssn'\nimport { TitleSelect } from '@/components/Company/AssignSignatory/TitleSelect'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport type CreateSignatoryInputs = z.infer<ReturnType<typeof generateCreateSignatorySchema>>\n\nexport const CreateSignatoryForm = () => {\n const Components = useComponentContext()\n const { currentSignatory } = useCreateSignatory()\n const { t } = useTranslation('Company.AssignSignatory')\n const placeholderSSN = usePlaceholderSSN(currentSignatory?.hasSsn)\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('signatoryDetails.title')}</Components.Heading>\n <Components.Text>{t('signatoryDetails.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"firstName\"\n label={t('signatoryDetails.firstName')}\n isRequired\n errorMessage={t('validations.firstName')}\n />\n <TextInputField\n name=\"lastName\"\n label={t('signatoryDetails.lastName')}\n isRequired\n errorMessage={t('validations.lastName')}\n />\n <TextInputField\n name=\"email\"\n label={t('signatoryDetails.email')}\n isRequired\n errorMessage={t('validations.email')}\n isDisabled={Boolean(currentSignatory)}\n />\n <TitleSelect />\n <TextInputField\n name=\"phone\"\n label={t('signatoryDetails.phone')}\n isRequired\n errorMessage={t('validations.phone')}\n transform={transformPhone}\n />\n <TextInputField\n name=\"ssn\"\n label={t('signatoryDetails.ssn')}\n errorMessage={t('validations.ssn', { ns: 'common' })}\n isRequired={!currentSignatory?.hasSsn}\n transform={normalizeSSN}\n placeholder={placeholderSSN}\n />\n <DatePickerField\n name=\"birthday\"\n label={t('signatoryDetails.birthday')}\n errorMessage={t('validations.dob')}\n isRequired\n />\n </Grid>\n </Flex>\n\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('address.title')}</Components.Heading>\n <Components.Text>{t('address.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"street1\"\n label={t('address.street1')}\n isRequired\n errorMessage={t('validations.address.street1')}\n />\n <TextInputField name=\"street2\" label={t('address.street2')} />\n <TextInputField\n name=\"city\"\n label={t('address.city')}\n isRequired\n errorMessage={t('validations.address.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('address.state')}\n placeholder={t('address.statePlaceholder')}\n errorMessage={t('validations.address.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n label={t('address.zip')}\n isRequired\n errorMessage={t('validations.address.zip')}\n />\n </Grid>\n </Flex>\n </Flex>\n )\n}\n"],"names":["CreateSignatoryForm","Components","useComponentContext","currentSignatory","useCreateSignatory","t","useTranslation","placeholderSSN","usePlaceholderSSN","transformPhone","useMaskedTransform","commonMasks","jsxs","Flex","jsx","Grid","TextInputField","TitleSelect","normalizeSSN","DatePickerField","SelectField","STATES_ABBR","stateAbbr"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateSignatoryForm.js","sources":["../../../../../src/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { z } from 'zod'\nimport { useCreateSignatory } from './useCreateSignatory'\nimport type { generateCreateSignatorySchema } from './Schema'\nimport { TextInputField, Grid, Flex, SelectField, DatePickerField } from '@/components/Common'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { normalizeSSN, usePlaceholderSSN } from '@/helpers/ssn'\nimport { TitleSelect } from '@/components/Company/AssignSignatory/TitleSelect'\nimport { commonMasks, useMaskedTransform } from '@/helpers/mask'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport type CreateSignatoryInputs = z.infer<ReturnType<typeof generateCreateSignatorySchema>>\n\nexport const CreateSignatoryForm = () => {\n const Components = useComponentContext()\n const { currentSignatory } = useCreateSignatory()\n const { t } = useTranslation('Company.AssignSignatory')\n const placeholderSSN = usePlaceholderSSN(currentSignatory?.hasSsn)\n const transformPhone = useMaskedTransform(commonMasks.phoneMask)\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('signatoryDetails.title')}</Components.Heading>\n <Components.Text>{t('signatoryDetails.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"firstName\"\n label={t('signatoryDetails.firstName')}\n isRequired\n errorMessage={t('validations.firstName')}\n />\n <TextInputField\n name=\"lastName\"\n label={t('signatoryDetails.lastName')}\n isRequired\n errorMessage={t('validations.lastName')}\n />\n <TextInputField\n name=\"email\"\n label={t('signatoryDetails.email')}\n isRequired\n errorMessage={t('validations.email')}\n isDisabled={Boolean(currentSignatory)}\n />\n <TitleSelect />\n <TextInputField\n name=\"phone\"\n label={t('signatoryDetails.phone')}\n isRequired\n errorMessage={t('validations.phone')}\n transform={transformPhone}\n />\n <TextInputField\n name=\"ssn\"\n label={t('signatoryDetails.ssn')}\n errorMessage={t('validations.ssn', { ns: 'common' })}\n isRequired={!currentSignatory?.hasSsn}\n transform={normalizeSSN}\n placeholder={placeholderSSN}\n />\n <DatePickerField\n name=\"birthday\"\n label={t('signatoryDetails.birthday')}\n errorMessage={t('validations.dob')}\n isRequired\n />\n </Grid>\n </Flex>\n\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('address.title')}</Components.Heading>\n <Components.Text>{t('address.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"street1\"\n label={t('address.street1')}\n isRequired\n errorMessage={t('validations.address.street1')}\n />\n <TextInputField name=\"street2\" label={t('address.street2')} />\n <TextInputField\n name=\"city\"\n label={t('address.city')}\n isRequired\n errorMessage={t('validations.address.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('address.state')}\n placeholder={t('address.statePlaceholder')}\n errorMessage={t('validations.address.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n label={t('address.zip')}\n isRequired\n errorMessage={t('validations.address.zip')}\n />\n </Grid>\n </Flex>\n </Flex>\n )\n}\n"],"names":["CreateSignatoryForm","Components","useComponentContext","currentSignatory","useCreateSignatory","t","useTranslation","placeholderSSN","usePlaceholderSSN","transformPhone","useMaskedTransform","commonMasks","jsxs","Flex","jsx","Grid","TextInputField","TitleSelect","normalizeSSN","DatePickerField","SelectField","STATES_ABBR","stateAbbr"],"mappings":"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"}
|
|
@@ -2,13 +2,14 @@ import { jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import { useTranslation as r } from "react-i18next";
|
|
3
3
|
import { useInviteSignatory as s } from "./useInviteSignatory.js";
|
|
4
4
|
import "classnames";
|
|
5
|
+
import "../../../../shared/constants.js";
|
|
5
6
|
import { ActionsLayout as m } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
6
7
|
import { useComponentContext as e } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
7
|
-
const
|
|
8
|
+
const d = () => {
|
|
8
9
|
const { t } = r("Company.AssignSignatory"), { isPending: n } = s(), i = e();
|
|
9
10
|
return /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(i.Button, { type: "submit", isLoading: n, children: t("buttons.inviteSignatory") }) });
|
|
10
11
|
};
|
|
11
12
|
export {
|
|
12
|
-
|
|
13
|
+
d as Actions
|
|
13
14
|
};
|
|
14
15
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useInviteSignatory } from './useInviteSignatory'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const Actions = () => {\n const { t } = useTranslation('Company.AssignSignatory')\n const { isPending } = useInviteSignatory()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('buttons.inviteSignatory')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","isPending","useInviteSignatory","Components","useComponentContext","jsx","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useInviteSignatory } from './useInviteSignatory'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nexport const Actions = () => {\n const { t } = useTranslation('Company.AssignSignatory')\n const { isPending } = useInviteSignatory()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('buttons.inviteSignatory')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","isPending","useInviteSignatory","Components","useComponentContext","jsx","ActionsLayout"],"mappings":";;;;;;;AAKO,MAAMA,IAAU,MAAM;AAC3B,QAAM,EAAE,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,WAAAC,EAAU,IAAIC,EAAmB,GACnCC,IAAaC,EAAoB;AAEvC,SACG,gBAAAC,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAF,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWF,GACzC,UAAE,EAAA,yBAAyB,EAC9B,CAAA,GACF;AAEJ;"}
|
|
@@ -5,8 +5,4 @@ interface InviteSignatoryProps extends CommonComponentInterface {
|
|
|
5
5
|
defaultValues?: InviteSignatoryDefaultValues;
|
|
6
6
|
}
|
|
7
7
|
export declare function InviteSignatory(props: InviteSignatoryProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare namespace InviteSignatory {
|
|
9
|
-
var Form: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
var Actions: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
}
|
|
12
8
|
export {};
|
|
@@ -1,73 +1,70 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
2
|
-
import { useForm as
|
|
3
|
-
import { zodResolver as
|
|
4
|
-
import
|
|
5
|
-
import { useSignatoriesListSuspense as
|
|
6
|
-
import { useSignatoriesInviteMutation as
|
|
7
|
-
import { useSignatoriesDeleteMutation as
|
|
8
|
-
import { InviteSignatorySchema as
|
|
9
|
-
import { Actions as
|
|
10
|
-
import
|
|
11
|
-
import { InviteSignatoryProvider as
|
|
12
|
-
import { Form as
|
|
13
|
-
import { useI18n as
|
|
14
|
-
import { BaseComponent as
|
|
15
|
-
import { useBase as
|
|
16
|
-
import { Flex as
|
|
17
|
-
import "react-i18next";
|
|
1
|
+
import { jsx as i, jsxs as N, Fragment as h } from "react/jsx-runtime";
|
|
2
|
+
import { useForm as I, FormProvider as A } from "react-hook-form";
|
|
3
|
+
import { zodResolver as E } from "@hookform/resolvers/zod";
|
|
4
|
+
import M from "classnames";
|
|
5
|
+
import { useSignatoriesListSuspense as D } from "@gusto/embedded-api/react-query/signatoriesList";
|
|
6
|
+
import { useSignatoriesInviteMutation as F } from "@gusto/embedded-api/react-query/signatoriesInvite";
|
|
7
|
+
import { useSignatoriesDeleteMutation as P } from "@gusto/embedded-api/react-query/signatoriesDelete";
|
|
8
|
+
import { InviteSignatorySchema as b, InviteSignatoryForm as x } from "./InviteSignatoryForm.js";
|
|
9
|
+
import { Actions as O } from "./Actions.js";
|
|
10
|
+
import R from "./InviteSignatory.module.scss.js";
|
|
11
|
+
import { InviteSignatoryProvider as _ } from "./useInviteSignatory.js";
|
|
12
|
+
import { Form as C } from "../../../Common/Form/Form.js";
|
|
13
|
+
import { useI18n as T } from "../../../../i18n/I18n.js";
|
|
14
|
+
import { BaseComponent as U } from "../../../Base/Base.js";
|
|
15
|
+
import { useBase as Y } from "../../../Base/useBase.js";
|
|
16
|
+
import { Flex as q } from "../../../Common/Flex/Flex.js";
|
|
18
17
|
import { companyEvents as a } from "../../../../shared/constants.js";
|
|
19
|
-
function
|
|
20
|
-
return /* @__PURE__ */ i(
|
|
18
|
+
function ni(t) {
|
|
19
|
+
return /* @__PURE__ */ i(U, { ...t, children: /* @__PURE__ */ i(w, { ...t, children: t.children }) });
|
|
21
20
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
const { onEvent: r, baseSubmitHandler:
|
|
25
|
-
data: { signatoryList:
|
|
26
|
-
} =
|
|
21
|
+
function w({ companyId: t, defaultValues: o, className: c, children: n }) {
|
|
22
|
+
T("Company.AssignSignatory");
|
|
23
|
+
const { onEvent: r, baseSubmitHandler: u } = Y(), {
|
|
24
|
+
data: { signatoryList: l }
|
|
25
|
+
} = D({
|
|
27
26
|
companyUuid: t
|
|
28
|
-
}), e =
|
|
27
|
+
}), e = l, m = F(), f = P(), g = {
|
|
29
28
|
firstName: o?.firstName ?? "",
|
|
30
29
|
lastName: o?.lastName ?? "",
|
|
31
30
|
email: o?.email,
|
|
32
31
|
confirmEmail: o?.confirmEmail,
|
|
33
32
|
title: o?.title ?? ""
|
|
34
|
-
}, s =
|
|
35
|
-
resolver:
|
|
36
|
-
defaultValues:
|
|
37
|
-
}),
|
|
38
|
-
await
|
|
39
|
-
const { confirmEmail:
|
|
40
|
-
e[0]?.uuid && await
|
|
33
|
+
}, s = I({
|
|
34
|
+
resolver: E(b),
|
|
35
|
+
defaultValues: g
|
|
36
|
+
}), y = async (p) => {
|
|
37
|
+
await u(p, async (d) => {
|
|
38
|
+
const { confirmEmail: B, ...S } = d;
|
|
39
|
+
e[0]?.uuid && await f.mutateAsync({
|
|
41
40
|
request: {
|
|
42
41
|
companyUuid: t,
|
|
43
42
|
signatoryUuid: e[0].uuid
|
|
44
43
|
}
|
|
45
44
|
});
|
|
46
|
-
const
|
|
45
|
+
const v = await m.mutateAsync({
|
|
47
46
|
request: {
|
|
48
47
|
companyUuid: t,
|
|
49
|
-
requestBody:
|
|
48
|
+
requestBody: S
|
|
50
49
|
}
|
|
51
50
|
});
|
|
52
|
-
r(a.COMPANY_SIGNATORY_INVITED,
|
|
51
|
+
r(a.COMPANY_SIGNATORY_INVITED, v.signatory), r(a.COMPANY_INVITE_SIGNATORY_DONE);
|
|
53
52
|
});
|
|
54
53
|
};
|
|
55
|
-
return /* @__PURE__ */ i("section", { className:
|
|
56
|
-
|
|
54
|
+
return /* @__PURE__ */ i("section", { className: M(R.container, c), children: /* @__PURE__ */ i(
|
|
55
|
+
_,
|
|
57
56
|
{
|
|
58
57
|
value: {
|
|
59
58
|
isPending: m.isPending
|
|
60
59
|
},
|
|
61
|
-
children: /* @__PURE__ */ i(
|
|
62
|
-
/* @__PURE__ */ i(
|
|
63
|
-
/* @__PURE__ */ i(
|
|
60
|
+
children: /* @__PURE__ */ i(A, { ...s, children: /* @__PURE__ */ i(C, { onSubmit: s.handleSubmit(y), children: /* @__PURE__ */ i(q, { flexDirection: "column", gap: 32, children: n || /* @__PURE__ */ N(h, { children: [
|
|
61
|
+
/* @__PURE__ */ i(x, {}),
|
|
62
|
+
/* @__PURE__ */ i(O, {})
|
|
64
63
|
] }) }) }) })
|
|
65
64
|
}
|
|
66
65
|
) });
|
|
67
66
|
}
|
|
68
|
-
l.Form = c;
|
|
69
|
-
l.Actions = u;
|
|
70
67
|
export {
|
|
71
|
-
|
|
68
|
+
ni as InviteSignatory
|
|
72
69
|
};
|
|
73
70
|
//# sourceMappingURL=InviteSignatory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesInviteMutation } from '@gusto/embedded-api/react-query/signatoriesInvite'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type InviteSignatoryInputs, InviteSignatorySchema } from './InviteSignatoryForm'\nimport { InviteSignatoryForm } from './InviteSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './InviteSignatory.module.scss'\nimport type { InviteSignatoryDefaultValues } from './useInviteSignatory'\nimport { InviteSignatoryProvider } from './useInviteSignatory'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\n\ninterface InviteSignatoryProps extends CommonComponentInterface {\n companyId: string\n defaultValues?: InviteSignatoryDefaultValues\n}\n\nexport function InviteSignatory(props: InviteSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultValues, className, children }: InviteSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const inviteSignatoryMutation = useSignatoriesInviteMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const inviteSignatoryDefaultValues = {\n firstName: defaultValues?.firstName ?? '',\n lastName: defaultValues?.lastName ?? '',\n email: defaultValues?.email,\n confirmEmail: defaultValues?.confirmEmail,\n title: defaultValues?.title ?? '',\n }\n\n const formMethods = useForm<InviteSignatoryInputs>({\n resolver: zodResolver(InviteSignatorySchema),\n defaultValues: inviteSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: InviteSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { confirmEmail, ...signatoryData } = payload\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n\n const inviteSignatoryResponse = await inviteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: signatoryData,\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_INVITED, inviteSignatoryResponse.signatory)\n onEvent(companyEvents.COMPANY_INVITE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <InviteSignatoryProvider\n value={{\n isPending: inviteSignatoryMutation.isPending,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <InviteSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </InviteSignatoryProvider>\n </section>\n )\n}\n
|
|
1
|
+
{"version":3,"file":"InviteSignatory.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport classNames from 'classnames'\nimport { useSignatoriesListSuspense } from '@gusto/embedded-api/react-query/signatoriesList'\nimport { useSignatoriesInviteMutation } from '@gusto/embedded-api/react-query/signatoriesInvite'\nimport { useSignatoriesDeleteMutation } from '@gusto/embedded-api/react-query/signatoriesDelete'\nimport { type InviteSignatoryInputs, InviteSignatorySchema } from './InviteSignatoryForm'\nimport { InviteSignatoryForm } from './InviteSignatoryForm'\nimport { Actions } from './Actions'\nimport styles from './InviteSignatory.module.scss'\nimport type { InviteSignatoryDefaultValues } from './useInviteSignatory'\nimport { InviteSignatoryProvider } from './useInviteSignatory'\nimport { Form } from '@/components/Common/Form'\nimport { useI18n } from '@/i18n'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { Flex } from '@/components/Common'\nimport { companyEvents } from '@/shared/constants'\n\ninterface InviteSignatoryProps extends CommonComponentInterface {\n companyId: string\n defaultValues?: InviteSignatoryDefaultValues\n}\n\nexport function InviteSignatory(props: InviteSignatoryProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultValues, className, children }: InviteSignatoryProps) {\n useI18n('Company.AssignSignatory')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const {\n data: { signatoryList },\n } = useSignatoriesListSuspense({\n companyUuid: companyId,\n })\n const signatories = signatoryList!\n\n const inviteSignatoryMutation = useSignatoriesInviteMutation()\n const deleteSignatoryMutation = useSignatoriesDeleteMutation()\n\n const inviteSignatoryDefaultValues = {\n firstName: defaultValues?.firstName ?? '',\n lastName: defaultValues?.lastName ?? '',\n email: defaultValues?.email,\n confirmEmail: defaultValues?.confirmEmail,\n title: defaultValues?.title ?? '',\n }\n\n const formMethods = useForm<InviteSignatoryInputs>({\n resolver: zodResolver(InviteSignatorySchema),\n defaultValues: inviteSignatoryDefaultValues,\n })\n\n const onSubmit = async (data: InviteSignatoryInputs) => {\n await baseSubmitHandler(data, async payload => {\n const { confirmEmail, ...signatoryData } = payload\n if (signatories[0]?.uuid) {\n await deleteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n signatoryUuid: signatories[0].uuid,\n },\n })\n }\n\n const inviteSignatoryResponse = await inviteSignatoryMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: signatoryData,\n },\n })\n\n onEvent(companyEvents.COMPANY_SIGNATORY_INVITED, inviteSignatoryResponse.signatory)\n onEvent(companyEvents.COMPANY_INVITE_SIGNATORY_DONE)\n })\n }\n\n return (\n <section className={classNames(styles.container, className)}>\n <InviteSignatoryProvider\n value={{\n isPending: inviteSignatoryMutation.isPending,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n {children ? (\n children\n ) : (\n <>\n <InviteSignatoryForm />\n <Actions />\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n </InviteSignatoryProvider>\n </section>\n )\n}\n"],"names":["InviteSignatory","props","jsx","BaseComponent","Root","companyId","defaultValues","className","children","useI18n","onEvent","baseSubmitHandler","useBase","signatoryList","useSignatoriesListSuspense","signatories","inviteSignatoryMutation","useSignatoriesInviteMutation","deleteSignatoryMutation","useSignatoriesDeleteMutation","inviteSignatoryDefaultValues","formMethods","useForm","zodResolver","InviteSignatorySchema","onSubmit","data","payload","confirmEmail","signatoryData","inviteSignatoryResponse","companyEvents","classNames","styles","InviteSignatoryProvider","FormProvider","Form","Flex","jsxs","Fragment","InviteSignatoryForm","Actions"],"mappings":";;;;;;;;;;;;;;;;;AA4BO,SAASA,GAAgBC,GAAsD;AAElF,SAAA,gBAAAC,EAACC,GAAe,EAAA,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAMA,EAAA,SAAA,CAAS,EACnC,CAAA;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,eAAAC,GAAe,WAAAC,GAAW,UAAAC,KAAkC;AACrF,EAAAC,EAAQ,yBAAyB;AACjC,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAkB,IAAIC,EAAQ,GAEzC;AAAA,IACJ,MAAM,EAAE,eAAAC,EAAc;AAAA,MACpBC,EAA2B;AAAA,IAC7B,aAAaT;AAAA,EAAA,CACd,GACKU,IAAcF,GAEdG,IAA0BC,EAA6B,GACvDC,IAA0BC,EAA6B,GAEvDC,IAA+B;AAAA,IACnC,WAAWd,GAAe,aAAa;AAAA,IACvC,UAAUA,GAAe,YAAY;AAAA,IACrC,OAAOA,GAAe;AAAA,IACtB,cAAcA,GAAe;AAAA,IAC7B,OAAOA,GAAe,SAAS;AAAA,EACjC,GAEMe,IAAcC,EAA+B;AAAA,IACjD,UAAUC,EAAYC,CAAqB;AAAA,IAC3C,eAAeJ;AAAA,EAAA,CAChB,GAEKK,IAAW,OAAOC,MAAgC;AAChD,UAAAf,EAAkBe,GAAM,OAAMC,MAAW;AAC7C,YAAM,EAAE,cAAAC,GAAc,GAAGC,EAAA,IAAkBF;AACvC,MAAAZ,EAAY,CAAC,GAAG,QAClB,MAAMG,EAAwB,YAAY;AAAA,QACxC,SAAS;AAAA,UACP,aAAab;AAAA,UACb,eAAeU,EAAY,CAAC,EAAE;AAAA,QAAA;AAAA,MAChC,CACD;AAGG,YAAAe,IAA0B,MAAMd,EAAwB,YAAY;AAAA,QACxE,SAAS;AAAA,UACP,aAAaX;AAAA,UACb,aAAawB;AAAA,QAAA;AAAA,MACf,CACD;AAEO,MAAAnB,EAAAqB,EAAc,2BAA2BD,EAAwB,SAAS,GAClFpB,EAAQqB,EAAc,6BAA6B;AAAA,IAAA,CACpD;AAAA,EACH;AAEA,2BACG,WAAQ,EAAA,WAAWC,EAAWC,EAAO,WAAW1B,CAAS,GACxD,UAAA,gBAAAL;AAAA,IAACgC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,WAAWlB,EAAwB;AAAA,MACrC;AAAA,MAEA,4BAACmB,GAAc,EAAA,GAAGd,GAChB,UAAC,gBAAAnB,EAAAkC,GAAA,EAAK,UAAUf,EAAY,aAAaI,CAAQ,GAC/C,UAAA,gBAAAvB,EAACmC,KAAK,eAAc,UAAS,KAAK,IAC/B,UAAA7B,KAIG,gBAAA8B,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAArC,EAACsC,GAAoB,EAAA;AAAA,0BACpBC,GAAQ,CAAA,CAAA;AAAA,MAAA,GACX,EAAA,CAEJ,GACF,EACF,CAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -4,12 +4,11 @@ import { useFormContext as u } from "react-hook-form";
|
|
|
4
4
|
import { useTranslation as E } from "react-i18next";
|
|
5
5
|
import { Flex as S } from "../../../Common/Flex/Flex.js";
|
|
6
6
|
import { Grid as v } from "../../../Common/Grid/Grid.js";
|
|
7
|
-
import "
|
|
7
|
+
import { TextInputField as a } from "../../../Common/Fields/TextInputField/TextInputField.js";
|
|
8
8
|
import { nameValidation as l } from "../../../../helpers/validations.js";
|
|
9
9
|
import { TitleSelect as y } from "../TitleSelect.js";
|
|
10
10
|
import { useComponentContext as x } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
|
-
|
|
12
|
-
const m = "email_mismatch", z = r.object({
|
|
11
|
+
const m = "email_mismatch", w = r.object({
|
|
13
12
|
firstName: l,
|
|
14
13
|
lastName: l,
|
|
15
14
|
email: r.string().min(1).email(),
|
|
@@ -18,19 +17,19 @@ const m = "email_mismatch", z = r.object({
|
|
|
18
17
|
}).refine((i) => i.email === i.confirmEmail, {
|
|
19
18
|
message: m,
|
|
20
19
|
path: ["confirmEmail"]
|
|
21
|
-
}),
|
|
22
|
-
const { t: i } = E("Company.AssignSignatory"),
|
|
20
|
+
}), z = () => {
|
|
21
|
+
const { t: i } = E("Company.AssignSignatory"), n = x(), {
|
|
23
22
|
setError: c,
|
|
24
23
|
clearErrors: f,
|
|
25
24
|
formState: { errors: g, isSubmitted: d },
|
|
26
25
|
watch: p
|
|
27
|
-
} = u(),
|
|
28
|
-
d && (s ===
|
|
26
|
+
} = u(), o = p("confirmEmail"), h = (s) => {
|
|
27
|
+
d && (s === o && f("confirmEmail"), s !== o && c("confirmEmail", { message: m }));
|
|
29
28
|
};
|
|
30
29
|
return /* @__PURE__ */ t(S, { flexDirection: "column", gap: 12, children: [
|
|
31
30
|
/* @__PURE__ */ t("header", { children: [
|
|
32
|
-
/* @__PURE__ */ e(
|
|
33
|
-
/* @__PURE__ */ e(
|
|
31
|
+
/* @__PURE__ */ e(n.Heading, { as: "h2", children: i("inviteSignatory.title") }),
|
|
32
|
+
/* @__PURE__ */ e(n.Text, { children: i("inviteSignatory.description") })
|
|
34
33
|
] }),
|
|
35
34
|
/* @__PURE__ */ t(v, { gridTemplateColumns: { base: "1fr", small: ["1fr", "1fr"] }, gap: 20, children: [
|
|
36
35
|
/* @__PURE__ */ e(
|
|
@@ -75,7 +74,7 @@ const m = "email_mismatch", z = r.object({
|
|
|
75
74
|
] });
|
|
76
75
|
};
|
|
77
76
|
export {
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
z as InviteSignatoryForm,
|
|
78
|
+
w as InviteSignatorySchema
|
|
80
79
|
};
|
|
81
80
|
//# sourceMappingURL=InviteSignatoryForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteSignatoryForm.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { useFormContext } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { TextInputField, Grid, Flex } from '@/components/Common'\nimport { nameValidation } from '@/helpers/validations'\nimport { TitleSelect } from '@/components/Company/AssignSignatory/TitleSelect'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst emailMismatchError = 'email_mismatch'\n\nexport const InviteSignatorySchema = z\n .object({\n firstName: nameValidation,\n lastName: nameValidation,\n email: z.string().min(1).email(),\n confirmEmail: z.string().min(1).email(),\n title: z.string().min(1),\n })\n .refine(data => data.email === data.confirmEmail, {\n message: emailMismatchError,\n path: ['confirmEmail'],\n })\n\nexport type InviteSignatoryInputs = z.infer<typeof InviteSignatorySchema>\n\nexport const InviteSignatoryForm = () => {\n const { t } = useTranslation('Company.AssignSignatory')\n const Components = useComponentContext()\n\n const {\n setError,\n clearErrors,\n formState: { errors, isSubmitted },\n watch,\n } = useFormContext()\n\n // Some workarounds here to also ensure that modifying the email field\n // sets and clears the confirm_email field error state\n const confirmEmail = watch('confirmEmail')\n\n const handleEmailChange = (value: string) => {\n if (isSubmitted) {\n if (value === confirmEmail) {\n clearErrors('confirmEmail')\n }\n\n if (value !== confirmEmail) {\n setError('confirmEmail', { message: emailMismatchError })\n }\n }\n }\n\n return (\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('inviteSignatory.title')}</Components.Heading>\n <Components.Text>{t('inviteSignatory.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"email\"\n label={t('inviteSignatory.signatoryEmail')}\n isRequired\n errorMessage={t('validations.email')}\n onChange={handleEmailChange}\n />\n <TextInputField\n name=\"confirmEmail\"\n label={t('inviteSignatory.confirmEmail')}\n isRequired\n errorMessage={\n errors.confirmEmail?.message === emailMismatchError\n ? t('validations.emailMismatch')\n : t('validations.email')\n }\n />\n <TextInputField\n name=\"firstName\"\n label={t('inviteSignatory.firstName')}\n isRequired\n errorMessage={t('validations.firstName')}\n />\n <TextInputField\n name=\"lastName\"\n label={t('inviteSignatory.lastName')}\n isRequired\n errorMessage={t('validations.lastName')}\n />\n <TitleSelect />\n </Grid>\n </Flex>\n )\n}\n"],"names":["emailMismatchError","InviteSignatorySchema","z","nameValidation","data","InviteSignatoryForm","t","useTranslation","Components","useComponentContext","setError","clearErrors","errors","isSubmitted","watch","useFormContext","confirmEmail","handleEmailChange","value","jsxs","Flex","jsx","Grid","TextInputField","TitleSelect"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InviteSignatoryForm.js","sources":["../../../../../src/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { useFormContext } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { TextInputField, Grid, Flex } from '@/components/Common'\nimport { nameValidation } from '@/helpers/validations'\nimport { TitleSelect } from '@/components/Company/AssignSignatory/TitleSelect'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst emailMismatchError = 'email_mismatch'\n\nexport const InviteSignatorySchema = z\n .object({\n firstName: nameValidation,\n lastName: nameValidation,\n email: z.string().min(1).email(),\n confirmEmail: z.string().min(1).email(),\n title: z.string().min(1),\n })\n .refine(data => data.email === data.confirmEmail, {\n message: emailMismatchError,\n path: ['confirmEmail'],\n })\n\nexport type InviteSignatoryInputs = z.infer<typeof InviteSignatorySchema>\n\nexport const InviteSignatoryForm = () => {\n const { t } = useTranslation('Company.AssignSignatory')\n const Components = useComponentContext()\n\n const {\n setError,\n clearErrors,\n formState: { errors, isSubmitted },\n watch,\n } = useFormContext()\n\n // Some workarounds here to also ensure that modifying the email field\n // sets and clears the confirm_email field error state\n const confirmEmail = watch('confirmEmail')\n\n const handleEmailChange = (value: string) => {\n if (isSubmitted) {\n if (value === confirmEmail) {\n clearErrors('confirmEmail')\n }\n\n if (value !== confirmEmail) {\n setError('confirmEmail', { message: emailMismatchError })\n }\n }\n }\n\n return (\n <Flex flexDirection=\"column\" gap={12}>\n <header>\n <Components.Heading as=\"h2\">{t('inviteSignatory.title')}</Components.Heading>\n <Components.Text>{t('inviteSignatory.description')}</Components.Text>\n </header>\n\n <Grid gridTemplateColumns={{ base: '1fr', small: ['1fr', '1fr'] }} gap={20}>\n <TextInputField\n name=\"email\"\n label={t('inviteSignatory.signatoryEmail')}\n isRequired\n errorMessage={t('validations.email')}\n onChange={handleEmailChange}\n />\n <TextInputField\n name=\"confirmEmail\"\n label={t('inviteSignatory.confirmEmail')}\n isRequired\n errorMessage={\n errors.confirmEmail?.message === emailMismatchError\n ? t('validations.emailMismatch')\n : t('validations.email')\n }\n />\n <TextInputField\n name=\"firstName\"\n label={t('inviteSignatory.firstName')}\n isRequired\n errorMessage={t('validations.firstName')}\n />\n <TextInputField\n name=\"lastName\"\n label={t('inviteSignatory.lastName')}\n isRequired\n errorMessage={t('validations.lastName')}\n />\n <TitleSelect />\n </Grid>\n </Flex>\n )\n}\n"],"names":["emailMismatchError","InviteSignatorySchema","z","nameValidation","data","InviteSignatoryForm","t","useTranslation","Components","useComponentContext","setError","clearErrors","errors","isSubmitted","watch","useFormContext","confirmEmail","handleEmailChange","value","jsxs","Flex","jsx","Grid","TextInputField","TitleSelect"],"mappings":";;;;;;;;;;AAQA,MAAMA,IAAqB,kBAEdC,IAAwBC,EAClC,OAAO;AAAA,EACN,WAAWC;AAAA,EACX,UAAUA;AAAA,EACV,OAAOD,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,MAAM;AAAA,EAC/B,cAAcA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,MAAM;AAAA,EACtC,OAAOA,EAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,OAAO,CAAAE,MAAQA,EAAK,UAAUA,EAAK,cAAc;AAAA,EAChD,SAASJ;AAAA,EACT,MAAM,CAAC,cAAc;AACvB,CAAC,GAIUK,IAAsB,MAAM;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB,GAChDC,IAAaC,EAAoB,GAEjC;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,GAAQ,aAAAC,EAAY;AAAA,IACjC,OAAAC;AAAA,MACEC,EAAe,GAIbC,IAAeF,EAAM,cAAc,GAEnCG,IAAoB,CAACC,MAAkB;AAC3C,IAAIL,MACEK,MAAUF,KACZL,EAAY,cAAc,GAGxBO,MAAUF,KACZN,EAAS,gBAAgB,EAAE,SAASV,EAAA,CAAoB;AAAA,EAG9D;AAEA,SACG,gBAAAmB,EAAAC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAD,EAAC,UACC,EAAA,UAAA;AAAA,MAAA,gBAAAE,EAACb,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,uBAAuB,GAAE;AAAA,wBACvDE,EAAW,MAAX,EAAiB,UAAAF,EAAE,6BAA6B,EAAE,CAAA;AAAA,IAAA,GACrD;AAAA,IAEC,gBAAAa,EAAAG,GAAA,EAAK,qBAAqB,EAAE,MAAM,OAAO,OAAO,CAAC,OAAO,KAAK,EAAE,GAAG,KAAK,IACtE,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAOjB,EAAE,gCAAgC;AAAA,UACzC,YAAU;AAAA,UACV,cAAcA,EAAE,mBAAmB;AAAA,UACnC,UAAUW;AAAA,QAAA;AAAA,MACZ;AAAA,MACA,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAOjB,EAAE,8BAA8B;AAAA,UACvC,YAAU;AAAA,UACV,cACEM,EAAO,cAAc,YAAYZ,IAC7BM,EAAE,2BAA2B,IAC7BA,EAAE,mBAAmB;AAAA,QAAA;AAAA,MAE7B;AAAA,MACA,gBAAAe;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAOjB,EAAE,2BAA2B;AAAA,UACpC,YAAU;AAAA,UACV,cAAcA,EAAE,uBAAuB;AAAA,QAAA;AAAA,MACzC;AAAA,MACA,gBAAAe;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAOjB,EAAE,0BAA0B;AAAA,UACnC,YAAU;AAAA,UACV,cAAcA,EAAE,sBAAsB;AAAA,QAAA;AAAA,MACxC;AAAA,wBACCkB,GAAY,CAAA,CAAA;AAAA,IAAA,EACf,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import "./types/i18next.d.ts"
|
|
2
2
|
export { AssignSignatory } from './AssignSignatory';
|
|
3
3
|
export { SignatoryAssignmentMode } from './useAssignSignatory';
|
|
4
|
-
export { Head } from './Head';
|
|
5
4
|
export { AssignSignatorySelection } from './AssignSignatorySelection';
|
|
6
5
|
export { CreateSignatory } from './CreateSignatory';
|
|
7
6
|
export { InviteSignatory } from './InviteSignatory';
|
|
@@ -3,8 +3,3 @@ export interface BankAccountProps extends BaseComponentInterface<'Company.BankAc
|
|
|
3
3
|
companyId: string;
|
|
4
4
|
}
|
|
5
5
|
export declare function BankAccount(props: BankAccountProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export declare namespace BankAccount {
|
|
7
|
-
var BankAccountList: typeof import("./BankAccountList/BankAccountList").BankAccountList;
|
|
8
|
-
var BankAccountForm: typeof import("./BankAccountForm/BankAccountForm").BankAccountForm;
|
|
9
|
-
var BankAccountVerify: typeof import("./BankAccountVerify/BankAccountVerify").BankAccountVerify;
|
|
10
|
-
}
|
|
@@ -1,37 +1,31 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { createMachine as
|
|
2
|
+
import { createMachine as u } from "robot3";
|
|
3
3
|
import { useBankAccountsGetSuspense as s } from "@gusto/embedded-api/react-query/bankAccountsGet";
|
|
4
|
-
import { BankAccountListContextual as
|
|
5
|
-
import { bankAccountStateMachine as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { BankAccountVerify as h } from "./BankAccountVerify/BankAccountVerify.js";
|
|
9
|
-
import { Flow as y } from "../../Flow/Flow.js";
|
|
10
|
-
import { BaseComponent as C } from "../../Base/Base.js";
|
|
4
|
+
import { BankAccountListContextual as p, BankAccountFormContextual as k } from "./BankAccountComponents.js";
|
|
5
|
+
import { bankAccountStateMachine as A } from "./stateMachine.js";
|
|
6
|
+
import { Flow as f } from "../../Flow/Flow.js";
|
|
7
|
+
import { BaseComponent as B } from "../../Base/Base.js";
|
|
11
8
|
import "../../Base/useBase.js";
|
|
12
|
-
import { useComponentDictionary as
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
const { data:
|
|
9
|
+
import { useComponentDictionary as l } from "../../../i18n/I18n.js";
|
|
10
|
+
function h({ companyId: n, onEvent: a, dictionary: e }) {
|
|
11
|
+
l("Company.BankAccount", e);
|
|
12
|
+
const { data: r } = s({ companyId: n }), c = r.companyBankAccountList, o = c.length > 0 ? c[0] : null, m = u(
|
|
16
13
|
o ? "viewBankAccount" : "addBankAccount",
|
|
17
|
-
|
|
18
|
-
(
|
|
19
|
-
...
|
|
20
|
-
component: o ?
|
|
14
|
+
A,
|
|
15
|
+
(i) => ({
|
|
16
|
+
...i,
|
|
17
|
+
component: o ? p : k,
|
|
21
18
|
companyId: n,
|
|
22
19
|
bankAccount: o,
|
|
23
20
|
showVerifiedMessage: !1
|
|
24
21
|
})
|
|
25
22
|
);
|
|
26
|
-
return /* @__PURE__ */ t(
|
|
23
|
+
return /* @__PURE__ */ t(f, { machine: m, onEvent: a });
|
|
27
24
|
}
|
|
28
|
-
function
|
|
29
|
-
return /* @__PURE__ */ t(
|
|
25
|
+
function b(n) {
|
|
26
|
+
return /* @__PURE__ */ t(B, { ...n, children: /* @__PURE__ */ t(h, { ...n }) });
|
|
30
27
|
}
|
|
31
|
-
c.BankAccountList = p;
|
|
32
|
-
c.BankAccountForm = l;
|
|
33
|
-
c.BankAccountVerify = h;
|
|
34
28
|
export {
|
|
35
|
-
|
|
29
|
+
b as BankAccount
|
|
36
30
|
};
|
|
37
31
|
//# sourceMappingURL=BankAccount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankAccount.js","sources":["../../../../src/components/Company/BankAccount/BankAccount.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport {\n BankAccountFormContextual,\n type BankAccountContextInterface,\n} from './BankAccountComponents'\nimport { bankAccountStateMachine } from './stateMachine'\nimport { BankAccountListContextual } from './BankAccountComponents'\nimport {
|
|
1
|
+
{"version":3,"file":"BankAccount.js","sources":["../../../../src/components/Company/BankAccount/BankAccount.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport {\n BankAccountFormContextual,\n type BankAccountContextInterface,\n} from './BankAccountComponents'\nimport { bankAccountStateMachine } from './stateMachine'\nimport { BankAccountListContextual } from './BankAccountComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport interface BankAccountProps extends BaseComponentInterface<'Company.BankAccount'> {\n companyId: string\n}\n\nfunction BankAccountFlow({ companyId, onEvent, dictionary }: BankAccountProps) {\n useComponentDictionary('Company.BankAccount', dictionary)\n const { data } = useBankAccountsGetSuspense({ companyId })\n const companyBankAccountList = data.companyBankAccountList!\n //Currently, we only support a single default bank account per company.\n const bankAccount = companyBankAccountList.length > 0 ? companyBankAccountList[0]! : null\n\n const manageBankAccount = createMachine(\n bankAccount ? 'viewBankAccount' : 'addBankAccount',\n bankAccountStateMachine,\n (initialContext: BankAccountContextInterface) => ({\n ...initialContext,\n component: bankAccount ? BankAccountListContextual : BankAccountFormContextual,\n companyId,\n bankAccount,\n showVerifiedMessage: false,\n }),\n )\n return <Flow machine={manageBankAccount} onEvent={onEvent} />\n}\n\nexport function BankAccount(props: BankAccountProps) {\n return (\n <BaseComponent {...props}>\n <BankAccountFlow {...props} />\n </BaseComponent>\n )\n}\n"],"names":["BankAccountFlow","companyId","onEvent","dictionary","useComponentDictionary","data","useBankAccountsGetSuspense","companyBankAccountList","bankAccount","manageBankAccount","createMachine","bankAccountStateMachine","initialContext","BankAccountListContextual","BankAccountFormContextual","jsx","Flow","BankAccount","props","BaseComponent"],"mappings":";;;;;;;;;AAgBA,SAASA,EAAgB,EAAE,WAAAC,GAAW,SAAAC,GAAS,YAAAC,KAAgC;AAC7E,EAAAC,EAAuB,uBAAuBD,CAAU;AACxD,QAAM,EAAE,MAAAE,EAAK,IAAIC,EAA2B,EAAE,WAAAL,GAAW,GACnDM,IAAyBF,EAAK,wBAE9BG,IAAcD,EAAuB,SAAS,IAAIA,EAAuB,CAAC,IAAK,MAE/EE,IAAoBC;AAAA,IACxBF,IAAc,oBAAoB;AAAA,IAClCG;AAAA,IACA,CAACC,OAAiD;AAAA,MAChD,GAAGA;AAAA,MACH,WAAWJ,IAAcK,IAA4BC;AAAA,MACrD,WAAAb;AAAA,MACA,aAAAO;AAAA,MACA,qBAAqB;AAAA,IACvB;AAAA,EACF;AACA,SAAQ,gBAAAO,EAAAC,GAAA,EAAK,SAASP,GAAmB,SAAAP,EAAkB,CAAA;AAC7D;AAEO,SAASe,EAAYC,GAAyB;AAEjD,SAAA,gBAAAH,EAACI,KAAe,GAAGD,GACjB,4BAAClB,GAAiB,EAAA,GAAGkB,GAAO,EAC9B,CAAA;AAEJ;"}
|
|
@@ -2,19 +2,19 @@ import { jsxs as e, jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import { useTranslation as s } from "react-i18next";
|
|
3
3
|
import { useBankAccountForm as m } from "./context.js";
|
|
4
4
|
import "classnames";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { componentEvents as a } from "../../../../shared/constants.js";
|
|
6
|
+
import { ActionsLayout as u } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
+
import { useComponentContext as p } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
8
8
|
function b() {
|
|
9
|
-
const { t } = s("Company.BankAccount"), { isPending: i, isEditing: r, onEvent: c } = m(), n =
|
|
10
|
-
return /* @__PURE__ */ e(
|
|
9
|
+
const { t } = s("Company.BankAccount"), { isPending: i, isEditing: r, onEvent: c } = m(), n = p();
|
|
10
|
+
return /* @__PURE__ */ e(u, { children: [
|
|
11
11
|
r && /* @__PURE__ */ o(
|
|
12
12
|
n.Button,
|
|
13
13
|
{
|
|
14
14
|
type: "button",
|
|
15
15
|
variant: "secondary",
|
|
16
16
|
onClick: () => {
|
|
17
|
-
c(
|
|
17
|
+
c(a.COMPANY_BANK_ACCOUNT_CANCEL);
|
|
18
18
|
},
|
|
19
19
|
children: t("cancelCta")
|
|
20
20
|
}
|
|
@@ -4,9 +4,4 @@ interface BankAccountFormProps extends CommonComponentInterface {
|
|
|
4
4
|
isEditing?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare function BankAccountForm(props: BankAccountFormProps & BaseComponentInterface): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare namespace BankAccountForm {
|
|
8
|
-
var Head: typeof import("./Head").Head;
|
|
9
|
-
var Form: typeof import("./Form").Form;
|
|
10
|
-
var Actions: typeof import("./Actions").Actions;
|
|
11
|
-
}
|
|
12
7
|
export {};
|