@gusto/embedded-react-sdk 0.12.3 → 0.13.1
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 +12 -0
- package/dist/_virtual/dynamic-import-helper.js +8 -1
- package/dist/_virtual/dynamic-import-helper.js.map +1 -1
- package/dist/assets/icons/spinner_small.svg.js +10 -0
- package/dist/assets/icons/spinner_small.svg.js.map +1 -0
- package/dist/components/Base/Base.js +28 -27
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/useBase.d.ts +2 -0
- package/dist/components/Base/useBase.js.map +1 -1
- package/dist/components/Common/DataView/DataView.d.ts +2 -1
- package/dist/components/Common/DataView/DataView.js +20 -19
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +3 -1
- package/dist/components/Common/DataView/useDataView.js +13 -11
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +1 -1
- package/dist/components/Common/FieldDescription/FieldDescription.js +7 -14
- package/dist/components/Common/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/Common/Fields/hooks/useField.d.ts +4 -1
- package/dist/components/Common/Fields/hooks/useField.js +31 -24
- package/dist/components/Common/Fields/hooks/useField.js.map +1 -1
- package/dist/components/Common/InlineSpinner/InlineSpinner.d.ts +6 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js +25 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.js.map +1 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js +10 -0
- package/dist/components/Common/InlineSpinner/InlineSpinner.module.scss.js.map +1 -0
- package/dist/components/Common/InlineSpinner/index.d.ts +2 -0
- package/dist/components/Common/PaginationControl/PaginationControl.js +31 -28
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
- package/dist/components/Common/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +1 -1
- package/dist/components/Common/UI/DatePicker/DatePicker.js +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
- package/dist/components/Common/UI/Tabs/Tabs.d.ts +7 -0
- package/dist/components/Common/UI/Tabs/Tabs.js +25 -0
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +8 -0
- package/dist/components/Common/UI/Tabs/Tabs.module.scss.js.map +1 -0
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +51 -0
- package/dist/components/Common/UI/Tabs/index.d.ts +3 -0
- package/dist/components/Common/hooks/useNumberFormatter.js +1 -1
- package/dist/components/Common/index.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +4 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +2 -2
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Company/FederalTaxes/Form.js +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +18 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +12 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +4 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +9 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +5 -5
- package/dist/components/Company/PaySchedule/usePaySchedule.js +12 -6
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +4 -4
- package/dist/components/Contractor/Address/useAddress.js +11 -5
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +52 -50
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/types.d.ts +1 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +19 -12
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +6 -5
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +4 -4
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +7 -7
- package/dist/components/Contractor/Profile/ContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +19 -19
- package/dist/components/Contractor/Profile/useContractorProfile.js +40 -35
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +25 -25
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/Compensation/Compensation.js +10 -10
- package/dist/components/Employee/Deductions/Deductions.js +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +4 -4
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +2 -2
- package/dist/components/Employee/Deductions/IncludeDeductionsForm/IncludeDeductionsForm.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +9 -3
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js +3 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +9 -3
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/EmployeeList.js +75 -62
- package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/List.js +27 -25
- package/dist/components/Employee/EmployeeList/List.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +9 -3
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js +3 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +9 -3
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +2 -2
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
- package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js +8 -8
- package/dist/components/Employee/PaymentMethod/Split.js +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +8 -8
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +15 -9
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +2 -2
- package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
- package/dist/components/Employee/Profile/Profile.js +15 -13
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/useProfile.js +9 -3
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/StateTaxes.js +3 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +9 -3
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +5 -5
- package/dist/components/Employee/Taxes/useTaxes.js +9 -3
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +4 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +69 -33
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +10 -5
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +119 -50
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +5 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +64 -13
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +18 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +117 -18
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +24 -11
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +8 -6
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +35 -26
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +42 -35
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.d.ts +2 -1
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js +4 -4
- package/dist/components/Payroll/RunPayrollFlow/RunPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +21 -0
- package/dist/components/Payroll/helpers.js +209 -0
- package/dist/components/Payroll/helpers.js.map +1 -0
- package/dist/components/Payroll/helpers.test.d.ts +1 -0
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +14 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +39 -0
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -0
- package/dist/contexts/ApiProvider/ApiProvider.js +4 -4
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +28 -26
- package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +3 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +9 -0
- package/dist/helpers/formattedStrings.js +55 -16
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/i18n/I18n.js +15 -15
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +32 -0
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -0
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js +14 -0
- package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +18 -0
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +8 -0
- package/dist/i18n/en/common.json.js +15 -13
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/shared/constants.d.ts +6 -0
- package/dist/shared/constants.js +43 -34
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +96 -1
- package/package.json +27 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\
|
|
1
|
+
{"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api/models/components/payrollupdate'\nimport { calculateGrossPay } from '../helpers'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { useBase } from '@/components/Base/useBase'\n\ninterface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {\n employeeId: string\n companyId: string\n payrollId: string\n}\n\nexport function PayrollEditEmployee(props: PayrollEditEmployeeProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({\n employeeId,\n companyId,\n payrollId,\n onEvent,\n dictionary,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.PayrollEditEmployee', dictionary)\n\n const { LoadingIndicator } = useBase()\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { preparedPayroll, paySchedule, isLoading } = usePreparedPayrollData({\n companyId,\n payrollId,\n })\n\n const { mutateAsync: updatePayroll, isPending } = usePayrollsUpdateMutation()\n\n const employee = employeeData.employee!\n\n const employeeCompensation = preparedPayroll?.employeeCompensations?.find(\n compensation => compensation.employeeUuid === employeeId,\n )\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n }\n }\n\n const onSave = async (updatedCompensation: PayrollEmployeeCompensationsType) => {\n const transformedCompensation = transformEmployeeCompensation(updatedCompensation)\n\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [transformedCompensation],\n },\n },\n })\n\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, result.payrollPrepared)\n }\n\n const onCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n if (isLoading) {\n return <LoadingIndicator />\n }\n\n return (\n <PayrollEditEmployeePresentation\n onSave={onSave}\n onCancel={onCancel}\n employee={employee}\n isPending={isPending}\n grossPay={\n employeeCompensation\n ? calculateGrossPay(\n employeeCompensation,\n employee,\n preparedPayroll?.payPeriod?.startDate,\n paySchedule,\n preparedPayroll?.offCycle,\n )\n : 0\n }\n employeeCompensation={employeeCompensation}\n />\n )\n}\n"],"names":["PayrollEditEmployee","props","jsx","BaseComponent","Root","employeeId","companyId","payrollId","onEvent","dictionary","useComponentDictionary","LoadingIndicator","useBase","employeeData","useEmployeesGetSuspense","preparedPayroll","paySchedule","isLoading","usePreparedPayrollData","updatePayroll","isPending","usePayrollsUpdateMutation","employee","employeeCompensation","compensation","transformEmployeeCompensation","paymentMethod","onSave","updatedCompensation","transformedCompensation","result","componentEvents","onCancel","PayrollEditEmployeePresentation","calculateGrossPay"],"mappings":";;;;;;;;;;AAmBO,SAASA,EAAoBC,GAA0D;AAC5F,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEO,MAAMG,IAAO,CAAC;AAAA,EACnB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AACF,MAAgC;AAC9B,EAAAC,EAAuB,+BAA+BD,CAAU;AAEhE,QAAM,EAAE,kBAAAE,EAAA,IAAqBC,EAAA,GAEvB,EAAE,MAAMC,EAAA,IAAiBC,EAAwB,EAAE,YAAAT,GAAY,GAC/D,EAAE,iBAAAU,GAAiB,aAAAC,GAAa,WAAAC,EAAA,IAAcC,EAAuB;AAAA,IACzE,WAAAZ;AAAA,IACA,WAAAC;AAAA,EAAA,CACD,GAEK,EAAE,aAAaY,GAAe,WAAAC,EAAA,IAAcC,EAAA,GAE5CC,IAAWT,EAAa,UAExBU,IAAuBR,GAAiB,uBAAuB;AAAA,IACnE,CAAAS,MAAgBA,EAAa,iBAAiBnB;AAAA,EAAA,GAG1CoB,IAAgC,CAAC;AAAA,IACrC,eAAAC;AAAA,IACA,GAAGF;AAAA,EAAA,OAEI;AAAA,IACL,GAAGA;AAAA,IACH,GAAIE,KAAiBA,MAAkB,eAAe,EAAE,eAAAA,EAAA,IAAkB,CAAA;AAAA,IAC1E,MAAMF,EAAa,QAAQ;AAAA,EAAA,IAIzBG,IAAS,OAAOC,MAA0D;AAC9E,UAAMC,IAA0BJ,EAA8BG,CAAmB,GAE3EE,IAAS,MAAMX,EAAc;AAAA,MACjC,SAAS;AAAA,QACP,WAAAb;AAAA,QACA,WAAAC;AAAA,QACA,eAAe;AAAA,UACb,uBAAuB,CAACsB,CAAuB;AAAA,QAAA;AAAA,MACjD;AAAA,IACF,CACD;AAED,IAAArB,EAAQuB,EAAgB,4BAA4BD,EAAO,eAAe;AAAA,EAC5E,GAEME,IAAW,MAAM;AACrB,IAAAxB,EAAQuB,EAAgB,8BAA8B;AAAA,EACxD;AAEA,SAAId,sBACMN,GAAA,EAAiB,IAIzB,gBAAAT;AAAA,IAAC+B;AAAA,IAAA;AAAA,MACC,QAAAN;AAAA,MACA,UAAAK;AAAA,MACA,UAAAV;AAAA,MACA,WAAAF;AAAA,MACA,UACEG,IACIW;AAAA,QACEX;AAAA,QACAD;AAAA,QACAP,GAAiB,WAAW;AAAA,QAC5BC;AAAA,QACAD,GAAiB;AAAA,MAAA,IAEnB;AAAA,MAEN,sBAAAQ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
+
import { Employee } from '@gusto/embedded-api/models/components/employee';
|
|
2
|
+
import { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype';
|
|
3
|
+
import { z } from 'zod';
|
|
1
4
|
interface PayrollEditEmployeeProps {
|
|
2
|
-
|
|
5
|
+
onSave: (updatedCompensation: PayrollEmployeeCompensationsType) => void;
|
|
6
|
+
onCancel: () => void;
|
|
7
|
+
employee: Employee;
|
|
8
|
+
employeeCompensation?: PayrollEmployeeCompensationsType;
|
|
9
|
+
grossPay: number;
|
|
10
|
+
isPending?: boolean;
|
|
3
11
|
}
|
|
4
|
-
export declare const
|
|
12
|
+
export declare const PayrollEditEmployeeFormSchema: z.ZodObject<{
|
|
13
|
+
hourlyCompensations: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
hourlyCompensations: Record<string, Record<string, string | undefined>>;
|
|
16
|
+
}, {
|
|
17
|
+
hourlyCompensations: Record<string, Record<string, string | undefined>>;
|
|
18
|
+
}>;
|
|
19
|
+
export type PayrollEditEmployeeFormValues = z.infer<typeof PayrollEditEmployeeFormSchema>;
|
|
20
|
+
export declare const PayrollEditEmployeePresentation: ({ onSave, onCancel, employee, grossPay, employeeCompensation, isPending, }: PayrollEditEmployeeProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
21
|
export {};
|
|
@@ -1,23 +1,122 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useForm as
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { jsxs as a, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useForm as x, FormProvider as M } from "react-hook-form";
|
|
3
|
+
import { useTranslation as S } from "react-i18next";
|
|
4
|
+
import { z as s } from "zod";
|
|
5
|
+
import { zodResolver as A } from "@hookform/resolvers/zod";
|
|
6
|
+
import { Flex as u } from "../../Common/Flex/Flex.js";
|
|
7
|
+
import { Grid as v } from "../../Common/Grid/Grid.js";
|
|
8
|
+
import { TextInputField as U } from "../../Common/Fields/TextInputField/TextInputField.js";
|
|
9
|
+
import { useComponentContext as I } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
|
+
import { useI18n as L } from "../../../i18n/I18n.js";
|
|
11
|
+
import { Form as R } from "../../Common/Form/Form.js";
|
|
12
|
+
import { firstLastName as F, formatNumberAsCurrency as H } from "../../../helpers/formattedStrings.js";
|
|
13
|
+
import { HOURS_COMPENSATION_NAMES as C, COMPENSATION_NAME_DOUBLE_OVERTIME as B, COMPENSATION_NAME_OVERTIME as w, COMPENSATION_NAME_REGULAR_HOURS as D } from "../../../shared/constants.js";
|
|
14
|
+
const V = s.object({
|
|
15
|
+
hourlyCompensations: s.record(s.string(), s.record(s.string(), s.string().optional()))
|
|
16
|
+
}), or = ({
|
|
17
|
+
onSave: g,
|
|
18
|
+
onCancel: y,
|
|
19
|
+
employee: l,
|
|
20
|
+
grossPay: N,
|
|
21
|
+
employeeCompensation: m,
|
|
22
|
+
isPending: b = !1
|
|
23
|
+
}) => {
|
|
24
|
+
const { Button: f, Heading: d, Text: O } = I(), { t } = S("Payroll.PayrollEditEmployee");
|
|
25
|
+
L("Payroll.PayrollEditEmployee");
|
|
26
|
+
const p = l.jobs?.find((r) => r.primary), c = p ? [p] : [];
|
|
27
|
+
m?.hourlyCompensations?.forEach((r) => {
|
|
28
|
+
const e = l.jobs?.find((o) => o.uuid === r.jobUuid);
|
|
29
|
+
e && !c.find((o) => o.uuid === e.uuid) && c.push(e);
|
|
30
|
+
});
|
|
31
|
+
const h = (r, e) => m?.hourlyCompensations?.find(
|
|
32
|
+
(o) => o.jobUuid === r && o.name?.toLowerCase() === e.toLowerCase()
|
|
33
|
+
), P = (r) => {
|
|
34
|
+
switch (r) {
|
|
35
|
+
case D:
|
|
36
|
+
return t("compensationNames.regularHours");
|
|
37
|
+
case w:
|
|
38
|
+
return t("compensationNames.overtime");
|
|
39
|
+
case B:
|
|
40
|
+
return t("compensationNames.doubleOvertime");
|
|
41
|
+
default:
|
|
42
|
+
return r;
|
|
43
|
+
}
|
|
44
|
+
}, j = {
|
|
45
|
+
hourlyCompensations: (() => {
|
|
46
|
+
const r = {};
|
|
47
|
+
return c.forEach((e) => {
|
|
48
|
+
C.forEach((o) => {
|
|
49
|
+
const i = h(e.uuid, o);
|
|
50
|
+
i && (r[e.uuid] || (r[e.uuid] = {}), r[e.uuid][i.name] = i.hours ? parseFloat(i.hours).toString() : "");
|
|
51
|
+
});
|
|
52
|
+
}), r;
|
|
53
|
+
})()
|
|
54
|
+
}, E = x({
|
|
55
|
+
resolver: A(V),
|
|
56
|
+
defaultValues: j
|
|
57
|
+
}), T = F({
|
|
58
|
+
first_name: l.firstName,
|
|
59
|
+
last_name: l.lastName
|
|
60
|
+
}), _ = (r) => {
|
|
61
|
+
const e = {
|
|
62
|
+
...m
|
|
63
|
+
};
|
|
64
|
+
e.hourlyCompensations = m?.hourlyCompensations?.map(
|
|
65
|
+
(o) => {
|
|
66
|
+
const i = o.jobUuid && o.name ? r.hourlyCompensations[o.jobUuid]?.[o.name] : void 0;
|
|
67
|
+
return i ? {
|
|
68
|
+
...o,
|
|
69
|
+
hours: i
|
|
70
|
+
} : o;
|
|
71
|
+
}
|
|
72
|
+
), g(e);
|
|
73
|
+
};
|
|
74
|
+
return /* @__PURE__ */ a(u, { flexDirection: "column", gap: 20, children: [
|
|
75
|
+
/* @__PURE__ */ a(u, { justifyContent: "space-between", children: [
|
|
76
|
+
/* @__PURE__ */ a(u, { flexDirection: "column", gap: 8, children: [
|
|
77
|
+
/* @__PURE__ */ n(d, { as: "h2", children: t("pageTitle", { employeeName: T }) }),
|
|
78
|
+
/* @__PURE__ */ n(d, { as: "h1", children: H(N || 0) }),
|
|
79
|
+
/* @__PURE__ */ n(O, { children: t("grossPayLabel") })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ a(u, { gap: 12, justifyContent: "flex-end", children: [
|
|
82
|
+
/* @__PURE__ */ n(f, { variant: "secondary", onClick: y, title: t("cancelButton"), children: t("cancelButton") }),
|
|
83
|
+
/* @__PURE__ */ n(
|
|
84
|
+
f,
|
|
85
|
+
{
|
|
86
|
+
onClick: E.handleSubmit(_),
|
|
87
|
+
title: t("saveButton"),
|
|
88
|
+
isLoading: b,
|
|
89
|
+
children: t("saveButton")
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] })
|
|
93
|
+
] }),
|
|
94
|
+
/* @__PURE__ */ n(d, { as: "h3", children: t("regularHoursTitle") }),
|
|
95
|
+
/* @__PURE__ */ n(M, { ...E, children: /* @__PURE__ */ n(R, { children: c.map((r) => /* @__PURE__ */ a(u, { flexDirection: "column", gap: 8, children: [
|
|
96
|
+
/* @__PURE__ */ n(d, { as: "h4", children: r.title }),
|
|
97
|
+
/* @__PURE__ */ n(v, { gridTemplateColumns: { base: "1fr", small: [320, 320] }, gap: 20, children: C.map((e) => {
|
|
98
|
+
const o = h(
|
|
99
|
+
r.uuid,
|
|
100
|
+
e
|
|
101
|
+
);
|
|
102
|
+
if (o)
|
|
103
|
+
return /* @__PURE__ */ n(
|
|
104
|
+
U,
|
|
105
|
+
{
|
|
106
|
+
type: "number",
|
|
107
|
+
adornmentEnd: t("hoursUnit"),
|
|
108
|
+
isRequired: !0,
|
|
109
|
+
label: P(e),
|
|
110
|
+
name: `hourlyCompensations.${r.uuid}.${o.name}`
|
|
111
|
+
},
|
|
112
|
+
e
|
|
113
|
+
);
|
|
114
|
+
}) })
|
|
115
|
+
] }, r.uuid)) }) })
|
|
18
116
|
] });
|
|
19
117
|
};
|
|
20
118
|
export {
|
|
21
|
-
|
|
119
|
+
V as PayrollEditEmployeeFormSchema,
|
|
120
|
+
or as PayrollEditEmployeePresentation
|
|
22
121
|
};
|
|
23
122
|
//# sourceMappingURL=PayrollEditEmployeePresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollEditEmployeePresentation.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport { Flex, NumberInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\n\ninterface PayrollEditEmployeeProps {\n onDone: () => void\n}\n\nexport const PayrollEditEmployeePresentation = ({ onDone }: PayrollEditEmployeeProps) => {\n const { Button, Heading, Text } = useComponentContext()\n const formHandlers = useForm()\n return (\n <Flex flexDirection=\"column\" gap={20}>\n <Heading as=\"h2\">{`Edit Hannah Arendt's payroll`}</Heading>\n <Heading as=\"h1\">$1,173.08</Heading>\n <Text>Gross pay</Text>\n <Heading as=\"h3\">Regular hours</Heading>\n <FormProvider {...formHandlers}>\n <Form>\n <NumberInputField defaultValue={40} isRequired label=\"Hours\" name=\"hours\" />\n </Form>\n </FormProvider>\n\n <Button onClick={onDone} title=\"Done\">\n Done\n </Button>\n </Flex>\n )\n}\n"],"names":["PayrollEditEmployeePresentation","onDone","Button","Heading","Text","useComponentContext","formHandlers","useForm","jsxs","Flex","jsx","FormProvider","Form","NumberInputField"],"mappings":";;;;;;;;AASO,MAAMA,IAAkC,CAAC,EAAE,QAAAC,QAAuC;AACvF,QAAM,EAAE,QAAAC,GAAQ,SAAAC,GAAS,MAAAC,EAAA,IAASC,EAAA,GAC5BC,IAAeC,EAAA;AACrB,SACE,gBAAAC,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAC,EAACP,GAAA,EAAQ,IAAG,MAAM,UAAA,gCAA+B;AAAA,IACjD,gBAAAO,EAACP,GAAA,EAAQ,IAAG,MAAK,UAAA,aAAS;AAAA,IAC1B,gBAAAO,EAACN,KAAK,UAAA,YAAA,CAAS;AAAA,IACf,gBAAAM,EAACP,GAAA,EAAQ,IAAG,MAAK,UAAA,iBAAa;AAAA,sBAC7BQ,GAAA,EAAc,GAAGL,GAChB,UAAA,gBAAAI,EAACE,KACC,UAAA,gBAAAF,EAACG,GAAA,EAAiB,cAAc,IAAI,YAAU,IAAC,OAAM,SAAQ,MAAK,QAAA,CAAQ,GAC5E,GACF;AAAA,sBAECX,GAAA,EAAO,SAASD,GAAQ,OAAM,QAAO,UAAA,OAAA,CAEtC;AAAA,EAAA,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"PayrollEditEmployeePresentation.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.tsx"],"sourcesContent":["import { FormProvider, useForm } from 'react-hook-form'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport { useTranslation } from 'react-i18next'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api/models/components/payrollemployeecompensationstype'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { Flex, Grid, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { Form } from '@/components/Common/Form'\nimport { formatNumberAsCurrency, firstLastName } from '@/helpers/formattedStrings'\nimport {\n COMPENSATION_NAME_DOUBLE_OVERTIME,\n COMPENSATION_NAME_OVERTIME,\n COMPENSATION_NAME_REGULAR_HOURS,\n HOURS_COMPENSATION_NAMES,\n} from '@/shared/constants'\n\ninterface PayrollEditEmployeeProps {\n onSave: (updatedCompensation: PayrollEmployeeCompensationsType) => void\n onCancel: () => void\n employee: Employee\n employeeCompensation?: PayrollEmployeeCompensationsType\n grossPay: number\n isPending?: boolean\n}\n\nexport const PayrollEditEmployeeFormSchema = z.object({\n hourlyCompensations: z.record(z.string(), z.record(z.string(), z.string().optional())),\n})\n\nexport type PayrollEditEmployeeFormValues = z.infer<typeof PayrollEditEmployeeFormSchema>\n\nexport const PayrollEditEmployeePresentation = ({\n onSave,\n onCancel,\n employee,\n grossPay,\n employeeCompensation,\n isPending = false,\n}: PayrollEditEmployeeProps) => {\n const { Button, Heading, Text } = useComponentContext()\n\n const { t } = useTranslation('Payroll.PayrollEditEmployee')\n useI18n('Payroll.PayrollEditEmployee')\n\n const primaryJob = employee.jobs?.find(job => job.primary)\n const hourlyJobs = primaryJob ? [primaryJob] : []\n\n employeeCompensation?.hourlyCompensations?.forEach(compensation => {\n const job = employee.jobs?.find(job => job.uuid === compensation.jobUuid)\n if (job && !hourlyJobs.find(hourlyJob => hourlyJob.uuid === job.uuid)) {\n hourlyJobs.push(job)\n }\n })\n\n const findMatchingCompensation = (jobUuid: string, compensationName: string) => {\n return employeeCompensation?.hourlyCompensations?.find(\n compensation =>\n compensation.jobUuid === jobUuid &&\n compensation.name?.toLowerCase() === compensationName.toLowerCase(),\n )\n }\n\n const getCompensationLabel = (compensationName: string) => {\n switch (compensationName) {\n case COMPENSATION_NAME_REGULAR_HOURS:\n return t('compensationNames.regularHours')\n case COMPENSATION_NAME_OVERTIME:\n return t('compensationNames.overtime')\n case COMPENSATION_NAME_DOUBLE_OVERTIME:\n return t('compensationNames.doubleOvertime')\n default:\n return compensationName\n }\n }\n\n const defaultValues = {\n hourlyCompensations: (() => {\n const compensations: PayrollEditEmployeeFormValues['hourlyCompensations'] = {}\n\n hourlyJobs.forEach(hourlyJob => {\n HOURS_COMPENSATION_NAMES.forEach(compensationName => {\n const matchingCompensation = findMatchingCompensation(hourlyJob.uuid, compensationName)\n if (matchingCompensation) {\n if (!compensations[hourlyJob.uuid]) {\n compensations[hourlyJob.uuid] = {}\n }\n compensations[hourlyJob.uuid]![matchingCompensation.name!] = matchingCompensation.hours\n ? parseFloat(matchingCompensation.hours).toString()\n : ''\n }\n })\n })\n\n return compensations\n })(),\n }\n\n const formHandlers = useForm<PayrollEditEmployeeFormValues>({\n resolver: zodResolver(PayrollEditEmployeeFormSchema),\n defaultValues,\n })\n\n const employeeName = firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n\n const onSubmit = (data: PayrollEditEmployeeFormValues) => {\n const updatedCompensation = {\n ...employeeCompensation,\n }\n\n updatedCompensation.hourlyCompensations = employeeCompensation?.hourlyCompensations?.map(\n compensation => {\n const hours =\n compensation.jobUuid && compensation.name\n ? data.hourlyCompensations[compensation.jobUuid]?.[compensation.name]\n : undefined\n return hours\n ? {\n ...compensation,\n hours,\n }\n : compensation\n },\n )\n\n onSave(updatedCompensation)\n }\n\n return (\n <Flex flexDirection=\"column\" gap={20}>\n <Flex justifyContent=\"space-between\">\n <Flex flexDirection=\"column\" gap={8}>\n <Heading as=\"h2\">{t('pageTitle', { employeeName })}</Heading>\n <Heading as=\"h1\">{formatNumberAsCurrency(grossPay || 0)}</Heading>\n <Text>{t('grossPayLabel')}</Text>\n </Flex>\n <Flex gap={12} justifyContent=\"flex-end\">\n <Button variant=\"secondary\" onClick={onCancel} title={t('cancelButton')}>\n {t('cancelButton')}\n </Button>\n <Button\n onClick={formHandlers.handleSubmit(onSubmit)}\n title={t('saveButton')}\n isLoading={isPending}\n >\n {t('saveButton')}\n </Button>\n </Flex>\n </Flex>\n <Heading as=\"h3\">{t('regularHoursTitle')}</Heading>\n <FormProvider {...formHandlers}>\n <Form>\n {hourlyJobs.map(hourlyJob => (\n <Flex key={hourlyJob.uuid} flexDirection=\"column\" gap={8}>\n <Heading as=\"h4\">{hourlyJob.title}</Heading>\n <Grid gridTemplateColumns={{ base: '1fr', small: [320, 320] }} gap={20}>\n {HOURS_COMPENSATION_NAMES.map(compensationName => {\n const employeeHourlyCompensation = findMatchingCompensation(\n hourlyJob.uuid,\n compensationName,\n )\n if (employeeHourlyCompensation) {\n return (\n <TextInputField\n key={compensationName}\n type=\"number\"\n adornmentEnd={t('hoursUnit')}\n isRequired\n label={getCompensationLabel(compensationName)}\n name={`hourlyCompensations.${hourlyJob.uuid}.${employeeHourlyCompensation.name}`}\n />\n )\n }\n })}\n </Grid>\n </Flex>\n ))}\n </Form>\n </FormProvider>\n </Flex>\n )\n}\n"],"names":["PayrollEditEmployeeFormSchema","z","PayrollEditEmployeePresentation","onSave","onCancel","employee","grossPay","employeeCompensation","isPending","Button","Heading","Text","useComponentContext","useTranslation","useI18n","primaryJob","job","hourlyJobs","compensation","hourlyJob","findMatchingCompensation","jobUuid","compensationName","getCompensationLabel","COMPENSATION_NAME_REGULAR_HOURS","COMPENSATION_NAME_OVERTIME","COMPENSATION_NAME_DOUBLE_OVERTIME","defaultValues","compensations","HOURS_COMPENSATION_NAMES","matchingCompensation","formHandlers","useForm","zodResolver","employeeName","firstLastName","onSubmit","data","updatedCompensation","hours","jsxs","Flex","jsx","formatNumberAsCurrency","FormProvider","Form","Grid","employeeHourlyCompensation","TextInputField"],"mappings":"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"}
|
|
@@ -2,5 +2,5 @@ import { BaseComponentInterface } from '../../Base';
|
|
|
2
2
|
interface PayrollListBlockProps extends BaseComponentInterface {
|
|
3
3
|
companyId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const PayrollList: ({ companyId, onEvent
|
|
5
|
+
export declare const PayrollList: ({ companyId, onEvent }: PayrollListBlockProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { usePayrollsListSuspense as n } from "@gusto/embedded-api/react-query/payrollsList";
|
|
3
|
+
import { usePaySchedulesGetAllSuspense as i } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
|
|
4
|
+
import { ProcessingStatuses as m } from "@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls";
|
|
5
|
+
import { PayrollListPresentation as c } from "./PayrollListPresentation.js";
|
|
6
|
+
import { BaseComponent as u } from "../../Base/Base.js";
|
|
4
7
|
import "../../Base/useBase.js";
|
|
5
|
-
import { componentEvents as
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
8
|
+
import { componentEvents as y } from "../../../shared/constants.js";
|
|
9
|
+
const g = ({ companyId: s, onEvent: o }) => {
|
|
10
|
+
const { data: r } = n({
|
|
11
|
+
companyId: s,
|
|
12
|
+
processingStatuses: [m.Unprocessed]
|
|
13
|
+
}), e = r.payrollList, { data: l } = i({
|
|
14
|
+
companyId: s
|
|
15
|
+
}), a = l.payScheduleList;
|
|
16
|
+
return /* @__PURE__ */ t(u, { onEvent: o, children: /* @__PURE__ */ t(
|
|
17
|
+
c,
|
|
18
|
+
{
|
|
19
|
+
payrolls: e,
|
|
20
|
+
paySchedules: a,
|
|
21
|
+
onRunPayroll: ({ payrollId: p }) => {
|
|
22
|
+
o(y.RUN_PAYROLL_SELECTED, { payrollId: p });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
) });
|
|
13
26
|
};
|
|
14
27
|
export {
|
|
15
|
-
|
|
28
|
+
g as PayrollList
|
|
16
29
|
};
|
|
17
30
|
//# sourceMappingURL=PayrollList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\
|
|
1
|
+
{"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { ProcessingStatuses } from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\ninterface PayrollListBlockProps extends BaseComponentInterface {\n companyId: string\n}\n\nexport const PayrollList = ({ companyId, onEvent }: PayrollListBlockProps) => {\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Unprocessed],\n })\n const payrollList = payrollsData.payrollList!\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n const paySchedulesList = paySchedulesData.payScheduleList!\n\n const onRunPayroll = ({ payrollId }: { payrollId: string }) => {\n onEvent(componentEvents.RUN_PAYROLL_SELECTED, { payrollId })\n }\n return (\n <BaseComponent onEvent={onEvent}>\n <PayrollListPresentation\n payrolls={payrollList}\n paySchedules={paySchedulesList}\n onRunPayroll={onRunPayroll}\n />\n </BaseComponent>\n )\n}\n"],"names":["PayrollList","companyId","onEvent","payrollsData","usePayrollsListSuspense","ProcessingStatuses","payrollList","paySchedulesData","usePaySchedulesGetAllSuspense","paySchedulesList","jsx","BaseComponent","PayrollListPresentation","payrollId","componentEvents"],"mappings":";;;;;;;;AAYO,MAAMA,IAAc,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAAqC;AAC5E,QAAM,EAAE,MAAMC,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAH;AAAA,IACA,oBAAoB,CAACI,EAAmB,WAAW;AAAA,EAAA,CACpD,GACKC,IAAcH,EAAa,aAC3B,EAAE,MAAMI,EAAA,IAAqBC,EAA8B;AAAA,IAC/D,WAAAP;AAAA,EAAA,CACD,GACKQ,IAAmBF,EAAiB;AAK1C,SACE,gBAAAG,EAACC,KAAc,SAAAT,GACb,UAAA,gBAAAQ;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,UAAUN;AAAA,MACV,cAAcG;AAAA,MACd,cARe,CAAC,EAAE,WAAAI,QAAuC;AAC7D,QAAAX,EAAQY,EAAgB,sBAAsB,EAAE,WAAAD,EAAA,CAAW;AAAA,MAC7D;AAAA,IAMM;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
import { Payroll } from '@gusto/embedded-api/models/components/payroll';
|
|
2
|
+
import { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist';
|
|
4
3
|
interface PayrollListPresentationProps {
|
|
5
|
-
onRunPayroll: ({ payrollId }:
|
|
6
|
-
|
|
4
|
+
onRunPayroll: ({ payrollId }: {
|
|
5
|
+
payrollId: NonNullable<Payroll['payrollUuid']>;
|
|
6
|
+
}) => void;
|
|
7
|
+
payrolls: Payroll[];
|
|
8
|
+
paySchedules: PayScheduleList[];
|
|
7
9
|
}
|
|
8
|
-
export declare const PayrollListPresentation: ({ onRunPayroll, payrolls, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const PayrollListPresentation: ({ onRunPayroll, payrolls, paySchedules, }: PayrollListPresentationProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export {};
|
|
@@ -1,51 +1,60 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as u } from "react-i18next";
|
|
3
|
+
import { Flex as c } from "../../Common/Flex/Flex.js";
|
|
3
4
|
import "classnames";
|
|
4
5
|
import "../../../shared/constants.js";
|
|
5
|
-
import { useComponentContext as
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
import { useComponentContext as p } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
7
|
+
import { useI18n as f } from "../../../i18n/I18n.js";
|
|
8
|
+
import { DataView as y } from "../../Common/DataView/DataView.js";
|
|
9
|
+
const H = ({
|
|
10
|
+
onRunPayroll: a,
|
|
11
|
+
payrolls: s,
|
|
12
|
+
paySchedules: n
|
|
10
13
|
}) => {
|
|
11
|
-
const { Badge:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
const { Badge: d, Button: m, Text: l } = p();
|
|
15
|
+
f("Payroll.PayrollList");
|
|
16
|
+
const { t } = u("Payroll.PayrollList");
|
|
17
|
+
return /* @__PURE__ */ r(
|
|
18
|
+
y,
|
|
14
19
|
{
|
|
15
20
|
columns: [
|
|
16
21
|
{
|
|
17
|
-
render: () => /* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */
|
|
19
|
-
|
|
22
|
+
render: ({ payPeriod: e }) => /* @__PURE__ */ i(c, { flexDirection: "column", children: [
|
|
23
|
+
/* @__PURE__ */ i(l, { children: [
|
|
24
|
+
e?.startDate,
|
|
25
|
+
" - ",
|
|
26
|
+
e?.endDate
|
|
27
|
+
] }),
|
|
28
|
+
/* @__PURE__ */ r(l, { children: n.find((o) => o.uuid === e?.payScheduleUuid)?.name || n.find((o) => o.uuid === e?.payScheduleUuid)?.customName })
|
|
20
29
|
] }),
|
|
21
|
-
title: "
|
|
30
|
+
title: t("tableHeaders.0")
|
|
22
31
|
},
|
|
23
32
|
{
|
|
24
|
-
title: "
|
|
25
|
-
render: () => /* @__PURE__ */
|
|
33
|
+
title: t("tableHeaders.1"),
|
|
34
|
+
render: ({ payrollDeadline: e }) => /* @__PURE__ */ r(l, { children: e?.toLocaleDateString() })
|
|
26
35
|
},
|
|
27
36
|
{
|
|
28
|
-
title: "
|
|
29
|
-
render: () => /* @__PURE__ */
|
|
37
|
+
title: t("tableHeaders.2"),
|
|
38
|
+
render: ({ processed: e }) => /* @__PURE__ */ r(d, { children: t(e ? "status.processed" : "status.unprocessed") })
|
|
30
39
|
}
|
|
31
40
|
],
|
|
32
|
-
data:
|
|
33
|
-
label: "
|
|
34
|
-
itemMenu: ({
|
|
35
|
-
|
|
41
|
+
data: s,
|
|
42
|
+
label: t("payrollsListLabel"),
|
|
43
|
+
itemMenu: ({ payrollUuid: e }) => /* @__PURE__ */ r(
|
|
44
|
+
m,
|
|
36
45
|
{
|
|
37
46
|
onClick: () => {
|
|
38
|
-
|
|
47
|
+
a({ payrollId: e });
|
|
39
48
|
},
|
|
40
|
-
title: "
|
|
49
|
+
title: t("runPayrollTitle"),
|
|
41
50
|
variant: "secondary",
|
|
42
|
-
children: "
|
|
51
|
+
children: t("runPayrollTitle")
|
|
43
52
|
}
|
|
44
53
|
)
|
|
45
54
|
}
|
|
46
55
|
);
|
|
47
56
|
};
|
|
48
57
|
export {
|
|
49
|
-
|
|
58
|
+
H as PayrollListPresentation
|
|
50
59
|
};
|
|
51
60
|
//# sourceMappingURL=PayrollListPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\
|
|
1
|
+
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { PayScheduleList } from '@gusto/embedded-api/models/components/payschedulelist'\nimport { useTranslation } from 'react-i18next'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollId }: { payrollId: NonNullable<Payroll['payrollUuid']> }) => void\n payrolls: Payroll[]\n paySchedules: PayScheduleList[]\n}\nexport const PayrollListPresentation = ({\n onRunPayroll,\n payrolls,\n paySchedules,\n}: PayrollListPresentationProps) => {\n const { Badge, Button, Text } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n\n return (\n <DataView\n columns={[\n {\n render: ({ payPeriod }) => (\n <Flex flexDirection=\"column\">\n <Text>\n {payPeriod?.startDate} - {payPeriod?.endDate}\n </Text>\n <Text>\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </Flex>\n ),\n title: t('tableHeaders.0'),\n },\n {\n title: t('tableHeaders.1'),\n render: ({ payrollDeadline }) => <Text>{payrollDeadline?.toLocaleDateString()}</Text>,\n },\n {\n title: t('tableHeaders.2'),\n render: ({ processed }) => (\n <Badge>{processed ? t('status.processed') : t('status.unprocessed')}</Badge>\n ),\n },\n ]}\n data={payrolls}\n label={t('payrollsListLabel')}\n itemMenu={({ payrollUuid }) => (\n <Button\n onClick={() => {\n onRunPayroll({ payrollId: payrollUuid! })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )}\n />\n )\n}\n"],"names":["PayrollListPresentation","onRunPayroll","payrolls","paySchedules","Badge","Button","Text","useComponentContext","useI18n","useTranslation","jsx","DataView","payPeriod","jsxs","Flex","schedule","payrollDeadline","processed","payrollUuid"],"mappings":";;;;;;;;AAYO,MAAMA,IAA0B,CAAC;AAAA,EACtC,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AACF,MAAoC;AAClC,QAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,EAAA,IAASC,EAAA;AAChC,EAAAC,EAAQ,qBAAqB;AAC7B,QAAM,EAAE,EAAA,IAAMC,EAAe,qBAAqB;AAElD,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAS;AAAA,QACP;AAAA,UACE,QAAQ,CAAC,EAAE,WAAAC,QACT,gBAAAC,EAACC,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,YAAA,gBAAAD,EAACP,GAAA,EACE,UAAA;AAAA,cAAAM,GAAW;AAAA,cAAU;AAAA,cAAIA,GAAW;AAAA,YAAA,GACvC;AAAA,8BACCN,GAAA,EACE,UAAAH,EAAa,KAAK,CAAAY,MAAYA,EAAS,SAASH,GAAW,eAAe,GACvE,QACFT,EAAa,KAAK,CAAAY,MAAYA,EAAS,SAASH,GAAW,eAAe,GACtE,WAAA,CACR;AAAA,UAAA,GACF;AAAA,UAEF,OAAO,EAAE,gBAAgB;AAAA,QAAA;AAAA,QAE3B;AAAA,UACE,OAAO,EAAE,gBAAgB;AAAA,UACzB,QAAQ,CAAC,EAAE,iBAAAI,EAAA,MAAsB,gBAAAN,EAACJ,GAAA,EAAM,UAAAU,GAAiB,qBAAmB,CAAE;AAAA,QAAA;AAAA,QAEhF;AAAA,UACE,OAAO,EAAE,gBAAgB;AAAA,UACzB,QAAQ,CAAC,EAAE,WAAAC,QACT,gBAAAP,EAACN,GAAA,EAAO,UAAY,EAAZa,IAAc,qBAAwB,oBAAN,EAA0B,CAAE;AAAA,QAAA;AAAA,MAExE;AAAA,MAEF,MAAMf;AAAA,MACN,OAAO,EAAE,mBAAmB;AAAA,MAC5B,UAAU,CAAC,EAAE,aAAAgB,EAAA,MACX,gBAAAR;AAAA,QAACL;AAAA,QAAA;AAAA,UACC,SAAS,MAAM;AACb,YAAAJ,EAAa,EAAE,WAAWiB,GAAc;AAAA,UAC1C;AAAA,UACA,OAAO,EAAE,iBAAiB;AAAA,UAC1B,SAAQ;AAAA,UAEP,YAAE,iBAAiB;AAAA,QAAA;AAAA,MAAA;AAAA,IACtB;AAAA,EAAA;AAIR;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { usePayrollsSubmitMutation as u } from "
|
|
2
|
+
import { usePayrollsSubmitMutation as u } from "@gusto/embedded-api/react-query/payrollsSubmit";
|
|
3
3
|
import { PayrollOverviewPresentation as a } from "./PayrollOverviewPresentation.js";
|
|
4
4
|
import { componentEvents as r } from "../../../shared/constants.js";
|
|
5
5
|
import { BaseComponent as c } from "../../Base/Base.js";
|
|
@@ -1,62 +1,69 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
1
|
+
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as c } from "react-i18next";
|
|
3
|
+
import { Flex as i } from "../../Common/Flex/Flex.js";
|
|
3
4
|
import "classnames";
|
|
4
5
|
import "../../../shared/constants.js";
|
|
5
|
-
import { useComponentContext as
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
import { useComponentContext as u } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
7
|
+
import { useI18n as b } from "../../../i18n/I18n.js";
|
|
8
|
+
import { DataView as o } from "../../Common/DataView/DataView.js";
|
|
9
|
+
const w = ({ onEdit: d, onSubmit: m }) => {
|
|
10
|
+
const { Alert: n, Button: a, Heading: s, Text: r } = u();
|
|
11
|
+
b("Payroll.PayrollOverview");
|
|
12
|
+
const { t: e } = c("Payroll.PayrollOverview");
|
|
13
|
+
return /* @__PURE__ */ l(i, { flexDirection: "column", alignItems: "stretch", children: [
|
|
14
|
+
/* @__PURE__ */ l(i, { justifyContent: "space-between", children: [
|
|
15
|
+
/* @__PURE__ */ t(s, { as: "h1", children: e("pageTitle", { startDate: "Jul 5", endDate: "Jul 18, 2025" }) }),
|
|
16
|
+
/* @__PURE__ */ l(i, { justifyContent: "flex-end", children: [
|
|
17
|
+
/* @__PURE__ */ t(a, { title: e("buttons.editTitle"), onClick: d, variant: "secondary", children: e("buttons.edit") }),
|
|
18
|
+
/* @__PURE__ */ t(a, { title: e("buttons.submitTitle"), onClick: m, children: e("buttons.submit") })
|
|
15
19
|
] })
|
|
16
20
|
] }),
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */
|
|
19
|
-
|
|
21
|
+
/* @__PURE__ */ t(n, { label: e("alerts.progressSaved"), status: "success" }),
|
|
22
|
+
/* @__PURE__ */ t(
|
|
23
|
+
n,
|
|
20
24
|
{
|
|
21
|
-
label: "
|
|
25
|
+
label: e("alerts.directDepositDeadline", {
|
|
26
|
+
payDate: "Fri, Jul 25",
|
|
27
|
+
deadline: "7:00 PM EDT on Wed, Jul 23"
|
|
28
|
+
}),
|
|
22
29
|
status: "warning",
|
|
23
|
-
children: "
|
|
30
|
+
children: e("alerts.missedDeadlineWarning")
|
|
24
31
|
}
|
|
25
32
|
),
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
|
|
33
|
+
/* @__PURE__ */ t(s, { as: "h3", children: e("sections.payrollSummary") }),
|
|
34
|
+
/* @__PURE__ */ t(
|
|
35
|
+
o,
|
|
29
36
|
{
|
|
30
|
-
label: "
|
|
37
|
+
label: e("dataViews.summary"),
|
|
31
38
|
columns: [
|
|
32
39
|
{
|
|
33
|
-
title: "
|
|
34
|
-
render: () => /* @__PURE__ */
|
|
40
|
+
title: e("tableHeaders.totalPayroll"),
|
|
41
|
+
render: () => /* @__PURE__ */ t(r, { children: "$32,161.22" })
|
|
35
42
|
},
|
|
36
43
|
{
|
|
37
|
-
title: "
|
|
38
|
-
render: () => /* @__PURE__ */
|
|
44
|
+
title: e("tableHeaders.debitAmount"),
|
|
45
|
+
render: () => /* @__PURE__ */ t(r, { children: "$28,896.27" })
|
|
39
46
|
}
|
|
40
47
|
],
|
|
41
48
|
data: [{}]
|
|
42
49
|
}
|
|
43
50
|
),
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
|
|
51
|
+
/* @__PURE__ */ t(
|
|
52
|
+
o,
|
|
46
53
|
{
|
|
47
|
-
label: "
|
|
54
|
+
label: e("dataViews.configuration"),
|
|
48
55
|
columns: [
|
|
49
56
|
{
|
|
50
|
-
title: "
|
|
51
|
-
render: () => /* @__PURE__ */
|
|
57
|
+
title: e("tableHeaders.employees"),
|
|
58
|
+
render: () => /* @__PURE__ */ t(r, { children: "John Smith" })
|
|
52
59
|
},
|
|
53
60
|
{
|
|
54
|
-
title: "
|
|
55
|
-
render: () => /* @__PURE__ */
|
|
61
|
+
title: e("tableHeaders.grossPay"),
|
|
62
|
+
render: () => /* @__PURE__ */ t(r, { children: "$2,345.16" })
|
|
56
63
|
},
|
|
57
64
|
{
|
|
58
|
-
title: "
|
|
59
|
-
render: () => /* @__PURE__ */
|
|
65
|
+
title: e("tableHeaders.reimbursements"),
|
|
66
|
+
render: () => /* @__PURE__ */ t(r, { children: "$0.00" })
|
|
60
67
|
}
|
|
61
68
|
],
|
|
62
69
|
data: [{}]
|
|
@@ -65,6 +72,6 @@ const f = ({ onEdit: a, onSubmit: d }) => {
|
|
|
65
72
|
] });
|
|
66
73
|
};
|
|
67
74
|
export {
|
|
68
|
-
|
|
75
|
+
w as PayrollOverviewPresentation
|
|
69
76
|
};
|
|
70
77
|
//# sourceMappingURL=PayrollOverviewPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollOverviewPresentation.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.tsx"],"sourcesContent":["import { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ninterface PayrollOverviewProps {\n onEdit: () => void\n onSubmit: () => void\n}\n\nexport const PayrollOverviewPresentation = ({ onEdit, onSubmit }: PayrollOverviewProps) => {\n const { Alert, Button, Heading, Text } = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\">\n <Flex justifyContent=\"space-between\">\n <Heading as=\"h1\">
|
|
1
|
+
{"version":3,"file":"PayrollOverviewPresentation.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { DataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface PayrollOverviewProps {\n onEdit: () => void\n onSubmit: () => void\n}\n\nexport const PayrollOverviewPresentation = ({ onEdit, onSubmit }: PayrollOverviewProps) => {\n const { Alert, Button, Heading, Text } = useComponentContext()\n useI18n('Payroll.PayrollOverview')\n const { t } = useTranslation('Payroll.PayrollOverview')\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\">\n <Flex justifyContent=\"space-between\">\n <Heading as=\"h1\">{t('pageTitle', { startDate: 'Jul 5', endDate: 'Jul 18, 2025' })}</Heading>\n <Flex justifyContent=\"flex-end\">\n <Button title={t('buttons.editTitle')} onClick={onEdit} variant=\"secondary\">\n {t('buttons.edit')}\n </Button>\n <Button title={t('buttons.submitTitle')} onClick={onSubmit}>\n {t('buttons.submit')}\n </Button>\n </Flex>\n </Flex>\n <Alert label={t('alerts.progressSaved')} status=\"success\"></Alert>\n <Alert\n label={t('alerts.directDepositDeadline', {\n payDate: 'Fri, Jul 25',\n deadline: '7:00 PM EDT on Wed, Jul 23',\n })}\n status=\"warning\"\n >\n {t('alerts.missedDeadlineWarning')}\n </Alert>\n <Heading as=\"h3\">{t('sections.payrollSummary')}</Heading>\n <DataView\n label={t('dataViews.summary')}\n columns={[\n {\n title: t('tableHeaders.totalPayroll'),\n render: () => <Text>$32,161.22</Text>,\n },\n {\n title: t('tableHeaders.debitAmount'),\n render: () => <Text>$28,896.27</Text>,\n },\n ]}\n data={[{}]}\n />\n <DataView\n label={t('dataViews.configuration')}\n columns={[\n {\n title: t('tableHeaders.employees'),\n render: () => <Text>John Smith</Text>,\n },\n {\n title: t('tableHeaders.grossPay'),\n render: () => <Text>$2,345.16</Text>,\n },\n {\n title: t('tableHeaders.reimbursements'),\n render: () => <Text>$0.00</Text>,\n },\n ]}\n data={[{}]}\n />\n </Flex>\n )\n}\n"],"names":["PayrollOverviewPresentation","onEdit","onSubmit","Alert","Button","Heading","Text","useComponentContext","useI18n","t","useTranslation","jsxs","Flex","jsx","DataView"],"mappings":";;;;;;;;AAUO,MAAMA,IAA8B,CAAC,EAAE,QAAAC,GAAQ,UAAAC,QAAqC;AACzF,QAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,SAAAC,GAAS,MAAAC,EAAA,IAASC,EAAA;AACzC,EAAAC,EAAQ,yBAAyB;AACjC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB;AAEtD,SACE,gBAAAC,EAACC,GAAA,EAAK,eAAc,UAAS,YAAW,WACtC,UAAA;AAAA,IAAA,gBAAAD,EAACC,GAAA,EAAK,gBAAe,iBACnB,UAAA;AAAA,MAAA,gBAAAC,EAACR,GAAA,EAAQ,IAAG,MAAM,UAAAI,EAAE,aAAa,EAAE,WAAW,SAAS,SAAS,eAAA,CAAgB,EAAA,CAAE;AAAA,MAClF,gBAAAE,EAACC,GAAA,EAAK,gBAAe,YACnB,UAAA;AAAA,QAAA,gBAAAC,EAACT,GAAA,EAAO,OAAOK,EAAE,mBAAmB,GAAG,SAASR,GAAQ,SAAQ,aAC7D,UAAAQ,EAAE,cAAc,EAAA,CACnB;AAAA,QACA,gBAAAI,EAACT,GAAA,EAAO,OAAOK,EAAE,qBAAqB,GAAG,SAASP,GAC/C,UAAAO,EAAE,gBAAgB,EAAA,CACrB;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,sBACCN,GAAA,EAAM,OAAOM,EAAE,sBAAsB,GAAG,QAAO,WAAU;AAAA,IAC1D,gBAAAI;AAAA,MAACV;AAAA,MAAA;AAAA,QACC,OAAOM,EAAE,gCAAgC;AAAA,UACvC,SAAS;AAAA,UACT,UAAU;AAAA,QAAA,CACX;AAAA,QACD,QAAO;AAAA,QAEN,YAAE,8BAA8B;AAAA,MAAA;AAAA,IAAA;AAAA,sBAElCJ,GAAA,EAAQ,IAAG,MAAM,UAAAI,EAAE,yBAAyB,GAAE;AAAA,IAC/C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAOL,EAAE,mBAAmB;AAAA,QAC5B,SAAS;AAAA,UACP;AAAA,YACE,OAAOA,EAAE,2BAA2B;AAAA,YACpC,QAAQ,MAAM,gBAAAI,EAACP,GAAA,EAAK,UAAA,aAAA,CAAU;AAAA,UAAA;AAAA,UAEhC;AAAA,YACE,OAAOG,EAAE,0BAA0B;AAAA,YACnC,QAAQ,MAAM,gBAAAI,EAACP,GAAA,EAAK,UAAA,aAAA,CAAU;AAAA,UAAA;AAAA,QAChC;AAAA,QAEF,MAAM,CAAC,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,IAEX,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAOL,EAAE,yBAAyB;AAAA,QAClC,SAAS;AAAA,UACP;AAAA,YACE,OAAOA,EAAE,wBAAwB;AAAA,YACjC,QAAQ,MAAM,gBAAAI,EAACP,GAAA,EAAK,UAAA,aAAA,CAAU;AAAA,UAAA;AAAA,UAEhC;AAAA,YACE,OAAOG,EAAE,uBAAuB;AAAA,YAChC,QAAQ,MAAM,gBAAAI,EAACP,GAAA,EAAK,UAAA,YAAA,CAAS;AAAA,UAAA;AAAA,UAE/B;AAAA,YACE,OAAOG,EAAE,6BAA6B;AAAA,YACtC,QAAQ,MAAM,gBAAAI,EAACP,GAAA,EAAK,UAAA,QAAA,CAAK;AAAA,UAAA;AAAA,QAC3B;AAAA,QAEF,MAAM,CAAC,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACF;AAEJ;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BaseComponentInterface } from '../../Base/Base';
|
|
2
2
|
interface RunPayrollProps extends Pick<BaseComponentInterface, 'onEvent'> {
|
|
3
3
|
companyId: string;
|
|
4
|
-
Configuration: ({ onEvent, payrollId, }: Pick<BaseComponentInterface, 'onEvent'> & {
|
|
4
|
+
Configuration: ({ onEvent, payrollId, companyId, }: Pick<BaseComponentInterface, 'onEvent'> & {
|
|
5
5
|
payrollId: string;
|
|
6
|
+
companyId: string;
|
|
6
7
|
}) => React.JSX.Element;
|
|
7
8
|
List: ({ companyId, onEvent, }: Pick<BaseComponentInterface, 'onEvent'> & {
|
|
8
9
|
companyId: string;
|