@zeniai/client-epic-state 5.0.66-betaAR5 → 5.0.66-betaJK1

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 (48) hide show
  1. package/lib/entity/account/accountSelector.d.ts +1 -20
  2. package/lib/entity/account/accountSelector.js +1 -35
  3. package/lib/entity/account/accountState.d.ts +0 -5
  4. package/lib/entity/account/accountState.js +4 -11
  5. package/lib/entity/class/classSelector.d.ts +0 -35
  6. package/lib/entity/class/classSelector.js +0 -44
  7. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.d.ts +1 -0
  8. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +1 -0
  9. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -0
  10. package/lib/esm/entity/account/accountSelector.js +1 -33
  11. package/lib/esm/entity/account/accountState.js +1 -7
  12. package/lib/esm/entity/class/classSelector.js +0 -42
  13. package/lib/esm/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +1 -0
  14. package/lib/esm/index.js +4 -10
  15. package/lib/esm/view/companyHealthMetricView/companyHealthMetricViewSelector.js +1 -1
  16. package/lib/esm/view/companyView/helpers/cockpitHelpers.js +1 -1
  17. package/lib/esm/view/companyView/selector/companyManagementViewSelector.js +1 -1
  18. package/lib/esm/view/companyView/selector/companyPortfolioViewSelector.js +1 -1
  19. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +1 -11
  20. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +8 -58
  21. package/lib/esm/view/spendManagement/spendManagementFilterHelpers.js +2 -4
  22. package/lib/esm/view/subscriptionView/subscriptionViewSelector.js +1 -1
  23. package/lib/esm/view/taskManager/taskListView/taskListReducer.js +1 -1
  24. package/lib/index.d.ts +5 -7
  25. package/lib/index.js +32 -41
  26. package/lib/view/companyHealthMetricView/companyHealthMetricViewSelector.js +1 -1
  27. package/lib/view/companyView/helpers/cockpitHelpers.js +1 -1
  28. package/lib/view/companyView/selector/companyManagementViewSelector.js +1 -1
  29. package/lib/view/companyView/selector/companyPortfolioViewSelector.js +1 -1
  30. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -1
  31. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -5
  32. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +2 -12
  33. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +1 -4
  34. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +8 -60
  35. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +0 -2
  36. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  37. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.d.ts +1 -1
  38. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +1 -1
  39. package/lib/view/spendManagement/spendManagementFilterHelpers.d.ts +1 -1
  40. package/lib/view/spendManagement/spendManagementFilterHelpers.js +2 -4
  41. package/lib/view/subscriptionView/subscriptionViewSelector.js +1 -1
  42. package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
  43. package/lib/view/taskManager/taskListView/taskListReducer.js +1 -1
  44. package/package.json +1 -1
  45. package/lib/esm/view/expenseAutomationView/transactionFilterHelpers.js +0 -193
  46. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
  47. package/lib/view/expenseAutomationView/transactionFilterHelpers.d.ts +0 -65
  48. package/lib/view/expenseAutomationView/transactionFilterHelpers.js +0 -197
@@ -1,9 +1,9 @@
1
1
  import { AccountsViewParentID } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID';
3
+ import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
3
4
  import { AdditionalBalancesOptions } from '../../commonStateTypes/coaBalance/additionalBalances/getAdditionalBalances';
4
5
  import { COABalancesFilter } from '../../commonStateTypes/coaBalance/coaBalancesFilter';
5
6
  import { ID } from '../../commonStateTypes/common';
6
- import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
7
7
  import { EntityOrder } from '../../commonStateTypes/selectorTypes/selectorTypes';
8
8
  import { ReportIDPlusForecastID } from '../../commonStateTypes/viewAndReport/viewAndReport';
9
9
  import { Account, AccountBase, AccountState, AccountType } from './accountState';
@@ -123,22 +123,3 @@ export declare const getAccountsOrdered: (filter: COABalancesFilter, accountStat
123
123
  export declare const getAccountsByType: (accountState: AccountState, accountTypes: AccountType[]) => Partial<Record<AccountType, Account[]>>;
124
124
  export declare const getAccountIdsForTypes: (accountState: AccountState, accountTypes: AccountType[]) => ID[];
125
125
  export declare const getAccountIdsForLabels: (accountState: AccountState, labels: string[]) => ID[];
126
- /**
127
- * Returns all accounts currently in state (single pass over accountsByKey).
128
- * Use for dropdowns that need account names and types; map to
129
- * { accountId, accountName, accountType } as needed.
130
- */
131
- export declare const getAllAccounts: (accountState: AccountState) => Account[];
132
- export interface AccountFilterOption {
133
- accountId: ID;
134
- accountName: string;
135
- accountType: AccountType;
136
- }
137
- /**
138
- * Partitions accounts for transaction filter dropdowns: bank/credit_card → paymentAccountNames,
139
- * all other account types → categoryOptions. Use for payment_account_name and category filter options.
140
- */
141
- export declare const getTransactionFilterAccountOptions: (accountState: AccountState) => {
142
- categoryOptions: AccountFilterOption[];
143
- paymentAccountNames: AccountFilterOption[];
144
- };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTransactionFilterAccountOptions = exports.getAllAccounts = exports.getAccountIdsForLabels = exports.getAccountIdsForTypes = exports.getAccountsByType = exports.getAccountsOrdered = exports.getAccountBase = void 0;
6
+ exports.getAccountIdsForLabels = exports.getAccountIdsForTypes = exports.getAccountsByType = exports.getAccountsOrdered = exports.getAccountBase = void 0;
7
7
  exports.getAccount = getAccount;
8
8
  exports.getAccountWithBalance = getAccountWithBalance;
9
9
  const flatMap_1 = __importDefault(require("lodash/flatMap"));
@@ -192,37 +192,3 @@ const getAccountIdsForLabels = (accountState, labels) => {
192
192
  return allAccountIdsForLabels;
193
193
  };
194
194
  exports.getAccountIdsForLabels = getAccountIdsForLabels;
195
- /**
196
- * Returns all accounts currently in state (single pass over accountsByKey).
197
- * Use for dropdowns that need account names and types; map to
198
- * { accountId, accountName, accountType } as needed.
199
- */
200
- const getAllAccounts = (accountState) => Object.values(accountState.accountsByKey);
201
- exports.getAllAccounts = getAllAccounts;
202
- /**
203
- * Partitions accounts for transaction filter dropdowns: bank/credit_card → paymentAccountNames,
204
- * all other account types → categoryOptions. Use for payment_account_name and category filter options.
205
- */
206
- const getTransactionFilterAccountOptions = (accountState) => {
207
- const accounts = (0, exports.getAllAccounts)(accountState);
208
- const paymentAccountNames = [];
209
- const categoryOptions = [];
210
- for (const account of accounts) {
211
- if (account.accountType == null) {
212
- continue;
213
- }
214
- const option = {
215
- accountId: account.accountId,
216
- accountName: account.accountName,
217
- accountType: account.accountType,
218
- };
219
- if ((0, accountState_1.isPaymentAccountType)(account.accountType)) {
220
- paymentAccountNames.push(option);
221
- }
222
- else {
223
- categoryOptions.push(option);
224
- }
225
- }
226
- return { categoryOptions, paymentAccountNames };
227
- };
228
- exports.getTransactionFilterAccountOptions = getTransactionFilterAccountOptions;
@@ -8,14 +8,9 @@ import { RecommendationBase } from '../../commonStateTypes/recommendationBase';
8
8
  import { Status } from '../../commonStateTypes/status';
9
9
  import { ReportIDPlusForecastID } from '../../commonStateTypes/viewAndReport/viewAndReport';
10
10
  import { ZeniUrl } from '../../zeniUrl';
11
- export declare const ALL_ACCOUNT_TYPES: readonly ["bank", "credit_card", "expenses", "cogs", "income", "cash_in", "cash_out", "cash_position", "other_income", "other_expense", "accounts_receivable", "other_current_assets", "fixed_assets", "other_assets", "accounts_payable", "other_current_liabilities", "long_term_liabilities", "equity", "current_liabilities", "current_assets"];
12
11
  export declare const toAccountType: (v: string) => "cash_position" | "fixed_assets" | "bank" | "credit_card" | "expenses" | "cogs" | "income" | "cash_in" | "cash_out" | "other_income" | "other_expense" | "accounts_receivable" | "other_current_assets" | "other_assets" | "accounts_payable" | "other_current_liabilities" | "long_term_liabilities" | "equity" | "current_liabilities" | "current_assets";
13
12
  export type AccountType = ReturnType<typeof toAccountType>;
14
13
  export declare const toAccountTypeStrict: (v: string | null | undefined) => AccountType | undefined;
15
- /** Account types used for payment-account filters (e.g. transaction filter "payment account name"). */
16
- export declare const PAYMENT_ACCOUNT_TYPES: readonly ["bank", "credit_card"];
17
- export type PaymentAccountType = (typeof PAYMENT_ACCOUNT_TYPES)[number];
18
- export declare function isPaymentAccountType(accountType: AccountType | undefined): accountType is PaymentAccountType;
19
14
  export type UncategorizedAccountTypes = 'expense' | 'income';
20
15
  declare const toAccountLabel: (v: string) => "prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses";
21
16
  export type AccountLabel = ReturnType<typeof toAccountLabel>;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toReconciliationAccountSourceStrict = exports.toReconciliationAccountSource = exports.toAccountLabelStrict = exports.PAYMENT_ACCOUNT_TYPES = exports.toAccountTypeStrict = exports.toAccountType = exports.ALL_ACCOUNT_TYPES = void 0;
4
- exports.isPaymentAccountType = isPaymentAccountType;
3
+ exports.toReconciliationAccountSourceStrict = exports.toReconciliationAccountSource = exports.toAccountLabelStrict = exports.toAccountTypeStrict = exports.toAccountType = void 0;
5
4
  exports.getAccountKey = getAccountKey;
6
5
  const nestedAccountID_1 = require("../../commonStateTypes/accountView/nestedAccountID");
7
6
  const nestedClassID_1 = require("../../commonStateTypes/classesView/nestedClassID");
8
7
  const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
9
- exports.ALL_ACCOUNT_TYPES = [
8
+ const ALL_ACCOUNT_TYPES = [
10
9
  'bank',
11
10
  'credit_card',
12
11
  'expenses',
@@ -28,16 +27,10 @@ exports.ALL_ACCOUNT_TYPES = [
28
27
  'current_liabilities',
29
28
  'current_assets',
30
29
  ];
31
- const toAccountType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_ACCOUNT_TYPES);
30
+ const toAccountType = (v) => (0, stringToUnion_1.stringToUnion)(v, ALL_ACCOUNT_TYPES);
32
31
  exports.toAccountType = toAccountType;
33
- const toAccountTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v ?? '', exports.ALL_ACCOUNT_TYPES);
32
+ const toAccountTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v ?? '', ALL_ACCOUNT_TYPES);
34
33
  exports.toAccountTypeStrict = toAccountTypeStrict;
35
- /** Account types used for payment-account filters (e.g. transaction filter "payment account name"). */
36
- exports.PAYMENT_ACCOUNT_TYPES = ['bank', 'credit_card'];
37
- function isPaymentAccountType(accountType) {
38
- return (accountType != null &&
39
- exports.PAYMENT_ACCOUNT_TYPES.includes(accountType));
40
- }
41
34
  const ALL_ACCOUNT_LABELS = [
42
35
  'uncategorized_income',
43
36
  'uncategorized_expense',
@@ -5,16 +5,6 @@ import { ReportID } from '../../commonStateTypes/viewAndReport/viewAndReport';
5
5
  import { AccountState } from '../account/accountState';
6
6
  import { ClassReport } from './classSelectorTypes';
7
7
  import { Class, ClassState } from './classState';
8
- /**
9
- * Minimal class shape consumed by filter dropdowns. Only the identity and
10
- * the display label are needed — payload size and prop-type breadth are
11
- * kept small so consumers can't accidentally rely on `Class` fields that
12
- * the projection does not carry.
13
- */
14
- export interface ClassFilterOption {
15
- classId: ID;
16
- className: string;
17
- }
18
8
  export declare function getClassesByIds(classState: ClassState, id: {
19
9
  classIds: ID[];
20
10
  reportId: ReportID;
@@ -30,28 +20,3 @@ export declare function getClassReport(classState: ClassState, accountState: Acc
30
20
  reportId: ReportID;
31
21
  classesViewParentId?: ClassesViewParentID;
32
22
  }, filter: COABalancesFilter): ClassReport | undefined;
33
- /**
34
- * Returns all classes currently in state (single pass over classesByKey).
35
- * Use for dropdowns that need class names; map to { classId, className } as needed.
36
- */
37
- export declare function getAllClasses(classState: ClassState): Class[];
38
- /**
39
- * Memoised projection of `getAllClasses` to the `{classId, className}` shape
40
- * expected by filter dropdowns. Consumers should prefer this over inlining a
41
- * `getAllClasses(...).map(...)` inside `useSelector`: the inline map allocates
42
- * a fresh array on every Redux dispatch, breaking `useSelector`'s
43
- * reference-equality optimisation and triggering re-renders on every state
44
- * change unrelated to class data.
45
- *
46
- * Two cleanups happen here, intentionally inside the selector so every
47
- * consumer benefits uniformly:
48
- * 1. **Drop entries with a blank `className`.** Soft-deleted classes can
49
- * retain their classId in state while the human name is blanked, which
50
- * would otherwise render as an empty row in the filter dropdown.
51
- * 2. **Dedupe by `classId`.** `classesByKey` is keyed by
52
- * `${classId}-${reportId}` (see `getClassKey`), so a class loaded under
53
- * multiple report contexts appears as multiple entries from
54
- * `Object.values(classesByKey)`. The first non-blank entry per
55
- * `classId` wins.
56
- */
57
- export declare const getClassFilterOptions: (classState: ClassState) => ClassFilterOption[];
@@ -3,12 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getClassFilterOptions = void 0;
7
6
  exports.getClassesByIds = getClassesByIds;
8
7
  exports.getClassById = getClassById;
9
8
  exports.getClassReport = getClassReport;
10
- exports.getAllClasses = getAllClasses;
11
- const toolkit_1 = require("@reduxjs/toolkit");
12
9
  const get_1 = __importDefault(require("lodash/get"));
13
10
  const coaBalance_1 = require("../../commonStateTypes/coaBalance/coaBalance");
14
11
  const accountSelector_1 = require("../account/accountSelector");
@@ -61,44 +58,3 @@ function getClassReport(classState, accountState, id, filter) {
61
58
  accounts: accountReport,
62
59
  };
63
60
  }
64
- /**
65
- * Returns all classes currently in state (single pass over classesByKey).
66
- * Use for dropdowns that need class names; map to { classId, className } as needed.
67
- */
68
- function getAllClasses(classState) {
69
- return Object.values(classState.classesByKey);
70
- }
71
- /**
72
- * Memoised projection of `getAllClasses` to the `{classId, className}` shape
73
- * expected by filter dropdowns. Consumers should prefer this over inlining a
74
- * `getAllClasses(...).map(...)` inside `useSelector`: the inline map allocates
75
- * a fresh array on every Redux dispatch, breaking `useSelector`'s
76
- * reference-equality optimisation and triggering re-renders on every state
77
- * change unrelated to class data.
78
- *
79
- * Two cleanups happen here, intentionally inside the selector so every
80
- * consumer benefits uniformly:
81
- * 1. **Drop entries with a blank `className`.** Soft-deleted classes can
82
- * retain their classId in state while the human name is blanked, which
83
- * would otherwise render as an empty row in the filter dropdown.
84
- * 2. **Dedupe by `classId`.** `classesByKey` is keyed by
85
- * `${classId}-${reportId}` (see `getClassKey`), so a class loaded under
86
- * multiple report contexts appears as multiple entries from
87
- * `Object.values(classesByKey)`. The first non-blank entry per
88
- * `classId` wins.
89
- */
90
- exports.getClassFilterOptions = (0, toolkit_1.createSelector)([getAllClasses], (classes) => {
91
- const seenClassIds = new Set();
92
- const options = [];
93
- for (const c of classes) {
94
- if (c.classId == null || seenClassIds.has(c.classId)) {
95
- continue;
96
- }
97
- if (c.className == null || c.className.trim() === '') {
98
- continue;
99
- }
100
- seenClassIds.add(c.classId);
101
- options.push({ classId: c.classId, className: c.className });
102
- }
103
- return options;
104
- });
@@ -27,6 +27,7 @@ interface MonthEndInsightsPayload {
27
27
  interface MonthEndAuditSummaryPayload {
28
28
  audit_report_last_generated_date: string;
29
29
  audit_score_percentage: number;
30
+ audit_score_percentage_ai: number;
30
31
  }
31
32
  export interface MonthEndCloseChecksPayload {
32
33
  audit_summary: MonthEndAuditSummaryPayload;
@@ -61,6 +61,7 @@ const toMonthEndCloseChecksInfo = (payload, period) => ({
61
61
  monthEndCloseCheckList: payload.month_close_checks.map((monthCloseCheck) => toMonthEndCloseCheck(monthCloseCheck)),
62
62
  auditSummary: {
63
63
  auditScorePercentage: payload.audit_summary.audit_score_percentage,
64
+ auditScorePercentageAI: payload.audit_summary.audit_score_percentage_ai,
64
65
  auditReportLastGeneratedDate: payload.audit_summary.audit_report_last_generated_date != null
65
66
  ? (0, zeniDayJS_1.date)(payload.audit_summary.audit_report_last_generated_date)
66
67
  : null,
@@ -32,6 +32,7 @@ export interface MonthEndInsights {
32
32
  export interface MonthEndAuditSummary {
33
33
  auditReportLastGeneratedDate: ZeniDate | null;
34
34
  auditScorePercentage: number;
35
+ auditScorePercentageAI: number;
35
36
  }
36
37
  export interface MonthEndCloseChecksInfo {
37
38
  auditSummary: MonthEndAuditSummary;
@@ -1,7 +1,7 @@
1
1
  import flatMap from 'lodash/flatMap';
2
2
  import { getCOABalances } from '../../commonStateTypes/coaBalance/coaBalance';
3
3
  import { sortComparator } from '../../commonStateTypes/coaBalance/sortBalancesByFreeRangeTotal';
4
- import { getAccountKey, isPaymentAccountType, } from './accountState';
4
+ import { getAccountKey, } from './accountState';
5
5
  function getCommonAccountFields(accountState, id) {
6
6
  const key = getAccountKey(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId, id.projectsViewParentId);
7
7
  const account = accountState.accountsByKey[key];
@@ -179,35 +179,3 @@ export const getAccountIdsForLabels = (accountState, labels) => {
179
179
  });
180
180
  return allAccountIdsForLabels;
181
181
  };
182
- /**
183
- * Returns all accounts currently in state (single pass over accountsByKey).
184
- * Use for dropdowns that need account names and types; map to
185
- * { accountId, accountName, accountType } as needed.
186
- */
187
- export const getAllAccounts = (accountState) => Object.values(accountState.accountsByKey);
188
- /**
189
- * Partitions accounts for transaction filter dropdowns: bank/credit_card → paymentAccountNames,
190
- * all other account types → categoryOptions. Use for payment_account_name and category filter options.
191
- */
192
- export const getTransactionFilterAccountOptions = (accountState) => {
193
- const accounts = getAllAccounts(accountState);
194
- const paymentAccountNames = [];
195
- const categoryOptions = [];
196
- for (const account of accounts) {
197
- if (account.accountType == null) {
198
- continue;
199
- }
200
- const option = {
201
- accountId: account.accountId,
202
- accountName: account.accountName,
203
- accountType: account.accountType,
204
- };
205
- if (isPaymentAccountType(account.accountType)) {
206
- paymentAccountNames.push(option);
207
- }
208
- else {
209
- categoryOptions.push(option);
210
- }
211
- }
212
- return { categoryOptions, paymentAccountNames };
213
- };
@@ -1,7 +1,7 @@
1
1
  import { getNestedAccountIDStr, } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { getNestedClassIDStr, } from '../../commonStateTypes/classesView/nestedClassID';
3
3
  import { stringToUnion, stringToUnionStrict, } from '../../commonStateTypes/stringToUnion';
4
- export const ALL_ACCOUNT_TYPES = [
4
+ const ALL_ACCOUNT_TYPES = [
5
5
  'bank',
6
6
  'credit_card',
7
7
  'expenses',
@@ -25,12 +25,6 @@ export const ALL_ACCOUNT_TYPES = [
25
25
  ];
26
26
  export const toAccountType = (v) => stringToUnion(v, ALL_ACCOUNT_TYPES);
27
27
  export const toAccountTypeStrict = (v) => stringToUnionStrict(v ?? '', ALL_ACCOUNT_TYPES);
28
- /** Account types used for payment-account filters (e.g. transaction filter "payment account name"). */
29
- export const PAYMENT_ACCOUNT_TYPES = ['bank', 'credit_card'];
30
- export function isPaymentAccountType(accountType) {
31
- return (accountType != null &&
32
- PAYMENT_ACCOUNT_TYPES.includes(accountType));
33
- }
34
28
  const ALL_ACCOUNT_LABELS = [
35
29
  'uncategorized_income',
36
30
  'uncategorized_expense',
@@ -1,4 +1,3 @@
1
- import { createSelector } from '@reduxjs/toolkit';
2
1
  import recordGet from 'lodash/get';
3
2
  import { getCOABalances } from '../../commonStateTypes/coaBalance/coaBalance';
4
3
  import { getAccount } from '../account/accountSelector';
@@ -51,44 +50,3 @@ export function getClassReport(classState, accountState, id, filter) {
51
50
  accounts: accountReport,
52
51
  };
53
52
  }
54
- /**
55
- * Returns all classes currently in state (single pass over classesByKey).
56
- * Use for dropdowns that need class names; map to { classId, className } as needed.
57
- */
58
- export function getAllClasses(classState) {
59
- return Object.values(classState.classesByKey);
60
- }
61
- /**
62
- * Memoised projection of `getAllClasses` to the `{classId, className}` shape
63
- * expected by filter dropdowns. Consumers should prefer this over inlining a
64
- * `getAllClasses(...).map(...)` inside `useSelector`: the inline map allocates
65
- * a fresh array on every Redux dispatch, breaking `useSelector`'s
66
- * reference-equality optimisation and triggering re-renders on every state
67
- * change unrelated to class data.
68
- *
69
- * Two cleanups happen here, intentionally inside the selector so every
70
- * consumer benefits uniformly:
71
- * 1. **Drop entries with a blank `className`.** Soft-deleted classes can
72
- * retain their classId in state while the human name is blanked, which
73
- * would otherwise render as an empty row in the filter dropdown.
74
- * 2. **Dedupe by `classId`.** `classesByKey` is keyed by
75
- * `${classId}-${reportId}` (see `getClassKey`), so a class loaded under
76
- * multiple report contexts appears as multiple entries from
77
- * `Object.values(classesByKey)`. The first non-blank entry per
78
- * `classId` wins.
79
- */
80
- export const getClassFilterOptions = createSelector([getAllClasses], (classes) => {
81
- const seenClassIds = new Set();
82
- const options = [];
83
- for (const c of classes) {
84
- if (c.classId == null || seenClassIds.has(c.classId)) {
85
- continue;
86
- }
87
- if (c.className == null || c.className.trim() === '') {
88
- continue;
89
- }
90
- seenClassIds.add(c.classId);
91
- options.push({ classId: c.classId, className: c.className });
92
- }
93
- return options;
94
- });
@@ -58,6 +58,7 @@ export const toMonthEndCloseChecksInfo = (payload, period) => ({
58
58
  monthEndCloseCheckList: payload.month_close_checks.map((monthCloseCheck) => toMonthEndCloseCheck(monthCloseCheck)),
59
59
  auditSummary: {
60
60
  auditScorePercentage: payload.audit_summary.audit_score_percentage,
61
+ auditScorePercentageAI: payload.audit_summary.audit_score_percentage_ai,
61
62
  auditReportLastGeneratedDate: payload.audit_summary.audit_report_last_generated_date != null
62
63
  ? date(payload.audit_summary.audit_report_last_generated_date)
63
64
  : null,
package/lib/esm/index.js CHANGED
@@ -23,7 +23,6 @@ import { mapTimePeriodtoTimeframeTick, toTimePeriod, toTimeframeTick, } from './
23
23
  import { isAgingReport, isCashFlowOrBalanceSheetReport, isDashboardClassesViewReport, isDashboardReport, isFluxAnalysisOpExReport, isOpExByVendorReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isPAndLReport, } from './commonStateTypes/viewAndReport/reportIDHelper';
24
24
  import { toReportFormatStrict, toReportID, } from './commonStateTypes/viewAndReport/viewAndReport';
25
25
  import { PAYMENT_BUSINESS_DAYS, filterDays, getNextNthWorkingDay, getPreviousNthWorkingDay, getYearsList, holidaysFormatted, isHoliday, isHolidayToday, } from './commonStateTypes/workingDayHelper';
26
- import { getAllAccounts, getTransactionFilterAccountOptions, } from './entity/account/accountSelector';
27
26
  import { toAccountType, toReconciliationAccountSource, } from './entity/account/accountState';
28
27
  import { getAccountGroupKey, toAccountGroupType, } from './entity/accountGroup/accountGroupState';
29
28
  /**
@@ -171,7 +170,7 @@ import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFl
171
170
  import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJESchedulesUIState as updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
172
171
  import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess, } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
173
172
  import { deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateNodeCollapseState, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
174
- import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, updateTransactionFilters, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
173
+ import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
175
174
  import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
176
175
  import { getExpenseAutomationReconciliationView, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
177
176
  import { getExpenseAutomationTransactionView } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
@@ -337,7 +336,6 @@ import { getRemiBusinessVerificationDetails, getRemiSetupViewDetails, } from './
337
336
  import { approveOrRejectRemisBulkAction, autoReviewPendingApprovalRemis, cancelOrDeleteRemisBulkAction, clearAllRemisFromBulkActionList, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, removeRemiFromBulkActionList, reviewDraftRemisBulkAction, submitDraftRemisBulkAction, updateRemisBulkActionList, } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer';
338
337
  import { getRemisBulkOperationProgress, getRemisBulkReviewView, } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewSelector';
339
338
  import { hideCreatedByFilter, } from './view/spendManagement/spendManagementFilterHelpers';
340
- import { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, } from './view/expenseAutomationView/transactionFilterHelpers';
341
339
  import { acceptTreasuryTerms, clearTreasurySetupView, fetchPortfolioAllocation, fetchTreasuryFunds, fetchTreasurySetupView, updateFundAllocationLocalData, updatePortfolioAllocation, updateTreasuryVideoViewed, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
342
340
  import { getTreasuryBusinessVerificationDetails, getTreasurySetupViewDetails, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewSelector';
343
341
  import { getTreasuryFundsMaximumYield, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewState';
@@ -450,15 +448,15 @@ export {
450
448
  BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, DEFAULT_COMPLETED_SUB_TAB, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, toExpenseAutomationJEScheduleMainTab, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, fetchExpenseAutomationMissingReceipts,
451
449
  // Bulk Upload Actions
452
450
  bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, excludeAccountFromReconciliation, includeAccountInReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, updateNodeCollapseState, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
453
- export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateTransactionFilters, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
451
+ export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
454
452
  export { TOP_EX_TIME_PERIODS };
455
453
  export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsoluteDay, toMonthYearPeriodId, convertToPeriod, };
456
454
  export { toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
457
455
  export { getNumberOfPeriods };
458
456
  export { SCHEDULE_DAYS_OF_MONTH, toScheduleDaysOfMonth, toMonth, toMonthStrict, toQuarter, toQuarterStrict, };
459
457
  export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, sendSessionHeartbeat, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, deleteConnection, saveAPIKeyConnection, saveConnectorCredentials, saveOAuthConnection, toExternalIntegrationType, toExternalSupportedTool, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
460
- export { toAccountType, toAccountGroupType, getAccountGroupKey, getAllAccounts, getTransactionFilterAccountOptions, };
461
- export { getAllClasses, getClassById, getClassFilterOptions, } from './entity/class/classSelector';
458
+ export { toAccountType, toAccountGroupType, getAccountGroupKey, };
459
+ export { getClassById } from './entity/class/classSelector';
462
460
  export { getForecast };
463
461
  export { getUserName, getUserByUserId, getUsersByUserIds, getAllZeniUsersFromState, } from './entity/user/userSelector';
464
462
  export { toUserRoleType, toUserRoleTypeStrict, isFinOpsUserRoleType, hasAdminLevelAccess, hasFullOrAdminLevelAccess, hasReimbursementUserAccess, hasEmployeeLevelAccess, hasBookKeepingAdminLevelAccess, hasBookKeepingUserLevelAccess, isNonZeniRole, hasInvestorBankerLevelAccess, getUserRoleMap, hasOnlyBillPayAccess, hasZeniRoleOrCompanyOfficerAccess, hasSuperAdminLevelAccess, hasBillPayFallbackAdminLevelAccess, hasRemiFallbackAdminLevelAccess, hasOnlyReimbursementAccess, hasOnlyChargeCardAccess, hasOnlyZeniAccountsAccess, isZeniSignedInUser, getUserRoleByUserId, getUserRoleByUserIds, hasChargeCardAccess, hasZeniAccountsAccess, hasTreasuryAccess, hasTreasuryAdminLevelAccess, hasBillPayAccess, hasReimbursementAccess, hasReimbursementAdminLevelAccess, hasBillPayAdminLevelAccess, hasChargeCardAdminLevelAccess, hasSpendManagementAccess, hasSpendManagementAdminLevelAccess, hasZeniAccountsAdminLevelAccess, hasAnyCompanyRole, hasAnyFinOpRole, hasBillPayAccessible, hasReimbursementAccessible, hasZeniAccountsAccessible, hasChargeCardAccessible, hasTreasuryAccessible, hasAICFOAccess, };
@@ -558,10 +556,6 @@ export { toRemiSubTabType, toRemiSubTabTypeStrict, toRemiTabType, toRemiTabTypeS
558
556
  export { getClassList, fetchClassList, getProjectList, fetchProjectList, };
559
557
  export { fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, getBillDetailView, checkApproveRejectBtnShowForBill, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, getEditBillDetail, getReviewPageBillDetail, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, updateBillListUIState, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, toPaymentToOption, convertAmountToHomeCurrency, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
560
558
  export { hideCreatedByFilter, };
561
- // Transaction Categorization filter API — lives under Expense Automation,
562
- // not Spend Management. Kept in a separate re-export block to make the
563
- // separation visible at the barrel level.
564
- export { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, };
565
559
  export { 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, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, };
566
560
  export { getApprovalRuleViewDetails, getBankConnectionsSetupViewDetails, getIntegrationsView, };
567
561
  export { fetchUserFinancialAccount };
@@ -291,7 +291,7 @@ const applyAdvancedFiltersOnCompaniesList = (allCompanies, filters, filteredComp
291
291
  const key = currentFilter.field;
292
292
  const categoryValue = getCategoryValueForCompany(key, company);
293
293
  if (categoryValue == null) {
294
- if (currentFilter.matchingOperator === 'not_equal') {
294
+ if (currentFilter.matchingOperator === 'not-equal') {
295
295
  return true;
296
296
  }
297
297
  return false;
@@ -48,7 +48,7 @@ export const filterCompanyOnCategoriesWithSingleValue = (categoryValue, currentF
48
48
  return filterCompanyOnRangeCategoryType(categoryValue, currentFilter);
49
49
  }
50
50
  // if filter category is not annualRecurringRevenue OR monthlyRecurringRevenue
51
- if (currentFilter.matchingOperator === 'not_equal') {
51
+ if (currentFilter.matchingOperator === 'not-equal') {
52
52
  return currentFilter.values.indexOf(categoryValue) === -1;
53
53
  }
54
54
  return currentFilter.values.indexOf(categoryValue) > -1;
@@ -150,7 +150,7 @@ const applyAdvancedFiltersOnCompaniesList = (allCompanies, filters, filteredComp
150
150
  const key = currentFilter.field;
151
151
  const categoryValue = getCategoryValueForCompany(key, company);
152
152
  if (categoryValue == null) {
153
- if (currentFilter.matchingOperator === 'not_equal') {
153
+ if (currentFilter.matchingOperator === 'not-equal') {
154
154
  return true;
155
155
  }
156
156
  return false;
@@ -116,7 +116,7 @@ const applyAdvancedFiltersOnCompaniesList = (allCompanies, filters, filteredComp
116
116
  const key = currentFilter.field;
117
117
  const categoryValue = getCategoryValueForCompany(key, company);
118
118
  if (categoryValue == null) {
119
- if (currentFilter.matchingOperator === 'not_equal') {
119
+ if (currentFilter.matchingOperator === 'not-equal') {
120
120
  return true;
121
121
  }
122
122
  return false;
@@ -28,10 +28,6 @@ export const initialTransactionTabViewState = {
28
28
  totalCount: {},
29
29
  limit: 10,
30
30
  },
31
- filters: {
32
- categoryCombinationOperator: 'AND',
33
- categories: [],
34
- },
35
31
  fetchState: 'Not-Started',
36
32
  error: undefined,
37
33
  hasValidState() {
@@ -303,12 +299,6 @@ const expenseAutomationTransactionsView = createSlice({
303
299
  uiState.totalCount;
304
300
  }
305
301
  },
306
- updateTransactionFilters(draft, action) {
307
- const { selectedTab, filters } = action.payload;
308
- if (filters != null) {
309
- draft.transactionCategorizationView[selectedTab].filters = filters;
310
- }
311
- },
312
302
  saveTransactionCategorization: {
313
303
  prepare(selectedTab, transactionIds, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled) {
314
304
  return {
@@ -939,5 +929,5 @@ const expenseAutomationTransactionsView = createSlice({
939
929
  },
940
930
  },
941
931
  });
942
- export const { fetchTransactionCategorization, updateTransactionCategorizationUIState, updateTransactionFilters, initializeTransactionCategorizationViewLocalData, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateStatusForTransactionNotMiscategorizedUpdateForCategorization, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, setAllItemsToCategoryClassInLocalDataForCategorization, updateTotalCountForTransactionCategorization, updateParentTotalCountForTab, fetchTransactionCategorizationSuccess, resetOtherTabsFetchState, fetchTransactionCategorizationView, updateSelectedCheckboxTransactionIds, clearExpenseAutomationTransactionsViewPerTabView, clearExpenseAutomationTransactionsView, setEntityRecommendationForLineIdsForCategorization, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } = expenseAutomationTransactionsView.actions;
932
+ export const { fetchTransactionCategorization, updateTransactionCategorizationUIState, initializeTransactionCategorizationViewLocalData, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateStatusForTransactionNotMiscategorizedUpdateForCategorization, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, setAllItemsToCategoryClassInLocalDataForCategorization, updateTotalCountForTransactionCategorization, updateParentTotalCountForTab, fetchTransactionCategorizationSuccess, resetOtherTabsFetchState, fetchTransactionCategorizationView, updateSelectedCheckboxTransactionIds, clearExpenseAutomationTransactionsViewPerTabView, clearExpenseAutomationTransactionsView, setEntityRecommendationForLineIdsForCategorization, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, } = expenseAutomationTransactionsView.actions;
943
933
  export default expenseAutomationTransactionsView.reducer;