@gusto/embedded-react-sdk 0.55.7 → 0.55.8
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 +23 -0
- package/dist/components/Common/FadeIn/FadeIn.module.scss.js +4 -4
- package/dist/components/Common/FieldCaption/FieldCaption.js +22 -18
- package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
- package/dist/components/Common/Flex/Flex.js +17 -15
- package/dist/components/Common/Flex/Flex.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Heading/Heading.module.scss.js +7 -7
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -4
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +113 -105
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +89 -80
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +25 -24
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +80 -79
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +34 -33
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +22 -21
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +120 -116
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +29 -29
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +37 -36
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +27 -26
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +52 -51
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +34 -33
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +112 -109
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +101 -99
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +39 -38
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +17 -17
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
- package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
- package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
- package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
- package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
- package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
- package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
- package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
- package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
- package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
- package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +4 -0
- package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
- package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
- package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +2 -0
- package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
- package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
- package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
- package/dist/src/i18n/types.d.ts +28 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/models/external.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +16 -15
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as i, jsxs as l, Fragment as O } from "react/jsx-runtime";
|
|
2
2
|
import { useId as t } from "react";
|
|
3
|
-
import { useForm as
|
|
4
|
-
import { useTranslation as
|
|
3
|
+
import { useForm as U, useWatch as s, FormProvider as W } from "react-hook-form";
|
|
4
|
+
import { useTranslation as _ } from "react-i18next";
|
|
5
5
|
import { z as n } from "zod";
|
|
6
|
-
import { zodResolver as
|
|
6
|
+
import { zodResolver as j } from "@hookform/resolvers/zod";
|
|
7
7
|
import a from "./PolicySettings.module.scss.js";
|
|
8
8
|
import { Flex as L } from "../../Common/Flex/Flex.js";
|
|
9
|
-
import { ActionsLayout as
|
|
10
|
-
import { Form as
|
|
11
|
-
import { useComponentContext as
|
|
12
|
-
import { useI18n as
|
|
9
|
+
import { ActionsLayout as z } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
10
|
+
import { Form as A } from "../../Common/Form/Form.js";
|
|
11
|
+
import { useComponentContext as B } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
+
import { useI18n as q } from "../../../i18n/I18n.js";
|
|
13
13
|
import { NumberInputField as c } from "../../Common/Fields/NumberInputField/NumberInputField.js";
|
|
14
14
|
import { SwitchField as r } from "../../Common/Fields/SwitchField/SwitchField.js";
|
|
15
|
-
const
|
|
15
|
+
const G = n.object({
|
|
16
16
|
accrualMaximumEnabled: n.boolean(),
|
|
17
17
|
accrualMaximum: n.number().optional(),
|
|
18
18
|
balanceMaximumEnabled: n.boolean(),
|
|
@@ -23,18 +23,19 @@ const q = n.object({
|
|
|
23
23
|
waitingPeriod: n.number().int().optional(),
|
|
24
24
|
paidOutOnTermination: n.boolean()
|
|
25
25
|
});
|
|
26
|
-
function
|
|
26
|
+
function oe({
|
|
27
27
|
accrualMethod: d,
|
|
28
28
|
onContinue: M,
|
|
29
29
|
onBack: E,
|
|
30
30
|
defaultValues: P,
|
|
31
31
|
mode: w,
|
|
32
32
|
editingPolicyName: u,
|
|
33
|
-
isPending: b = !1
|
|
33
|
+
isPending: b = !1,
|
|
34
|
+
className: N
|
|
34
35
|
}) {
|
|
35
|
-
|
|
36
|
-
const { t: e } =
|
|
37
|
-
resolver:
|
|
36
|
+
q("Company.TimeOff.CreateTimeOffPolicy");
|
|
37
|
+
const { t: e } = _("Company.TimeOff.CreateTimeOffPolicy"), { Heading: H, Button: p } = B(), g = t(), y = t(), h = t(), f = t(), x = t(), m = U({
|
|
38
|
+
resolver: j(G),
|
|
38
39
|
defaultValues: {
|
|
39
40
|
accrualMaximumEnabled: !1,
|
|
40
41
|
balanceMaximumEnabled: !1,
|
|
@@ -43,143 +44,151 @@ function re({
|
|
|
43
44
|
paidOutOnTermination: !1,
|
|
44
45
|
...P
|
|
45
46
|
}
|
|
46
|
-
}), { control: o } = m,
|
|
47
|
-
M(
|
|
47
|
+
}), { control: o } = m, C = s({ control: o, name: "accrualMaximumEnabled" }), F = s({ control: o, name: "balanceMaximumEnabled" }), I = s({ control: o, name: "carryOverLimitEnabled" }), T = s({ control: o, name: "waitingPeriodEnabled" }), S = d === "hours_worked", v = d === "fixed_per_pay_period", D = S || v, R = S || v, V = (k) => {
|
|
48
|
+
M(k);
|
|
48
49
|
};
|
|
49
|
-
return /* @__PURE__ */ i(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
return /* @__PURE__ */ i(W, { ...m, children: /* @__PURE__ */ i(
|
|
51
|
+
A,
|
|
52
|
+
{
|
|
53
|
+
"aria-labelledby": g,
|
|
54
|
+
onSubmit: m.handleSubmit(V),
|
|
55
|
+
className: N,
|
|
56
|
+
children: /* @__PURE__ */ i("div", { className: a.policySettings, children: /* @__PURE__ */ l(L, { flexDirection: "column", gap: 32, children: [
|
|
57
|
+
/* @__PURE__ */ i(H, { as: "h2", id: g, children: w === "edit" && u ? e("policySettings.editTitle", { name: u }) : e("policySettings.createTitle") }),
|
|
58
|
+
/* @__PURE__ */ l(L, { flexDirection: "column", gap: 20, children: [
|
|
59
|
+
D && /* @__PURE__ */ l(O, { children: [
|
|
60
|
+
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
61
|
+
/* @__PURE__ */ i(
|
|
62
|
+
c,
|
|
63
|
+
{
|
|
64
|
+
className: a.settingField,
|
|
65
|
+
id: y,
|
|
66
|
+
name: "accrualMaximum",
|
|
67
|
+
label: e("policySettings.accrualMaximumLabel"),
|
|
68
|
+
description: e("policySettings.accrualMaximumHint"),
|
|
69
|
+
adornmentEnd: e("policySettings.hoursUnit"),
|
|
70
|
+
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
71
|
+
isDisabled: !C,
|
|
72
|
+
min: 0,
|
|
73
|
+
max: 2e4
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
77
|
+
r,
|
|
78
|
+
{
|
|
79
|
+
name: "accrualMaximumEnabled",
|
|
80
|
+
label: e("policySettings.accrualMaximumLabel"),
|
|
81
|
+
shouldVisuallyHideLabel: !0,
|
|
82
|
+
"aria-controls": y
|
|
83
|
+
}
|
|
84
|
+
) })
|
|
85
|
+
] }),
|
|
86
|
+
/* @__PURE__ */ i("hr", { className: a.divider })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
89
|
+
/* @__PURE__ */ i(
|
|
90
|
+
c,
|
|
91
|
+
{
|
|
92
|
+
className: a.settingField,
|
|
93
|
+
id: h,
|
|
94
|
+
name: "balanceMaximum",
|
|
95
|
+
label: e("policySettings.balanceMaximumLabel"),
|
|
96
|
+
description: e("policySettings.balanceMaximumHint"),
|
|
97
|
+
adornmentEnd: e("policySettings.hoursUnit"),
|
|
98
|
+
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
99
|
+
isDisabled: !F,
|
|
100
|
+
min: 0,
|
|
101
|
+
max: 2e4
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
105
|
+
r,
|
|
106
|
+
{
|
|
107
|
+
name: "balanceMaximumEnabled",
|
|
108
|
+
label: e("policySettings.balanceMaximumLabel"),
|
|
109
|
+
shouldVisuallyHideLabel: !0,
|
|
110
|
+
"aria-controls": h
|
|
111
|
+
}
|
|
112
|
+
) })
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
115
|
+
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
116
|
+
/* @__PURE__ */ i(
|
|
117
|
+
c,
|
|
118
|
+
{
|
|
119
|
+
className: a.settingField,
|
|
120
|
+
id: f,
|
|
121
|
+
name: "carryOverLimit",
|
|
122
|
+
label: e("policySettings.carryOverLimitLabel"),
|
|
123
|
+
description: e("policySettings.carryOverLimitHint"),
|
|
124
|
+
adornmentEnd: e("policySettings.hoursUnit"),
|
|
125
|
+
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
126
|
+
isDisabled: !I,
|
|
127
|
+
min: 0,
|
|
128
|
+
max: 2e4
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
132
|
+
r,
|
|
133
|
+
{
|
|
134
|
+
name: "carryOverLimitEnabled",
|
|
135
|
+
label: e("policySettings.carryOverLimitLabel"),
|
|
136
|
+
shouldVisuallyHideLabel: !0,
|
|
137
|
+
"aria-controls": f
|
|
138
|
+
}
|
|
139
|
+
) })
|
|
140
|
+
] }),
|
|
141
|
+
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
142
|
+
R && /* @__PURE__ */ l(O, { children: [
|
|
143
|
+
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
144
|
+
/* @__PURE__ */ i(
|
|
145
|
+
c,
|
|
146
|
+
{
|
|
147
|
+
className: a.settingField,
|
|
148
|
+
id: x,
|
|
149
|
+
name: "waitingPeriod",
|
|
150
|
+
label: e("policySettings.waitingPeriodLabel"),
|
|
151
|
+
description: e("policySettings.waitingPeriodHint"),
|
|
152
|
+
adornmentEnd: e("policySettings.daysUnit"),
|
|
153
|
+
placeholder: e("policySettings.numberOfDaysPlaceholder"),
|
|
154
|
+
isDisabled: !T,
|
|
155
|
+
min: 0,
|
|
156
|
+
max: 2e4,
|
|
157
|
+
maximumFractionDigits: 0,
|
|
158
|
+
errorMessage: e("policySettings.errors.waitingPeriodMustBeWholeNumber")
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
162
|
+
r,
|
|
163
|
+
{
|
|
164
|
+
name: "waitingPeriodEnabled",
|
|
165
|
+
label: e("policySettings.waitingPeriodLabel"),
|
|
166
|
+
shouldVisuallyHideLabel: !0,
|
|
167
|
+
"aria-controls": x
|
|
168
|
+
}
|
|
169
|
+
) })
|
|
170
|
+
] }),
|
|
171
|
+
/* @__PURE__ */ i("hr", { className: a.divider })
|
|
172
|
+
] }),
|
|
54
173
|
/* @__PURE__ */ i(
|
|
55
|
-
c,
|
|
56
|
-
{
|
|
57
|
-
className: a.settingField,
|
|
58
|
-
id: y,
|
|
59
|
-
name: "accrualMaximum",
|
|
60
|
-
label: e("policySettings.accrualMaximumLabel"),
|
|
61
|
-
description: e("policySettings.accrualMaximumHint"),
|
|
62
|
-
adornmentEnd: e("policySettings.hoursUnit"),
|
|
63
|
-
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
64
|
-
isDisabled: !H,
|
|
65
|
-
min: 0,
|
|
66
|
-
max: 2e4
|
|
67
|
-
}
|
|
68
|
-
),
|
|
69
|
-
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
70
174
|
r,
|
|
71
175
|
{
|
|
72
|
-
name: "
|
|
73
|
-
label: e("policySettings.
|
|
74
|
-
|
|
75
|
-
"aria-controls": y
|
|
76
|
-
}
|
|
77
|
-
) })
|
|
78
|
-
] }),
|
|
79
|
-
/* @__PURE__ */ i("hr", { className: a.divider })
|
|
80
|
-
] }),
|
|
81
|
-
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
82
|
-
/* @__PURE__ */ i(
|
|
83
|
-
c,
|
|
84
|
-
{
|
|
85
|
-
className: a.settingField,
|
|
86
|
-
id: h,
|
|
87
|
-
name: "balanceMaximum",
|
|
88
|
-
label: e("policySettings.balanceMaximumLabel"),
|
|
89
|
-
description: e("policySettings.balanceMaximumHint"),
|
|
90
|
-
adornmentEnd: e("policySettings.hoursUnit"),
|
|
91
|
-
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
92
|
-
isDisabled: !C,
|
|
93
|
-
min: 0,
|
|
94
|
-
max: 2e4
|
|
95
|
-
}
|
|
96
|
-
),
|
|
97
|
-
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
98
|
-
r,
|
|
99
|
-
{
|
|
100
|
-
name: "balanceMaximumEnabled",
|
|
101
|
-
label: e("policySettings.balanceMaximumLabel"),
|
|
102
|
-
shouldVisuallyHideLabel: !0,
|
|
103
|
-
"aria-controls": h
|
|
104
|
-
}
|
|
105
|
-
) })
|
|
106
|
-
] }),
|
|
107
|
-
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
108
|
-
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
109
|
-
/* @__PURE__ */ i(
|
|
110
|
-
c,
|
|
111
|
-
{
|
|
112
|
-
className: a.settingField,
|
|
113
|
-
id: f,
|
|
114
|
-
name: "carryOverLimit",
|
|
115
|
-
label: e("policySettings.carryOverLimitLabel"),
|
|
116
|
-
description: e("policySettings.carryOverLimitHint"),
|
|
117
|
-
adornmentEnd: e("policySettings.hoursUnit"),
|
|
118
|
-
placeholder: e("policySettings.numberOfHoursPlaceholder"),
|
|
119
|
-
isDisabled: !F,
|
|
120
|
-
min: 0,
|
|
121
|
-
max: 2e4
|
|
122
|
-
}
|
|
123
|
-
),
|
|
124
|
-
/* @__PURE__ */ i("div", { className: a.toggleCell, children: /* @__PURE__ */ i(
|
|
125
|
-
r,
|
|
126
|
-
{
|
|
127
|
-
name: "carryOverLimitEnabled",
|
|
128
|
-
label: e("policySettings.carryOverLimitLabel"),
|
|
129
|
-
shouldVisuallyHideLabel: !0,
|
|
130
|
-
"aria-controls": f
|
|
131
|
-
}
|
|
132
|
-
) })
|
|
133
|
-
] }),
|
|
134
|
-
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
135
|
-
D && /* @__PURE__ */ l(O, { children: [
|
|
136
|
-
/* @__PURE__ */ l("div", { className: a.settingRow, children: [
|
|
137
|
-
/* @__PURE__ */ i(
|
|
138
|
-
c,
|
|
139
|
-
{
|
|
140
|
-
className: a.settingField,
|
|
141
|
-
id: x,
|
|
142
|
-
name: "waitingPeriod",
|
|
143
|
-
label: e("policySettings.waitingPeriodLabel"),
|
|
144
|
-
description: e("policySettings.waitingPeriodHint"),
|
|
145
|
-
adornmentEnd: e("policySettings.daysUnit"),
|
|
146
|
-
placeholder: e("policySettings.numberOfDaysPlaceholder"),
|
|
147
|
-
isDisabled: !I,
|
|
148
|
-
min: 0,
|
|
149
|
-
max: 2e4,
|
|
150
|
-
maximumFractionDigits: 0,
|
|
151
|
-
errorMessage: e("policySettings.errors.waitingPeriodMustBeWholeNumber")
|
|
176
|
+
name: "paidOutOnTermination",
|
|
177
|
+
label: e("policySettings.paidOutOnTerminationLabel"),
|
|
178
|
+
description: e("policySettings.paidOutOnTerminationHint")
|
|
152
179
|
}
|
|
153
180
|
),
|
|
154
|
-
/* @__PURE__ */ i("
|
|
155
|
-
|
|
156
|
-
{
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
] }),
|
|
164
|
-
/* @__PURE__ */ i("hr", { className: a.divider })
|
|
165
|
-
] }),
|
|
166
|
-
/* @__PURE__ */ i(
|
|
167
|
-
r,
|
|
168
|
-
{
|
|
169
|
-
name: "paidOutOnTermination",
|
|
170
|
-
label: e("policySettings.paidOutOnTerminationLabel"),
|
|
171
|
-
description: e("policySettings.paidOutOnTerminationHint")
|
|
172
|
-
}
|
|
173
|
-
),
|
|
174
|
-
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
175
|
-
/* @__PURE__ */ l(j, { children: [
|
|
176
|
-
/* @__PURE__ */ i(p, { variant: "secondary", onClick: E, isDisabled: b, children: e("backCta") }),
|
|
177
|
-
/* @__PURE__ */ i(p, { variant: "primary", type: "submit", isLoading: b, children: e("policySettings.continueCta") })
|
|
178
|
-
] })
|
|
179
|
-
] })
|
|
180
|
-
] }) }) }) });
|
|
181
|
+
/* @__PURE__ */ i("hr", { className: a.divider }),
|
|
182
|
+
/* @__PURE__ */ l(z, { children: [
|
|
183
|
+
/* @__PURE__ */ i(p, { variant: "secondary", onClick: E, isDisabled: b, children: e("backCta") }),
|
|
184
|
+
/* @__PURE__ */ i(p, { variant: "primary", type: "submit", isLoading: b, children: e("policySettings.continueCta") })
|
|
185
|
+
] })
|
|
186
|
+
] })
|
|
187
|
+
] }) })
|
|
188
|
+
}
|
|
189
|
+
) });
|
|
181
190
|
}
|
|
182
191
|
export {
|
|
183
|
-
|
|
192
|
+
oe as PolicySettingsPresentation
|
|
184
193
|
};
|
|
185
194
|
//# sourceMappingURL=PolicySettingsPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicySettingsPresentation.js","sources":["../../../../src/components/TimeOff/PolicySettings/PolicySettingsPresentation.tsx"],"sourcesContent":["import { useId } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { PolicySettingsFormData, PolicySettingsPresentationProps } from './PolicySettingsTypes'\nimport styles from './PolicySettings.module.scss'\nimport { Flex, ActionsLayout, NumberInputField, SwitchField } from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst PolicySettingsSchema = z.object({\n accrualMaximumEnabled: z.boolean(),\n accrualMaximum: z.number().optional(),\n balanceMaximumEnabled: z.boolean(),\n balanceMaximum: z.number().optional(),\n carryOverLimitEnabled: z.boolean(),\n carryOverLimit: z.number().optional(),\n waitingPeriodEnabled: z.boolean(),\n waitingPeriod: z.number().int().optional(),\n paidOutOnTermination: z.boolean(),\n})\n\n/**\n * Presentation-only form for configuring time off policy limits and rules.\n *\n * @remarks\n * Use this component when you need to render the policy settings form without the data-fetching container — provide the `accrualMethod` and handle submission yourself. For the data-connected version, use {@link PolicySettings}.\n *\n * The fields shown depend on `accrualMethod`:\n * - Accrual maximum and waiting period are shown for `'hours_worked'` and `'fixed_per_pay_period'`\n * - Balance maximum, carry-over limit, and paid-out-on-termination are always shown\n *\n * @param props - {@link PolicySettingsPresentationProps}\n * @returns The rendered policy settings form.\n * @public\n */\nexport function PolicySettingsPresentation({\n accrualMethod,\n onContinue,\n onBack,\n defaultValues,\n mode,\n editingPolicyName,\n isPending = false,\n}: PolicySettingsPresentationProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { Heading, Button } = useComponentContext()\n const headingId = useId()\n\n const accrualMaxInputId = useId()\n const balanceMaxInputId = useId()\n const carryOverInputId = useId()\n const waitingPeriodInputId = useId()\n\n const formMethods = useForm<PolicySettingsFormData>({\n resolver: zodResolver(PolicySettingsSchema),\n defaultValues: {\n accrualMaximumEnabled: false,\n balanceMaximumEnabled: false,\n carryOverLimitEnabled: false,\n waitingPeriodEnabled: false,\n paidOutOnTermination: false,\n ...defaultValues,\n },\n })\n\n const { control } = formMethods\n const accrualMaximumEnabled = useWatch({ control, name: 'accrualMaximumEnabled' })\n const balanceMaximumEnabled = useWatch({ control, name: 'balanceMaximumEnabled' })\n const carryOverLimitEnabled = useWatch({ control, name: 'carryOverLimitEnabled' })\n const waitingPeriodEnabled = useWatch({ control, name: 'waitingPeriodEnabled' })\n\n const isHoursWorked = accrualMethod === 'hours_worked'\n const isFixedPerPayPeriod = accrualMethod === 'fixed_per_pay_period'\n const showAccrualMaximum = isHoursWorked || isFixedPerPayPeriod\n const showWaitingPeriod = isHoursWorked || isFixedPerPayPeriod\n\n const handleSubmit = (data: PolicySettingsFormData) => {\n onContinue(data)\n }\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm aria-labelledby={headingId} onSubmit={formMethods.handleSubmit(handleSubmit)}>\n <div className={styles.policySettings}>\n <Flex flexDirection=\"column\" gap={32}>\n <Heading as=\"h2\" id={headingId}>\n {mode === 'edit' && editingPolicyName\n ? t('policySettings.editTitle', { name: editingPolicyName })\n : t('policySettings.createTitle')}\n </Heading>\n\n <Flex flexDirection=\"column\" gap={20}>\n {showAccrualMaximum && (\n <>\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={accrualMaxInputId}\n name=\"accrualMaximum\"\n label={t('policySettings.accrualMaximumLabel')}\n description={t('policySettings.accrualMaximumHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!accrualMaximumEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"accrualMaximumEnabled\"\n label={t('policySettings.accrualMaximumLabel')}\n shouldVisuallyHideLabel\n aria-controls={accrualMaxInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n </>\n )}\n\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={balanceMaxInputId}\n name=\"balanceMaximum\"\n label={t('policySettings.balanceMaximumLabel')}\n description={t('policySettings.balanceMaximumHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!balanceMaximumEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"balanceMaximumEnabled\"\n label={t('policySettings.balanceMaximumLabel')}\n shouldVisuallyHideLabel\n aria-controls={balanceMaxInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={carryOverInputId}\n name=\"carryOverLimit\"\n label={t('policySettings.carryOverLimitLabel')}\n description={t('policySettings.carryOverLimitHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!carryOverLimitEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"carryOverLimitEnabled\"\n label={t('policySettings.carryOverLimitLabel')}\n shouldVisuallyHideLabel\n aria-controls={carryOverInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n\n {showWaitingPeriod && (\n <>\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={waitingPeriodInputId}\n name=\"waitingPeriod\"\n label={t('policySettings.waitingPeriodLabel')}\n description={t('policySettings.waitingPeriodHint')}\n adornmentEnd={t('policySettings.daysUnit')}\n placeholder={t('policySettings.numberOfDaysPlaceholder')}\n isDisabled={!waitingPeriodEnabled}\n min={0}\n max={20000}\n maximumFractionDigits={0}\n errorMessage={t('policySettings.errors.waitingPeriodMustBeWholeNumber')}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"waitingPeriodEnabled\"\n label={t('policySettings.waitingPeriodLabel')}\n shouldVisuallyHideLabel\n aria-controls={waitingPeriodInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n </>\n )}\n\n <SwitchField\n name=\"paidOutOnTermination\"\n label={t('policySettings.paidOutOnTerminationLabel')}\n description={t('policySettings.paidOutOnTerminationHint')}\n />\n\n <hr className={styles.divider} />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" type=\"submit\" isLoading={isPending}>\n {t('policySettings.continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n </div>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["PolicySettingsSchema","z","PolicySettingsPresentation","accrualMethod","onContinue","onBack","defaultValues","mode","editingPolicyName","isPending","useI18n","t","useTranslation","Heading","Button","useComponentContext","headingId","useId","accrualMaxInputId","balanceMaxInputId","carryOverInputId","waitingPeriodInputId","formMethods","useForm","zodResolver","control","accrualMaximumEnabled","useWatch","balanceMaximumEnabled","carryOverLimitEnabled","waitingPeriodEnabled","isHoursWorked","isFixedPerPayPeriod","showAccrualMaximum","showWaitingPeriod","handleSubmit","data","jsx","FormProvider","HtmlForm","styles","Flex","jsxs","Fragment","NumberInputField","SwitchField","ActionsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicySettingsPresentation.js","sources":["../../../../src/components/TimeOff/PolicySettings/PolicySettingsPresentation.tsx"],"sourcesContent":["import { useId } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { PolicySettingsFormData, PolicySettingsPresentationProps } from './PolicySettingsTypes'\nimport styles from './PolicySettings.module.scss'\nimport { Flex, ActionsLayout, NumberInputField, SwitchField } from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst PolicySettingsSchema = z.object({\n accrualMaximumEnabled: z.boolean(),\n accrualMaximum: z.number().optional(),\n balanceMaximumEnabled: z.boolean(),\n balanceMaximum: z.number().optional(),\n carryOverLimitEnabled: z.boolean(),\n carryOverLimit: z.number().optional(),\n waitingPeriodEnabled: z.boolean(),\n waitingPeriod: z.number().int().optional(),\n paidOutOnTermination: z.boolean(),\n})\n\n/**\n * Presentation-only form for configuring time off policy limits and rules.\n *\n * @remarks\n * Use this component when you need to render the policy settings form without the data-fetching container — provide the `accrualMethod` and handle submission yourself. For the data-connected version, use {@link PolicySettings}.\n *\n * The fields shown depend on `accrualMethod`:\n * - Accrual maximum and waiting period are shown for `'hours_worked'` and `'fixed_per_pay_period'`\n * - Balance maximum, carry-over limit, and paid-out-on-termination are always shown\n *\n * @param props - {@link PolicySettingsPresentationProps}\n * @returns The rendered policy settings form.\n * @public\n */\nexport function PolicySettingsPresentation({\n accrualMethod,\n onContinue,\n onBack,\n defaultValues,\n mode,\n editingPolicyName,\n isPending = false,\n className,\n}: PolicySettingsPresentationProps) {\n useI18n('Company.TimeOff.CreateTimeOffPolicy')\n const { t } = useTranslation('Company.TimeOff.CreateTimeOffPolicy')\n const { Heading, Button } = useComponentContext()\n const headingId = useId()\n\n const accrualMaxInputId = useId()\n const balanceMaxInputId = useId()\n const carryOverInputId = useId()\n const waitingPeriodInputId = useId()\n\n const formMethods = useForm<PolicySettingsFormData>({\n resolver: zodResolver(PolicySettingsSchema),\n defaultValues: {\n accrualMaximumEnabled: false,\n balanceMaximumEnabled: false,\n carryOverLimitEnabled: false,\n waitingPeriodEnabled: false,\n paidOutOnTermination: false,\n ...defaultValues,\n },\n })\n\n const { control } = formMethods\n const accrualMaximumEnabled = useWatch({ control, name: 'accrualMaximumEnabled' })\n const balanceMaximumEnabled = useWatch({ control, name: 'balanceMaximumEnabled' })\n const carryOverLimitEnabled = useWatch({ control, name: 'carryOverLimitEnabled' })\n const waitingPeriodEnabled = useWatch({ control, name: 'waitingPeriodEnabled' })\n\n const isHoursWorked = accrualMethod === 'hours_worked'\n const isFixedPerPayPeriod = accrualMethod === 'fixed_per_pay_period'\n const showAccrualMaximum = isHoursWorked || isFixedPerPayPeriod\n const showWaitingPeriod = isHoursWorked || isFixedPerPayPeriod\n\n const handleSubmit = (data: PolicySettingsFormData) => {\n onContinue(data)\n }\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm\n aria-labelledby={headingId}\n onSubmit={formMethods.handleSubmit(handleSubmit)}\n className={className}\n >\n <div className={styles.policySettings}>\n <Flex flexDirection=\"column\" gap={32}>\n <Heading as=\"h2\" id={headingId}>\n {mode === 'edit' && editingPolicyName\n ? t('policySettings.editTitle', { name: editingPolicyName })\n : t('policySettings.createTitle')}\n </Heading>\n\n <Flex flexDirection=\"column\" gap={20}>\n {showAccrualMaximum && (\n <>\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={accrualMaxInputId}\n name=\"accrualMaximum\"\n label={t('policySettings.accrualMaximumLabel')}\n description={t('policySettings.accrualMaximumHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!accrualMaximumEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"accrualMaximumEnabled\"\n label={t('policySettings.accrualMaximumLabel')}\n shouldVisuallyHideLabel\n aria-controls={accrualMaxInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n </>\n )}\n\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={balanceMaxInputId}\n name=\"balanceMaximum\"\n label={t('policySettings.balanceMaximumLabel')}\n description={t('policySettings.balanceMaximumHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!balanceMaximumEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"balanceMaximumEnabled\"\n label={t('policySettings.balanceMaximumLabel')}\n shouldVisuallyHideLabel\n aria-controls={balanceMaxInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={carryOverInputId}\n name=\"carryOverLimit\"\n label={t('policySettings.carryOverLimitLabel')}\n description={t('policySettings.carryOverLimitHint')}\n adornmentEnd={t('policySettings.hoursUnit')}\n placeholder={t('policySettings.numberOfHoursPlaceholder')}\n isDisabled={!carryOverLimitEnabled}\n min={0}\n max={20000}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"carryOverLimitEnabled\"\n label={t('policySettings.carryOverLimitLabel')}\n shouldVisuallyHideLabel\n aria-controls={carryOverInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n\n {showWaitingPeriod && (\n <>\n <div className={styles.settingRow}>\n <NumberInputField\n className={styles.settingField}\n id={waitingPeriodInputId}\n name=\"waitingPeriod\"\n label={t('policySettings.waitingPeriodLabel')}\n description={t('policySettings.waitingPeriodHint')}\n adornmentEnd={t('policySettings.daysUnit')}\n placeholder={t('policySettings.numberOfDaysPlaceholder')}\n isDisabled={!waitingPeriodEnabled}\n min={0}\n max={20000}\n maximumFractionDigits={0}\n errorMessage={t('policySettings.errors.waitingPeriodMustBeWholeNumber')}\n />\n <div className={styles.toggleCell}>\n <SwitchField\n name=\"waitingPeriodEnabled\"\n label={t('policySettings.waitingPeriodLabel')}\n shouldVisuallyHideLabel\n aria-controls={waitingPeriodInputId}\n />\n </div>\n </div>\n\n <hr className={styles.divider} />\n </>\n )}\n\n <SwitchField\n name=\"paidOutOnTermination\"\n label={t('policySettings.paidOutOnTerminationLabel')}\n description={t('policySettings.paidOutOnTerminationHint')}\n />\n\n <hr className={styles.divider} />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" type=\"submit\" isLoading={isPending}>\n {t('policySettings.continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Flex>\n </div>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["PolicySettingsSchema","z","PolicySettingsPresentation","accrualMethod","onContinue","onBack","defaultValues","mode","editingPolicyName","isPending","className","useI18n","t","useTranslation","Heading","Button","useComponentContext","headingId","useId","accrualMaxInputId","balanceMaxInputId","carryOverInputId","waitingPeriodInputId","formMethods","useForm","zodResolver","control","accrualMaximumEnabled","useWatch","balanceMaximumEnabled","carryOverLimitEnabled","waitingPeriodEnabled","isHoursWorked","isFixedPerPayPeriod","showAccrualMaximum","showWaitingPeriod","handleSubmit","data","jsx","FormProvider","HtmlForm","styles","Flex","jsxs","Fragment","NumberInputField","SwitchField","ActionsLayout"],"mappings":"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"}
|
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { useHolidayPayPoliciesGet as
|
|
3
|
-
import { PolicyTypeSelectorPresentation as
|
|
4
|
-
import { BaseComponent as
|
|
5
|
-
import { useBase as
|
|
2
|
+
import { useHolidayPayPoliciesGet as c } from "@gusto/embedded-api/react-query/holidayPayPoliciesGet";
|
|
3
|
+
import { PolicyTypeSelectorPresentation as y } from "./PolicyTypeSelectorPresentation.js";
|
|
4
|
+
import { BaseComponent as m } from "../../Base/Base.js";
|
|
5
|
+
import { useBase as s } from "../../Base/useBase.js";
|
|
6
6
|
import { componentEvents as t } from "../../../shared/constants.js";
|
|
7
|
-
function
|
|
8
|
-
return /* @__PURE__ */ n(
|
|
7
|
+
function x(o) {
|
|
8
|
+
return /* @__PURE__ */ n(m, { ...o, children: /* @__PURE__ */ n(d, { ...o }) });
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
const { onEvent: e } =
|
|
10
|
+
function d({ companyId: o, defaultPolicyType: i, className: r }) {
|
|
11
|
+
const { onEvent: e } = s(), a = !!c({ companyUuid: o }).data?.holidayPayPolicy;
|
|
12
12
|
return /* @__PURE__ */ n(
|
|
13
|
-
|
|
13
|
+
y,
|
|
14
14
|
{
|
|
15
|
-
onContinue: (
|
|
15
|
+
onContinue: (l) => {
|
|
16
16
|
e(t.TIME_OFF_POLICY_TYPE_SELECTED, {
|
|
17
|
-
policyType:
|
|
17
|
+
policyType: l
|
|
18
18
|
});
|
|
19
19
|
},
|
|
20
20
|
onCancel: () => {
|
|
21
21
|
e(t.CANCEL);
|
|
22
22
|
},
|
|
23
23
|
defaultPolicyType: i,
|
|
24
|
-
holidayPolicyExists:
|
|
24
|
+
holidayPolicyExists: a,
|
|
25
|
+
className: r
|
|
25
26
|
}
|
|
26
27
|
);
|
|
27
28
|
}
|
|
28
29
|
export {
|
|
29
|
-
|
|
30
|
+
x as PolicyTypeSelector
|
|
30
31
|
};
|
|
31
32
|
//# sourceMappingURL=PolicyTypeSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyTypeSelector.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.tsx"],"sourcesContent":["import { useHolidayPayPoliciesGet } from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { PolicyTypeSelectorPresentation } from './PolicyTypeSelectorPresentation'\nimport type { PolicyType } from './PolicyTypeSelectorTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link PolicyTypeSelector}.\n *\n * @public\n */\nexport interface PolicyTypeSelectorProps extends BaseComponentInterface<'Company.TimeOff.SelectPolicyType'> {\n /** The associated company identifier. */\n companyId: string\n /** Pre-selected policy type rendered when the form mounts. */\n defaultPolicyType?: PolicyType\n}\n\n/**\n * Selection screen for choosing which kind of time-off policy to create — sick, vacation, or holiday.\n *\n * @remarks\n * The holiday option is omitted when the company already has a holiday pay policy, since a company\n * can only have one.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyTypeSelected` | The user confirms a selection | `{ policyType: {@link PolicyType} }` |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link PolicyTypeSelectorProps}.\n * @returns The rendered policy type selection screen.\n * @public\n */\nexport function PolicyTypeSelector(props: PolicyTypeSelectorProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultPolicyType }: PolicyTypeSelectorProps) {\n const { onEvent } = useBase()\n\n const holidayQuery = useHolidayPayPoliciesGet({ companyUuid: companyId })\n const holidayPolicyExists = Boolean(holidayQuery.data?.holidayPayPolicy)\n\n const handleContinue = (policyType: PolicyType) => {\n onEvent(componentEvents.TIME_OFF_POLICY_TYPE_SELECTED, {\n policyType,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <PolicyTypeSelectorPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultPolicyType={defaultPolicyType}\n holidayPolicyExists={holidayPolicyExists}\n />\n )\n}\n"],"names":["PolicyTypeSelector","props","jsx","BaseComponent","Root","companyId","defaultPolicyType","onEvent","useBase","holidayPolicyExists","useHolidayPayPoliciesGet","PolicyTypeSelectorPresentation","policyType","componentEvents"],"mappings":";;;;;;AAoCO,SAASA,EAAmBC,GAAgC;AACjE,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,mBAAAC,
|
|
1
|
+
{"version":3,"file":"PolicyTypeSelector.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.tsx"],"sourcesContent":["import { useHolidayPayPoliciesGet } from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport { PolicyTypeSelectorPresentation } from './PolicyTypeSelectorPresentation'\nimport type { PolicyType } from './PolicyTypeSelectorTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link PolicyTypeSelector}.\n *\n * @public\n */\nexport interface PolicyTypeSelectorProps extends BaseComponentInterface<'Company.TimeOff.SelectPolicyType'> {\n /** The associated company identifier. */\n companyId: string\n /** Pre-selected policy type rendered when the form mounts. */\n defaultPolicyType?: PolicyType\n}\n\n/**\n * Selection screen for choosing which kind of time-off policy to create — sick, vacation, or holiday.\n *\n * @remarks\n * The holiday option is omitted when the company already has a holiday pay policy, since a company\n * can only have one.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/policyTypeSelected` | The user confirms a selection | `{ policyType: {@link PolicyType} }` |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link PolicyTypeSelectorProps}.\n * @returns The rendered policy type selection screen.\n * @public\n */\nexport function PolicyTypeSelector(props: PolicyTypeSelectorProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultPolicyType, className }: PolicyTypeSelectorProps) {\n const { onEvent } = useBase()\n\n const holidayQuery = useHolidayPayPoliciesGet({ companyUuid: companyId })\n const holidayPolicyExists = Boolean(holidayQuery.data?.holidayPayPolicy)\n\n const handleContinue = (policyType: PolicyType) => {\n onEvent(componentEvents.TIME_OFF_POLICY_TYPE_SELECTED, {\n policyType,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <PolicyTypeSelectorPresentation\n onContinue={handleContinue}\n onCancel={handleCancel}\n defaultPolicyType={defaultPolicyType}\n holidayPolicyExists={holidayPolicyExists}\n className={className}\n />\n )\n}\n"],"names":["PolicyTypeSelector","props","jsx","BaseComponent","Root","companyId","defaultPolicyType","className","onEvent","useBase","holidayPolicyExists","useHolidayPayPoliciesGet","PolicyTypeSelectorPresentation","policyType","componentEvents"],"mappings":";;;;;;AAoCO,SAASA,EAAmBC,GAAgC;AACjE,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,WAAAC,GAAW,mBAAAC,GAAmB,WAAAC,KAAsC;AAClF,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAGdC,IAAsB,EADPC,EAAyB,EAAE,aAAaN,GAAW,EACvB,MAAM;AAYvD,SACE,gBAAAH;AAAA,IAACU;AAAA,IAAA;AAAA,MACC,YAZmB,CAACC,MAA2B;AACjD,QAAAL,EAAQM,EAAgB,+BAA+B;AAAA,UACrD,YAAAD;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MASI,UAPiB,MAAM;AACzB,QAAAL,EAAQM,EAAgB,MAAM;AAAA,MAChC;AAAA,MAMI,mBAAAR;AAAA,MACA,qBAAAI;AAAA,MACA,WAAAH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import { jsx as i, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import { useId as
|
|
3
|
-
import { useForm as
|
|
4
|
-
import { useTranslation as
|
|
2
|
+
import { useId as b, useMemo as v } from "react";
|
|
3
|
+
import { useForm as x, useWatch as C, FormProvider as L } from "react-hook-form";
|
|
4
|
+
import { useTranslation as g } from "react-i18next";
|
|
5
5
|
import { Flex as c } from "../../Common/Flex/Flex.js";
|
|
6
|
-
import { ActionsLayout as
|
|
7
|
-
import { Form as
|
|
8
|
-
import { useComponentContext as
|
|
9
|
-
import { useI18n as
|
|
10
|
-
import { RadioGroupField as
|
|
11
|
-
function
|
|
6
|
+
import { ActionsLayout as S } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
+
import { Form as F } from "../../Common/Form/Form.js";
|
|
8
|
+
import { useComponentContext as H } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
|
+
import { useI18n as O } from "../../../i18n/I18n.js";
|
|
10
|
+
import { RadioGroupField as P } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
|
|
11
|
+
function V({
|
|
12
12
|
onContinue: p,
|
|
13
13
|
onCancel: s,
|
|
14
14
|
defaultPolicyType: m,
|
|
15
|
-
holidayPolicyExists: r = !1
|
|
15
|
+
holidayPolicyExists: r = !1,
|
|
16
|
+
className: d
|
|
16
17
|
}) {
|
|
17
|
-
|
|
18
|
-
const { t: e } =
|
|
18
|
+
O("Company.TimeOff.SelectPolicyType");
|
|
19
|
+
const { t: e } = g("Company.TimeOff.SelectPolicyType"), { Heading: y, Text: u, Button: l } = H(), a = b(), t = x({
|
|
19
20
|
defaultValues: {
|
|
20
21
|
policyType: m
|
|
21
22
|
}
|
|
22
|
-
}),
|
|
23
|
+
}), f = C({ control: t.control, name: "policyType" }), h = v(() => {
|
|
23
24
|
const o = [];
|
|
24
25
|
return r || o.push({
|
|
25
26
|
value: "holiday",
|
|
@@ -37,31 +38,39 @@ function G({
|
|
|
37
38
|
description: e("sickLeaveHint")
|
|
38
39
|
}
|
|
39
40
|
), o;
|
|
40
|
-
}, [e, r]),
|
|
41
|
+
}, [e, r]), T = (o) => {
|
|
41
42
|
p(o.policyType);
|
|
42
43
|
};
|
|
43
|
-
return /* @__PURE__ */ i(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
return /* @__PURE__ */ i(L, { ...t, children: /* @__PURE__ */ i(
|
|
45
|
+
F,
|
|
46
|
+
{
|
|
47
|
+
"aria-labelledby": a,
|
|
48
|
+
onSubmit: t.handleSubmit(T),
|
|
49
|
+
className: d,
|
|
50
|
+
children: /* @__PURE__ */ n(c, { flexDirection: "column", gap: 24, children: [
|
|
51
|
+
/* @__PURE__ */ n(c, { flexDirection: "column", gap: 4, children: [
|
|
52
|
+
/* @__PURE__ */ i(y, { as: "h2", id: a, children: e("title") }),
|
|
53
|
+
/* @__PURE__ */ i(u, { variant: "supporting", children: e("policyTypeHint") })
|
|
54
|
+
] }),
|
|
55
|
+
/* @__PURE__ */ i(
|
|
56
|
+
P,
|
|
57
|
+
{
|
|
58
|
+
name: "policyType",
|
|
59
|
+
label: e("policyTypeLabel"),
|
|
60
|
+
options: h,
|
|
61
|
+
isRequired: !0,
|
|
62
|
+
errorMessage: e("validations.policyTypeRequired")
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ n(S, { children: [
|
|
66
|
+
/* @__PURE__ */ i(l, { variant: "secondary", onClick: s, children: e("cancelCta") }),
|
|
67
|
+
/* @__PURE__ */ i(l, { variant: "primary", type: "submit", isDisabled: !f, children: e("continueCta") })
|
|
68
|
+
] })
|
|
69
|
+
] })
|
|
70
|
+
}
|
|
71
|
+
) });
|
|
63
72
|
}
|
|
64
73
|
export {
|
|
65
|
-
|
|
74
|
+
V as PolicyTypeSelectorPresentation
|
|
66
75
|
};
|
|
67
76
|
//# sourceMappingURL=PolicyTypeSelectorPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyTypeSelectorPresentation.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.tsx"],"sourcesContent":["import { useId, useMemo } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type { PolicyType, PolicyTypeSelectorPresentationProps } from './PolicyTypeSelectorTypes'\nimport { Flex, ActionsLayout, RadioGroupField } from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface PolicyTypeSelectorFormData {\n policyType: PolicyType\n}\n\n/** @internal */\nexport function PolicyTypeSelectorPresentation({\n onContinue,\n onCancel,\n defaultPolicyType,\n holidayPolicyExists = false,\n}: PolicyTypeSelectorPresentationProps) {\n useI18n('Company.TimeOff.SelectPolicyType')\n const { t } = useTranslation('Company.TimeOff.SelectPolicyType')\n const { Heading, Text, Button } = useComponentContext()\n const headingId = useId()\n\n const formMethods = useForm<PolicyTypeSelectorFormData>({\n defaultValues: {\n policyType: defaultPolicyType as PolicyType,\n },\n })\n\n const selectedPolicyType = useWatch({ control: formMethods.control, name: 'policyType' })\n\n const policyTypeOptions = useMemo(() => {\n const options: Array<{ value: PolicyType; label: string; description: string }> = []\n if (!holidayPolicyExists) {\n options.push({\n value: 'holiday',\n label: t('holidayLabel'),\n description: t('holidayHint'),\n })\n }\n options.push(\n {\n value: 'vacation',\n label: t('timeOffLabel'),\n description: t('timeOffHint'),\n },\n {\n value: 'sick',\n label: t('sickLeaveLabel'),\n description: t('sickLeaveHint'),\n },\n )\n return options\n }, [t, holidayPolicyExists])\n\n const handleSubmit = (data: PolicyTypeSelectorFormData) => {\n onContinue(data.policyType)\n }\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm
|
|
1
|
+
{"version":3,"file":"PolicyTypeSelectorPresentation.js","sources":["../../../../src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.tsx"],"sourcesContent":["import { useId, useMemo } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport type { PolicyType, PolicyTypeSelectorPresentationProps } from './PolicyTypeSelectorTypes'\nimport { Flex, ActionsLayout, RadioGroupField } from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface PolicyTypeSelectorFormData {\n policyType: PolicyType\n}\n\n/** @internal */\nexport function PolicyTypeSelectorPresentation({\n onContinue,\n onCancel,\n defaultPolicyType,\n holidayPolicyExists = false,\n className,\n}: PolicyTypeSelectorPresentationProps) {\n useI18n('Company.TimeOff.SelectPolicyType')\n const { t } = useTranslation('Company.TimeOff.SelectPolicyType')\n const { Heading, Text, Button } = useComponentContext()\n const headingId = useId()\n\n const formMethods = useForm<PolicyTypeSelectorFormData>({\n defaultValues: {\n policyType: defaultPolicyType as PolicyType,\n },\n })\n\n const selectedPolicyType = useWatch({ control: formMethods.control, name: 'policyType' })\n\n const policyTypeOptions = useMemo(() => {\n const options: Array<{ value: PolicyType; label: string; description: string }> = []\n if (!holidayPolicyExists) {\n options.push({\n value: 'holiday',\n label: t('holidayLabel'),\n description: t('holidayHint'),\n })\n }\n options.push(\n {\n value: 'vacation',\n label: t('timeOffLabel'),\n description: t('timeOffHint'),\n },\n {\n value: 'sick',\n label: t('sickLeaveLabel'),\n description: t('sickLeaveHint'),\n },\n )\n return options\n }, [t, holidayPolicyExists])\n\n const handleSubmit = (data: PolicyTypeSelectorFormData) => {\n onContinue(data.policyType)\n }\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm\n aria-labelledby={headingId}\n onSubmit={formMethods.handleSubmit(handleSubmit)}\n className={className}\n >\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\" id={headingId}>\n {t('title')}\n </Heading>\n <Text variant=\"supporting\">{t('policyTypeHint')}</Text>\n </Flex>\n\n <RadioGroupField<PolicyType>\n name=\"policyType\"\n label={t('policyTypeLabel')}\n options={policyTypeOptions}\n isRequired\n errorMessage={t('validations.policyTypeRequired')}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n <Button variant=\"primary\" type=\"submit\" isDisabled={!selectedPolicyType}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["PolicyTypeSelectorPresentation","onContinue","onCancel","defaultPolicyType","holidayPolicyExists","className","useI18n","t","useTranslation","Heading","Text","Button","useComponentContext","headingId","useId","formMethods","useForm","selectedPolicyType","useWatch","policyTypeOptions","useMemo","options","handleSubmit","data","jsx","FormProvider","HtmlForm","jsxs","Flex","RadioGroupField","ActionsLayout"],"mappings":";;;;;;;;;;AAcO,SAASA,EAA+B;AAAA,EAC7C,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,WAAAC;AACF,GAAwC;AACtC,EAAAC,EAAQ,kCAAkC;AAC1C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,kCAAkC,GACzD,EAAE,SAAAC,GAAS,MAAAC,GAAM,QAAAC,EAAA,IAAWC,EAAA,GAC5BC,IAAYC,EAAA,GAEZC,IAAcC,EAAoC;AAAA,IACtD,eAAe;AAAA,MACb,YAAYb;AAAA,IAAA;AAAA,EACd,CACD,GAEKc,IAAqBC,EAAS,EAAE,SAASH,EAAY,SAAS,MAAM,cAAc,GAElFI,IAAoBC,EAAQ,MAAM;AACtC,UAAMC,IAA4E,CAAA;AAClF,WAAKjB,KACHiB,EAAQ,KAAK;AAAA,MACX,OAAO;AAAA,MACP,OAAOd,EAAE,cAAc;AAAA,MACvB,aAAaA,EAAE,aAAa;AAAA,IAAA,CAC7B,GAEHc,EAAQ;AAAA,MACN;AAAA,QACE,OAAO;AAAA,QACP,OAAOd,EAAE,cAAc;AAAA,QACvB,aAAaA,EAAE,aAAa;AAAA,MAAA;AAAA,MAE9B;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,gBAAgB;AAAA,QACzB,aAAaA,EAAE,eAAe;AAAA,MAAA;AAAA,IAChC,GAEKc;AAAA,EACT,GAAG,CAACd,GAAGH,CAAmB,CAAC,GAErBkB,IAAe,CAACC,MAAqC;AACzD,IAAAtB,EAAWsB,EAAK,UAAU;AAAA,EAC5B;AAEA,SACE,gBAAAC,EAACC,GAAA,EAAc,GAAGV,GAChB,UAAA,gBAAAS;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,mBAAiBb;AAAA,MACjB,UAAUE,EAAY,aAAaO,CAAY;AAAA,MAC/C,WAAAjB;AAAA,MAEA,UAAA,gBAAAsB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,QAAA,gBAAAD,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAJ,EAACf,KAAQ,IAAG,MAAK,IAAII,GAClB,UAAAN,EAAE,OAAO,GACZ;AAAA,4BACCG,GAAA,EAAK,SAAQ,cAAc,UAAAH,EAAE,gBAAgB,EAAA,CAAE;AAAA,QAAA,GAClD;AAAA,QAEA,gBAAAiB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAOtB,EAAE,iBAAiB;AAAA,YAC1B,SAASY;AAAA,YACT,YAAU;AAAA,YACV,cAAcZ,EAAE,gCAAgC;AAAA,UAAA;AAAA,QAAA;AAAA,0BAGjDuB,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAN,EAACb,KAAO,SAAQ,aAAY,SAAST,GAClC,UAAAK,EAAE,WAAW,GAChB;AAAA,UACA,gBAAAiB,EAACb,GAAA,EAAO,SAAQ,WAAU,MAAK,UAAS,YAAY,CAACM,GAClD,UAAAV,EAAE,aAAa,EAAA,CAClB;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|