@zeniai/client-epic-state 5.1.0-betaSS3 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
  2. package/lib/commonStateTypes/amount.d.ts +1 -0
  3. package/lib/commonStateTypes/amount.js +9 -1
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  5. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  6. package/lib/commonStateTypes/workingDayHelper.d.ts +9 -0
  7. package/lib/commonStateTypes/workingDayHelper.js +28 -1
  8. package/lib/entity/account/accountSelector.d.ts +9 -0
  9. package/lib/entity/account/accountSelector.js +14 -1
  10. package/lib/entity/account/accountState.d.ts +1 -1
  11. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  12. package/lib/entity/aiCfo/aiCfoPayload.d.ts +64 -5
  13. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  14. package/lib/entity/aiCfo/aiCfoReducer.js +252 -10
  15. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  16. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  17. package/lib/entity/aiCfo/aiCfoState.d.ts +98 -4
  18. package/lib/entity/aiCfo/aiCfoState.js +20 -1
  19. package/lib/entity/approvalRule/approvalRuleConflict.d.ts +56 -0
  20. package/lib/entity/approvalRule/approvalRuleConflict.js +77 -0
  21. package/lib/entity/approvalRule/approvalRulePayload.d.ts +34 -5
  22. package/lib/entity/approvalRule/approvalRulePayload.js +145 -10
  23. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  24. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  25. package/lib/entity/approvalRule/approvalRuleState.d.ts +59 -7
  26. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  27. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  28. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  29. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  30. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  31. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  32. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  33. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  34. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  35. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  36. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  37. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  38. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  39. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  40. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  41. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  42. package/lib/entity/class/classReducer.d.ts +4 -4
  43. package/lib/entity/class/classState.d.ts +1 -1
  44. package/lib/entity/forecast/forecastState.d.ts +1 -1
  45. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
  46. package/lib/entity/jeSchedules/jeSchedulesPayload.js +7 -0
  47. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  48. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  49. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  50. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  51. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  52. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  53. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  54. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  55. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  56. package/lib/entity/snackbar/snackbarTypes.js +7 -0
  57. package/lib/entity/task/taskPayload.d.ts +3 -1
  58. package/lib/entity/task/taskPayload.js +2 -0
  59. package/lib/entity/task/taskState.d.ts +2 -0
  60. package/lib/entity/tenant/clearAllEpic.d.ts +9 -2
  61. package/lib/entity/tenant/clearAllEpic.js +14 -0
  62. package/lib/entity/tenant/tenantPayload.d.ts +21 -0
  63. package/lib/entity/tenant/tenantReducer.d.ts +14 -5
  64. package/lib/entity/tenant/tenantReducer.js +132 -8
  65. package/lib/entity/tenant/tenantState.d.ts +24 -1
  66. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +4 -0
  67. package/lib/entity/transaction/payloadTypes/transactionPayload.js +18 -10
  68. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  69. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -1
  70. package/lib/entity/transaction/stateTypes/transactionLine.js +2 -1
  71. package/lib/epic.d.ts +31 -2
  72. package/lib/epic.js +31 -2
  73. package/lib/esm/commonStateTypes/amount.js +7 -0
  74. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  75. package/lib/esm/commonStateTypes/workingDayHelper.js +26 -0
  76. package/lib/esm/entity/account/accountSelector.js +11 -0
  77. package/lib/esm/entity/aiCfo/aiCfoReducer.js +252 -10
  78. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  79. package/lib/esm/entity/aiCfo/aiCfoState.js +17 -0
  80. package/lib/esm/entity/approvalRule/approvalRuleConflict.js +74 -0
  81. package/lib/esm/entity/approvalRule/approvalRulePayload.js +145 -10
  82. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  83. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  84. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  85. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  86. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  87. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  88. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  89. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  90. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  91. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +7 -0
  92. package/lib/esm/entity/snackbar/snackbarTypes.js +7 -0
  93. package/lib/esm/entity/task/taskPayload.js +2 -0
  94. package/lib/esm/entity/tenant/clearAllEpic.js +14 -0
  95. package/lib/esm/entity/tenant/tenantReducer.js +130 -7
  96. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +18 -10
  97. package/lib/esm/entity/transaction/stateTypes/transactionLine.js +1 -0
  98. package/lib/esm/epic.js +31 -2
  99. package/lib/esm/index.js +68 -28
  100. package/lib/esm/reducer.js +21 -0
  101. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  102. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  103. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  104. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  105. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  106. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  107. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  108. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  109. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  110. package/lib/esm/view/companyView/companyViewReducer.js +46 -1
  111. package/lib/esm/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +25 -0
  112. package/lib/esm/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +98 -0
  113. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  114. package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  115. package/lib/esm/view/createTransferEntry/createTransferEntryReducer.js +82 -0
  116. package/lib/esm/view/createTransferEntry/createTransferEntrySelector.js +64 -0
  117. package/lib/esm/view/createTransferEntry/createTransferEntryState.js +17 -0
  118. package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +136 -0
  119. package/lib/esm/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +36 -0
  120. package/lib/esm/view/dashboard/dashboardReducer.js +11 -1
  121. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  122. package/lib/esm/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  123. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +13 -9
  124. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  125. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  126. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  127. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  128. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  129. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  130. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  131. package/lib/esm/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  132. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -49
  133. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +13 -6
  134. package/lib/esm/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  135. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +22 -2
  136. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  137. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +109 -12
  138. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  139. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  140. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +11 -7
  141. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +54 -0
  142. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +13 -4
  143. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +140 -16
  144. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  145. package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  146. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +29 -0
  147. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +78 -0
  148. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +47 -0
  149. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +47 -0
  150. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +34 -0
  151. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +32 -0
  152. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +54 -0
  153. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +92 -0
  154. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +225 -0
  155. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +10 -0
  156. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +23 -0
  157. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +36 -0
  158. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +27 -0
  159. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +28 -0
  160. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  161. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  162. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  163. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  164. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  165. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  166. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +71 -0
  167. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  168. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  169. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  170. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  171. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  172. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  173. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  174. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  175. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  176. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  177. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  178. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  179. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  180. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  181. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  182. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  183. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +49 -0
  184. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  185. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  186. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  187. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  188. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  189. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  190. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  191. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  192. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  193. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  194. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  195. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  196. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  197. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  198. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  199. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  200. package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  201. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  202. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  203. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +11 -7
  204. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +61 -0
  205. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +13 -4
  206. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +80 -11
  207. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +18 -0
  208. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +18 -0
  209. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  210. package/lib/esm/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +45 -1
  211. package/lib/esm/view/transactionDetail/journalEntryLinesViewModel.js +149 -0
  212. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +6 -1
  213. package/lib/index.d.ts +84 -34
  214. package/lib/index.js +261 -37
  215. package/lib/reducer.d.ts +21 -0
  216. package/lib/reducer.js +21 -0
  217. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  218. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  219. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  220. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  221. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  222. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  223. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  224. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  225. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  226. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  227. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  228. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  229. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  230. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +11 -5
  231. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  232. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  233. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  234. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  235. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  236. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  237. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  238. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  239. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  240. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  241. package/lib/view/companyView/companyViewReducer.d.ts +12 -1
  242. package/lib/view/companyView/companyViewReducer.js +48 -3
  243. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.d.ts +9 -0
  244. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +29 -0
  245. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.d.ts +10 -0
  246. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +102 -0
  247. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  248. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -2
  249. package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
  250. package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  251. package/lib/view/createTransferEntry/createTransferEntryReducer.d.ts +32 -0
  252. package/lib/view/createTransferEntry/createTransferEntryReducer.js +86 -0
  253. package/lib/view/createTransferEntry/createTransferEntrySelector.d.ts +39 -0
  254. package/lib/view/createTransferEntry/createTransferEntrySelector.js +69 -0
  255. package/lib/view/createTransferEntry/createTransferEntryState.d.ts +30 -0
  256. package/lib/view/createTransferEntry/createTransferEntryState.js +20 -0
  257. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.d.ts +11 -0
  258. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +140 -0
  259. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.d.ts +14 -0
  260. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +40 -0
  261. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  262. package/lib/view/dashboard/dashboardReducer.js +11 -1
  263. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  264. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  265. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.d.ts +6 -0
  266. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +14 -10
  267. package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  268. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  269. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  270. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  271. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  272. package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  273. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  274. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -6
  275. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  276. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  277. package/lib/view/expenseAutomationView/payload/transactionCategorizationPayload.d.ts +20 -9
  278. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +12 -19
  279. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +22 -50
  280. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +8 -6
  281. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +1 -0
  282. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +15 -7
  283. package/lib/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  284. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  285. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -2
  286. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  287. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  288. package/lib/view/people/peopleTypes.d.ts +1 -1
  289. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  290. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  291. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  292. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +8 -1
  293. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +21 -1
  294. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +22 -0
  295. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +7 -0
  296. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  297. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +14 -3
  298. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +110 -13
  299. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +16 -0
  300. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  301. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  302. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +10 -6
  303. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +23 -0
  304. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +58 -0
  305. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +12 -3
  306. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +59 -1
  307. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +142 -17
  308. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +31 -5
  309. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +8 -1
  310. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  311. package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  312. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +47 -0
  313. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +34 -0
  314. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +23 -0
  315. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +82 -0
  316. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +40 -0
  317. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +51 -0
  318. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +37 -0
  319. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +53 -0
  320. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +14 -0
  321. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +38 -0
  322. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +7 -0
  323. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +36 -0
  324. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +56 -0
  325. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +60 -0
  326. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +22 -0
  327. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +96 -0
  328. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +59 -0
  329. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +230 -0
  330. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +122 -0
  331. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +13 -0
  332. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +7 -0
  333. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +27 -0
  334. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +9 -0
  335. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +40 -0
  336. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +7 -0
  337. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +31 -0
  338. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +15 -0
  339. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +32 -0
  340. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  341. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  342. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  343. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  344. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  345. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  346. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  347. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  348. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  349. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  350. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  351. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  352. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  353. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +75 -0
  354. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  355. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  356. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  357. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  358. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  359. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  360. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  361. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  362. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  363. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  364. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  365. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  366. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  367. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  368. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  369. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  370. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  371. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  372. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  373. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  374. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  375. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  376. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  377. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  378. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  379. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  380. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  381. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  382. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  383. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  384. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  385. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  386. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +9 -0
  387. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +53 -0
  388. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  389. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  390. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  391. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  392. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  393. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  394. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  395. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  396. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  397. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  398. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  399. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  400. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  401. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  402. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  403. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  404. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  405. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  406. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  407. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  408. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  409. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  410. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  411. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  412. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  413. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  414. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  415. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  416. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  417. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  418. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  419. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  420. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  421. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  422. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  423. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  424. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  425. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +10 -6
  426. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +14 -0
  427. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +65 -0
  428. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +12 -3
  429. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +14 -3
  430. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +81 -12
  431. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +12 -0
  432. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.d.ts +8 -0
  433. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +22 -0
  434. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.d.ts +8 -0
  435. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +22 -0
  436. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  437. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.d.ts +1 -1
  438. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +46 -2
  439. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewState.d.ts +2 -0
  440. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  441. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  442. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  443. package/lib/view/topEx/topExSelector.d.ts +1 -1
  444. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +102 -0
  445. package/lib/view/transactionDetail/journalEntryLinesViewModel.js +160 -0
  446. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  447. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +6 -1
  448. package/lib/view/transactionDetail/transactionDetailSelector.js +6 -1
  449. package/lib/zeniAPI.d.ts +1 -0
  450. package/package.json +1 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateCapitalizationAccountThresholdEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const companyReducer_1 = require("../../../../entity/company/companyReducer");
7
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
8
+ const tenantReducer_1 = require("../../../../entity/tenant/tenantReducer");
9
+ const responsePayload_1 = require("../../../../responsePayload");
10
+ const companyViewReducer_1 = require("../../companyViewReducer");
11
+ const updateCapitalizationAccountThresholdEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(companyViewReducer_1.updateCapitalizationAccountThreshold.match), (0, operators_1.switchMap)((action) => {
12
+ const { companyId, accountId, threshold, dismissOnboardingForAccount, allOverrides, } = action.payload;
13
+ const tenantId = Object.values(state$.value.tenantState.tenantsById).find((t) => t.companyId === companyId)?.tenantId;
14
+ let finalOverrides;
15
+ if (allOverrides !== undefined) {
16
+ finalOverrides = allOverrides ?? {};
17
+ }
18
+ else {
19
+ finalOverrides = {
20
+ ...(tenantId != null
21
+ ? state$.value.tenantState.tenantsById[tenantId]
22
+ ?.capitalizableAccountOverrides
23
+ : {}),
24
+ };
25
+ if (threshold === null) {
26
+ delete finalOverrides[accountId];
27
+ }
28
+ else {
29
+ finalOverrides[accountId] = threshold;
30
+ }
31
+ }
32
+ const body = {
33
+ capitalizable_account_overrides: Object.keys(finalOverrides).length > 0 ? finalOverrides : null,
34
+ };
35
+ if (dismissOnboardingForAccount === true) {
36
+ body.capitalization_onboarding_dismissed_accounts = { [accountId]: true };
37
+ }
38
+ return zeniAPI
39
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, body)
40
+ .pipe((0, operators_1.mergeMap)((response) => {
41
+ if ((0, responsePayload_1.isSuccessResponse)(response)) {
42
+ const companies = response.data?.companies ?? [];
43
+ const actions = [];
44
+ if (companies.length > 0) {
45
+ actions.push((0, companyReducer_1.updateCompanies)({
46
+ payload: companies,
47
+ schema: {},
48
+ }));
49
+ }
50
+ if (tenantId != null) {
51
+ actions.push((0, tenantReducer_1.updateTenantCapitalizationAccountOverride)({
52
+ tenantId,
53
+ accountId,
54
+ threshold,
55
+ allOverrides: allOverrides !== undefined
56
+ ? (Object.keys(finalOverrides).length > 0
57
+ ? finalOverrides
58
+ : null)
59
+ : undefined,
60
+ }));
61
+ if (dismissOnboardingForAccount === true) {
62
+ actions.push((0, tenantReducer_1.updateTenantCapitalizationOnboardingDismissed)({
63
+ tenantId,
64
+ accountId,
65
+ }));
66
+ }
67
+ }
68
+ actions.push((0, companyViewReducer_1.updateCapitalizationAccountThresholdSuccess)());
69
+ actions.push((0, snackbarReducer_1.openSnackbar)({
70
+ messageSection: 'capitalization_threshold_update',
71
+ messageText: 'success',
72
+ type: 'success',
73
+ }));
74
+ return (0, rxjs_1.from)(actions);
75
+ }
76
+ else {
77
+ return (0, rxjs_1.from)([
78
+ (0, companyViewReducer_1.updateCapitalizationAccountThresholdFailure)({
79
+ status: response.status,
80
+ }),
81
+ (0, snackbarReducer_1.openSnackbar)({
82
+ messageSection: 'capitalization_threshold_update',
83
+ messageText: 'failed',
84
+ type: 'error',
85
+ }),
86
+ ]);
87
+ }
88
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.from)([
89
+ (0, companyViewReducer_1.updateCapitalizationAccountThresholdFailure)({
90
+ status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected error', 'Update Capitalization Threshold errored out' +
91
+ (error instanceof Error
92
+ ? error.message
93
+ : JSON.stringify(error))),
94
+ }),
95
+ (0, snackbarReducer_1.openSnackbar)({
96
+ messageSection: 'capitalization_threshold_update',
97
+ messageText: 'failed',
98
+ type: 'error',
99
+ }),
100
+ ])));
101
+ }));
102
+ exports.updateCapitalizationAccountThresholdEpic = updateCapitalizationAccountThresholdEpic;
@@ -24,7 +24,7 @@ const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe((0, operato
24
24
  (0, reviewCompanyViewReducer_1.fetchReviewCompanyView)(),
25
25
  (0, companyHealthMetricViewReducer_1.fetchCompanyHealthMetricView)(),
26
26
  (0, companyViewReducer_1.fetchCompanyMetaData)(),
27
- (0, companyTaskManagerViewReducer_1.fetchCompanyTaskManagerView)(null, 'dueDate', 'descending', false),
27
+ (0, companyTaskManagerViewReducer_1.fetchCompanyTaskManagerView)(0, 'dueDate', 'descending', false),
28
28
  (0, companyHealthMetricConfigReducer_1.fetchCompanyHealthMetricConfig)(),
29
29
  ]);
30
30
  }
@@ -77,7 +77,7 @@ const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe((0, operato
77
77
  }
78
78
  if (state.companyTaskManagerViewState.fetchState !== 'In-Progress' &&
79
79
  state.companyTaskManagerViewState.hasValidState() === false) {
80
- fetchActions.push((0, companyTaskManagerViewReducer_1.fetchCompanyTaskManagerView)(null, 'dueDate', 'descending', false));
80
+ fetchActions.push((0, companyTaskManagerViewReducer_1.fetchCompanyTaskManagerView)(0, 'dueDate', 'descending', false));
81
81
  }
82
82
  return (0, rxjs_1.from)(fetchActions);
83
83
  }
@@ -7,7 +7,7 @@ export declare const toPortfolioSortKeyType: (v: string) => "companyName" | "exp
7
7
  export declare const toManagementSortKeyType: (v: string) => "status" | "bookCloseDate" | "companyName" | "group" | "controller" | "plans" | "monthlyRecurringRevenue" | "notes" | "taxStatus" | "preparer" | "reviewer" | "annualRecurringRevenue" | "task" | "customerSuccessManager" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
8
8
  export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "notes" | "businessVerified" | "identityVerified" | "bankAccountLinked" | "customerCreated" | "groupCreated" | "qboLinked" | "enroller" | "invite" | "latestCreated";
9
9
  export declare const toHealthSortKeyType: (v: string) => "companyName" | "group" | "controller" | "monthlyRecurringRevenue" | "runway" | "companyEngagementMetricsUpdatedAt" | "customerSatisfactionScore" | "externalProductServiceExposure" | "netPromoterScore" | "customerSuccessManager" | "issues" | "productVerticals" | "churnProbability" | "lastReportSent" | "subscriptionDate" | "renewalDate" | "dashboardLastSeen" | "lastEngagement";
10
- export declare const toTaskManagerSortKeyType: (v: string) => "status" | "name" | "tags" | "createdBy" | "dueDate" | "priority" | "assignee" | "taskName";
10
+ export declare const toTaskManagerSortKeyType: (v: string) => "status" | "name" | "priority" | "tags" | "createdBy" | "dueDate" | "assignee" | "taskName";
11
11
  export type PortfolioViewSortKey = ReturnType<typeof toPortfolioSortKeyType>;
12
12
  export type ManagementViewSortKey = ReturnType<typeof toManagementSortKeyType>;
13
13
  export type OnboardingViewSortKey = ReturnType<typeof toOnboardingSortKeyType>;
@@ -18,11 +18,12 @@ export type ManagementViewFilterCategoryField = 'controllerUserIds' | 'customerS
18
18
  export type SubscriptionViewFilterCategoryField = 'controllerUserIds' | 'statusCode' | 'recommendedActionCode' | 'subscriptionPlans' | 'subscriptionAddOns' | 'avg2MonthExpenses' | 'slabLowerLimit' | 'slabUpperLimit' | 'monthlyRecurringRevenue';
19
19
  export type PortfolioViewFilterCategoryField = 'netBurnOrIncome' | 'cashPosition' | 'income' | 'expenses' | 'runway';
20
20
  export type HealthMonitorViewFilterCategoryField = 'verticalProductServices' | 'runway' | 'netPromoterScore' | 'customerSatisfactionScore' | 'churnProbabilityPercentage' | 'controller' | 'customerSuccessManager' | 'lastReportSent' | 'subscriptionStartDate' | 'subscriptionRenewalDate' | 'externalProductServiceExposure' | 'companyEngagementMetricsUpdatedAt' | 'companyGroupId' | 'monthlyRecurringRevenue';
21
+ export type TaskManagerViewFilterCategoryField = 'assignees' | 'creationDate' | 'dueDate' | 'priority' | 'status' | 'company_id' | 'tag';
21
22
  export interface CockpitFilterCategory {
22
23
  matchingOperator: 'equal' | 'not_equal';
23
24
  values: FilterCategoryValueType[];
24
25
  valuesCombinationOperator: 'ANY' | 'ALL';
25
- field?: AiAccountantFilterCategoryField | ManagementViewFilterCategoryField | SubscriptionViewFilterCategoryField | PortfolioViewFilterCategoryField | HealthMonitorViewFilterCategoryField;
26
+ field?: AiAccountantFilterCategoryField | ManagementViewFilterCategoryField | SubscriptionViewFilterCategoryField | PortfolioViewFilterCategoryField | HealthMonitorViewFilterCategoryField | TaskManagerViewFilterCategoryField;
26
27
  }
27
28
  export interface CockpitFilters {
28
29
  categories?: CockpitFilterCategory[];
@@ -5,6 +5,7 @@ import { CompanyOfficerLocalData, CompanyOfficerType, PrimaryContactLocalData }
5
5
  export type UpdateActionType = 'company_update' | 'user_create' | 'user_update';
6
6
  export interface CompanyPassportViewState extends CommonState, FetchedState {
7
7
  accountingClassesUpdateStatus: FetchStateAndError;
8
+ capitalizationThresholdUpdateStatus: FetchStateAndError;
8
9
  companyDetails: {
9
10
  updateStatus: FetchStateAndError;
10
11
  localData?: CompanyDetailsLocalData;
@@ -8,6 +8,10 @@ exports.initialCompanyPassportView = {
8
8
  fetchState: 'Not-Started',
9
9
  error: undefined,
10
10
  },
11
+ capitalizationThresholdUpdateStatus: {
12
+ fetchState: 'Not-Started',
13
+ error: undefined,
14
+ },
11
15
  companyDetails: {
12
16
  localData: undefined,
13
17
  updateStatus: {
@@ -0,0 +1,32 @@
1
+ import { ID } from '../../commonStateTypes/common';
2
+ import { TransactionID } from '../../entity/transaction/stateTypes/transaction';
3
+ import { TransactionType } from '../../entity/transaction/stateTypes/transactionType';
4
+ import { CreateTransferEntryState, TransferAccountsFetchType } from './createTransferEntryState';
5
+ export declare const initialState: CreateTransferEntryState;
6
+ export declare const fetchAccountsForTransferFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
7
+ kind: TransferAccountsFetchType;
8
+ }, "createTransferEntry/fetchAccountsForTransferFlow">, updateAccountsForTransferFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
9
+ accountIds: ID[];
10
+ kind: TransferAccountsFetchType;
11
+ }, "createTransferEntry/updateAccountsForTransferFlow">, updateAccountsForTransferFlowFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
12
+ kind: TransferAccountsFetchType;
13
+ }, "createTransferEntry/updateAccountsForTransferFlowFailure">, createTransferEntry: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: {
14
+ creditAccountIntegrationId: string;
15
+ debitAccountIntegrationId: string;
16
+ memo: string;
17
+ sourceTransactionType: TransactionType;
18
+ transactionId: ID;
19
+ transactionType: TransactionType;
20
+ }], {
21
+ creditAccountIntegrationId: string;
22
+ debitAccountIntegrationId: string;
23
+ memo: string;
24
+ sourceTransactionType: TransactionType;
25
+ transactionId: ID;
26
+ transactionType: TransactionType;
27
+ }, "createTransferEntry/createTransferEntry", never, never>, createTransferEntrySuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"createTransferEntry/createTransferEntrySuccess">, createTransferEntryFailure: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"createTransferEntry/createTransferEntryFailure">, resetCreateTransferEntryStatus: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"createTransferEntry/resetCreateTransferEntryStatus">, createTransferEntryReplacedTransaction: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[previousTransactionId: TransactionID, newTransactionId: TransactionID], {
28
+ newTransactionId: TransactionID;
29
+ previousTransactionId: TransactionID;
30
+ }, "createTransferEntry/createTransferEntryReplacedTransaction", never, never>, clearTransferEntryRouteReplacement: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"createTransferEntry/clearTransferEntryRouteReplacement">, clearCreateTransferEntry: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"createTransferEntry/clearCreateTransferEntry">;
31
+ declare const _default: import("redux").Reducer<CreateTransferEntryState>;
32
+ export default _default;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.clearCreateTransferEntry = exports.clearTransferEntryRouteReplacement = exports.createTransferEntryReplacedTransaction = exports.resetCreateTransferEntryStatus = exports.createTransferEntryFailure = exports.createTransferEntrySuccess = exports.createTransferEntry = exports.updateAccountsForTransferFlowFailure = exports.updateAccountsForTransferFlow = exports.fetchAccountsForTransferFlow = exports.initialState = void 0;
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ const createTransferEntryState_1 = require("./createTransferEntryState");
7
+ exports.initialState = createTransferEntryState_1.initialCreateTransferEntryState;
8
+ const createTransferEntrySlice = (0, toolkit_1.createSlice)({
9
+ name: 'createTransferEntry',
10
+ initialState: exports.initialState,
11
+ reducers: {
12
+ fetchAccountsForTransferFlow(draft, action) {
13
+ const slice = draft.transferAccountsByType[action.payload.kind];
14
+ // Idempotent: a duplicate dispatch must not briefly downgrade
15
+ // 'Completed' back to 'In-Progress' (would clear loaded data from a
16
+ // consumer's perspective) nor restart the in-flight epic stream.
17
+ // The hook (`useFetchTransferAccountsForFlow`) is the sole caller and
18
+ // already dedupes via `store.getState()`; this guard is defense in
19
+ // depth for any future caller.
20
+ if (slice.fetchState === 'In-Progress' ||
21
+ slice.fetchState === 'Completed') {
22
+ return;
23
+ }
24
+ slice.fetchState = 'In-Progress';
25
+ },
26
+ updateAccountsForTransferFlow(draft, action) {
27
+ const slice = draft.transferAccountsByType[action.payload.kind];
28
+ slice.fetchState = 'Completed';
29
+ slice.accountIds = action.payload.accountIds;
30
+ },
31
+ updateAccountsForTransferFlowFailure(draft, action) {
32
+ draft.transferAccountsByType[action.payload.kind].fetchState = 'Error';
33
+ },
34
+ createTransferEntry: {
35
+ prepare(payload) {
36
+ return { payload };
37
+ },
38
+ /**
39
+ * Defense-in-depth: clear any stale `lastTransferEntryReplacement` on a
40
+ * fresh dispatch so a second `createTransferEntry` never inherits the
41
+ * previous run's replacement signal (e.g. if the prior `timer(0)` cleanup
42
+ * never fired). Mirrors the host hook's `consumedReplacementRef` guard
43
+ * (see `useTransferEntryRouteReplacement` in zeni-web-app-ui).
44
+ */
45
+ reducer(draft) {
46
+ draft.createTransferEntryStatus = 'In-Progress';
47
+ draft.lastTransferEntryReplacement = undefined;
48
+ },
49
+ },
50
+ createTransferEntrySuccess(draft) {
51
+ draft.createTransferEntryStatus = 'Completed';
52
+ },
53
+ createTransferEntryFailure(draft) {
54
+ draft.createTransferEntryStatus = 'Error';
55
+ },
56
+ resetCreateTransferEntryStatus(draft) {
57
+ draft.createTransferEntryStatus = 'Not-Started';
58
+ },
59
+ createTransferEntryReplacedTransaction: {
60
+ prepare(previousTransactionId, newTransactionId) {
61
+ return { payload: { newTransactionId, previousTransactionId } };
62
+ },
63
+ reducer(draft, action) {
64
+ draft.lastTransferEntryReplacement = action.payload;
65
+ },
66
+ },
67
+ /**
68
+ * One-shot acknowledgement: the host has consumed the route-replacement
69
+ * signal and navigated to the new transaction url, so we can drop the
70
+ * record. Re-dispatching is idempotent.
71
+ */
72
+ clearTransferEntryRouteReplacement(draft) {
73
+ draft.lastTransferEntryReplacement = undefined;
74
+ },
75
+ /**
76
+ * Full slice reset. Dispatched from `clearAllEpic` on tenant switch so
77
+ * stale per-tenant state (account-id pools, status, replacement signal)
78
+ * doesn't bleed across tenants.
79
+ */
80
+ clearCreateTransferEntry(draft) {
81
+ Object.assign(draft, exports.initialState);
82
+ },
83
+ },
84
+ });
85
+ _a = createTransferEntrySlice.actions, exports.fetchAccountsForTransferFlow = _a.fetchAccountsForTransferFlow, exports.updateAccountsForTransferFlow = _a.updateAccountsForTransferFlow, exports.updateAccountsForTransferFlowFailure = _a.updateAccountsForTransferFlowFailure, exports.createTransferEntry = _a.createTransferEntry, exports.createTransferEntrySuccess = _a.createTransferEntrySuccess, exports.createTransferEntryFailure = _a.createTransferEntryFailure, exports.resetCreateTransferEntryStatus = _a.resetCreateTransferEntryStatus, exports.createTransferEntryReplacedTransaction = _a.createTransferEntryReplacedTransaction, exports.clearTransferEntryRouteReplacement = _a.clearTransferEntryRouteReplacement, exports.clearCreateTransferEntry = _a.clearCreateTransferEntry;
86
+ exports.default = createTransferEntrySlice.reducer;
@@ -0,0 +1,39 @@
1
+ import { AccountBase } from '../../entity/account/accountState';
2
+ import { RootState } from '../../reducer';
3
+ import { TransferEntryRouteReplacement } from './createTransferEntryState';
4
+ export declare function getCreateTransferEntryStatus(state: RootState): import("../..").FetchState;
5
+ export declare function getLastTransferEntryReplacement(state: RootState): TransferEntryRouteReplacement | undefined;
6
+ /**
7
+ * Shared resolver for the credit/debit dropdowns in the transfer drawer.
8
+ *
9
+ * Resolution policy (intentional):
10
+ * 1. Prefer the dedicated API fetch results (`transferEntryEligible` for the
11
+ * debit pool, `creditCardOnlyEligible` for the credit-card-payment credit
12
+ * pool).
13
+ * 2. If the dedicated fetch returns an empty list while the COA is loaded,
14
+ * fall back to the COA: the full account list for `transferEntryEligible`,
15
+ * and COA accounts filtered to `credit_card` for `creditCardOnlyEligible`.
16
+ * This keeps the dropdown populated for older tenants where the dedicated
17
+ * endpoints haven't been backfilled yet.
18
+ *
19
+ * Intent — what this selector deliberately does NOT do:
20
+ * - Does NOT distinguish "fetch in-flight" / "fetch errored" / "fetch returned
21
+ * empty" — all three collapse to the COA fallback. The product preference
22
+ * is "always show something selectable" over "show a spinner that may never
23
+ * resolve". Loading/error UI belongs in the view layer; if you need a
24
+ * spinner, observe the `fetchState` on `transferAccountsByType[kind]`
25
+ * separately rather than changing the resolution policy here.
26
+ * - Does NOT enforce "API result is authoritative even if empty" — a tenant
27
+ * whose dedicated endpoint is correctly returning `[]` (e.g. no eligible
28
+ * transfer destinations) will still see the COA. That trade-off is
29
+ * accepted because the alternative blocks the user from picking anything;
30
+ * the backend distinguishes "no result" from "endpoint not implemented" by
31
+ * surfacing an error response, which the view layer handles separately.
32
+ *
33
+ * Memoized with reselect so consuming view-models don't recompute on every
34
+ * unrelated state change.
35
+ */
36
+ export declare const getResolvedTransferAccounts: (state: RootState) => {
37
+ creditCardTransferAccountsList: AccountBase[];
38
+ transferAccountsList: AccountBase[];
39
+ };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResolvedTransferAccounts = void 0;
4
+ exports.getCreateTransferEntryStatus = getCreateTransferEntryStatus;
5
+ exports.getLastTransferEntryReplacement = getLastTransferEntryReplacement;
6
+ const toolkit_1 = require("@reduxjs/toolkit");
7
+ const accountSelector_1 = require("../../entity/account/accountSelector");
8
+ const accountListSelector_1 = require("../accountList/accountListSelector");
9
+ function getCreateTransferEntryStatus(state) {
10
+ return state.createTransferEntryState.createTransferEntryStatus;
11
+ }
12
+ function getLastTransferEntryReplacement(state) {
13
+ return state.createTransferEntryState.lastTransferEntryReplacement;
14
+ }
15
+ /**
16
+ * Shared resolver for the credit/debit dropdowns in the transfer drawer.
17
+ *
18
+ * Resolution policy (intentional):
19
+ * 1. Prefer the dedicated API fetch results (`transferEntryEligible` for the
20
+ * debit pool, `creditCardOnlyEligible` for the credit-card-payment credit
21
+ * pool).
22
+ * 2. If the dedicated fetch returns an empty list while the COA is loaded,
23
+ * fall back to the COA: the full account list for `transferEntryEligible`,
24
+ * and COA accounts filtered to `credit_card` for `creditCardOnlyEligible`.
25
+ * This keeps the dropdown populated for older tenants where the dedicated
26
+ * endpoints haven't been backfilled yet.
27
+ *
28
+ * Intent — what this selector deliberately does NOT do:
29
+ * - Does NOT distinguish "fetch in-flight" / "fetch errored" / "fetch returned
30
+ * empty" — all three collapse to the COA fallback. The product preference
31
+ * is "always show something selectable" over "show a spinner that may never
32
+ * resolve". Loading/error UI belongs in the view layer; if you need a
33
+ * spinner, observe the `fetchState` on `transferAccountsByType[kind]`
34
+ * separately rather than changing the resolution policy here.
35
+ * - Does NOT enforce "API result is authoritative even if empty" — a tenant
36
+ * whose dedicated endpoint is correctly returning `[]` (e.g. no eligible
37
+ * transfer destinations) will still see the COA. That trade-off is
38
+ * accepted because the alternative blocks the user from picking anything;
39
+ * the backend distinguishes "no result" from "endpoint not implemented" by
40
+ * surfacing an error response, which the view layer handles separately.
41
+ *
42
+ * Memoized with reselect so consuming view-models don't recompute on every
43
+ * unrelated state change.
44
+ */
45
+ exports.getResolvedTransferAccounts = (0, toolkit_1.createSelector)([
46
+ (state) => state.accountState,
47
+ (state) => state.accountListState,
48
+ (state) => state.createTransferEntryState.transferAccountsByType
49
+ .transferEntryEligible.accountIds,
50
+ (state) => state.createTransferEntryState.transferAccountsByType
51
+ .creditCardOnlyEligible.accountIds,
52
+ ], (accountState, accountListState, transferEligibleIds, creditCardOnlyIds) => {
53
+ const accountList = (0, accountListSelector_1.getAccountList)(accountState, accountListState, 'accountList');
54
+ const transferEligibleFromApi = transferEligibleIds
55
+ .map((id) => (0, accountSelector_1.getAccountBaseForTransferAccounts)(accountState, id))
56
+ .filter((account) => account != null);
57
+ const coaFallbackAllAccounts = accountList.accounts
58
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
59
+ .filter((account) => account != null);
60
+ const transferAccountsList = transferEligibleFromApi.length > 0
61
+ ? transferEligibleFromApi
62
+ : coaFallbackAllAccounts;
63
+ const creditCardFromApi = creditCardOnlyIds
64
+ .map((id) => (0, accountSelector_1.getAccountBaseForCreditCardTransferAccounts)(accountState, id))
65
+ .filter((account) => account != null);
66
+ const coaFallbackCreditCards = coaFallbackAllAccounts.filter((a) => a.accountType === 'credit_card');
67
+ const creditCardTransferAccountsList = creditCardFromApi.length > 0 ? creditCardFromApi : coaFallbackCreditCards;
68
+ return { creditCardTransferAccountsList, transferAccountsList };
69
+ });
@@ -0,0 +1,30 @@
1
+ import { FetchState, ID } from '../../commonStateTypes/common';
2
+ import { TransactionID } from '../../entity/transaction/stateTypes/transaction';
3
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
4
+ export declare const TRANSFER_ACCOUNTS_FETCH_TYPE: readonly ["transferEntryEligible", "creditCardOnlyEligible"];
5
+ export type TransferAccountsFetchType = (typeof TRANSFER_ACCOUNTS_FETCH_TYPE)[number];
6
+ export interface TransferAccountsState {
7
+ accountIds: ID[];
8
+ fetchState: FetchState;
9
+ }
10
+ export type TransferEntryRouteReplacement = {
11
+ newTransactionId: TransactionID;
12
+ previousTransactionId: TransactionID;
13
+ };
14
+ export interface CreateTransferEntryState {
15
+ createTransferEntryStatus: FetchState;
16
+ /**
17
+ * Set when create-transfer returns a new transaction id (the source expense
18
+ * has been replaced by a new transfer/credit-card-payment row). The host
19
+ * navigates to the new url and then dispatches
20
+ * `clearTransferEntryRouteReplacement` to clear this one-shot signal.
21
+ */
22
+ lastTransferEntryReplacement: TransferEntryRouteReplacement | undefined;
23
+ /**
24
+ * Per-type fetch state + account-id list for the dropdowns shown in the
25
+ * transfer drawer (eligible accounts for `transfer`, credit-card-only
26
+ * accounts for `credit_card_payment`).
27
+ */
28
+ transferAccountsByType: Record<TransferAccountsFetchType, TransferAccountsState>;
29
+ }
30
+ export declare const initialCreateTransferEntryState: CreateTransferEntryState;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialCreateTransferEntryState = exports.TRANSFER_ACCOUNTS_FETCH_TYPE = void 0;
4
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
5
+ exports.TRANSFER_ACCOUNTS_FETCH_TYPE = [
6
+ 'transferEntryEligible',
7
+ 'creditCardOnlyEligible',
8
+ ];
9
+ const initialTransferAccountsState = {
10
+ accountIds: [],
11
+ fetchState: 'Not-Started',
12
+ };
13
+ exports.initialCreateTransferEntryState = {
14
+ createTransferEntryStatus: 'Not-Started',
15
+ lastTransferEntryReplacement: undefined,
16
+ transferAccountsByType: {
17
+ transferEntryEligible: initialTransferAccountsState,
18
+ creditCardOnlyEligible: initialTransferAccountsState,
19
+ },
20
+ };
@@ -0,0 +1,11 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
4
+ import { removeTransaction, updateTransaction } from '../../../entity/transaction/transactionReducer';
5
+ import { RootState } from '../../../reducer';
6
+ import { ZeniAPI } from '../../../zeniAPI';
7
+ import { removeTransactionFromAllTabs } from '../../expenseAutomationView/reducers/transactionsViewReducer';
8
+ import { initializeTransactionDetailLocalData, removeTransactionDetail } from '../../transactionDetail/transactionDetailReducer';
9
+ import { clearTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus } from '../createTransferEntryReducer';
10
+ export type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof createTransferEntry> | ReturnType<typeof createTransferEntrySuccess> | ReturnType<typeof createTransferEntryFailure> | ReturnType<typeof removeTransactionFromAllTabs> | ReturnType<typeof resetCreateTransferEntryStatus> | ReturnType<typeof createTransferEntryReplacedTransaction> | ReturnType<typeof clearTransferEntryRouteReplacement> | ReturnType<typeof updateTransaction> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail>;
11
+ export declare const createTransferEntryEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTransferEntryEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const snackbarReducer_1 = require("../../../entity/snackbar/snackbarReducer");
7
+ const transactionIDPayload_1 = require("../../../entity/transaction/payloadTypes/transactionIDPayload");
8
+ const transactionReducer_1 = require("../../../entity/transaction/transactionReducer");
9
+ const responsePayload_1 = require("../../../responsePayload");
10
+ const transactionsViewReducer_1 = require("../../expenseAutomationView/reducers/transactionsViewReducer");
11
+ const transactionDetailReducer_1 = require("../../transactionDetail/transactionDetailReducer");
12
+ const transactionDetailState_1 = require("../../transactionDetail/transactionDetailState");
13
+ const createTransferEntryReducer_1 = require("../createTransferEntryReducer");
14
+ // ─── Pure helpers ────────────────────────────────────────────────────────────
15
+ function transactionIdsAreEqual(a, b) {
16
+ return a.id === b.id && a.type === b.type;
17
+ }
18
+ const successSnackbar = () => (0, snackbarReducer_1.openSnackbar)({
19
+ messageSection: 'create_transfer_entry',
20
+ messageText: 'success',
21
+ type: 'success',
22
+ });
23
+ const failureSnackbar = () => (0, snackbarReducer_1.openSnackbar)({
24
+ messageSection: 'create_transfer_entry',
25
+ messageText: 'failed',
26
+ type: 'error',
27
+ });
28
+ function buildFailureActions() {
29
+ return [(0, createTransferEntryReducer_1.createTransferEntryFailure)(), failureSnackbar()];
30
+ }
31
+ /**
32
+ * Defensive guard: a BE response that returns 200 with `transaction != null`
33
+ * but where the body lacks a usable id/type is unsafe to seed into the store —
34
+ * downstream code would store under a garbage key and the host hook would try
35
+ * to navigate to a broken url. Treat that case as failure so the source row
36
+ * stays visible and the user can retry.
37
+ */
38
+ function isWellFormedTransactionPayload(t) {
39
+ return (t != null &&
40
+ typeof t.transaction_id === 'string' &&
41
+ t.transaction_id !== '' &&
42
+ typeof t.transaction_type === 'string' &&
43
+ t.transaction_type !== '');
44
+ }
45
+ function buildSuccessSideEffects(sourceTransactionId) {
46
+ return [
47
+ (0, createTransferEntryReducer_1.createTransferEntrySuccess)(),
48
+ (0, transactionsViewReducer_1.removeTransactionFromAllTabs)(sourceTransactionId),
49
+ successSnackbar(),
50
+ ];
51
+ }
52
+ function buildPreviousTransactionCleanupActions(previousTransactionId) {
53
+ return [
54
+ (0, transactionReducer_1.removeTransaction)((0, transactionDetailState_1.getTransactionDetailKey)(previousTransactionId)),
55
+ (0, transactionDetailReducer_1.removeTransactionDetail)(previousTransactionId),
56
+ (0, createTransferEntryReducer_1.clearTransferEntryRouteReplacement)(),
57
+ ];
58
+ }
59
+ /**
60
+ * Emits `resetCreateTransferEntryStatus()` (and, on the replacement path, the
61
+ * follow-up cleanup actions) one scheduler tick after the success actions.
62
+ *
63
+ * Why the `timer(0)` (and not synchronous emission):
64
+ * On the replacement path the host (web-app-ui) watches
65
+ * `lastTransferEntryReplacement`, navigates to the new transaction url, and
66
+ * then sees `clearTransferEntryRouteReplacement` clear the signal. If we
67
+ * dispatched the cleanup actions in the same tick as
68
+ * `createTransferEntryReplacedTransaction`, redux subscribers would observe
69
+ * `lastTransferEntryReplacement` flicker on then off in a single render, and
70
+ * the old transaction's state (which the still-mounted detail view may be
71
+ * reading) would be torn down before the host has had a chance to start
72
+ * navigating. Deferring by one microtask gives the host exactly one render
73
+ * pass to react before we tear down the previous transaction.
74
+ */
75
+ function delayedResetAndPreviousCleanup(previousTransactionId) {
76
+ return (0, rxjs_1.timer)(0).pipe((0, operators_1.mergeMap)(() => {
77
+ const actions = [(0, createTransferEntryReducer_1.resetCreateTransferEntryStatus)()];
78
+ if (previousTransactionId != null) {
79
+ actions.push(...buildPreviousTransactionCleanupActions(previousTransactionId));
80
+ }
81
+ return (0, rxjs_1.from)(actions);
82
+ }));
83
+ }
84
+ // ─── Success-path branches ───────────────────────────────────────────────────
85
+ function handleSuccessWithoutTransactionBody(transactionId) {
86
+ return (0, rxjs_1.concat)((0, rxjs_1.from)(buildSuccessSideEffects(transactionId)), delayedResetAndPreviousCleanup(undefined));
87
+ }
88
+ function handleSuccessWithTransactionBody(transactionPayload, vendorPayload, previousTransactionId, sourceTransactionId) {
89
+ const newTransactionId = (0, transactionIDPayload_1.toTransactionID)(transactionPayload);
90
+ const replaced = !transactionIdsAreEqual(previousTransactionId, newTransactionId);
91
+ const immediate = [
92
+ (0, transactionReducer_1.updateTransaction)((0, transactionDetailState_1.getTransactionDetailKey)(newTransactionId), transactionPayload),
93
+ (0, transactionDetailReducer_1.initializeTransactionDetailLocalData)({
94
+ transactionId: newTransactionId,
95
+ vendorId: vendorPayload?.[0]?.vendor_id,
96
+ }),
97
+ ...buildSuccessSideEffects(sourceTransactionId),
98
+ ];
99
+ if (replaced) {
100
+ immediate.push((0, createTransferEntryReducer_1.createTransferEntryReplacedTransaction)(previousTransactionId, newTransactionId));
101
+ }
102
+ return (0, rxjs_1.concat)((0, rxjs_1.from)(immediate), delayedResetAndPreviousCleanup(replaced ? previousTransactionId : undefined));
103
+ }
104
+ // ─── Top-level epic ──────────────────────────────────────────────────────────
105
+ const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(createTransferEntryReducer_1.createTransferEntry.match), (0, operators_1.mergeMap)((action) => {
106
+ const { transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType, } = action.payload;
107
+ const previousTransactionId = {
108
+ id: transactionId,
109
+ type: sourceTransactionType,
110
+ };
111
+ // The server contract for `transaction-type-update` expects
112
+ // `transaction_memo`, but the client-side action payload field is named
113
+ // `memo` (callers in web-components dispatch with `memo`). The names are
114
+ // intentionally kept separate: `memo` is the internal client model and
115
+ // `transaction_memo` is the wire format. Don't unify them without
116
+ // updating the action contract and all dispatchers in lockstep.
117
+ const payload = {
118
+ transaction_type: transactionType,
119
+ transaction_id: transactionId,
120
+ to_account_integration_id: creditAccountIntegrationId,
121
+ from_account_integration_id: debitAccountIntegrationId,
122
+ transaction_memo: memo ?? '',
123
+ };
124
+ return zeniAPI
125
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`, payload)
126
+ .pipe((0, operators_1.mergeMap)((response) => {
127
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
128
+ const transaction = response.data?.transaction;
129
+ if (transaction != null) {
130
+ if (!isWellFormedTransactionPayload(transaction)) {
131
+ return (0, rxjs_1.from)(buildFailureActions());
132
+ }
133
+ return handleSuccessWithTransactionBody(transaction, response.data?.vendors, previousTransactionId, transactionId);
134
+ }
135
+ return handleSuccessWithoutTransactionBody(transactionId);
136
+ }
137
+ return (0, rxjs_1.from)(buildFailureActions());
138
+ }), (0, operators_1.catchError)(() => (0, rxjs_1.from)(buildFailureActions())));
139
+ }));
140
+ exports.createTransferEntryEpic = createTransferEntryEpic;
@@ -0,0 +1,14 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateAccounts } from '../../../entity/account/accountReducer';
4
+ import { RootState } from '../../../reducer';
5
+ import { ZeniAPI } from '../../../zeniAPI';
6
+ import { fetchAccountsForTransferFlow, updateAccountsForTransferFlow, updateAccountsForTransferFlowFailure } from '../createTransferEntryReducer';
7
+ export type ActionType = ReturnType<typeof fetchAccountsForTransferFlow> | ReturnType<typeof updateAccountsForTransferFlow> | ReturnType<typeof updateAccountsForTransferFlowFailure> | ReturnType<typeof updateAccounts>;
8
+ /**
9
+ * Pools fetched concurrently: `groupBy(kind)` keeps `transferEntryEligible`
10
+ * and `creditCardOnlyEligible` in their own streams so a back-to-back dispatch
11
+ * of both does not cancel the first. Within a single type, a fresh dispatch
12
+ * supersedes any in-flight request (per-group `switchMap`).
13
+ */
14
+ export declare const fetchTransferAccountsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;