@gusto/embedded-react-sdk 0.46.2 → 0.46.3

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.
Files changed (172) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/components/Common/DataView/DataTable/DataTable.js +76 -72
  3. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  4. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js +8 -0
  5. package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js.map +1 -0
  6. package/dist/components/Common/DataView/useDataView.d.ts +2 -0
  7. package/dist/components/Common/DataView/useDataView.js.map +1 -1
  8. package/dist/components/Common/DocumentViewer/DocumentViewer.js +10 -10
  9. package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
  10. package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +9 -9
  11. package/dist/components/Common/PaginationControl/PaginationControl.js +11 -10
  12. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  13. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  14. package/dist/components/Common/UI/DescriptionList/DescriptionList.js +11 -10
  15. package/dist/components/Common/UI/DescriptionList/DescriptionList.js.map +1 -1
  16. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +4 -4
  17. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
  18. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  19. package/dist/components/Common/UI/NumberInput/NumberInput.js +51 -48
  20. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  21. package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  22. package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
  23. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  24. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  27. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  28. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  29. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  30. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  31. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  32. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  33. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
  34. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  35. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  36. package/dist/components/Company/Industry/Context.js +6 -7
  37. package/dist/components/Company/Industry/Context.js.map +1 -1
  38. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  39. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  40. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  41. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  42. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  43. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  44. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
  45. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  46. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  47. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  48. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  49. package/dist/components/Contractor/Address/useAddress.js +5 -6
  50. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  51. package/dist/components/Contractor/Profile/useContractorProfile.js +33 -34
  52. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  53. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +14 -11
  54. package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
  55. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +0 -2
  56. package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -1
  57. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +18 -18
  58. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  59. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +36 -36
  60. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
  61. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
  62. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +140 -140
  63. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  64. package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
  65. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +6 -5
  66. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +162 -131
  67. package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
  68. package/dist/components/Employee/Dashboard/BasicDetailsView.js +74 -88
  69. package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
  70. package/dist/components/Employee/Dashboard/Dashboard.js +53 -51
  71. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  72. package/dist/components/Employee/Dashboard/DocumentsView.js +17 -10
  73. package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
  74. package/dist/components/Employee/Dashboard/JobAndPayView.js +383 -357
  75. package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
  76. package/dist/components/Employee/Dashboard/TaxesView.js +114 -101
  77. package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
  78. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +36 -36
  79. package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
  80. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +57 -57
  81. package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -1
  82. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +14 -5
  83. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +55 -36
  84. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  85. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
  86. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +18 -18
  87. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  88. package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
  89. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +3 -3
  90. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  91. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  92. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  93. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
  94. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
  95. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +157 -147
  96. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  97. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +56 -55
  98. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  99. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +20 -20
  100. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  101. package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
  102. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +1 -1
  103. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
  104. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  105. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
  106. package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
  107. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +0 -1
  108. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js +11 -12
  109. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
  110. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts +1 -0
  111. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +6 -1
  112. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +95 -94
  113. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  114. package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
  115. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +6 -1
  116. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +87 -86
  117. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  118. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +18 -18
  119. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
  120. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
  121. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  122. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  123. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +5 -1
  124. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  125. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +61 -60
  126. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  127. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  128. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  129. package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
  130. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  131. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +6 -7
  132. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
  133. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
  134. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +52 -68
  135. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
  136. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +4 -4
  137. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -11
  138. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +137 -163
  139. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
  140. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +36 -35
  141. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  142. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +34 -34
  143. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
  144. package/dist/helpers/breadcrumbHelpers.d.ts +1 -1
  145. package/dist/helpers/breadcrumbHelpers.js.map +1 -1
  146. package/dist/helpers/federalEin.d.ts +1 -0
  147. package/dist/helpers/federalEin.js.map +1 -1
  148. package/dist/helpers/mask.d.ts +8 -4
  149. package/dist/helpers/mask.js.map +1 -1
  150. package/dist/helpers/rem.d.ts +2 -1
  151. package/dist/helpers/rem.js.map +1 -1
  152. package/dist/hooks/useAsyncError.d.ts +1 -0
  153. package/dist/hooks/useAsyncError.js.map +1 -1
  154. package/dist/hooks/useForkRef/useForkRef.d.ts +1 -0
  155. package/dist/hooks/useForkRef/useForkRef.js.map +1 -1
  156. package/dist/i18n/I18n.d.ts +9 -1
  157. package/dist/i18n/I18n.js.map +1 -1
  158. package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +14 -14
  159. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +12 -18
  160. package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
  161. package/dist/i18n/en/Employee.Compensation.json.js +24 -24
  162. package/dist/i18n/en/Employee.Dashboard.json.js +22 -20
  163. package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
  164. package/dist/i18n/en/Employee.PaymentMethod.json.js +25 -25
  165. package/dist/i18n/en/Employee.StateTaxes.json.js +12 -10
  166. package/dist/i18n/en/Employee.StateTaxes.json.js.map +1 -1
  167. package/dist/style.css +1 -1
  168. package/dist/types/hooks.d.ts +1 -1
  169. package/dist/types/i18next.d.ts +4 -17
  170. package/dist/types/observability.d.ts +1 -1
  171. package/package.json +30 -27
  172. package/dist/components/Employee/Dashboard/CompensationCard.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const existingAssigneeUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n existingAssigneeUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n existingAssigneeUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: toAdd,\n })\n return\n }\n\n if (toAdd.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n await baseSubmitHandler({}, async () => {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: version ?? '',\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n const latestPolicy: HolidayPayPolicy | undefined = response.holidayPayPolicy\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n }, [\n mode,\n selectedUuids,\n baseSubmitHandler,\n addEmployees,\n companyId,\n version,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n showReassignmentWarning={false}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isAddPending}\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","existingAssigneeUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","handleContinue","useCallback","toAdd","componentEvents","latestPolicy","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","handleBack","SelectEmployeesPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"SelectEmployeesHoliday.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesAddEmployeesMutation } from '@gusto/embedded-api/react-query/holidayPayPoliciesAddEmployees'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api/react-query/holidayPayPoliciesGet'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api/models/components/holidaypaypolicy'\nimport { SelectEmployeesPresentation } from './SelectEmployeesPresentation'\nimport { useSelectEmployeesData } from './useSelectEmployeesData'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\n\ninterface SelectEmployeesHolidayProps {\n companyId: string\n mode?: 'standalone' | 'wizard'\n}\n\nexport function SelectEmployeesHoliday(props: SelectEmployeesHolidayProps) {\n if (props.mode === 'wizard') {\n return <SelectEmployeesHolidayInner {...props} mode=\"wizard\" />\n }\n return <StandaloneLoader {...props} />\n}\n\nfunction StandaloneLoader(props: SelectEmployeesHolidayProps) {\n const { data: policyResponse } = useHolidayPayPoliciesGetSuspense({\n companyUuid: props.companyId,\n })\n const policy = policyResponse.holidayPayPolicy\n if (!policy) throw new Error('Unexpected response: missing holidayPayPolicy')\n\n const existingAssigneeUuids = useMemo(() => {\n const set = new Set<string>()\n for (const e of policy.employees) {\n if (e.uuid) set.add(e.uuid)\n }\n return set\n }, [policy.employees])\n\n return (\n <SelectEmployeesHolidayInner\n {...props}\n mode=\"standalone\"\n existingAssigneeUuids={existingAssigneeUuids}\n version={policy.version}\n />\n )\n}\n\ninterface InnerProps extends SelectEmployeesHolidayProps {\n existingAssigneeUuids?: Set<string>\n version?: string\n}\n\nfunction SelectEmployeesHolidayInner({\n companyId,\n mode = 'standalone',\n existingAssigneeUuids,\n version,\n}: InnerProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const {\n filteredEmployees,\n selectedUuids,\n searchValue,\n pagination,\n isFetching,\n handleSelect,\n handleSelectAll,\n handleSearchChange,\n handleSearchClear,\n } = useSelectEmployeesData(companyId, existingAssigneeUuids)\n\n const { mutateAsync: addEmployees, isPending: isAddPending } =\n useHolidayPayPoliciesAddEmployeesMutation()\n\n const handleContinue = useCallback(async () => {\n const toAdd = [...selectedUuids]\n\n if (mode === 'wizard') {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, {\n employeeUuids: toAdd,\n })\n return\n }\n\n if (toAdd.length === 0) {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE)\n return\n }\n\n await baseSubmitHandler({}, async () => {\n const response = await addEmployees({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: version ?? '',\n employees: toAdd.map(uuid => ({ uuid })),\n },\n },\n })\n const latestPolicy: HolidayPayPolicy | undefined = response.holidayPayPolicy\n // Seed the GET cache from the mutation response so that the next mount\n // of HolidayPolicyDetail reads fresh data immediately. invalidateQueries\n // alone only refetches *active* subscriptions, but we navigate away\n // before the refetch can complete.\n if (latestPolicy) {\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: latestPolicy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n }\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES_DONE, latestPolicy)\n })\n }, [\n mode,\n selectedUuids,\n baseSubmitHandler,\n addEmployees,\n companyId,\n version,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <SelectEmployeesPresentation\n employees={filteredEmployees}\n selectedUuids={selectedUuids}\n searchValue={searchValue}\n onSelect={handleSelect}\n onSelectAll={handleSelectAll}\n onSearchChange={handleSearchChange}\n onSearchClear={handleSearchClear}\n onBack={handleBack}\n onContinue={handleContinue}\n isHolidayPolicy\n pagination={pagination}\n isFetching={isFetching}\n isPending={isAddPending}\n />\n )\n}\n"],"names":["SelectEmployeesHoliday","props","jsx","SelectEmployeesHolidayInner","StandaloneLoader","policyResponse","useHolidayPayPoliciesGetSuspense","policy","existingAssigneeUuids","useMemo","set","e","companyId","mode","version","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","filteredEmployees","selectedUuids","searchValue","pagination","isFetching","handleSelect","handleSelectAll","handleSearchChange","handleSearchClear","useSelectEmployeesData","addEmployees","isAddPending","useHolidayPayPoliciesAddEmployeesMutation","handleContinue","useCallback","toAdd","componentEvents","latestPolicy","uuid","queryKeyHolidayPayPoliciesGet","prev","invalidateAllHolidayPayPoliciesGet","handleBack","SelectEmployeesPresentation"],"mappings":";;;;;;;;;AAoBO,SAASA,EAAuBC,GAAoC;AACzE,SAAIA,EAAM,SAAS,WACV,gBAAAC,EAACC,GAAA,EAA6B,GAAGF,GAAO,MAAK,UAAS,IAExD,gBAAAC,EAACE,GAAA,EAAkB,GAAGH,EAAA,CAAO;AACtC;AAEA,SAASG,EAAiBH,GAAoC;AAC5D,QAAM,EAAE,MAAMI,EAAA,IAAmBC,EAAiC;AAAA,IAChE,aAAaL,EAAM;AAAA,EAAA,CACpB,GACKM,IAASF,EAAe;AAC9B,MAAI,CAACE,EAAQ,OAAM,IAAI,MAAM,+CAA+C;AAE5E,QAAMC,IAAwBC,EAAQ,MAAM;AAC1C,UAAMC,wBAAU,IAAA;AAChB,eAAWC,KAAKJ,EAAO;AACrB,MAAII,EAAE,QAAMD,EAAI,IAAIC,EAAE,IAAI;AAE5B,WAAOD;AAAA,EACT,GAAG,CAACH,EAAO,SAAS,CAAC;AAErB,SACE,gBAAAL;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,MAAK;AAAA,MACL,uBAAAO;AAAA,MACA,SAASD,EAAO;AAAA,IAAA;AAAA,EAAA;AAGtB;AAOA,SAASJ,EAA4B;AAAA,EACnC,WAAAS;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,uBAAAL;AAAA,EACA,SAAAM;AACF,GAAe;AACb,QAAM,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjCC,IAAcC,EAAA,GACd;AAAA,IACJ,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEC,EAAuBjB,GAAWJ,CAAqB,GAErD,EAAE,aAAasB,GAAc,WAAWC,EAAA,IAC5CC,EAAA,GAEIC,IAAiBC,EAAY,YAAY;AAC7C,UAAMC,IAAQ,CAAC,GAAGd,CAAa;AAE/B,QAAIR,MAAS,UAAU;AACrB,MAAAE,EAAQqB,EAAgB,qCAAqC;AAAA,QAC3D,eAAeD;AAAA,MAAA,CAChB;AACD;AAAA,IACF;AAEA,QAAIA,EAAM,WAAW,GAAG;AACtB,MAAApB,EAAQqB,EAAgB,mCAAmC;AAC3D;AAAA,IACF;AAEA,UAAMpB,EAAkB,CAAA,GAAI,YAAY;AAUtC,YAAMqB,KATW,MAAMP,EAAa;AAAA,QAClC,SAAS;AAAA,UACP,aAAalB;AAAA,UACb,aAAa;AAAA,YACX,SAASE,KAAW;AAAA,YACpB,WAAWqB,EAAM,IAAI,CAAAG,OAAS,EAAE,MAAAA,IAAO;AAAA,UAAA;AAAA,QACzC;AAAA,MACF,CACD,GAC2D;AAK5D,MAAID,KACFnB,EAAY;AAAA,QACVqB,EAA8B3B,GAAW,EAAE;AAAA,QAC3C,OACE4B,IACI,EAAE,GAAGA,GAAM,kBAAkBH,MAC5B;AAAA,MAAA,GAGX,MAAMI,EAAmCvB,CAAW,GACpDH,EAAQqB,EAAgB,qCAAqCC,CAAY;AAAA,IAC3E,CAAC;AAAA,EACH,GAAG;AAAA,IACDxB;AAAA,IACAQ;AAAA,IACAL;AAAA,IACAc;AAAA,IACAlB;AAAA,IACAE;AAAA,IACAI;AAAA,IACAH;AAAA,EAAA,CACD,GAEK2B,IAAaR,EAAY,MAAM;AACnC,IAAAnB,EAAQqB,EAAgB,MAAM;AAAA,EAChC,GAAG,CAACrB,CAAO,CAAC;AAEZ,SACE,gBAAAb;AAAA,IAACyC;AAAA,IAAA;AAAA,MACC,WAAWvB;AAAA,MACX,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,UAAUG;AAAA,MACV,aAAaC;AAAA,MACb,gBAAgBC;AAAA,MAChB,eAAeC;AAAA,MACf,QAAQc;AAAA,MACR,YAAYT;AAAA,MACZ,iBAAe;AAAA,MACf,YAAAV;AAAA,MACA,YAAAC;AAAA,MACA,WAAWO;AAAA,IAAA;AAAA,EAAA;AAGjB;"}
@@ -1,2 +1,2 @@
1
1
  import { SelectEmployeesPresentationProps } from './SelectEmployeesPresentationTypes';
2
- export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, showReassignmentWarning, isHolidayPolicy, policyTypeLabel, balances, onBalanceChange, pagination, isFetching, addConfirmDialog, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function SelectEmployeesPresentation({ employees, selectedUuids, searchValue, onSelect, onSelectAll, onSearchChange, onSearchClear, onBack, onContinue, isHolidayPolicy, balances, onBalanceChange, pagination, isFetching, isPending, }: SelectEmployeesPresentationProps): import("react/jsx-runtime").JSX.Element;
@@ -1,58 +1,55 @@
1
- import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
- import { useTranslation as H } from "react-i18next";
3
- import { useId as P } from "react";
4
- import { EmployeeTable as j } from "../../shared/EmployeeTable/EmployeeTable.js";
5
- import v from "./SelectEmployeesPresentation.module.scss.js";
6
- import { Flex as a } from "../../../Common/Flex/Flex.js";
1
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
+ import { useTranslation as $ } from "react-i18next";
3
+ import { useId as j } from "react";
4
+ import { EmployeeTable as v } from "../../shared/EmployeeTable/EmployeeTable.js";
5
+ import A from "./SelectEmployeesPresentation.module.scss.js";
6
+ import { Flex as l } from "../../../Common/Flex/Flex.js";
7
7
  import "classnames";
8
8
  import "../../../../shared/constants.js";
9
- import { ActionsLayout as B } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
- import { useComponentContext as N } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
- import { useI18n as w } from "../../../../i18n/I18n.js";
12
- const z = (o) => /^\d*\.?\d*$/.test(o);
13
- function X({
14
- employees: o,
9
+ import { ActionsLayout as L } from "../../../Common/ActionsLayout/ActionsLayout.js";
10
+ import { useComponentContext as B } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
+ import { useI18n as H } from "../../../../i18n/I18n.js";
12
+ const N = (i) => /^\d*\.?\d*$/.test(i);
13
+ function R({
14
+ employees: i,
15
15
  selectedUuids: f,
16
- searchValue: c,
16
+ searchValue: o,
17
17
  onSelect: h,
18
- onSelectAll: y,
18
+ onSelectAll: g,
19
19
  onSearchChange: C,
20
- onSearchClear: g,
20
+ onSearchClear: y,
21
21
  onBack: b,
22
22
  onContinue: x,
23
- showReassignmentWarning: I,
24
- isHolidayPolicy: A = !1,
25
- policyTypeLabel: S,
26
- balances: T,
23
+ isHolidayPolicy: m = !1,
24
+ balances: I,
27
25
  onBalanceChange: s,
28
- pagination: k,
29
- isFetching: L,
30
- addConfirmDialog: n,
31
- isPending: m = !1
26
+ pagination: S,
27
+ isFetching: T,
28
+ isPending: c = !1
32
29
  }) {
33
- w("Company.TimeOff.SelectEmployees");
34
- const { t: e } = H("Company.TimeOff.SelectEmployees"), p = N(), { Heading: D, Text: u, Button: d, Alert: E, Dialog: O } = p, $ = P();
35
- return /* @__PURE__ */ r(a, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
36
- /* @__PURE__ */ r(a, { flexDirection: "column", gap: 4, children: [
37
- /* @__PURE__ */ t(D, { as: "h2", children: e("title") }),
38
- /* @__PURE__ */ t(u, { variant: "supporting", children: e(A ? "holidayDescription" : "description") })
30
+ H("Company.TimeOff.SelectEmployees");
31
+ const { t: e } = $("Company.TimeOff.SelectEmployees"), d = B(), { Heading: k, Text: u, Button: p, Alert: D } = d, E = j();
32
+ return /* @__PURE__ */ a(l, { flexDirection: "column", alignItems: "stretch", gap: 32, children: [
33
+ /* @__PURE__ */ a(l, { flexDirection: "column", gap: 4, children: [
34
+ /* @__PURE__ */ t(k, { as: "h2", children: e("title") }),
35
+ /* @__PURE__ */ t(u, { variant: "supporting", children: e(m ? "holidayDescription" : "description") })
39
36
  ] }),
40
- I && /* @__PURE__ */ t(E, { status: "warning", label: e("reassignmentWarning", { policyType: S }) }),
37
+ !m && /* @__PURE__ */ t(D, { status: "warning", label: e("reassignmentWarning") }),
41
38
  /* @__PURE__ */ t(
42
- j,
39
+ v,
43
40
  {
44
- data: o,
45
- searchValue: c,
41
+ data: i,
42
+ searchValue: o,
46
43
  onSearchChange: C,
47
- onSearchClear: g,
48
- hideSearch: o.length === 0 && c.length === 0,
44
+ onSearchClear: y,
45
+ hideSearch: i.length === 0 && o.length === 0,
49
46
  selectionMode: "multiple",
50
47
  onSelect: h,
51
- onSelectAll: y,
52
- getIsItemSelected: (i) => f.has(i.uuid),
53
- isFetching: L,
54
- pagination: k,
55
- emptyState: () => /* @__PURE__ */ t(a, { flexDirection: "column", alignItems: "center", gap: 8, children: /* @__PURE__ */ t(u, { size: "sm", textAlign: "center", children: e("emptyState") }) }),
48
+ onSelectAll: g,
49
+ getIsItemSelected: (n) => f.has(n.uuid),
50
+ isFetching: T,
51
+ pagination: S,
52
+ emptyState: () => /* @__PURE__ */ t(l, { flexDirection: "column", alignItems: "center", gap: 8, children: /* @__PURE__ */ t(u, { size: "sm", textAlign: "center", children: e("emptyState") }) }),
56
53
  additionalColumns: [
57
54
  {
58
55
  key: "department",
@@ -62,46 +59,33 @@ function X({
62
59
  {
63
60
  key: "balance",
64
61
  title: e("startingBalanceColumn"),
65
- render: (i) => /* @__PURE__ */ t(
66
- p.TextInput,
62
+ justify: "end",
63
+ render: (n) => /* @__PURE__ */ t("div", { className: A.balanceInput, children: /* @__PURE__ */ t(
64
+ d.TextInput,
67
65
  {
68
- name: `balance-${i.uuid}`,
66
+ name: `balance-${n.uuid}`,
69
67
  label: e("startingBalanceColumn"),
70
68
  shouldVisuallyHideLabel: !0,
71
- "aria-labelledby": `employee-name-${i.uuid} ${$}`,
72
- value: T?.[i.uuid] ?? "",
73
- onChange: (l) => {
74
- l !== "" && !z(l) || s(i.uuid, l);
69
+ "aria-labelledby": `employee-name-${n.uuid} ${E}`,
70
+ value: I?.[n.uuid] ?? "",
71
+ onChange: (r) => {
72
+ r !== "" && !N(r) || s(n.uuid, r);
75
73
  },
76
- placeholder: "0",
77
- className: v.balanceInput
74
+ placeholder: "0"
78
75
  }
79
- )
76
+ ) })
80
77
  }
81
78
  ] : []
82
79
  ]
83
80
  }
84
81
  ),
85
- /* @__PURE__ */ r(B, { children: [
86
- /* @__PURE__ */ t(d, { variant: "secondary", onClick: b, isDisabled: m, children: e("backCta") }),
87
- /* @__PURE__ */ t(d, { variant: "primary", onClick: x, isLoading: m, children: e("continueCta") })
88
- ] }),
89
- n && /* @__PURE__ */ t(
90
- O,
91
- {
92
- isOpen: n.isOpen,
93
- onClose: n.onClose,
94
- onPrimaryActionClick: n.onConfirm,
95
- isPrimaryActionLoading: n.isPending,
96
- title: e("addConfirmDialog.title", { count: n.count }),
97
- primaryActionLabel: e("addConfirmDialog.confirmCta"),
98
- closeActionLabel: e("addConfirmDialog.cancelCta"),
99
- children: e("addConfirmDialog.description", { count: n.count })
100
- }
101
- )
82
+ /* @__PURE__ */ a(L, { children: [
83
+ /* @__PURE__ */ t(p, { variant: "secondary", onClick: b, isDisabled: c, children: e("backCta") }),
84
+ /* @__PURE__ */ t(p, { variant: "primary", onClick: x, isLoading: c, children: e("continueCta") })
85
+ ] })
102
86
  ] });
103
87
  }
104
88
  export {
105
- X as SelectEmployeesPresentation
89
+ R as SelectEmployeesPresentation
106
90
  };
107
91
  //# sourceMappingURL=SelectEmployeesPresentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n showReassignmentWarning,\n isHolidayPolicy = false,\n policyTypeLabel,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n addConfirmDialog,\n isPending = false,\n}: SelectEmployeesPresentationProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const Components = useComponentContext()\n const { Heading, Text, Button, Alert, Dialog } = Components\n const balanceColHeaderId = useId()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {isHolidayPolicy ? t('holidayDescription') : t('description')}\n </Text>\n </Flex>\n\n {showReassignmentWarning && (\n <Alert status=\"warning\" label={t('reassignmentWarning', { policyType: policyTypeLabel })} />\n )}\n\n <EmployeeTable<EmployeeItem>\n data={employees}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchClear={onSearchClear}\n hideSearch={employees.length === 0 && searchValue.length === 0}\n selectionMode=\"multiple\"\n onSelect={onSelect}\n onSelectAll={onSelectAll}\n getIsItemSelected={item => selectedUuids.has(item.uuid)}\n isFetching={isFetching}\n pagination={pagination}\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" textAlign=\"center\">\n {t('emptyState')}\n </Text>\n </Flex>\n )}\n additionalColumns={[\n {\n key: 'department' as keyof EmployeeItem,\n title: t('departmentColumn'),\n },\n ...(onBalanceChange\n ? [\n {\n key: 'balance' as keyof EmployeeItem,\n title: t('startingBalanceColumn'),\n render: (employee: EmployeeItem) => (\n <Components.TextInput\n name={`balance-${employee.uuid}`}\n label={t('startingBalanceColumn')}\n shouldVisuallyHideLabel\n aria-labelledby={`employee-name-${employee.uuid} ${balanceColHeaderId}`}\n value={balances?.[employee.uuid] ?? ''}\n onChange={(value: string) => {\n if (value !== '' && !isNumericInput(value)) return\n onBalanceChange(employee.uuid, value)\n }}\n placeholder=\"0\"\n className={styles.balanceInput}\n />\n ),\n },\n ]\n : []),\n ]}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={onContinue} isLoading={isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n\n {addConfirmDialog && (\n <Dialog\n isOpen={addConfirmDialog.isOpen}\n onClose={addConfirmDialog.onClose}\n onPrimaryActionClick={addConfirmDialog.onConfirm}\n isPrimaryActionLoading={addConfirmDialog.isPending}\n title={t('addConfirmDialog.title', { count: addConfirmDialog.count })}\n primaryActionLabel={t('addConfirmDialog.confirmCta')}\n closeActionLabel={t('addConfirmDialog.cancelCta')}\n >\n {t('addConfirmDialog.description', { count: addConfirmDialog.count })}\n </Dialog>\n )}\n </Flex>\n )\n}\n"],"names":["isNumericInput","value","SelectEmployeesPresentation","employees","selectedUuids","searchValue","onSelect","onSelectAll","onSearchChange","onSearchClear","onBack","onContinue","showReassignmentWarning","isHolidayPolicy","policyTypeLabel","balances","onBalanceChange","pagination","isFetching","addConfirmDialog","isPending","useI18n","t","useTranslation","Components","useComponentContext","Heading","Text","Button","Alert","Dialog","balanceColHeaderId","useId","Flex","jsxs","jsx","EmployeeTable","item","employee","styles","ActionsLayout"],"mappings":";;;;;;;;;;;AAYA,MAAMA,IAAiB,CAACC,MAAkB,cAAc,KAAKA,CAAK;AAE3D,SAASC,EAA4B;AAAA,EAC1C,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAqC;AACnC,EAAAC,EAAQ,iCAAiC;AACzC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,iCAAiC,GACxDC,IAAaC,EAAA,GACb,EAAE,SAAAC,GAAS,MAAAC,GAAM,QAAAC,GAAQ,OAAAC,GAAO,QAAAC,MAAWN,GAC3CO,IAAqBC,EAAA;AAE3B,2BACGC,GAAA,EAAK,eAAc,UAAS,YAAW,WAAU,KAAK,IACrD,UAAA;AAAA,IAAA,gBAAAC,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAE,EAACT,GAAA,EAAQ,IAAG,MAAM,UAAAJ,EAAE,OAAO,GAAE;AAAA,MAC7B,gBAAAa,EAACR,GAAA,EAAK,SAAQ,cACX,UAAkBL,EAAlBT,IAAoB,uBAA0B,aAAN,EAAmB,CAC9D;AAAA,IAAA,GACF;AAAA,IAECD,KACC,gBAAAuB,EAACN,GAAA,EAAM,QAAO,WAAU,OAAOP,EAAE,uBAAuB,EAAE,YAAYR,EAAA,CAAiB,EAAA,CAAG;AAAA,IAG5F,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAMjC;AAAA,QACN,aAAAE;AAAA,QACA,gBAAAG;AAAA,QACA,eAAAC;AAAA,QACA,YAAYN,EAAU,WAAW,KAAKE,EAAY,WAAW;AAAA,QAC7D,eAAc;AAAA,QACd,UAAAC;AAAA,QACA,aAAAC;AAAA,QACA,mBAAmB,CAAA8B,MAAQjC,EAAc,IAAIiC,EAAK,IAAI;AAAA,QACtD,YAAAnB;AAAA,QACA,YAAAD;AAAA,QACA,YAAY,MACV,gBAAAkB,EAACF,KAAK,eAAc,UAAS,YAAW,UAAS,KAAK,GACpD,UAAA,gBAAAE,EAACR,GAAA,EAAK,MAAK,MAAK,WAAU,UACvB,UAAAL,EAAE,YAAY,GACjB,GACF;AAAA,QAEF,mBAAmB;AAAA,UACjB;AAAA,YACE,KAAK;AAAA,YACL,OAAOA,EAAE,kBAAkB;AAAA,UAAA;AAAA,UAE7B,GAAIN,IACA;AAAA,YACE;AAAA,cACE,KAAK;AAAA,cACL,OAAOM,EAAE,uBAAuB;AAAA,cAChC,QAAQ,CAACgB,MACP,gBAAAH;AAAA,gBAACX,EAAW;AAAA,gBAAX;AAAA,kBACC,MAAM,WAAWc,EAAS,IAAI;AAAA,kBAC9B,OAAOhB,EAAE,uBAAuB;AAAA,kBAChC,yBAAuB;AAAA,kBACvB,mBAAiB,iBAAiBgB,EAAS,IAAI,IAAIP,CAAkB;AAAA,kBACrE,OAAOhB,IAAWuB,EAAS,IAAI,KAAK;AAAA,kBACpC,UAAU,CAACrC,MAAkB;AAC3B,oBAAIA,MAAU,MAAM,CAACD,EAAeC,CAAK,KACzCe,EAAgBsB,EAAS,MAAMrC,CAAK;AAAA,kBACtC;AAAA,kBACA,aAAY;AAAA,kBACZ,WAAWsC,EAAO;AAAA,gBAAA;AAAA,cAAA;AAAA,YACpB;AAAA,UAEJ,IAEF,CAAA;AAAA,QAAC;AAAA,MACP;AAAA,IAAA;AAAA,sBAGDC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAL,EAACP,GAAA,EAAO,SAAQ,aAAY,SAASlB,GAAQ,YAAYU,GACtD,UAAAE,EAAE,SAAS,EAAA,CACd;AAAA,MACA,gBAAAa,EAACP,GAAA,EAAO,SAAQ,WAAU,SAASjB,GAAY,WAAWS,GACvD,UAAAE,EAAE,aAAa,EAAA,CAClB;AAAA,IAAA,GACF;AAAA,IAECH,KACC,gBAAAgB;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,QAAQX,EAAiB;AAAA,QACzB,SAASA,EAAiB;AAAA,QAC1B,sBAAsBA,EAAiB;AAAA,QACvC,wBAAwBA,EAAiB;AAAA,QACzC,OAAOG,EAAE,0BAA0B,EAAE,OAAOH,EAAiB,OAAO;AAAA,QACpE,oBAAoBG,EAAE,6BAA6B;AAAA,QACnD,kBAAkBA,EAAE,4BAA4B;AAAA,QAE/C,YAAE,gCAAgC,EAAE,OAAOH,EAAiB,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EACtE,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"SelectEmployeesPresentation.js","sources":["../../../../../src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useId } from 'react'\nimport { EmployeeTable } from '../../shared/EmployeeTable/EmployeeTable'\nimport type {\n EmployeeItem,\n SelectEmployeesPresentationProps,\n} from './SelectEmployeesPresentationTypes'\nimport styles from './SelectEmployeesPresentation.module.scss'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\nconst isNumericInput = (value: string) => /^\\d*\\.?\\d*$/.test(value)\n\nexport function SelectEmployeesPresentation({\n employees,\n selectedUuids,\n searchValue,\n onSelect,\n onSelectAll,\n onSearchChange,\n onSearchClear,\n onBack,\n onContinue,\n isHolidayPolicy = false,\n balances,\n onBalanceChange,\n pagination,\n isFetching,\n isPending = false,\n}: SelectEmployeesPresentationProps) {\n useI18n('Company.TimeOff.SelectEmployees')\n const { t } = useTranslation('Company.TimeOff.SelectEmployees')\n const Components = useComponentContext()\n const { Heading, Text, Button, Alert } = Components\n const balanceColHeaderId = useId()\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {isHolidayPolicy ? t('holidayDescription') : t('description')}\n </Text>\n </Flex>\n\n {!isHolidayPolicy && <Alert status=\"warning\" label={t('reassignmentWarning')} />}\n\n <EmployeeTable<EmployeeItem>\n data={employees}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchClear={onSearchClear}\n hideSearch={employees.length === 0 && searchValue.length === 0}\n selectionMode=\"multiple\"\n onSelect={onSelect}\n onSelectAll={onSelectAll}\n getIsItemSelected={item => selectedUuids.has(item.uuid)}\n isFetching={isFetching}\n pagination={pagination}\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={8}>\n <Text size=\"sm\" textAlign=\"center\">\n {t('emptyState')}\n </Text>\n </Flex>\n )}\n additionalColumns={[\n {\n key: 'department' as keyof EmployeeItem,\n title: t('departmentColumn'),\n },\n ...(onBalanceChange\n ? [\n {\n key: 'balance' as keyof EmployeeItem,\n title: t('startingBalanceColumn'),\n justify: 'end' as const,\n render: (employee: EmployeeItem) => (\n <div className={styles.balanceInput}>\n <Components.TextInput\n name={`balance-${employee.uuid}`}\n label={t('startingBalanceColumn')}\n shouldVisuallyHideLabel\n aria-labelledby={`employee-name-${employee.uuid} ${balanceColHeaderId}`}\n value={balances?.[employee.uuid] ?? ''}\n onChange={(value: string) => {\n if (value !== '' && !isNumericInput(value)) return\n onBalanceChange(employee.uuid, value)\n }}\n placeholder=\"0\"\n />\n </div>\n ),\n },\n ]\n : []),\n ]}\n />\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onBack} isDisabled={isPending}>\n {t('backCta')}\n </Button>\n <Button variant=\"primary\" onClick={onContinue} isLoading={isPending}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n )\n}\n"],"names":["isNumericInput","value","SelectEmployeesPresentation","employees","selectedUuids","searchValue","onSelect","onSelectAll","onSearchChange","onSearchClear","onBack","onContinue","isHolidayPolicy","balances","onBalanceChange","pagination","isFetching","isPending","useI18n","t","useTranslation","Components","useComponentContext","Heading","Text","Button","Alert","balanceColHeaderId","useId","Flex","jsxs","jsx","EmployeeTable","item","employee","styles","ActionsLayout"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- const a = "_balanceInput_7t3da_1", t = {
2
- balanceInput: a
1
+ const n = "_balanceInput_1ynmu_1", a = {
2
+ balanceInput: n
3
3
  };
4
4
  export {
5
- a as balanceInput,
6
- t as default
5
+ n as balanceInput,
6
+ a as default
7
7
  };
8
8
  //# sourceMappingURL=SelectEmployeesPresentation.module.scss.js.map
@@ -9,13 +9,6 @@ export interface EmployeeItem {
9
9
  balance?: string | null;
10
10
  eligiblePaidTimeOff?: PaidTimeOff[];
11
11
  }
12
- export interface ConfirmDialogState {
13
- isOpen: boolean;
14
- count: number;
15
- onConfirm: () => void;
16
- onClose: () => void;
17
- isPending?: boolean;
18
- }
19
12
  export interface SelectEmployeesPresentationProps {
20
13
  employees: EmployeeItem[];
21
14
  selectedUuids: Set<string>;
@@ -26,15 +19,11 @@ export interface SelectEmployeesPresentationProps {
26
19
  onSearchClear: () => void;
27
20
  onBack: () => void;
28
21
  onContinue: () => void;
29
- showReassignmentWarning: boolean;
30
22
  isHolidayPolicy?: boolean;
31
- policyTypeLabel?: string;
32
23
  balances?: Record<string, string>;
33
24
  onBalanceChange?: (uuid: string, value: string) => void;
34
25
  pagination?: PaginationControlProps;
35
26
  isFetching?: boolean;
36
- /** Optional confirm dialog shown before submitting an add to the policy. */
37
- addConfirmDialog?: ConfirmDialogState;
38
27
  /** Disables the back button and shows a spinner on the continue button while a submit is in flight. */
39
28
  isPending?: boolean;
40
29
  }