@zeniai/client-epic-state 5.3.10 → 5.3.11

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.
@@ -1,2 +1,2 @@
1
- export declare const toAnimationsFileName: (v: string) => "Success" | "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "AutoTransfer" | "CloseCard" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "Distribution" | "DistributionDark" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "LockCard" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "Recurring" | "RecurringDark" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Ripple" | "Secure" | "Target" | "TargetDark" | "UnlockCard" | "VeryHappy" | "Welcome" | "ZeniAssist";
1
+ export declare const toAnimationsFileName: (v: string) => "Success" | "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "AutoTransfer" | "CloseCard" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardHalloweenBats" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "Distribution" | "DistributionDark" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "LockCard" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "Recurring" | "RecurringDark" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Ripple" | "Secure" | "Target" | "TargetDark" | "UnlockCard" | "VeryHappy" | "Welcome" | "ZeniAssist";
2
2
  export type AnimationFileName = ReturnType<typeof toAnimationsFileName>;
@@ -18,6 +18,7 @@ const ALL_ANIMATIONS_FILE_NAMES = [
18
18
  'Confetti',
19
19
  'ConfettiSuccess',
20
20
  'DashboardChristmasSnow',
21
+ 'DashboardHalloweenBats',
21
22
  'DashboardNewYearShow',
22
23
  'DashboardSidebarBottomChristmas',
23
24
  'DashboardSidebarBottomHalloween',
@@ -15,6 +15,7 @@ const ALL_ANIMATIONS_FILE_NAMES = [
15
15
  'Confetti',
16
16
  'ConfettiSuccess',
17
17
  'DashboardChristmasSnow',
18
+ 'DashboardHalloweenBats',
18
19
  'DashboardNewYearShow',
19
20
  'DashboardSidebarBottomChristmas',
20
21
  'DashboardSidebarBottomHalloween',
@@ -4,15 +4,20 @@ import { stringToUnion } from '../../../commonStateTypes/stringToUnion';
4
4
  * verbatim to the listing API as `transaction_group`. When revenue automation is
5
5
  * enabled for the tenant the backend scopes the whole view by the line
6
6
  * account_type: `'expense'` -> expense accounts, `'income'` -> income accounts,
7
- * `'all'` -> both. When off, every value falls back to the legacy expense scope
8
- * on the backend, so the group is only sent when the gate is on.
7
+ * `'other'` -> balance-sheet accounts other than bank/credit card (plus lines
8
+ * with no account type), `'all'` -> all three. The list epics always send it;
9
+ * when the gate is off the backend ignores it and returns the legacy expense
10
+ * scope.
9
11
  *
10
12
  * The wire value for expenses is the singular `'expense'` (matches the backend
11
13
  * `TransactionGroup` enum) even though the picker labels it "Expenses".
12
- * Balance-sheet groups (assets, liability) are reserved for later and are not
13
- * part of this union yet.
14
14
  */
15
- export const TRANSACTION_GROUPS = ['all', 'income', 'expense'];
15
+ export const TRANSACTION_GROUPS = [
16
+ 'all',
17
+ 'income',
18
+ 'expense',
19
+ 'other',
20
+ ];
16
21
  export const toTransactionGroup = (v) => stringToUnion(v != null ? v.trim().toLowerCase() : '', TRANSACTION_GROUPS);
17
22
  /**
18
23
  * Default group for the listing — matches the picker's default selection ("All").
@@ -28,8 +28,8 @@ export interface TransactionCategorizationQueryPayload {
28
28
  */
29
29
  search_all_statuses?: boolean;
30
30
  /**
31
- * Statement-level scope (`'expense' | 'income' | 'all'`). Always sent by the
32
- * list epics. The backend `is_revenue_automation_enabled` gate is
31
+ * Statement-level scope (`'expense' | 'income' | 'other' | 'all'`). Always
32
+ * sent by the list epics. The backend `is_revenue_automation_enabled` gate is
33
33
  * authoritative: when it is off the backend ignores this and returns the
34
34
  * legacy expense scope regardless of the value, so there is no need to gate
35
35
  * the send on the client (the gate isn't available to the redux epics anyway
@@ -70,8 +70,8 @@ export declare const fetchTransactionCategorization: import("@reduxjs/toolkit").
70
70
  newSelectedTab: "review" | "autoCategorized";
71
71
  }, "expenseAutomationTransactionsView/updateCurrentSelectedTransactionCategorizationTab", never, never>, updateTransactionCategorizationCompletedSubTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSubTab: "manual" | "all" | "ai_accountant"], {
72
72
  newSubTab: "manual" | "all" | "ai_accountant";
73
- }, "expenseAutomationTransactionsView/updateTransactionCategorizationCompletedSubTab", never, never>, updateTransactionGroup: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newGroup: "income" | "expense" | "all"], {
74
- newGroup: "income" | "expense" | "all";
73
+ }, "expenseAutomationTransactionsView/updateTransactionCategorizationCompletedSubTab", never, never>, updateTransactionGroup: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newGroup: "income" | "expense" | "other" | "all"], {
74
+ newGroup: "income" | "expense" | "other" | "all";
75
75
  }, "expenseAutomationTransactionsView/updateTransactionGroup", never, never>, updateTransactionCategorizationSaveStatus: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", fetchState: FetchState, error?: ZeniAPIStatus<Record<string, unknown>> | undefined], {
76
76
  selectedTab: "review" | "autoCategorized";
77
77
  fetchState: FetchState;
@@ -3,16 +3,16 @@
3
3
  * verbatim to the listing API as `transaction_group`. When revenue automation is
4
4
  * enabled for the tenant the backend scopes the whole view by the line
5
5
  * account_type: `'expense'` -> expense accounts, `'income'` -> income accounts,
6
- * `'all'` -> both. When off, every value falls back to the legacy expense scope
7
- * on the backend, so the group is only sent when the gate is on.
6
+ * `'other'` -> balance-sheet accounts other than bank/credit card (plus lines
7
+ * with no account type), `'all'` -> all three. The list epics always send it;
8
+ * when the gate is off the backend ignores it and returns the legacy expense
9
+ * scope.
8
10
  *
9
11
  * The wire value for expenses is the singular `'expense'` (matches the backend
10
12
  * `TransactionGroup` enum) even though the picker labels it "Expenses".
11
- * Balance-sheet groups (assets, liability) are reserved for later and are not
12
- * part of this union yet.
13
13
  */
14
- export declare const TRANSACTION_GROUPS: readonly ["all", "income", "expense"];
15
- export declare const toTransactionGroup: (v: string | null | undefined) => "income" | "expense" | "all";
14
+ export declare const TRANSACTION_GROUPS: readonly ["all", "income", "expense", "other"];
15
+ export declare const toTransactionGroup: (v: string | null | undefined) => "income" | "expense" | "other" | "all";
16
16
  export type TransactionGroup = ReturnType<typeof toTransactionGroup>;
17
17
  /**
18
18
  * Default group for the listing — matches the picker's default selection ("All").
@@ -7,15 +7,20 @@ const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
7
7
  * verbatim to the listing API as `transaction_group`. When revenue automation is
8
8
  * enabled for the tenant the backend scopes the whole view by the line
9
9
  * account_type: `'expense'` -> expense accounts, `'income'` -> income accounts,
10
- * `'all'` -> both. When off, every value falls back to the legacy expense scope
11
- * on the backend, so the group is only sent when the gate is on.
10
+ * `'other'` -> balance-sheet accounts other than bank/credit card (plus lines
11
+ * with no account type), `'all'` -> all three. The list epics always send it;
12
+ * when the gate is off the backend ignores it and returns the legacy expense
13
+ * scope.
12
14
  *
13
15
  * The wire value for expenses is the singular `'expense'` (matches the backend
14
16
  * `TransactionGroup` enum) even though the picker labels it "Expenses".
15
- * Balance-sheet groups (assets, liability) are reserved for later and are not
16
- * part of this union yet.
17
17
  */
18
- exports.TRANSACTION_GROUPS = ['all', 'income', 'expense'];
18
+ exports.TRANSACTION_GROUPS = [
19
+ 'all',
20
+ 'income',
21
+ 'expense',
22
+ 'other',
23
+ ];
19
24
  const toTransactionGroup = (v) => (0, stringToUnion_1.stringToUnion)(v != null ? v.trim().toLowerCase() : '', exports.TRANSACTION_GROUPS);
20
25
  exports.toTransactionGroup = toTransactionGroup;
21
26
  /**
@@ -152,8 +152,8 @@ export type TransactionsViewState = {
152
152
  selectedTransactionCategorizationCompletedSubTab: CompletedSubTab;
153
153
  selectedTransactionCategorizationTab: TransactionsTab;
154
154
  /**
155
- * Statement-level scope (`'expense' | 'income' | 'all'`) forwarded to the
156
- * listing API as `transaction_group`. Unlike the in-memory {@link
155
+ * Statement-level scope (`'expense' | 'income' | 'other' | 'all'`) forwarded
156
+ * to the listing API as `transaction_group`. Unlike the in-memory {@link
157
157
  * TransactionsTabViewState.filters}, a change here invalidates every tab /
158
158
  * sub-tab / count and drives a server refetch (the backend re-scopes the
159
159
  * whole dataset by account_type). Only surfaced in the UI when the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.3.10",
3
+ "version": "5.3.11",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",