@zeniai/web-components 4.3.84-betaRD1 → 4.3.84

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 (56) hide show
  1. package/dist/{SessionTimeoutPopup-BQNoZPdo.cjs → SessionTimeoutPopup-BevaOjyq.cjs} +16075 -16878
  2. package/dist/{SessionTimeoutPopup-DNQZXLY8.js → SessionTimeoutPopup-nBxUPbGt.js} +90131 -93671
  3. package/dist/appLocale.d.ts +4 -125
  4. package/dist/cockpit.cjs.js +8 -8
  5. package/dist/cockpit.esm.js +514 -514
  6. package/dist/components/aiCfo/components/AiCfoRoutinesBrowser.d.ts +1 -1
  7. package/dist/components/expenseAutomation/ExpenseAutomationPage.d.ts +4 -14
  8. package/dist/components/expenseAutomation/components/navbarHeaderData.d.ts +1 -6
  9. package/dist/components/expenseAutomation/sections/jeSchedules/JESchedulePage.d.ts +2 -10
  10. package/dist/components/expenseAutomation/sections/jeSchedules/common/JEGroupSectionHeader.d.ts +1 -2
  11. package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleConfig.d.ts +8 -1
  12. package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleListItems.d.ts +3 -9
  13. package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleListRow.helpers.d.ts +1 -21
  14. package/dist/components/expenseAutomation/sections/missingReceipts/missingReceiptsSidePanelListMargin.d.ts +3 -10
  15. package/dist/components/invoicing/catalogForm/InvoicingCatalogItemFormPage.d.ts +6 -11
  16. package/dist/components/invoicing/catalogForm/catalogItemForm.shared.d.ts +7 -0
  17. package/dist/components/invoicing/common/InvoicingFormControls.d.ts +1 -8
  18. package/dist/components/invoicing/common/InvoicingInvoicePreview.d.ts +1 -6
  19. package/dist/components/invoicing/common/InvoicingSkeletons.d.ts +4 -20
  20. package/dist/components/invoicing/couponForm/InvoicingCouponFormPage.d.ts +2 -27
  21. package/dist/components/invoicing/couponForm/couponForm.shared.d.ts +1 -5
  22. package/dist/components/invoicing/customerForm/InvoicingCustomerFormPage.d.ts +1 -9
  23. package/dist/components/invoicing/discountDetail/InvoicingDiscountDetailPage.d.ts +0 -7
  24. package/dist/components/invoicing/settings/invoicingSettingsShared.d.ts +2 -8
  25. package/dist/components/invoicing/subscriptionForm/InvoicingSubscriptionFormPage.d.ts +1 -9
  26. package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsAccruedExpensesPage.d.ts +2 -12
  27. package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsFixedAssetsPage.d.ts +2 -12
  28. package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsPage.d.ts +2 -12
  29. package/dist/components/reportTree/treeNode/accountReconReport/row/v2/statusHelper.d.ts +1 -1
  30. package/dist/index.cjs.js +1 -1
  31. package/dist/index.d.ts +1 -7
  32. package/dist/index.esm.js +391 -392
  33. package/dist/strings/strings.d.ts +4 -125
  34. package/package.json +6 -6
  35. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingKpiStrip.d.ts +0 -9
  36. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingList.d.ts +0 -13
  37. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingListRow.d.ts +0 -11
  38. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingMatchDetailPage.d.ts +0 -21
  39. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingMatchNewButton.d.ts +0 -5
  40. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingPage.d.ts +0 -22
  41. package/dist/components/expenseAutomation/sections/actualMatching/ActualMatchingPageSkeleton.d.ts +0 -3
  42. package/dist/components/expenseAutomation/sections/actualMatching/MatchNewModal.d.ts +0 -12
  43. package/dist/components/expenseAutomation/sections/actualMatching/MatchNewPreview.d.ts +0 -8
  44. package/dist/components/expenseAutomation/sections/actualMatching/ReversesGroupedPill.d.ts +0 -5
  45. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingHelpers.d.ts +0 -76
  46. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingHelpers.test.d.ts +0 -1
  47. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingListConfig.d.ts +0 -12
  48. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingMatchDetailHelpers.d.ts +0 -18
  49. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingMatchDetailHelpers.test.d.ts +0 -1
  50. package/dist/components/expenseAutomation/sections/actualMatching/actualMatchingTypes.d.ts +0 -43
  51. package/dist/components/expenseAutomation/sections/actualMatching/matchNewPreviewHelpers.d.ts +0 -12
  52. package/dist/components/expenseAutomation/sections/actualMatching/matchNewPreviewHelpers.test.d.ts +0 -1
  53. package/dist/components/expenseAutomation/sections/actualMatching/stories/ActualMatchingPageQuickViewStoryParts.d.ts +0 -10
  54. package/dist/components/expenseAutomation/stories/actualMatchingPageStoryActions.d.ts +0 -2
  55. package/dist/components/invoicing/common/invoicingAccountPickerOptions.d.ts +0 -14
  56. package/dist/components/jeSchedules/scheduleDetails/sections/ScheduleDecisionAction.d.ts +0 -41
@@ -160,7 +160,6 @@ export declare const zeniStrings: {
160
160
  alternateRecommendation: string;
161
161
  thoughtProcess: string;
162
162
  insured: string;
163
- monthInsightSent: string;
164
163
  subject: string;
165
164
  refer: string;
166
165
  copy: string;
@@ -1966,16 +1965,6 @@ export declare const zeniStrings: {
1966
1965
  failed: string;
1967
1966
  notification: string;
1968
1967
  };
1969
- actual_matching_match_and_reverse: {
1970
- success: string;
1971
- failed: string;
1972
- notification: string;
1973
- };
1974
- actual_matching_undo_reversal: {
1975
- success: string;
1976
- failed: string;
1977
- notification: string;
1978
- };
1979
1968
  ignore_schedule: {
1980
1969
  success: string;
1981
1970
  failed: string;
@@ -4308,6 +4297,7 @@ export declare const zeniStrings: {
4308
4297
  noPerson: string;
4309
4298
  createMonthInsight: string;
4310
4299
  editMonthInsight: string;
4300
+ monthInsightSent: string;
4311
4301
  monthInsightNotReady: string;
4312
4302
  monthInsightsCanBeSentFromDashboard: string;
4313
4303
  monthInsightsCanBeEditedFromDashboard: string;
@@ -8458,122 +8448,12 @@ export declare const zeniStrings: {
8458
8448
  };
8459
8449
  groups: {
8460
8450
  createdInsight: string;
8461
- failedPostings: string;
8462
8451
  pendingReviewInsight: string;
8463
8452
  };
8464
8453
  tabs: {
8465
8454
  schedules: string;
8466
- actualMatching: string;
8467
8455
  existingSchedules: string;
8468
8456
  };
8469
- actualMatching: {
8470
- matchNew: string;
8471
- undoReversal: string;
8472
- continueMatch: string;
8473
- openBill: string;
8474
- openCharge: string;
8475
- openTransaction: string;
8476
- kpi: {
8477
- actualsReceived: string;
8478
- ofExpected: string;
8479
- vendorsStillPending: string;
8480
- vendorStillPending: string;
8481
- autoReversed: string;
8482
- cleared: string;
8483
- pendingReview: string;
8484
- estMinutesToClear: string;
8485
- variance: string;
8486
- varianceFooter: string;
8487
- };
8488
- groups: {
8489
- reversed: string;
8490
- };
8491
- groupSubtitles: {
8492
- reversed: string;
8493
- pendingReview: string;
8494
- };
8495
- columns: {
8496
- received: string;
8497
- vendor: string;
8498
- type: string;
8499
- service: string;
8500
- reverses: string;
8501
- matchTier: string;
8502
- reversedBy: string;
8503
- accrued: string;
8504
- actual: string;
8505
- variance: string;
8506
- };
8507
- reversedBy: {
8508
- aiAccountant: string;
8509
- humanUser: string;
8510
- };
8511
- matchTier: {
8512
- exact: string;
8513
- fuzzy: string;
8514
- aiAccountant: string;
8515
- manual: string;
8516
- };
8517
- reversesCount: string;
8518
- groupedOpenAccrual: string;
8519
- groupedMenuAria: string;
8520
- lifecycle: {
8521
- pendingReview: string;
8522
- autoReversed: string;
8523
- };
8524
- emptyState: {
8525
- title: string;
8526
- subTitle: string;
8527
- };
8528
- matchModal: {
8529
- title: string;
8530
- subtitle: string;
8531
- leftTitle: string;
8532
- rightTitle: string;
8533
- selectedLabel: string;
8534
- leftSearchPlaceholder: string;
8535
- rightSearchPlaceholder: string;
8536
- emptyLeft: string;
8537
- emptyRight: string;
8538
- confirm: string;
8539
- maxAccruals: string;
8540
- conflict: string;
8541
- vendorLock: string;
8542
- selectLineHint: string;
8543
- previewEmpty: string;
8544
- accrualJeTitle: string;
8545
- reversalJeTitle: string;
8546
- reversalJeNote: string;
8547
- transactionMatchedTitle: string;
8548
- columnDate: string;
8549
- columnAccount: string;
8550
- columnDebit: string;
8551
- columnCredit: string;
8552
- lastDayOfMonth: string;
8553
- reversesLabel: string;
8554
- vsAccrued: string;
8555
- accruedExpensesFallback: string;
8556
- };
8557
- matchDetail: {
8558
- service: string;
8559
- accrued: string;
8560
- actual: string;
8561
- variance: string;
8562
- accrualJes: string;
8563
- leftovers: string;
8564
- reversalFailed: string;
8565
- undoFailed: string;
8566
- loadErrorTitle: string;
8567
- loadErrorSubTitle: string;
8568
- reversalJe: string;
8569
- matchedBill: string;
8570
- matchedCharge: string;
8571
- matchedTransaction: string;
8572
- statusAutoReversed: string;
8573
- statusPendingReview: string;
8574
- statusManuallyReversed: string;
8575
- };
8576
- };
8577
8457
  newSchedule: {
8578
8458
  title: string;
8579
8459
  oneTimeAccrualTitle: string;
@@ -8940,6 +8820,8 @@ export declare const zeniStrings: {
8940
8820
  statementProcessingFailed: string;
8941
8821
  failed: string;
8942
8822
  isInProgress: string;
8823
+ booksClosed: string;
8824
+ reopenToReconcile: string;
8943
8825
  booksClosedTooltip: string;
8944
8826
  };
8945
8827
  tooltips: {
@@ -9648,7 +9530,7 @@ export declare const zeniStrings: {
9648
9530
  needHelpBodySuffix: string;
9649
9531
  };
9650
9532
  invoicingOverview: {
9651
- revenueMetricOverTime: string;
9533
+ revenueMrrOverTime: string;
9652
9534
  mrrMovement: string;
9653
9535
  mrrMovementNewSubscriptions: string;
9654
9536
  mrrMovementExpansions: string;
@@ -9986,8 +9868,6 @@ export declare const zeniStrings: {
9986
9868
  periodPlaceholder: string;
9987
9869
  periodUnitLabel: string;
9988
9870
  maxRedemptionsPlaceholder: string;
9989
- discountsAccountLabel: string;
9990
- discountsAccountPlaceholder: string;
9991
9871
  };
9992
9872
  invoicingCreateInvoice: {
9993
9873
  selectPaymentTerm: string;
@@ -10279,7 +10159,6 @@ export declare const zeniStrings: {
10279
10159
  diagnosticsRetainedUntil: string;
10280
10160
  };
10281
10161
  invoicingDiscountDetail: {
10282
- discountsAccountLabel: string;
10283
10162
  month: string;
10284
10163
  limitedSinglePeriod: string;
10285
10164
  limitedMultiPeriodPrefix: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/web-components",
3
- "version": "4.3.84-betaRD1",
3
+ "version": "4.3.84",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -47,8 +47,8 @@
47
47
  "@statsig/react-bindings": "^3.14.0",
48
48
  "@stripe/react-stripe-js": "^2.7.3",
49
49
  "@stripe/stripe-js": "^4.4.0",
50
- "@zeniai/client-analytics": "2.0.92",
51
- "@zeniai/client-epic-state": "5.2.51-betaRD1",
50
+ "@zeniai/client-analytics": "2.0.90",
51
+ "@zeniai/client-epic-state": "5.2.40",
52
52
  "autosuggest-highlight": "^3.2.1",
53
53
  "browser-image-compression": "^2.0.2",
54
54
  "countries-list": "^2.6.1",
@@ -154,7 +154,7 @@
154
154
  "vite-plugin-dts": "^4.5.4",
155
155
  "vite-plugin-static-copy": "^3.1.4",
156
156
  "vite-plugin-svgr": "^4.5.0",
157
- "vitest": "^4.1.11"
157
+ "vitest": "^4.0.18"
158
158
  },
159
159
  "peerDependencies": {
160
160
  "@babel/runtime": "^7.13.17",
@@ -166,8 +166,8 @@
166
166
  "@types/color": "^3.0.2",
167
167
  "@types/react-select": "^4.0.18",
168
168
  "@types/react-window": "^1.8.8",
169
- "@zeniai/client-analytics": "2.0.92",
170
- "@zeniai/client-epic-state": "5.2.51-betaRD1",
169
+ "@zeniai/client-analytics": "2.0.90",
170
+ "@zeniai/client-epic-state": "5.2.40",
171
171
  "color": "^3.1.3",
172
172
  "react": "18.3.1",
173
173
  "react-dom": "18.3.1",
@@ -1,9 +0,0 @@
1
- import { Amount, MonthYearPeriod } from '@zeniai/client-epic-state';
2
- import { ActualMatchingKpiSummary } from './actualMatchingTypes';
3
- export interface ActualMatchingKpiStripProps {
4
- displayCurrency: Amount;
5
- kpiSummary: ActualMatchingKpiSummary;
6
- selectedPeriod: MonthYearPeriod;
7
- }
8
- declare function ActualMatchingKpiStrip({ displayCurrency, kpiSummary, selectedPeriod, }: Readonly<ActualMatchingKpiStripProps>): import("react/jsx-runtime").JSX.Element;
9
- export default ActualMatchingKpiStrip;
@@ -1,13 +0,0 @@
1
- import { SortOrder } from '@zeniai/client-epic-state';
2
- import { ActualMatchingRow, ActualMatchingSortKey, ActualMatchingViewUIState } from './actualMatchingTypes';
3
- export interface ActualMatchingListProps {
4
- pendingReview: ActualMatchingRow[];
5
- reversed: ActualMatchingRow[];
6
- sortKey?: ActualMatchingSortKey;
7
- sortOrder?: SortOrder;
8
- onOpenMatch: (matchId: string) => void;
9
- onOpenMatchNewModal?: (matchId: string) => void;
10
- onUpdateActualMatchingUIState?: (uiState: Partial<ActualMatchingViewUIState>) => void;
11
- }
12
- declare function ActualMatchingList({ pendingReview, reversed, onOpenMatch, onOpenMatchNewModal, onUpdateActualMatchingUIState, sortKey, sortOrder, }: Readonly<ActualMatchingListProps>): import("react/jsx-runtime").JSX.Element;
13
- export default ActualMatchingList;
@@ -1,11 +0,0 @@
1
- import { ActualMatchingColumnKey } from './actualMatchingListConfig';
2
- import { ActualMatchingRow } from './actualMatchingTypes';
3
- export interface ActualMatchingListRowProps {
4
- columns: ActualMatchingColumnKey[];
5
- gridTemplateColumns: string;
6
- row: ActualMatchingRow;
7
- onOpenMatch: (matchId: string) => void;
8
- onOpenMatchNewModal?: (matchId: string) => void;
9
- }
10
- declare function ActualMatchingListRow({ columns, gridTemplateColumns, row, onOpenMatch, onOpenMatchNewModal, }: Readonly<ActualMatchingListRowProps>): import("react/jsx-runtime").JSX.Element;
11
- export default ActualMatchingListRow;
@@ -1,21 +0,0 @@
1
- import { FetchState, MatchAndReverseResult, UndoReversalResult } from '@zeniai/client-epic-state';
2
- import { ActualMatchingMatch } from './actualMatchingTypes';
3
- export interface ActualMatchingMatchDetailPageProps {
4
- detailFetchState: FetchState;
5
- refreshStatus: FetchState;
6
- isRenderedInPanel?: boolean;
7
- isUndoInFlight?: boolean;
8
- lastMatchResults?: MatchAndReverseResult[];
9
- lastUndoResults?: UndoReversalResult[];
10
- match?: ActualMatchingMatch;
11
- onNavigateBack: () => void;
12
- onRefresh: () => void;
13
- onContinueMatch?: () => void;
14
- onOpenBill?: (txn: {
15
- id: string;
16
- type: string;
17
- }) => void;
18
- onUndoReversal?: (accrualIds: string[]) => void;
19
- }
20
- declare function ActualMatchingMatchDetailPage({ detailFetchState, isRenderedInPanel, isUndoInFlight, match, onNavigateBack, onRefresh, onOpenBill, onContinueMatch, onUndoReversal, lastMatchResults, lastUndoResults, refreshStatus, }: Readonly<ActualMatchingMatchDetailPageProps>): import("react/jsx-runtime").JSX.Element;
21
- export default ActualMatchingMatchDetailPage;
@@ -1,5 +0,0 @@
1
- export interface ActualMatchingMatchNewButtonProps {
2
- onClick: () => void;
3
- }
4
- declare function ActualMatchingMatchNewButton({ onClick, }: Readonly<ActualMatchingMatchNewButtonProps>): import("react/jsx-runtime").JSX.Element;
5
- export default ActualMatchingMatchNewButton;
@@ -1,22 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { MonthYearPeriod } from '@zeniai/client-epic-state';
3
- import { ActualMatchingActionProps, ExpenseAutomationActualMatchingViewSelector } from './actualMatchingTypes';
4
- export interface ActualMatchingPageProps extends ActualMatchingActionProps {
5
- actualMatching: ExpenseAutomationActualMatchingViewSelector;
6
- selectedPeriod: MonthYearPeriod;
7
- /**
8
- * Match quick view, named apart from the page-level `panelContent` that drives
9
- * transaction and reconciliation. This section renders the split so the KPI
10
- * strip stays full-width above it.
11
- *
12
- * There is no full-view flag: expanding leaves for the match's own page.
13
- */
14
- isMatchPanelOpen?: boolean;
15
- matchPanelContent?: ReactNode;
16
- }
17
- export declare function ActualMatchingPageKpis({ actualMatching, selectedPeriod, }: Readonly<{
18
- actualMatching: ExpenseAutomationActualMatchingViewSelector;
19
- selectedPeriod: MonthYearPeriod;
20
- }>): import("react/jsx-runtime").JSX.Element;
21
- declare function ActualMatchingPage({ actualMatching, isMatchPanelOpen, matchPanelContent, onClearMatchNewModal, onCloseMatchNewModal, onMatchAndReverse, onOpenMatch, onOpenMatchNewModal, onSearchMatchAccruals, onSearchMatchTransactions, onUpdateActualMatchingUIState, selectedPeriod, }: Readonly<ActualMatchingPageProps>): import("react/jsx-runtime").JSX.Element;
22
- export default ActualMatchingPage;
@@ -1,3 +0,0 @@
1
- export declare function ActualMatchingKpiStripSkeleton(): import("react/jsx-runtime").JSX.Element;
2
- declare function ActualMatchingPageSkeleton(): import("react/jsx-runtime").JSX.Element;
3
- export default ActualMatchingPageSkeleton;
@@ -1,12 +0,0 @@
1
- import { ActualMatchingMatchModalView, MatchAndReverseAccrualsParams, MatchNewFormData } from './actualMatchingTypes';
2
- export interface MatchNewModalProps {
3
- matchModal: ActualMatchingMatchModalView;
4
- initialFormValues?: Partial<MatchNewFormData>;
5
- onClearMatchNewModal: () => void;
6
- onCloseMatchNewModal: () => void;
7
- onMatchAndReverse: (params: MatchAndReverseAccrualsParams) => void;
8
- onSearchMatchAccruals: (query: string, pageToken?: string) => void;
9
- onSearchMatchTransactions: (query: string, pageToken?: string) => void;
10
- }
11
- declare function MatchNewModal({ initialFormValues, matchModal, onClearMatchNewModal, onCloseMatchNewModal, onMatchAndReverse, onSearchMatchAccruals, onSearchMatchTransactions, }: Readonly<MatchNewModalProps>): import("react/jsx-runtime").JSX.Element;
12
- export default MatchNewModal;
@@ -1,8 +0,0 @@
1
- import { JEOneTimeAccrual } from '@zeniai/client-epic-state';
2
- import { ActualMatchingTransactionSearchResult } from './actualMatchingTypes';
3
- export interface MatchNewPreviewProps {
4
- selectedAccruals: JEOneTimeAccrual[];
5
- selectedTransactions: ActualMatchingTransactionSearchResult[];
6
- }
7
- declare function MatchNewPreview({ selectedAccruals, selectedTransactions, }: Readonly<MatchNewPreviewProps>): import("react/jsx-runtime").JSX.Element;
8
- export default MatchNewPreview;
@@ -1,5 +0,0 @@
1
- export interface ReversesGroupedPillProps {
2
- label: string;
3
- }
4
- declare function ReversesGroupedPill({ label }: Readonly<ReversesGroupedPillProps>): import("react/jsx-runtime").JSX.Element;
5
- export default ReversesGroupedPill;
@@ -1,76 +0,0 @@
1
- import { Amount, ExpenseAutomationViewSelector, MonthYearPeriod, SortOrder } from '@zeniai/client-epic-state';
2
- import { StyledCapsuleThemeType } from '../../../common/StyledCapsule';
3
- import { ActualMatchingColumnKey } from './actualMatchingListConfig';
4
- import { ActualMatchingGroupedAccrual, ActualMatchingKpiSummary, ActualMatchingMatch, ActualMatchingRow, ActualMatchingSortKey, ActualMatchingTransactionSearchResult, ExpenseAutomationActualMatchingViewSelector } from './actualMatchingTypes';
5
- export declare const EMPTY_ACTUAL_MATCHING_KPI_SUMMARY: ActualMatchingKpiSummary;
6
- export declare const EMPTY_ACTUAL_MATCHING_VIEW: ExpenseAutomationActualMatchingViewSelector;
7
- export declare function getActualMatchingFromSelector(selector: ExpenseAutomationViewSelector): ExpenseAutomationActualMatchingViewSelector;
8
- export declare function getAccruedAmount(row: ActualMatchingRow): number;
9
- export declare function getActualAmount(row: ActualMatchingRow): number | undefined;
10
- export declare function getActualMatchingAmount(row: ActualMatchingRow): number;
11
- export declare function getVariancePercent(row: ActualMatchingRow): number | undefined;
12
- export declare function formatVariancePercent(percent: number): string;
13
- export declare function getVarianceCapsuleType(percent: number): StyledCapsuleThemeType;
14
- export declare function getMatchTierKey(row: ActualMatchingRow): string | undefined;
15
- export declare function getMatchTierLabel(row: ActualMatchingRow): string;
16
- export declare function getMatchTierCapsuleType(row: ActualMatchingRow): StyledCapsuleThemeType;
17
- export declare function getActualMatchingTypeLabel(row: ActualMatchingRow): string;
18
- export declare function getActualMatchingTypeCapsuleType(row: ActualMatchingRow): StyledCapsuleThemeType;
19
- export declare function formatActualMatchingServiceMonth(serviceMonth: string): string;
20
- export declare function formatActualMatchingServiceMonths(months: readonly string[]): string;
21
- export declare function getActualMatchingServiceMonths(row: ActualMatchingRow): string[];
22
- export declare function getActualMatchingServiceLabel(row: ActualMatchingRow): string;
23
- export declare function getReceivedLabel(row: ActualMatchingRow): string;
24
- export declare function getReversesGroupedCount(row: ActualMatchingRow): number;
25
- export declare function isGroupedActualMatchingRow(row: ActualMatchingRow): boolean;
26
- export declare function isGroupedAccrualMenuInteractive(_row: ActualMatchingRow): boolean;
27
- export declare function getGroupedAccrualMenuItems(row: ActualMatchingRow): ActualMatchingGroupedAccrual[];
28
- export declare function getReversesLabel(row: ActualMatchingRow): string;
29
- export declare function getReversesTooltip(row: ActualMatchingRow): string;
30
- export declare function isSameMatchVendor(transaction: {
31
- vendorName: string;
32
- vendorId?: string;
33
- }, accrual: {
34
- vendorName: string;
35
- vendorId?: string;
36
- }): boolean;
37
- export declare function getAccruedDisplayAmount(row: ActualMatchingRow): Amount;
38
- export declare function getActualDisplayAmount(row: ActualMatchingRow): Amount | undefined;
39
- export declare function sumRowDisplayAmount(rows: ActualMatchingRow[]): Amount;
40
- export declare function getActualMatchingDisplayCurrency(rows: ActualMatchingRow[]): Amount;
41
- export declare function formatKpiAmount(amount: number, currency: Amount): string;
42
- export declare function formatActualMatchingKpiMonth(period: MonthYearPeriod): string;
43
- export declare function formatGroupAmountSubtitle(template: string, amount: Amount): string;
44
- export declare function isAiCreatedAccrual(row: ActualMatchingRow): boolean;
45
- export declare function isHumanReversedRow(row: ActualMatchingRow): boolean;
46
- export declare function isAiReversedBy(row: ActualMatchingRow): boolean;
47
- export declare function getReversedByLabel(row: ActualMatchingRow): string;
48
- export declare function getColumnKeyForActualMatchingSortKey(sortKey: ActualMatchingSortKey): ActualMatchingColumnKey;
49
- export declare function getActualMatchingColumnSortValue(row: ActualMatchingRow, columnKey: ActualMatchingColumnKey): string | number | null;
50
- export declare function sortActualMatchingRowsByColumn(rows: ActualMatchingRow[], columnKey: ActualMatchingColumnKey, sortOrder: SortOrder): ActualMatchingRow[];
51
- export declare function getUndoReversalAccrualIds(row: Pick<ActualMatchingRow, "accrualId" | "groupedMembers">): string[];
52
- export declare function getMatchedBillTransaction(match: Pick<ActualMatchingMatch, "members" | "transactionType">): {
53
- id: string;
54
- type: string;
55
- } | null;
56
- export declare function getUndoReversalAccrualIdsFromMatch(match: Pick<ActualMatchingMatch, "members">): string[];
57
- export declare function getLeftoverWarningTooltip(row: ActualMatchingRow): string;
58
- export declare function pruneSelectionToVisibleResults(currentKeys: string[], visibleKeys: ReadonlySet<string>, searchFetchState: string): string[];
59
- export declare function nextSelectedTransactionLines(currentKeys: string[], clickedKey: string, results: ActualMatchingTransactionSearchResult[]): string[];
60
- export declare function pickPrefillTransactionLines(results: ActualMatchingTransactionSearchResult[], prefill?: {
61
- actualAmount?: number;
62
- consumedLineIds?: string[];
63
- matchedLineId?: string;
64
- matchedTransactionId?: string;
65
- }): string[];
66
- export declare function pickPrefillTransactionLine(results: ActualMatchingTransactionSearchResult[], prefill?: {
67
- actualAmount?: number;
68
- matchedLineId?: string;
69
- matchedTransactionId?: string;
70
- }): string | null;
71
- export declare function shouldPromptSelectMatchLine({ isTxnSearchComplete, lineCount, openedFromMatchId, selectedLineKey, }: {
72
- isTxnSearchComplete: boolean;
73
- lineCount: number;
74
- selectedLineKey: string | null;
75
- openedFromMatchId?: string;
76
- }): boolean;
@@ -1,12 +0,0 @@
1
- import { ActualMatchingSortKey } from './actualMatchingTypes';
2
- export type ActualMatchingColumnKey = "received" | "vendor" | "type" | "reversedBy" | "service" | "reverses" | "matchTier" | "accrued" | "actual" | "variance";
3
- export interface ActualMatchingHeaderItem {
4
- key: ActualMatchingColumnKey;
5
- sortable: boolean;
6
- value: string;
7
- width: number;
8
- sortKey?: ActualMatchingSortKey;
9
- }
10
- export declare function isActualMatchingNumericColumn(key: ActualMatchingColumnKey): boolean;
11
- export declare function getActualMatchingColumns(isQuickViewMode?: boolean): ActualMatchingHeaderItem[];
12
- export declare function buildActualMatchingGridTemplate(columns: ActualMatchingHeaderItem[]): string;
@@ -1,18 +0,0 @@
1
- import { FetchState, JEOneTimeAccrual } from '@zeniai/client-epic-state';
2
- import { ActualMatchingMatch, ActualMatchingRowKind } from './actualMatchingTypes';
3
- export declare function getMatchServiceMonthsLabel(members: readonly JEOneTimeAccrual[]): string;
4
- export declare function getMatchSubtitle(match: ActualMatchingMatch): string;
5
- export declare function getMatchStatusLabel(kind: ActualMatchingRowKind, labels: {
6
- statusAutoReversed: string;
7
- statusManuallyReversed: string;
8
- statusPendingReview: string;
9
- }): string;
10
- export declare function getMatchVariancePercent(match: ActualMatchingMatch): number | null;
11
- export declare function formatMatchVarianceLabel(match: ActualMatchingMatch): string | null;
12
- export declare function isMatchRefreshSpinning(match: ActualMatchingMatch | undefined, detailFetchState: FetchState, refreshStatus: FetchState): boolean;
13
- export declare function getOpenMatchedTransactionLabel(transactionType: string, labels: {
14
- openTransaction: string;
15
- }): string;
16
- export declare function getMatchedTransactionSectionTitle(transactionType: string, titles: {
17
- matchedTransaction: string;
18
- }): string;
@@ -1,43 +0,0 @@
1
- import { ActualMatchingKpiSummary, ActualMatchingMatchModalView, ActualMatchingRow, ActualMatchingRowKind, ExpenseAutomationActualMatchingSortKey as ActualMatchingSortKey, ActualMatchingTransactionSearchResult, ExpenseAutomationActualMatchingViewUIState as ActualMatchingViewUIState, Amount, ExpenseAutomationActualMatchingViewSelector, ID, JEOneTimeAccrual, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus } from '@zeniai/client-epic-state';
2
- export type { ActualMatchingKpiSummary, ActualMatchingMatchModalView, ActualMatchingRow, ActualMatchingRowKind, ActualMatchingSortKey, ActualMatchingTransactionSearchResult, ActualMatchingViewUIState, ExpenseAutomationActualMatchingViewSelector, MatchAndReverseAccrualsParams, MatchAndReverseResult, MatchAndReverseResultStatus, UndoReversalAccrualsParams, UndoReversalResult, UndoReversalResultStatus, };
3
- /**
4
- * WC-only Actual Matching types (page tab, list row extras, form, handlers).
5
- * CES owns the view selector, row, KPI, and match-modal shapes — re-exported
6
- * above so stories/mocks stay assignable to `ExpenseAutomationViewSelector`.
7
- */
8
- export declare const ACTUAL_MATCHING_PAGE_TAB: "actual_matching";
9
- export type ActualMatchingPageTab = typeof ACTUAL_MATCHING_PAGE_TAB;
10
- export type ActualMatchingGroupedAccrual = NonNullable<ActualMatchingRow["groupedMembers"]>[number];
11
- export interface ActualMatchingMatch {
12
- accruedAmount: Amount;
13
- actualAmount: Amount;
14
- kind: ActualMatchingRowKind;
15
- matchId: string;
16
- members: JEOneTimeAccrual[];
17
- transactionIntegrationId: ID;
18
- transactionType: string;
19
- leftovers?: JEOneTimeAccrual[];
20
- matchShape?: string;
21
- matchTier?: string;
22
- transactionDate?: string;
23
- vendorId?: ID;
24
- vendorName?: string;
25
- }
26
- export interface ActualMatchingActionProps {
27
- onClearMatchNewModal: () => void;
28
- onCloseMatchNewModal: () => void;
29
- onMatchAndReverse: (params: MatchAndReverseAccrualsParams) => void;
30
- onOpenMatch: (matchId: string) => void;
31
- onOpenMatchNewModal: (matchId?: string) => void;
32
- onSearchMatchAccruals: (query: string, pageToken?: string) => void;
33
- onSearchMatchTransactions: (query: string, pageToken?: string) => void;
34
- onUpdateActualMatchingUIState?: (uiState: Partial<ActualMatchingViewUIState>) => void;
35
- }
36
- export declare const MATCH_NEW_FORM = "expenseAutomationMatchNew";
37
- export type MatchNewFormData = {
38
- selectedAccrualIds: string[];
39
- selectedTransactionLines: string[];
40
- };
41
- export declare const MATCH_ACCRUAL_SELECTION_CAP = 50;
42
- export declare function getTransactionLineKey(transactionId: string, lineId: string): string;
43
- export declare function isActualMatchingPageTab(tab: string | undefined): tab is ActualMatchingPageTab;
@@ -1,12 +0,0 @@
1
- import { JEOneTimeAccrual, ZeniDate } from '@zeniai/client-epic-state';
2
- import { ActualMatchingTransactionSearchResult } from './actualMatchingTypes';
3
- export declare function formatServiceMonthLabel(serviceMonth: string): string;
4
- export declare function formatAccrualJeDate(serviceMonth: string, lastDayLabel: string): string;
5
- export declare function formatJeShortDate(dateValue: string): string;
6
- export declare function formatReversalJeDate(reversalPostingDate?: ZeniDate): string;
7
- export declare function sumAccruedAmount(accruals: readonly JEOneTimeAccrual[]): number;
8
- export declare function variancePercent(transactionAmount: number, accruedAmount: number): number | null;
9
- export declare function uniqueServiceMonthLabel(accruals: readonly JEOneTimeAccrual[]): string | null;
10
- export declare function transactionMatchLabel(transaction: ActualMatchingTransactionSearchResult, accruals: readonly JEOneTimeAccrual[]): string;
11
- export declare function creditAccountName(accrual: JEOneTimeAccrual, fallback: string): string;
12
- export declare function debitAccountName(accrual: JEOneTimeAccrual, fallback: string): string;
@@ -1,10 +0,0 @@
1
- import { FetchState } from '@zeniai/client-epic-state';
2
- import { ActualMatchingMatch } from '../actualMatchingTypes';
3
- export interface ActualMatchingTabQuickViewProps {
4
- detailFetchState?: FetchState;
5
- initiallyOpen?: boolean;
6
- match?: ActualMatchingMatch;
7
- refreshStatus?: FetchState;
8
- onOpenChange?: (isOpen: boolean) => void;
9
- }
10
- export declare function ActualMatchingTabQuickView({ detailFetchState, initiallyOpen, match: initialMatch, refreshStatus, onOpenChange, }: Readonly<ActualMatchingTabQuickViewProps>): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- import { ActualMatchingActionProps } from '../sections/actualMatching/actualMatchingTypes';
2
- export declare const actualMatchingPageStoryActions: ActualMatchingActionProps;
@@ -1,14 +0,0 @@
1
- import { NestedAccountHierarchyForReport } from '@zeniai/client-epic-state';
2
- import { GroupedOption } from '../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField';
3
- /**
4
- * Accounts as the grouped picker renders them. `getGroupedAccountOptions` falls
5
- * back to the internal id when a node carries no `qboId`; the invoicing forms
6
- * submit the QuickBooks id, so an account without one is dropped rather than
7
- * offered as a value the invoicing API would reject.
8
- *
9
- * `allowedAccountIds`, when given, narrows the result to the QuickBooks ids a
10
- * slot accepts — an income-only picker, say. Filtering the options rather than
11
- * the tree keeps a parent that is not itself eligible, because dropping it
12
- * would take its eligible children with it.
13
- */
14
- export declare const toGroupedQboAccountOptions: (hierarchy?: NestedAccountHierarchyForReport[], allowedAccountIds?: readonly string[]) => GroupedOption[];
@@ -1,41 +0,0 @@
1
- import { ID, ScheduleStatusCodeType } from '@zeniai/client-epic-state';
2
- import { PrimaryBtnProps } from '../../../common/Footer';
3
- import { JEAccrualFeedbackReason } from '../../../expenseAutomation/sections/jeSchedules/accrualDetail/JEAccrualFeedbackDialog';
4
- export type ScheduleDecisionType = "ignore" | "revert";
5
- export interface ScheduleDecisionSubject {
6
- jeScheduleId?: ID;
7
- postedCount?: number;
8
- status?: ScheduleStatusCodeType;
9
- }
10
- /**
11
- * Which decision a schedule in this state offers. Shared by the detail pages and the list's Action
12
- * column so the two cannot drift: a recommendation is ignored, a schedule that exists is reverted,
13
- * and a schedule too far along to revert offers nothing.
14
- *
15
- * The detail page needs this because the list stops offering it. Beside an open quick view the
16
- * list compresses to Vendor and Amount, so the Action column is gone and the panel is the only
17
- * place left to make the decision from.
18
- */
19
- export declare function resolveScheduleDecision({ jeScheduleId, postedCount, status, }: ScheduleDecisionSubject): ScheduleDecisionType | undefined;
20
- interface ScheduleDecisionActionProps {
21
- decision: ScheduleDecisionType;
22
- isSubmitting: boolean;
23
- /** The form the primary button submits. Only meaningful alongside `primaryBtn`. */
24
- formId?: string;
25
- /**
26
- * The page's own submit button, when the form has something to submit. Given one, the decision
27
- * takes the secondary slot beside it -- two buttons, no Cancel, matching the one-time accrual
28
- * page. Absent, the decision is the only thing in the footer.
29
- */
30
- primaryBtn?: PrimaryBtnProps;
31
- onSubmit: (reason: JEAccrualFeedbackReason, note?: string) => void;
32
- }
33
- /**
34
- * The Ignore / Revert decision on a schedule detail page, with the reason dialog it goes through.
35
- *
36
- * Shared by all three schedule detail pages rather than written into each: the decision, the copy,
37
- * the reason set and the dialog are identical, and only the ids the host sends differ -- which is
38
- * why `onSubmit` carries only the reason and leaves the keys to the caller.
39
- */
40
- export default function ScheduleDecisionAction({ decision, formId, isSubmitting, primaryBtn, onSubmit, }: Readonly<ScheduleDecisionActionProps>): import("react/jsx-runtime").JSX.Element;
41
- export {};