@zeniai/client-epic-state 5.0.55-betaAR1 → 5.0.55-betaAR3

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 (46) hide show
  1. package/lib/entity/account/accountSelector.d.ts +20 -1
  2. package/lib/entity/account/accountSelector.js +35 -1
  3. package/lib/entity/account/accountState.d.ts +5 -0
  4. package/lib/entity/account/accountState.js +11 -4
  5. package/lib/entity/approvalRule/approvalRulePayload.d.ts +5 -27
  6. package/lib/entity/approvalRule/approvalRulePayload.js +10 -131
  7. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +1 -25
  8. package/lib/entity/approvalRule/approvalRuleSelector.js +0 -40
  9. package/lib/entity/approvalRule/approvalRuleState.d.ts +7 -48
  10. package/lib/entity/class/classSelector.d.ts +5 -0
  11. package/lib/entity/class/classSelector.js +8 -0
  12. package/lib/esm/entity/account/accountSelector.js +33 -1
  13. package/lib/esm/entity/account/accountState.js +7 -1
  14. package/lib/esm/entity/approvalRule/approvalRulePayload.js +10 -131
  15. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +0 -35
  16. package/lib/esm/entity/class/classSelector.js +7 -0
  17. package/lib/esm/index.js +5 -5
  18. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +11 -1
  19. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +57 -8
  20. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +7 -5
  21. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +16 -46
  22. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +2 -7
  23. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +7 -5
  24. package/lib/esm/view/spendManagement/spendManagementFilterHelpers.js +185 -15
  25. package/lib/index.d.ts +6 -7
  26. package/lib/index.js +35 -37
  27. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  28. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  29. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -1
  30. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +5 -1
  31. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +12 -2
  32. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +4 -1
  33. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +59 -8
  34. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -0
  35. package/lib/view/people/peopleTypes.d.ts +1 -1
  36. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +6 -4
  37. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +1 -1
  38. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +16 -46
  39. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +3 -15
  40. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +2 -7
  41. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  42. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +6 -4
  43. package/lib/view/spendManagement/spendManagementFilterHelpers.d.ts +45 -4
  44. package/lib/view/spendManagement/spendManagementFilterHelpers.js +186 -16
  45. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  46. package/package.json +1 -1
@@ -7,28 +7,81 @@ import { ALL_BILL_TABS, getBillListKey, } from './billPay/billList/billListState
7
7
  import { getActualPaymentDate } from './helpers';
8
8
  import { getApproversOrRejectors as getApproversOrRejectorsForReimbursement, } from './reimbursement/remiListView/remiListSelector';
9
9
  import { ALL_REMI_TABS, getRemiListKey, } from './reimbursement/remiListView/remiListState';
10
+ export const TRANSACTION_FILTER_CATEGORIES = [
11
+ { value: 'payment_account_name', type: 'dropdown' },
12
+ { value: 'payment_account_type', type: 'dropdown' },
13
+ { value: 'payee', type: 'searchAutocomplete' },
14
+ { value: 'category', type: 'dropdown' },
15
+ { value: 'class', type: 'dropdown' },
16
+ { value: 'amount', type: 'numberRange' },
17
+ ];
10
18
  //filters items against filter values representing a range. ex: date (from-to), amount(1k<-->5k)
19
+ // For amount: supports new transaction_categorization operators (inBetween, lessThan, greaterThan) and
20
+ // backward compatibility for old format values: ["1000<->5000"] with matchingOperator "equal".
21
+ // Other entities (bill_pay, reimbursement, etc.) use only equal/not-equal and are unchanged.
11
22
  const filterItemOnRangeCategoryType = (valueForItem, currentFilter) => {
12
23
  let doesItemFallInValueRange = false;
13
24
  const filterField = currentFilter.field;
14
25
  if (filterField === 'amount') {
15
- for (const filterValue of currentFilter.values) {
16
- const currentValue = parseInt(valueForItem.toString());
17
- const lowerValue = parseInt(filterValue?.toString()?.split('<->')[0] ?? '');
18
- const higherValue = parseInt(filterValue?.toString()?.split('<->')[1] ?? '');
19
- if (currentValue >= lowerValue && currentValue <= higherValue) {
20
- doesItemFallInValueRange = true;
26
+ const currentValue = Number(valueForItem);
27
+ const op = currentFilter.matchingOperator;
28
+ const values = currentFilter.values;
29
+ if (op === 'inBetween') {
30
+ // New format: values = [min, max] (expense automation transaction_categorization only)
31
+ if (values.length >= 2) {
32
+ const min = Number(values[0]);
33
+ const max = Number(values[1]);
34
+ doesItemFallInValueRange = currentValue >= min && currentValue <= max;
21
35
  }
22
36
  }
23
- }
24
- else {
25
- const currentValue = valueForItem;
26
- const lowerValue = currentFilter.values[0];
27
- const higherValue = currentFilter.values[1];
28
- if (currentValue.isSameOrAfter(lowerValue) &&
29
- currentValue.isSameOrBefore(higherValue)) {
30
- doesItemFallInValueRange = true;
37
+ else if (op === 'lessThan') {
38
+ if (values.length >= 1) {
39
+ const threshold = Number(values[0]);
40
+ doesItemFallInValueRange = currentValue < threshold;
41
+ }
42
+ }
43
+ else if (op === 'greaterThan') {
44
+ if (values.length >= 1) {
45
+ const threshold = Number(values[0]);
46
+ doesItemFallInValueRange = currentValue > threshold;
47
+ }
48
+ }
49
+ else if (op === 'equal' &&
50
+ values.length === 1 &&
51
+ String(values[0]).includes('<->')) {
52
+ // Backward compatibility: old format ["1000<->5000"] with matchingOperator "equal"
53
+ const parts = String(values[0]).split('<->');
54
+ const lowerValue = Number(parts[0] ?? '');
55
+ const higherValue = Number(parts[1] ?? '');
56
+ doesItemFallInValueRange =
57
+ currentValue >= lowerValue && currentValue <= higherValue;
58
+ }
59
+ else if (op === 'equal' && values.length === 1) {
60
+ // New format: exact match on single value (expense automation)
61
+ const val = Number(values[0]);
62
+ doesItemFallInValueRange = currentValue === val;
63
+ }
64
+ else {
65
+ // Existing logic for equal/not-equal (bill_pay, reimbursement, etc. or multiple range values)
66
+ for (const filterValue of values) {
67
+ const lowerValue = Number.parseInt(filterValue?.toString()?.split('<->')[0] ?? '', 10);
68
+ const higherValue = Number.parseInt(filterValue?.toString()?.split('<->')[1] ?? '', 10);
69
+ if (currentValue >= lowerValue && currentValue <= higherValue) {
70
+ doesItemFallInValueRange = true;
71
+ }
72
+ }
31
73
  }
74
+ return op === 'not-equal'
75
+ ? !doesItemFallInValueRange
76
+ : doesItemFallInValueRange;
77
+ }
78
+ // Date range and other range fields (unchanged for other entities)
79
+ const currentValue = valueForItem;
80
+ const lowerValue = currentFilter.values[0];
81
+ const higherValue = currentFilter.values[1];
82
+ if (currentValue.isSameOrAfter(lowerValue) &&
83
+ currentValue.isSameOrBefore(higherValue)) {
84
+ doesItemFallInValueRange = true;
32
85
  }
33
86
  return currentFilter.matchingOperator === 'equal'
34
87
  ? doesItemFallInValueRange
@@ -113,7 +166,11 @@ export const applyAdvancedFiltersOnList = (entity, allItems, filters, filteredIt
113
166
  ? getCategoryValueForReimbursement(key, item)
114
167
  : entity === 'task_management'
115
168
  ? getCategoryValueForTaskList(key, item)
116
- : getCategoryValueForPaymentHistory(key, item);
169
+ : entity === 'transaction_categorization'
170
+ ? getCategoryValueForTransaction(key, item)
171
+ : entity === 'charge_card_payment_history'
172
+ ? getCategoryValueForPaymentHistory(key, item)
173
+ : undefined;
117
174
  if (categoryValue == null) {
118
175
  if (currentFilter.matchingOperator === 'not-equal') {
119
176
  return true;
@@ -234,6 +291,119 @@ const getCategoryValueForReimbursement = (key, reimbursement) => {
234
291
  return undefined;
235
292
  }
236
293
  };
294
+ const getCategoryValueForTransaction = (key, transaction) => {
295
+ switch (key) {
296
+ case 'amount': {
297
+ // Get from transactionLocalData line items (preferred) - sum all line item amounts
298
+ const localDataForAmount = transaction.transactionLocalData?.transactionReviewLocalData;
299
+ if (localDataForAmount?.lineItemById) {
300
+ const lineItems = Object.values(localDataForAmount.lineItemById);
301
+ if (lineItems.length > 0) {
302
+ // Sum all line item amounts
303
+ const totalAmount = lineItems.reduce((sum, lineItem) => sum + (lineItem.amount?.amount ?? 0), 0);
304
+ return totalAmount;
305
+ }
306
+ }
307
+ // Fallback to transaction-level amount or sum from transaction lines
308
+ if (transaction.transaction.lines &&
309
+ transaction.transaction.lines.length > 0) {
310
+ const totalAmount = transaction.transaction.lines.reduce((sum, line) => sum + (line.amount?.amount ?? 0), 0);
311
+ return totalAmount;
312
+ }
313
+ // Final fallback to transaction amount
314
+ return transaction.amount.amount;
315
+ }
316
+ case 'payee': {
317
+ // Priority: vendorName > customerName > from transactionLocalData
318
+ if (transaction.vendorName) {
319
+ return transaction.vendorName;
320
+ }
321
+ if (transaction.customerName) {
322
+ return transaction.customerName;
323
+ }
324
+ // Check transactionLocalData for vendor/customer
325
+ const localData = transaction.transactionLocalData?.transactionReviewLocalData;
326
+ if (localData?.vendor?.name) {
327
+ return localData.vendor.name;
328
+ }
329
+ if (localData?.customer?.name) {
330
+ return localData.customer.name;
331
+ }
332
+ return undefined;
333
+ }
334
+ case 'payment_account_name': {
335
+ // Match the value the row renders: TransactionCategorizationListRow reads
336
+ // `currentTransaction?.account?.accountName` for the Payment Account Name
337
+ // column. Returning the same field here keeps filter-match parity with the
338
+ // visible cell, so any row a user can see is also a row the filter can match.
339
+ return transaction.transaction.account?.accountName;
340
+ }
341
+ case 'payment_account_type': {
342
+ // Compare against the raw `paymentType` enum (e.g. "credit_card", "check",
343
+ // "cash"). The same enum is what TransactionCategorizationListRow uses for
344
+ // its icon switch on line ~1675, and it's what the dropdown options emit
345
+ // as `value`. Display labels come from each account's `paymentTypeName`
346
+ // field (populated by mapAccountBasePayloadToAccountBase from the backend
347
+ // payload) — no client-side label map required.
348
+ return transaction.transaction.paymentType;
349
+ }
350
+ case 'category': {
351
+ // Get from transactionLocalData (preferred) or from transaction lines
352
+ const localDataForCategory = transaction.transactionLocalData?.transactionReviewLocalData;
353
+ if (localDataForCategory) {
354
+ // Get category from first line item or most common
355
+ const firstLineItem = Object.values(localDataForCategory.lineItemById)[0];
356
+ if (firstLineItem?.account?.accountId) {
357
+ return firstLineItem.account.accountId;
358
+ }
359
+ if (firstLineItem?.account?.qboId) {
360
+ return firstLineItem.account.qboId;
361
+ }
362
+ if (firstLineItem?.account?.accountName) {
363
+ return firstLineItem.account.accountName;
364
+ }
365
+ }
366
+ // Fallback to transaction lines
367
+ const firstLineForCategory = transaction.transaction.lines?.[0];
368
+ if (firstLineForCategory?.type ===
369
+ 'transaction_with_account_and_class_line' ||
370
+ firstLineForCategory?.type ===
371
+ 'transaction_with_product_or_service_line' ||
372
+ firstLineForCategory?.type === 'journal_entry_transaction_line') {
373
+ const account = firstLineForCategory.account;
374
+ return account?.accountId ?? account?.qboId ?? account?.accountName;
375
+ }
376
+ return undefined;
377
+ }
378
+ case 'class': {
379
+ // Similar to category but for class
380
+ const localDataForClass = transaction.transactionLocalData?.transactionReviewLocalData;
381
+ if (localDataForClass) {
382
+ const firstLineItemForClass = Object.values(localDataForClass.lineItemById)[0];
383
+ if (firstLineItemForClass?.class?.classId) {
384
+ return firstLineItemForClass.class.classId;
385
+ }
386
+ if (firstLineItemForClass?.class?.qboId) {
387
+ return firstLineItemForClass.class.qboId;
388
+ }
389
+ if (firstLineItemForClass?.class?.className) {
390
+ return firstLineItemForClass.class.className;
391
+ }
392
+ }
393
+ const firstLineForClass = transaction.transaction.lines?.[0];
394
+ if (firstLineForClass?.type === 'transaction_with_account_and_class_line' ||
395
+ firstLineForClass?.type ===
396
+ 'transaction_with_product_or_service_line' ||
397
+ firstLineForClass?.type === 'journal_entry_transaction_line') {
398
+ const classData = firstLineForClass.class;
399
+ return classData?.classId ?? classData?.qboId ?? classData?.className;
400
+ }
401
+ return undefined;
402
+ }
403
+ default:
404
+ return undefined;
405
+ }
406
+ };
237
407
  const getCategoryValueForPaymentHistory = (key, repayment) => {
238
408
  switch (key) {
239
409
  case 'repaymentDate':
package/lib/index.d.ts CHANGED
@@ -38,7 +38,7 @@ import { AgingDateSelectionType, AgingDetailReportInvoice, AgingDetailReportUISt
38
38
  import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport } from './commonStateTypes/viewAndReport/reportIDHelper';
39
39
  import { PageToken, Report, ReportFormat, ReportID, ReportIDPlusForecastID, SelectorReport, SelectorView, View, toReportFormatStrict, toReportID } from './commonStateTypes/viewAndReport/viewAndReport';
40
40
  import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay, getPreviousNthWorkingDay, getYearsList, holidaysFormatted, isHoliday, isHolidayToday } from './commonStateTypes/workingDayHelper';
41
- import { AccountReport, AccountWithBalanceReport } from './entity/account/accountSelector';
41
+ import { AccountFilterOption, AccountReport, AccountWithBalanceReport, getAllAccounts, getTransactionFilterAccountOptions } from './entity/account/accountSelector';
42
42
  import { Account, AccountBase, AccountType, RecommendedAccountBase, ReconciliationAccountSourceType, StatementCloseDay, toAccountType, toReconciliationAccountSource } from './entity/account/accountState';
43
43
  import { NestedAccountReport } from './entity/account/subAccountSelector';
44
44
  import { AccountGroupReport } from './entity/accountGroup/accountGroupSelector';
@@ -51,8 +51,7 @@ import { AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPerio
51
51
  import { BalanceDataStatusCodeType, BankStatusCodeType, RecommendedActionCodeType, ReconciliationStatusCodeType, StatementDataStatusCodeType, StatementStatusCodeType, TransactionsToReview } from './entity/accountRecon/accountReconState';
52
52
  import { getAddressByAddressId } from './entity/address/addressSelector';
53
53
  import { Address } from './entity/address/addressState';
54
- import { Actor, ActorType, AmountComparator, AmountCriteria, ApprovalActionType, ApprovalRule, ApprovalRuleState, Approvers, AttributeType, Criteria, DepartmentCriteria, RoleType, Step, StepOperatorType, VendorCriteria, toAttributeOrRoleTypeStrict, toAttributeTypeStrict, toRoleTypeStrict } from './entity/approvalRule/approvalRuleState';
55
- import { getAmountCriteria, getApprovalRulesByEntityType, getDepartmentCriteria, getFallbackApprovalRule, getVendorCriteria } from './entity/approvalRule/approvalRuleSelector';
54
+ import { Actor, ActorType, ApprovalActionType, ApprovalRule, ApprovalRuleState, Approvers, AttributeType, RoleType, Step, StepOperatorType, toAttributeOrRoleTypeStrict, toAttributeTypeStrict, toRoleTypeStrict } from './entity/approvalRule/approvalRuleState';
56
55
  import { BankAccount } from './entity/bankAccount/bankAccount';
57
56
  import { BillPayInfo, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillPaymentStatus, BillPaymentStatusCodeType, BillStage, BillStageCodeType, BillStatus, BillStatusCodeType, BillTransaction, DeletionSourceType, InternationalTransferFeeBearerPaymentMethod, toOutsideZeniPaymentModeType } from './entity/billPay/billTransaction/billTransactionState';
58
57
  import { Contact } from './entity/billPay/contact/contact';
@@ -504,7 +503,7 @@ import { RemiBusinessVerificationDetails, RemiSetupView, getRemiBusinessVerifica
504
503
  import { MileageDenomination, MileageDetailsLocalData, RemiSetupViewLocalData, RemiSetupViewState } from './view/spendManagement/reimbursement/remiSetupView/remiSetupViewState';
505
504
  import { approveOrRejectRemisBulkAction, autoReviewPendingApprovalRemis, cancelOrDeleteRemisBulkAction, clearAllRemisFromBulkActionList, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, removeRemiFromBulkActionList, reviewDraftRemisBulkAction, submitDraftRemisBulkAction, updateRemisBulkActionList } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer';
506
505
  import { RemisBulkReviewView, getRemisBulkOperationProgress, getRemisBulkReviewView } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewSelector';
507
- import { BillPayFilterCategoryDropdownOption, CategoryCombinationOperator, FilterCategoryType, MatchingOperatorDropdownOption, ReimbursementFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, SpendManagementFilterEntityType, SpendManagementFiltersType, TaskFilterCategoryDropdownOption, hideCreatedByFilter } from './view/spendManagement/spendManagementFilterHelpers';
506
+ import { BillPayFilterCategoryDropdownOption, CategoryCombinationOperator, FilterCategoryType, MatchingOperatorDropdownOption, ReimbursementFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, SpendManagementFilterEntityType, SpendManagementFiltersType, TRANSACTION_FILTER_CATEGORIES, TaskFilterCategoryDropdownOption, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, hideCreatedByFilter } from './view/spendManagement/spendManagementFilterHelpers';
508
507
  import { acceptTreasuryTerms, clearTreasurySetupView, fetchPortfolioAllocation, fetchTreasuryFunds, fetchTreasurySetupView, updateFundAllocationLocalData, updatePortfolioAllocation, updateTreasuryVideoViewed } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
509
508
  import { TreasuryBusinessVerificationDetails, TreasurySetupView, getTreasuryBusinessVerificationDetails, getTreasurySetupViewDetails } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewSelector';
510
509
  import { FundAllocationOption, FundComposition, FundData, getTreasuryFundsMaximumYield } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewState';
@@ -667,7 +666,7 @@ export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict,
667
666
  export { getNumberOfPeriods };
668
667
  export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
669
668
  export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, sendSessionHeartbeat, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, deleteConnection, saveAPIKeyConnection, saveConnectorCredentials, saveOAuthConnection, toExternalIntegrationType, toExternalSupportedTool, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
670
- export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, };
669
+ export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, AccountFilterOption, getAllAccounts, getTransactionFilterAccountOptions, };
671
670
  export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
672
671
  export { getClassById } from './entity/class/classSelector';
673
672
  export { ClassReport } from './entity/class/classSelectorTypes';
@@ -794,7 +793,7 @@ export { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillTransac
794
793
  export { MilageReimbursementLine, OutofPocketReimbursementLine, ReimbursementLine, ReimbursementTypeCode, Reimbursement, RemiTabType, toRemiSubTabType, toRemiSubTabTypeStrict, toRemiTabType, toRemiTabTypeStrict, toReimbursementTypeCode, RemiSubTabType, ReimbursementViewSortKey, RemiListUIState, RemiListReport, RemiListDownloadReport, ReimbursementView, ReimbursementFilters, ReimbursementFilterCategory, RemiListViewFilterCategoryField, getRemiList, getRemiDownloadList, fetchRemiList, fetchRemiListPerTab, updateRemiListTab, updateRemiListSubTab, updateRemiDetailSaveRemiCode, updateRemiListUIState, updateRemiListSearchResult, updateBillListFilterResult, updateRemiListFilterResult, REIMBURSEMENT_FILTER_CATEGORIES, REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED, updateRemiListDownloadUIState, updateBillListDownloadUIState, updateBillsBulkActionList, removeBillFromBulkActionList, clearAllBillsFromBulkActionList, getBillsBulkReviewView, BillsBulkReviewView, validateBillsBulkAction, approveOrRejectBillsBulkAction, cancelOrDeleteBillsBulkAction, submitDraftBillsBulkAction, autoReviewPendingApprovalBills, incrementBulkActionProcessedCount, getBillsBulkOperationProgress, BulkOperationProgress, clearBillPayBulkActionView, isBillConditionallyValid, getRemisBulkReviewView, RemisBulkReviewView, getRemisBulkOperationProgress, updateRemisBulkActionList, removeRemiFromBulkActionList, clearAllRemisFromBulkActionList, reviewDraftRemisBulkAction, approveOrRejectRemisBulkAction, cancelOrDeleteRemisBulkAction, submitDraftRemisBulkAction, autoReviewPendingApprovalRemis, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, RemiBulkSelectExceptionInfoType, OutsideZeniPaymentLocalData, updateOutsideZeniPaymentLocalData, discardOutsideZeniPaymentLocalData, checkIfCreatorIsApprover, };
795
794
  export { AccountListSelectorView, ClassListSelectorView, getClassList, fetchClassList, ProjectListSelectorView, getProjectList, fetchProjectList, };
796
795
  export { BillTab, BillsSubTabType, SaveBillStageCode, BillPayReviewSelectorView, DuplicateBillsSelectorView, EditBillDetailSelectorView, LineItemRecommendationsLocalData, EditBillInitialDetails, BillableStatus, PaymentDetailsSection, BillListReport, BillListDownloadReport, WhatForSection, fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, BillDetailViewSelector, ActorActivityWithUser, BillActivity, StepWithStatus, getBillDetailView, checkApproveRejectBtnShowForBill, BillDetailView, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, EditBillDetail, EditBillDetailViewState, getEditBillDetail, getReviewPageBillDetail, BillDetailLocalData, PaymentDetailsSectionView, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, BillPaymentStatus, BillPaymentStatusCodeType, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillStatus, BillStatusCodeType, BillApprovalType, updateBillListUIState, BillListUIState, BillPayViewSortKey, BillPayFilters, BillPayFilterCategory, BillListViewFilterCategoryField, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, PaymentToOption, toPaymentToOption, convertAmountToHomeCurrency, RecurringBillInstance, RecurringBillConfigLocalData, EditRecurringBillType, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
797
- export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, };
796
+ export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, TRANSACTION_FILTER_CATEGORIES, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, };
798
797
  export { BillPaySetupViewState, ZeniAccountSetupViewState, BillPaySetupViewLocalData, ZeniAccountSetupViewLocalData, PlaidAccountState, fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, sendOtp, resendOtp, verifyOtp, CompanyDetails, CompanyOfficersDetails, BillPaySetupView, ZeniAccountSetupView, BillPayBusinessVerificationDetails, ZeniAccountBusinessVerificationDetails, TreasuryBusinessVerificationDetails, SetupViewState, SetupViewLocalData, SetupView, BusinessVerificationDetails, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, PlaidConnectionDetails, PlaidLinkTokenType, PlaidAccountKeyType, Token, FundingAccount, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, TwoFactorAuthenticationView, };
799
798
  export { BankConnectionsSetupView, IntegrationsView, getApprovalRuleViewDetails, getBankConnectionsSetupViewDetails, getIntegrationsView, };
800
799
  export { fetchUserFinancialAccount };
@@ -803,7 +802,7 @@ export { RemiSetupViewState, RemiSetupViewLocalData, MileageDetailsLocalData, Mi
803
802
  export { PaymentAccount, Logo, VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS, };
804
803
  export { SubscriptionPaymentAccount };
805
804
  export { PreviousBillsSelectorView, InvoiceProcessingPayload, InvoiceProcessingResponse, isSuccessResponse, isInvalidSessionError, isAccessDeniedError, };
806
- export { Step, Actor as ApprovalRuleActor, ActorType, ApprovalActionType, StepOperatorType, ApprovalRuleState, ApprovalRule, AmountComparator, AmountCriteria, Criteria, DepartmentCriteria, VendorCriteria, AttributeType, Approvers, RoleType, EntityApprovalStatusState, EntityApprovalStatus, SpendManagementEntityType, SpendManagementEntityTypeWithOtherConnection, getAmountCriteria, getApprovalRulesByEntityType, getDepartmentCriteria, getFallbackApprovalRule, getVendorCriteria, toAttributeTypeStrict, toAttributeOrRoleTypeStrict, toRoleTypeStrict, };
805
+ export { Step, Actor as ApprovalRuleActor, ActorType, ApprovalActionType, StepOperatorType, ApprovalRuleState, ApprovalRule, AttributeType, Approvers, RoleType, EntityApprovalStatusState, EntityApprovalStatus, SpendManagementEntityType, SpendManagementEntityTypeWithOtherConnection, toAttributeTypeStrict, toAttributeOrRoleTypeStrict, toRoleTypeStrict, };
807
806
  export { ApprovalRuleUpdateData, ApprovalRuleCreateData, BillPayApprovalRuleWithUser, ApprovalUpdateActionType, ApproverViewUpdateData, BillPaySetupApproverViewState, BillPaySetupApproverView, BillPaySetupApproverUpdateDataView, getBillPaySetupApproverView, getBillPaySetupApproverUpdateDataView, fetchBillPaySetupApproverView, fetchBillPayApproversDetails, fetchBillPayApproversList, deleteBillPayApprovalRule, saveBillPaySetupApproverViewUpdateData, saveBillPaySetupApproverViewUpdates, setBillsSetupApproverViewListeningToPusherEvent, initializeBillPaySetupApproverViewUpdateData, clearBillPaySetupApproverViewUpdateData, clearBillPaySetupApproverView, };
808
807
  export { RemiApprovalRuleWithUser, RemiSetupApproverViewState, RemiSetupApproverView, RemiSetupApproverUpdateDataView, getRemiSetupApproverView, getRemiSetupApproverUpdateDataView, fetchRemiSetupApproverView, fetchRemiApproversList, fetchRemiApproversDetails, deleteRemiApprovalRule, saveRemiSetupApproverViewUpdateData, saveRemiSetupApproverViewUpdates, initializeRemiSetupApproverViewUpdateData, setRemiSetupApproverViewListeningToPusherEvent, clearRemiSetupApproverViewUpdateData, clearRemiSetupApproverView, };
809
808
  export { RemiDetailViewSelector, getRemiDetailView, RemiActivity, RemiDetails, checkApproveRejectBtnShowForRemi, };