@tesouro/embedded-components-react 0.5.230 → 0.5.232

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 (175) hide show
  1. package/README.md +1 -0
  2. package/dist/index.css +14 -0
  3. package/dist/index.d.ts +125 -22
  4. package/dist/index.js +3 -3
  5. package/dist/lib/ExpenseManagementWidget.d.ts +22 -21
  6. package/dist/lib/ExpenseManagementWidget.js +1 -1
  7. package/dist/lib/ReceivablesWidget.d.ts +104 -2
  8. package/dist/lib/ReceivablesWidget.js +1 -1
  9. package/dist/lib/UploadReceiptWidget.d.ts +2 -2
  10. package/dist/lib/UploadReceiptWidget.js +2 -2
  11. package/dist/lib/WidgetSuite.d.ts +17 -15
  12. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/feature/dist/index.js +3 -0
  13. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/feature/dist/index2.js +5 -0
  14. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index24.js → approval-policies/feature/dist/index3.js} +7 -7
  15. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index25.js → approval-policies/feature/dist/index4.js} +1 -1
  16. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index26.js → approval-policies/feature/dist/index5.js} +1 -1
  17. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index27.js → approval-policies/feature/dist/index6.js} +53 -53
  18. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/ui/dist/index.js +8 -0
  19. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/types.js → approval-policies/ui/dist/index2.js} +1 -1
  20. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/labels.js → approval-policies/ui/dist/index3.js} +1 -1
  21. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/conditionLabel.js → approval-policies/ui/dist/index4.js} +1 -1
  22. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/EmptyApprovalRules.js → approval-policies/ui/dist/index5.js} +3 -3
  23. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleCard.js → approval-policies/ui/dist/index6.js} +5 -5
  24. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleForm.js → approval-policies/ui/dist/index7.js} +4 -4
  25. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ExpenseApprovalsPage.js → approval-policies/ui/dist/index8.js} +7 -7
  26. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index.js +18 -19
  27. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/invalidation.js +2 -0
  28. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index20.js → lib/invalidateTransactionViews.js} +4 -4
  29. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index10.js → lib/queryKeys.js} +4 -4
  30. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index5.js → lib/useEntityUsersByIdsQuery.js} +6 -6
  31. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index8.js → lib/useExpenseHistoryQuery.js} +6 -6
  32. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index7.js → lib/useExpenseLedgerAccountsQuery.js} +3 -3
  33. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index17.js → lib/useExpenseReceiptsCountQuery.js} +5 -5
  34. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index16.js → lib/useExpenseTransactionIdsQuery.js} +2 -2
  35. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index15.js → lib/useExpenseTransactionsCountQuery.js} +5 -5
  36. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index19.js → lib/useGetApprovalRequestsQuery.js} +5 -5
  37. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index9.js → lib/useGetTransactionQuery.js} +5 -5
  38. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index3.js → lib/useGetTransactionsQuery.js} +5 -5
  39. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/lib/useHasDirectReportsQuery.js +34 -0
  40. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index4.js → lib/useOrganizationDepartmentsQuery.js} +6 -6
  41. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/lib/useOrganizationLocationsQuery.js +28 -0
  42. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index11.js → lib/usePatchReceiptMutation.js} +7 -7
  43. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index14.js → lib/useTrackReceiptMatching.js} +7 -7
  44. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index21.js → lib/useTransactionReviewMutations.js} +6 -6
  45. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index18.js → lib/useTransactionValidationsQuery.js} +5 -5
  46. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index13.js → lib/useUploadReceiptMutation.js} +7 -7
  47. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js +10 -10
  48. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index10.js +77 -160
  49. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index11.js +356 -63
  50. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index12.js +36 -71
  51. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index13.js +130 -344
  52. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index14.js +223 -36
  53. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index15.js +192 -137
  54. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index16.js +11 -227
  55. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index17.js +81 -186
  56. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index18.js +37 -11
  57. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index19.js +309 -82
  58. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js +30 -87
  59. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index20.js +1 -39
  60. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index3.js +3 -2
  61. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index5.js +23 -257
  62. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index6.js +18 -2
  63. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index7.js +160 -59
  64. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index8.js +62 -28
  65. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index9.js +28 -18
  66. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/data-access/dist/index.js +3 -0
  67. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{data-access → receipt-match/data-access}/dist/index2.js +5 -5
  68. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/data-access/dist/index3.js +40 -0
  69. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index.js +2 -0
  70. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index2.js +256 -0
  71. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index3.js +5 -0
  72. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index4.js +65 -0
  73. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/ui/dist/index.js +8 -0
  74. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/labels.js → receipt-match/ui/dist/index2.js} +1 -1
  75. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxItem.js → receipt-match/ui/dist/index3.js} +3 -3
  76. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxStep.js → receipt-match/ui/dist/index4.js} +6 -6
  77. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/TransactionsMatchStep.js → receipt-match/ui/dist/index5.js} +27 -27
  78. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/MatchConfirmationStep.js → receipt-match/ui/dist/index6.js} +3 -3
  79. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchSidebar.js → receipt-match/ui/dist/index7.js} +6 -6
  80. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchLauncher.js → receipt-match/ui/dist/index8.js} +1 -1
  81. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/index.js +9 -28
  82. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/ExpenseStatusBadge.js +7 -12
  83. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/badgeTones.js +1 -7
  84. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/ExpensesScreen.js +61 -55
  85. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/labels.js +2 -1
  86. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/ExpensesTransactionsTable.js +42 -44
  87. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/FileViewer.js +6 -6
  88. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/TransactionDetails.js +137 -138
  89. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetailsActions/TransactionDetailsActions.js +82 -80
  90. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui → util}/dist/lib/isPdf.js +1 -1
  91. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/util/dist/lib/widgetName.js +4 -0
  92. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +11 -10
  93. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index10.js +92 -55
  94. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +64 -142
  95. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index12.js +186 -17
  96. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/data-access/dist/index6.js → invoicing-widget/data-access/dist/index13.js} +8 -9
  97. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index3.js +45 -74
  98. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index4.js +68 -53
  99. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index5.js +66 -32
  100. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +32 -34
  101. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index7.js +24 -166
  102. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +175 -1
  103. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index9.js +42 -95
  104. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  105. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +36 -33
  106. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +38 -0
  107. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +1 -1
  108. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +206 -147
  109. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +2 -2
  110. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +39 -58
  111. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +53 -227
  112. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +216 -287
  113. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +453 -43
  114. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +103 -126
  115. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index24.js +122 -146
  116. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index25.js +145 -41
  117. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index26.js +39 -115
  118. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index27.js +113 -90
  119. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index28.js +81 -98
  120. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index29.js +111 -27
  121. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index30.js +26 -633
  122. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index31.js +639 -39
  123. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index32.js +41 -40
  124. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index33.js +35 -74
  125. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index34.js +73 -130
  126. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index35.js +133 -329
  127. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index36.js +345 -0
  128. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +13 -12
  129. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +15 -12
  130. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +35 -24
  131. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +8 -71
  132. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +70 -17
  133. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +31 -12
  134. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +18 -30
  135. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +12 -301
  136. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +33 -1
  137. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +14 -46
  138. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +23 -67
  139. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index29.js +76 -485
  140. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +392 -95
  141. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/feature/dist/index22.js → invoicing-widget/ui/dist/index31.js} +1 -0
  142. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.js +48 -2
  143. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index33.js +72 -4
  144. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index34.js +496 -1
  145. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index35.js +97 -91
  146. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index37.js +2 -236
  147. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index38.js +3 -2
  148. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index39.js +1 -249
  149. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index40.js +89 -82
  150. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index41.js +23 -54
  151. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index42.js +223 -340
  152. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index43.js +3 -0
  153. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index44.js +249 -0
  154. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index45.js +93 -0
  155. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index46.js +59 -0
  156. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index47.js +353 -0
  157. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +17 -1
  158. package/dist/libs/tesouro-embedded-components-react/settings-widget/feature/dist/index5.js +1 -1
  159. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +41 -41
  160. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +75 -43
  161. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  162. package/dist/libs/tesouro-embedded-components-react/shared/util/dist/lib/formatTimestampDate.js +13 -0
  163. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index.js +4 -0
  164. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index2.js +91 -0
  165. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/ui/dist/index.js +4 -0
  166. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/labels.js → upload-receipt-widget/ui/dist/index2.js} +1 -1
  167. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptButton.js → upload-receipt-widget/ui/dist/index3.js} +3 -3
  168. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptModal.js → upload-receipt-widget/ui/dist/index4.js} +3 -3
  169. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index11.js +1 -1
  170. package/package.json +1 -1
  171. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index12.js +0 -39
  172. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index21.js +0 -297
  173. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index23.js +0 -4
  174. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/labels.js +0 -13
  175. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index36.js +0 -28
package/README.md CHANGED
@@ -515,6 +515,7 @@ Lists, creates, edits and acts on an organization's invoices, quotes and credit
515
515
  | `screenLabels` | `ReceivablesScreenLabelOverrides` | English labels | Table, tab, filter, empty, error, action and status badge copy. |
516
516
  | `formLabels` | `Partial<ReceivableFormSheetLabels>` | English labels | Create/edit form copy; the save and issue buttons are in `messageLabels`. |
517
517
  | `detailsLabels` | `ReceivableDetailsPanelLabelOverrides` | English labels | Details panel copy. Status badge copy comes from `screenLabels.statusBadge`. |
518
+ | `auditHistoryLabels` | `Partial<ReceivableAuditHistoryLabels>` | English labels | Audit history row copy. Document and status names follow `messageLabels` and `screenLabels.statusBadge` unless overridden here. |
518
519
  | `sendLabels` | `Partial<ReceivableSendDialogLabels>` | English labels | Send-email dialog copy. |
519
520
  | `paymentLabels` | `Partial<ReceivablePaymentDialogLabels>` | English labels | Manual payment dialog copy. |
520
521
  | `actionLabels` | `Partial<ReceivableActionDialogLabels>` | English labels | Confirmation dialog buttons; per-action titles come from `messageLabels`. |
package/dist/index.css CHANGED
@@ -76,6 +76,7 @@
76
76
  --ttw-color-violet-200: oklch(89.4% 0.057 293.283);
77
77
  --ttw-color-violet-400: oklch(70.2% 0.183 293.541);
78
78
  --ttw-color-violet-700: oklch(49.1% 0.27 292.581);
79
+ --ttw-color-violet-950: oklch(28.3% 0.141 291.089);
79
80
  --ttw-color-purple-50: oklch(97.7% 0.014 308.299);
80
81
  --ttw-color-purple-100: oklch(94.6% 0.033 307.174);
81
82
  --ttw-color-purple-400: oklch(71.4% 0.203 305.504);
@@ -114,6 +115,7 @@
114
115
  --ttw-container-sm: 24rem;
115
116
  --ttw-container-md: 28rem;
116
117
  --ttw-container-lg: 32rem;
118
+ --ttw-container-xl: 36rem;
117
119
  --ttw-container-2xl: 42rem;
118
120
  --ttw-container-3xl: 48rem;
119
121
  --ttw-container-4xl: 56rem;
@@ -857,6 +859,9 @@
857
859
  .ttw\:h-\[350px\] {
858
860
  height: 350px;
859
861
  }
862
+ .ttw\:h-\[480px\] {
863
+ height: 480px;
864
+ }
860
865
  .ttw\:h-\[600px\] {
861
866
  height: 600px;
862
867
  }
@@ -1325,6 +1330,9 @@
1325
1330
  .ttw\:w-\[300px\] {
1326
1331
  width: 300px;
1327
1332
  }
1333
+ .ttw\:w-\[360px\] {
1334
+ width: 360px;
1335
+ }
1328
1336
  .ttw\:w-\[400px\] {
1329
1337
  width: 400px;
1330
1338
  }
@@ -1523,6 +1531,9 @@
1523
1531
  .ttw\:max-w-sm {
1524
1532
  max-width: var(--ttw-container-sm);
1525
1533
  }
1534
+ .ttw\:max-w-xl {
1535
+ max-width: var(--ttw-container-xl);
1536
+ }
1526
1537
  .ttw\:max-w-xs {
1527
1538
  max-width: var(--ttw-container-xs);
1528
1539
  }
@@ -6175,6 +6186,9 @@
6175
6186
  .ttw\:dark\:bg-transparent:is(.dark *):not(.tesouro-embedded-light, .tesouro-embedded-light *) {
6176
6187
  background-color: transparent;
6177
6188
  }
6189
+ .ttw\:dark\:bg-violet-950:is(.dark *):not(.tesouro-embedded-light, .tesouro-embedded-light *) {
6190
+ background-color: var(--ttw-color-violet-950);
6191
+ }
6178
6192
  .ttw\:dark\:bg-yellow-950:is(.dark *):not(.tesouro-embedded-light, .tesouro-embedded-light *) {
6179
6193
  background-color: var(--ttw-color-yellow-950);
6180
6194
  }
package/dist/index.d.ts CHANGED
@@ -1243,6 +1243,47 @@ interface WidgetTokenManager {
1243
1243
  declare const DOCUMENT_KINDS: readonly ["invoice", "quote", "credit_note"];
1244
1244
  type ReceivableDocumentKind = (typeof DOCUMENT_KINDS)[number];
1245
1245
 
1246
+ /** Copy every audit-history formatter needs to name who acted on a row. */
1247
+ interface AuditHistoryActorLabels {
1248
+ /** A template so locales own the wording/order, e.g. "Invoice created by Jane Doe". */
1249
+ byActor: (title: string, actorName: string) => string;
1250
+ }
1251
+ /**
1252
+ * Copy and formatting the caller owns, so the Monite panel can back this with
1253
+ * lingui and the native widget with its labels.ts.
1254
+ */
1255
+ interface ReceivableAuditHistoryLabels extends AuditHistoryActorLabels {
1256
+ dateLabel: (isoDateTime: string) => string;
1257
+ timeLabel: (isoDateTime: string) => string;
1258
+ /** The noun for a document kind; `unknown` is a kind the payload named that we do not have. */
1259
+ documentTypeLabel: (kind: ReceivableDocumentKind | 'unknown') => string;
1260
+ /** The display name of a status, with a fallback for values we do not know. */
1261
+ statusLabel: (status: string) => string;
1262
+ formatAmount: (minorUnits: number, currency: string) => string;
1263
+ created: (documentTypeLabel: string) => string;
1264
+ recurringSeriesCreated: string;
1265
+ duplicatedFrom: (documentNumber: string) => string;
1266
+ documentUpdated: string;
1267
+ statusUpdated: string;
1268
+ changedTo: (statusLabel: string) => string;
1269
+ /** The sheet words a quote reaching `expired` on its own, not as "Changed to". */
1270
+ quoteExpired: string;
1271
+ paymentReceived: string;
1272
+ received: (amountLabel: string) => string;
1273
+ /** Used when the event names nobody, e.g. a send recorded before addresses were kept. */
1274
+ sentToCustomer: (documentTypeLabel: string) => string;
1275
+ /** `recipients` is already a joined, display-ready list of addresses. */
1276
+ sentToRecipients: (documentTypeLabel: string, recipients: string) => string;
1277
+ /** A send the API recorded as failed: no address is claimed to have received it. */
1278
+ sendFailed: (documentTypeLabel: string) => string;
1279
+ paymentReminderSent: string;
1280
+ overdueReminderSent: string;
1281
+ /** `days` is 0 on the due date itself. */
1282
+ dueInDays: (days: number) => string;
1283
+ daysOverdue: (days: number) => string;
1284
+ draftDeleted: string;
1285
+ }
1286
+
1246
1287
  interface WidgetTokenRefreshProviderProps {
1247
1288
  fetcher: WidgetTokenFetcher;
1248
1289
  leadSeconds?: number;
@@ -2975,21 +3016,6 @@ type DebitCardsWidgetProps = Omit<CardsWidgetProps, 'cardProgram'>;
2975
3016
  */
2976
3017
  declare function DebitCardsWidget(props: DebitCardsWidgetProps): React.JSX.Element;
2977
3018
 
2978
- /**
2979
- * Mirrors the REST API's `ExpenseStatusEnum` (`new`, `approve_in_progress`,
2980
- * `approved`, `rejected`, `canceled`). Kept as a local literal union rather
2981
- * than importing the generated enum type: a `type:ui` library must not reach
2982
- * into `rest/types.gen.ts`, only the caller (a feature layer) may, and then
2983
- * pass the already-mapped display status down.
2984
- */
2985
- type ExpenseBadgeStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
2986
-
2987
- type ExpenseStatusBadgeLabels = Record<ExpenseBadgeStatus, string> & {
2988
- unknown: string;
2989
- readyToSubmit: string;
2990
- missingInfo: string;
2991
- };
2992
-
2993
3019
  interface ExpensesHeaderLabels {
2994
3020
  bankingTaglinePrefix: string;
2995
3021
  settingsButtonAriaLabel: string;
@@ -3040,6 +3066,8 @@ interface Labels$2 {
3040
3066
  requirementsTab: string;
3041
3067
  matchingTab: string;
3042
3068
  tabCountAriaSuffix: string;
3069
+ /** Accessible name of the spinner shown while `isLoading`. */
3070
+ loading: string;
3043
3071
  }
3044
3072
 
3045
3073
  interface FileViewerLabels {
@@ -3091,6 +3119,10 @@ interface TransactionDetailsActionsLabels {
3091
3119
  returnToExpenses: string;
3092
3120
  cancel: string;
3093
3121
  reject: string;
3122
+ /**
3123
+ * The primary-button pairs below are picked by the caller, which passes the
3124
+ * finished string in `actions`; the footer never chooses between them.
3125
+ */
3094
3126
  approve: string;
3095
3127
  approveReviewNext: string;
3096
3128
  confirmRejection: string;
@@ -3126,6 +3158,17 @@ interface TransactionDetailsLabels {
3126
3158
  loadFailed: string;
3127
3159
  }
3128
3160
 
3161
+ /**
3162
+ * The statuses the widget displays: the REST `ExpenseStatusEnum` minus
3163
+ * `deleted`, which `toExpenseDisplayStatus` folds into `canceled`.
3164
+ */
3165
+ type ExpenseDisplayStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
3166
+ type ExpenseStatusBadgeLabels = Record<ExpenseDisplayStatus, string> & {
3167
+ unknown: string;
3168
+ readyToSubmit: string;
3169
+ missingInfo: string;
3170
+ };
3171
+
3129
3172
  /**
3130
3173
  * Aggregate outcome of a receipt batch after the backend finishes OCR and
3131
3174
  * auto-matching. `stillProcessing` counts receipts that never reached a terminal
@@ -3188,11 +3231,10 @@ type ExpenseManagementWidgetProps = WidgetProviderProps & ExpenseManagementWidge
3188
3231
  * component, following the `WidgetProvider` "Feature Component Pattern" the
3189
3232
  * same way `CustomersWidgetNative` does. Uses no Monite provider.
3190
3233
  *
3191
- * One legacy behavior is deliberately not replicated: team-tab visibility is
3192
- * driven by `ExpenseReadOrg` alone rather than also probing for direct reports
3193
- * (`hasDirectReports` in the legacy widget) — the probe existed only to widen
3194
- * tab visibility for people-managers without org-wide read, a narrower cohort
3195
- * this rebuild does not yet cover.
3234
+ * Team tab visibility matches legacy: `ExpenseReadOrg`, or a direct-reports
3235
+ * probe for people-managers without org-wide read. The Team list, its count
3236
+ * and its Action Items share that one gate; the rows themselves are scoped by
3237
+ * the backend (ADR-0003), never by ids the widget collects.
3196
3238
  */
3197
3239
  declare function ExpenseManagementWidget({ screenLabels, headerLabels, transactionsTableLabels, filterBarLabels, actionItemsLabels, statusBadgeLabels, transactionDetailsLabels, transactionDetailsCardLabels, transactionDetailsActionsLabels, fileViewerLabels, receiptUpload, bankDisplayName, bankLogoSrc, bankLogoAlt, isBankingTaglineVisible, onSettingsClick, ...widgetProviderProps }: ExpenseManagementWidgetProps): React.JSX.Element;
3198
3240
 
@@ -5032,7 +5074,20 @@ interface ReceivableDetailsPanelLabels {
5032
5074
  paymentHistoryEmpty: string;
5033
5075
  paymentHistoryTotalLabel: string;
5034
5076
  customerDetailsHeading: string;
5035
- recurrenceHeading: string;
5077
+ recurringAmountCaption: string;
5078
+ startsOnCaption: string;
5079
+ endsOnCaption: string;
5080
+ recurringSeriesRowLabel: string;
5081
+ scheduleIssueDateColumn: string;
5082
+ scheduleAmountColumn: string;
5083
+ scheduleStatusColumn: string;
5084
+ scheduleNumberColumn: string;
5085
+ scheduleEmpty: string;
5086
+ auditHistoryHeading: string;
5087
+ auditHistoryEmpty: string;
5088
+ auditHistoryLoading: string;
5089
+ auditHistoryError: string;
5090
+ auditHistoryNamesError: string;
5036
5091
  billingHeading: string;
5037
5092
  lineItemsHeading: string;
5038
5093
  notesHeading: string;
@@ -5056,6 +5111,9 @@ interface ReceivableDetailsPanelLabels {
5056
5111
  cancelButton: string;
5057
5112
  cloneButton: string;
5058
5113
  deleteButton: string;
5114
+ pauseRecurrenceButton: string;
5115
+ resumeRecurrenceButton: string;
5116
+ cancelRecurrenceButton: string;
5059
5117
  recurringBadge: string;
5060
5118
  }
5061
5119
  type ReceivableDetailsPanelLabelOverrides = Partial<ReceivableDetailsPanelLabels>;
@@ -5161,6 +5219,36 @@ interface ReceivableMessageLabels {
5161
5219
  detailsRemindersBefore: string;
5162
5220
  detailsRemindersAfter: string;
5163
5221
  detailsRemindersNone: string;
5222
+ detailsFrequency: string;
5223
+ detailsFrequencyDay: string;
5224
+ detailsFrequencyWeek: string;
5225
+ detailsFrequencyMonth: string;
5226
+ detailsFrequencyQuarter: string;
5227
+ detailsFrequencyYear: string;
5228
+ detailsPeriodDay: string;
5229
+ detailsPeriodWeek: string;
5230
+ detailsPeriodMonth: string;
5231
+ detailsPeriodQuarter: string;
5232
+ detailsPeriodYear: string;
5233
+ /** `{name}` and `{frequency}` are replaced, e.g. "Acme - Monthly". */
5234
+ detailsSeriesTitle: string;
5235
+ detailsSeriesSubtitle: string;
5236
+ /** `{frequency}` is replaced, e.g. "Monthly schedule". */
5237
+ detailsScheduleTitle: string;
5238
+ /** `{title}` is replaced with the series title. */
5239
+ detailsSeriesBack: string;
5240
+ /** `{number}` is replaced with the invoice number. */
5241
+ detailsScheduleOpenInvoice: string;
5242
+ detailsSeriesStatusActive: string;
5243
+ detailsSeriesStatusPaused: string;
5244
+ detailsSeriesStatusCanceled: string;
5245
+ detailsSeriesStatusCompleted: string;
5246
+ detailsIterationStatusPending: string;
5247
+ detailsIterationStatusSkipped: string;
5248
+ detailsIterationStatusCanceled: string;
5249
+ detailsIterationStatusIssueFailed: string;
5250
+ detailsIterationStatusSendFailed: string;
5251
+ detailsIterationStatusCompleted: string;
5164
5252
  sendSubjectDefault: string;
5165
5253
  sendBodyDefault: string;
5166
5254
  issueTitle: string;
@@ -5187,6 +5275,19 @@ interface ReceivableMessageLabels {
5187
5275
  markUncollectibleTitle: string;
5188
5276
  markUncollectibleDescription: string;
5189
5277
  markUncollectibleConfirm: string;
5278
+ cancelRecurrenceTitle: string;
5279
+ cancelRecurrenceQuestion: string;
5280
+ cancelRecurrenceFutureIterations: string;
5281
+ /** `{count}`, `{invoices}` and `{amount}` are replaced. */
5282
+ cancelRecurrenceTotal: string;
5283
+ cancelRecurrenceInvoice: string;
5284
+ cancelRecurrenceInvoices: string;
5285
+ cancelRecurrenceIrreversible: string;
5286
+ cancelRecurrenceConfirm: string;
5287
+ cancelRecurrenceClose: string;
5288
+ recurrencePaused: string;
5289
+ recurrenceResumed: string;
5290
+ recurrenceCanceled: string;
5190
5291
  attachmentsEmailCaption: string;
5191
5292
  attachmentsRecurringEmailCaption: string;
5192
5293
  attachmentIncludeInEmail: string;
@@ -5362,6 +5463,7 @@ interface ReceivablesWidgetOwnProps {
5362
5463
  screenLabels?: ReceivablesScreenLabelOverrides;
5363
5464
  formLabels?: Partial<ReceivableFormSheetLabels>;
5364
5465
  detailsLabels?: ReceivableDetailsPanelLabelOverrides;
5466
+ auditHistoryLabels?: Partial<ReceivableAuditHistoryLabels>;
5365
5467
  sendLabels?: Partial<ReceivableSendDialogLabels>;
5366
5468
  paymentLabels?: Partial<ReceivablePaymentDialogLabels>;
5367
5469
  actionLabels?: Partial<ReceivableActionDialogLabels>;
@@ -5373,6 +5475,7 @@ interface ReceivablesWidgetOwnProps {
5373
5475
  productMessageLabels?: Partial<ProductMessageLabels>;
5374
5476
  counterpartMessageLabels?: Partial<CounterpartMessageLabels>;
5375
5477
  }
5478
+
5376
5479
  type ReceivablesWidgetProps = WidgetProviderProps & ReceivablesWidgetOwnProps;
5377
5480
 
5378
5481
  declare function ReceivablesWidget({ baseUrl, widgetToken, organizationId, configClient, gatewayRouting, linkComponent, implementation, uiFramework, errorFallback, onError, analytics, disclosuresAcceptance, providerLabels, ...innerProps }: ReceivablesWidgetProps): React.JSX.Element;
@@ -5804,4 +5907,4 @@ interface GapCoverageAlertProps {
5804
5907
  type PendingFeatureStyleSources = CheckAmountAndDetailScreenProps | GapCoverageAlertProps | NoPolicyBannerProps;
5805
5908
 
5806
5909
  export { ACCEPT_DISCLOSURES_WIDGET_LABELS_EN, ADDITIONAL_OWNERS_LABELS_EN, APPLICATION_STATUS_LABELS_EN, AcceptDisclosuresWidget, BALANCES_WIDGET_LABELS_EN, BUSINESS_DETAILS_LABELS_EN, BalancesWidget, BankAccountOnboardingWidget, BankAccountsWidget, BillPayWidget, CardDetailsWidget, CounterpartsWidget, CreditCardsWidget, CustomersWidget, DebitCardsWidget, ERROR_STATE_ID, ExpenseManagementWidget, HELP_FAQ_EN, INSIGHTS_FEATURE_LABELS_EN, INSIGHTS_WIDGET_LABELS_EN, Implementation, InsightsWidget, ReceivablesWidgetMonite as InvoicingWidget, LinkedAccountsWidget, MARKETING_WIDGET_LABELS_EN, MARKETING_WIDGET_STATUS_LABELS_EN, MarketingBenefitIcon, MarketingWidget, PERSONAL_DETAILS_LABELS_EN, ProductsWidget, RESULT_LABELS_EN, ReceivablesWidget, RefreshingRootWidgetProvider, RootWidgetProvider, SINGLE_INSIGHT_LABELS_EN, Scope, SettingsSection, SettingsWidget, DEFAULT_FEATURE_LABELS as TRANSFERS_FEATURE_LABELS_EN, TRANSFERS_WIDGET_LABELS_EN, TransfersWidget, UIFramework, UploadReceiptWidget, WIDGET_SUITE_DEFAULT_SECTIONS, WIDGET_SUITE_LABELS_EN, WidgetProvider, WidgetSuite, WidgetSuiteSectionId, WidgetTokenRefreshProvider, cloneEmbeddedClient, getGlobalWidgetConfig, getGlobalWidgetInitState, isScope, registerDesignSystemEnsurer, registerUIRenderers, setGlobalWidgetConfig, subscribeToGlobalWidgetInitState, updateGlobalWidgetConfig, useDisclosuresAcceptanceSurface, useOwnWidgetConfig, useRefetchWidget, useWidgetConfig, useWidgetError, useWidgetInitStaleForToken, useWidgetLoading, useWidgetToken };
5807
- export type { AcceptDisclosuresWidgetLabels, AcceptDisclosuresWidgetProps, AccordionItemCardLabels, Labels$3 as AccountDetailsWidgetLabels, ActivateCardPanelLabels, AdditionalOwner, AdditionalOwnersLabels, AddressFormSheetLabels, ApplicationStatusLabelValues, ApplicationStatusLabels, ApplicationStatusNoticeLabels, BalancesWidgetLabels, BalancesWidgetProps, BankAccountFormSheetLabels, BankAccountOnboardingWidgetLabels, BankAccountOnboardingWidgetProps, FeatureLabels$3 as BankAccountsWidgetFeatureLabels, Labels$4 as BankAccountsWidgetLabels, BankAccountsWidgetProps, BillPayWidgetProps, BusinessDetailsLabels, BusinessDetailsValues, CardDetailsFeatureLabels, CardDetailsPanelLabels as CardDetailsWidgetLabels, CardDetailsWidgetProps, CardsFeatureLabels, CardsListLabels as CardsLabels, CardsPagination, CompanyStructureValue, ConfirmDeleteDialogLabels, CounterpartActionTarget, CounterpartDetailsSheetLabels, CounterpartFormSheetLabels, CounterpartMessageLabels, CounterpartMode, CounterpartsScreenLabels, CounterpartsWidgetProps, CreditCardsWidgetProps, CustomersWidgetOwnProps, CustomersWidgetProps, DebitCardsWidgetProps, DisclosureLinks, EmbeddedClient, Labels$2 as ExpenseManagementWidgetLabels, ExpenseManagementWidgetProps, FileViewerLabels, HelpFaqAnswer, HelpFaqBullet, HelpFaqBulletType, HelpFaqItem, HelpFaqSection, InsightsFeatureLabels, InsightsWidgetLabels, InsightsWidgetProps, ReceivablesWidgetMoniteProps as InvoicingWidgetProps, LinkComponent, LinkComponentProps, FeatureLabels$2 as LinkedAccountsWidgetFeatureLabels, Labels$1 as LinkedAccountsWidgetLabels, LinkedAccountsWidgetProps, MarketingStatusLabelValues, MarketingStatusNoticeLabels, MarketingWidgetAppearance, MarketingWidgetBenefit, MarketingWidgetContent, MarketingWidgetHowItWorksStep, MarketingWidgetImage, MarketingWidgetLabels, MarketingWidgetProps, MarketingWidgetStatusLabels, MeasureUnitDeleteDialogLabels, MeasureUnitsManagerLabels, PendingFeatureStyleSources, PersonalDetailsLabels, PersonalDetailsValues, ProductDeleteDialogLabels, ProductDetailsSheetLabels, ProductFormSheetLabels, ProductMessageLabels, ProductsScreenLabels, ProductsWidgetProps, ReceiptMatchSummary, ReceivableActionDialogLabels, ReceivableActionsModalLabels, ReceivableDetailsPanelLabelOverrides, ReceivableDetailsPanelLabels, ReceivableDocumentType, ReceivableFormSheetLabels, ReceivableMessageLabels, ReceivablePaymentDialogLabels, ReceivableSendDialogLabels, ReceivableStatusBadgeLabels, ReceivablesScreenLabelOverrides, ReceivablesScreenLabels, ReceivablesWidgetProps, ReceivablesWidgetTab, RefreshingRootWidgetProviderProps, ResultLabels, RootWidgetProviderProps, SettingsWidgetAdditionalSection, FeatureLabels$1 as SettingsWidgetFeatureLabels, Labels as SettingsWidgetLabels, SettingsWidgetProps, SettingsWidgetSection, SettingsWidgetSectionId, SingleInsightLabels, TransactionDetailsActionsLabels, TransactionDetailsLabels, FeatureLabels as TransfersWidgetFeatureLabels, TransfersWidgetLabels, TransfersWidgetProps, UploadReceiptWidgetProps, WidgetConfig, WidgetConfigInput, WidgetInitResponse, WidgetInitState, WidgetProviderLabels, WidgetProviderProps, WidgetSuiteCardsLabels, WidgetSuiteDashboardLabels, WidgetSuiteDisclosureLabels, WidgetSuiteExpensesLabels, WidgetSuiteLabelOverrides, WidgetSuiteLabels, WidgetSuiteMenuLabels, WidgetSuiteOnboardingGateLabels, WidgetSuiteOnboardingLabels, WidgetSuiteProps, WidgetSuiteSectionContentLabels, WidgetSuiteSectionTitleLabels, WidgetTokenFetcher, WidgetTokenManager, WidgetTokenRefreshProviderProps, WidgetTokenState };
5910
+ export type { AcceptDisclosuresWidgetLabels, AcceptDisclosuresWidgetProps, AccordionItemCardLabels, Labels$3 as AccountDetailsWidgetLabels, ActivateCardPanelLabels, AdditionalOwner, AdditionalOwnersLabels, AddressFormSheetLabels, ApplicationStatusLabelValues, ApplicationStatusLabels, ApplicationStatusNoticeLabels, BalancesWidgetLabels, BalancesWidgetProps, BankAccountFormSheetLabels, BankAccountOnboardingWidgetLabels, BankAccountOnboardingWidgetProps, FeatureLabels$3 as BankAccountsWidgetFeatureLabels, Labels$4 as BankAccountsWidgetLabels, BankAccountsWidgetProps, BillPayWidgetProps, BusinessDetailsLabels, BusinessDetailsValues, CardDetailsFeatureLabels, CardDetailsPanelLabels as CardDetailsWidgetLabels, CardDetailsWidgetProps, CardsFeatureLabels, CardsListLabels as CardsLabels, CardsPagination, CompanyStructureValue, ConfirmDeleteDialogLabels, CounterpartActionTarget, CounterpartDetailsSheetLabels, CounterpartFormSheetLabels, CounterpartMessageLabels, CounterpartMode, CounterpartsScreenLabels, CounterpartsWidgetProps, CreditCardsWidgetProps, CustomersWidgetOwnProps, CustomersWidgetProps, DebitCardsWidgetProps, DisclosureLinks, EmbeddedClient, Labels$2 as ExpenseManagementWidgetLabels, ExpenseManagementWidgetProps, ExpenseStatusBadgeLabels, FileViewerLabels, HelpFaqAnswer, HelpFaqBullet, HelpFaqBulletType, HelpFaqItem, HelpFaqSection, InsightsFeatureLabels, InsightsWidgetLabels, InsightsWidgetProps, ReceivablesWidgetMoniteProps as InvoicingWidgetProps, LinkComponent, LinkComponentProps, FeatureLabels$2 as LinkedAccountsWidgetFeatureLabels, Labels$1 as LinkedAccountsWidgetLabels, LinkedAccountsWidgetProps, MarketingStatusLabelValues, MarketingStatusNoticeLabels, MarketingWidgetAppearance, MarketingWidgetBenefit, MarketingWidgetContent, MarketingWidgetHowItWorksStep, MarketingWidgetImage, MarketingWidgetLabels, MarketingWidgetProps, MarketingWidgetStatusLabels, MeasureUnitDeleteDialogLabels, MeasureUnitsManagerLabels, PendingFeatureStyleSources, PersonalDetailsLabels, PersonalDetailsValues, ProductDeleteDialogLabels, ProductDetailsSheetLabels, ProductFormSheetLabels, ProductMessageLabels, ProductsScreenLabels, ProductsWidgetProps, ReceiptMatchSummary, ReceivableActionDialogLabels, ReceivableActionsModalLabels, ReceivableAuditHistoryLabels, ReceivableDetailsPanelLabelOverrides, ReceivableDetailsPanelLabels, ReceivableDocumentType, ReceivableFormSheetLabels, ReceivableMessageLabels, ReceivablePaymentDialogLabels, ReceivableSendDialogLabels, ReceivableStatusBadgeLabels, ReceivablesScreenLabelOverrides, ReceivablesScreenLabels, ReceivablesWidgetProps, ReceivablesWidgetTab, RefreshingRootWidgetProviderProps, ResultLabels, RootWidgetProviderProps, SettingsWidgetAdditionalSection, FeatureLabels$1 as SettingsWidgetFeatureLabels, Labels as SettingsWidgetLabels, SettingsWidgetProps, SettingsWidgetSection, SettingsWidgetSectionId, SingleInsightLabels, TransactionDetailsActionsLabels, TransactionDetailsLabels, FeatureLabels as TransfersWidgetFeatureLabels, TransfersWidgetLabels, TransfersWidgetProps, UploadReceiptWidgetProps, WidgetConfig, WidgetConfigInput, WidgetInitResponse, WidgetInitState, WidgetProviderLabels, WidgetProviderProps, WidgetSuiteCardsLabels, WidgetSuiteDashboardLabels, WidgetSuiteDisclosureLabels, WidgetSuiteExpensesLabels, WidgetSuiteLabelOverrides, WidgetSuiteLabels, WidgetSuiteMenuLabels, WidgetSuiteOnboardingGateLabels, WidgetSuiteOnboardingLabels, WidgetSuiteProps, WidgetSuiteSectionContentLabels, WidgetSuiteSectionTitleLabels, WidgetTokenFetcher, WidgetTokenManager, WidgetTokenRefreshProviderProps, WidgetTokenState };
package/dist/index.js CHANGED
@@ -24,10 +24,10 @@ import { INSIGHTS_FEATURE_LABELS_EN as P } from "./libs/tesouro-embedded-compone
24
24
  import { INSIGHTS_WIDGET_LABELS_EN as F } from "./libs/tesouro-embedded-components-react/insights-widget/ui/dist/lib/InsightsWidget/labels.js";
25
25
  import { SINGLE_INSIGHT_LABELS_EN as I } from "./libs/tesouro-embedded-components-react/insights-widget/ui/dist/lib/InsightsWidget/SingleInsight/labels.js";
26
26
  import { InsightsWidget as L } from "./libs/tesouro-embedded-components-react/insights-widget/feature/dist/index12.js";
27
- import { UploadReceiptWidget as R } from "./libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js";
28
- import { ExpenseManagementWidget as z } from "./libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index21.js";
27
+ import { UploadReceiptWidget as R } from "./libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index2.js";
28
+ import { ExpenseManagementWidget as z } from "./libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index19.js";
29
29
  import { InvoicingWidget as B } from "./libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index3.js";
30
- import { ReceivablesWidget as V } from "./libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index35.js";
30
+ import { ReceivablesWidget as V } from "./libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index36.js";
31
31
  import { SettingsSection as H } from "./libs/tesouro-embedded-components-react/settings-widget/feature/dist/index4.js";
32
32
  import { HELP_FAQ_EN as U } from "./libs/tesouro-embedded-components-react/settings-widget/help/ui/contract/dist/index3.js";
33
33
  import { SettingsWidget as W } from "./libs/tesouro-embedded-components-react/settings-widget/feature/dist/index6.js";
@@ -2,21 +2,6 @@ import * as React from 'react';
2
2
  import { ComponentType, AnchorHTMLAttributes, ReactNode, ErrorInfo } from 'react';
3
3
  import { FallbackProps } from 'react-error-boundary';
4
4
 
5
- /**
6
- * Mirrors the REST API's `ExpenseStatusEnum` (`new`, `approve_in_progress`,
7
- * `approved`, `rejected`, `canceled`). Kept as a local literal union rather
8
- * than importing the generated enum type: a `type:ui` library must not reach
9
- * into `rest/types.gen.ts`, only the caller (a feature layer) may, and then
10
- * pass the already-mapped display status down.
11
- */
12
- type ExpenseBadgeStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
13
-
14
- type ExpenseStatusBadgeLabels = Record<ExpenseBadgeStatus, string> & {
15
- unknown: string;
16
- readyToSubmit: string;
17
- missingInfo: string;
18
- };
19
-
20
5
  interface ExpensesHeaderLabels {
21
6
  bankingTaglinePrefix: string;
22
7
  settingsButtonAriaLabel: string;
@@ -67,6 +52,8 @@ interface Labels {
67
52
  requirementsTab: string;
68
53
  matchingTab: string;
69
54
  tabCountAriaSuffix: string;
55
+ /** Accessible name of the spinner shown while `isLoading`. */
56
+ loading: string;
70
57
  }
71
58
 
72
59
  interface FileViewerLabels {
@@ -118,6 +105,10 @@ interface TransactionDetailsActionsLabels {
118
105
  returnToExpenses: string;
119
106
  cancel: string;
120
107
  reject: string;
108
+ /**
109
+ * The primary-button pairs below are picked by the caller, which passes the
110
+ * finished string in `actions`; the footer never chooses between them.
111
+ */
121
112
  approve: string;
122
113
  approveReviewNext: string;
123
114
  confirmRejection: string;
@@ -482,6 +473,17 @@ type EmbeddedClient = Client;
482
473
  type ExtractLiterals<T> = T extends string ? string extends T ? never : T : never;
483
474
  type BaseUrl = ExtractLiterals<ClientOptions['baseUrl']>;
484
475
 
476
+ /**
477
+ * The statuses the widget displays: the REST `ExpenseStatusEnum` minus
478
+ * `deleted`, which `toExpenseDisplayStatus` folds into `canceled`.
479
+ */
480
+ type ExpenseDisplayStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
481
+ type ExpenseStatusBadgeLabels = Record<ExpenseDisplayStatus, string> & {
482
+ unknown: string;
483
+ readyToSubmit: string;
484
+ missingInfo: string;
485
+ };
486
+
485
487
  type LinkComponentProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
486
488
  children?: ReactNode;
487
489
  };
@@ -839,13 +841,12 @@ type ExpenseManagementWidgetProps = WidgetProviderProps & ExpenseManagementWidge
839
841
  * component, following the `WidgetProvider` "Feature Component Pattern" the
840
842
  * same way `CustomersWidgetNative` does. Uses no Monite provider.
841
843
  *
842
- * One legacy behavior is deliberately not replicated: team-tab visibility is
843
- * driven by `ExpenseReadOrg` alone rather than also probing for direct reports
844
- * (`hasDirectReports` in the legacy widget) — the probe existed only to widen
845
- * tab visibility for people-managers without org-wide read, a narrower cohort
846
- * this rebuild does not yet cover.
844
+ * Team tab visibility matches legacy: `ExpenseReadOrg`, or a direct-reports
845
+ * probe for people-managers without org-wide read. The Team list, its count
846
+ * and its Action Items share that one gate; the rows themselves are scoped by
847
+ * the backend (ADR-0003), never by ids the widget collects.
847
848
  */
848
849
  declare function ExpenseManagementWidget({ screenLabels, headerLabels, transactionsTableLabels, filterBarLabels, actionItemsLabels, statusBadgeLabels, transactionDetailsLabels, transactionDetailsCardLabels, transactionDetailsActionsLabels, fileViewerLabels, receiptUpload, bankDisplayName, bankLogoSrc, bankLogoAlt, isBankingTaglineVisible, onSettingsClick, ...widgetProviderProps }: ExpenseManagementWidgetProps): React.JSX.Element;
849
850
 
850
851
  export { ExpenseManagementWidget };
851
- export type { AccordionItemCardLabels, Labels as ExpenseManagementWidgetLabels, ExpenseManagementWidgetProps, FileViewerLabels, TransactionDetailsActionsLabels, TransactionDetailsLabels };
852
+ export type { AccordionItemCardLabels, Labels as ExpenseManagementWidgetLabels, ExpenseManagementWidgetProps, ExpenseStatusBadgeLabels, FileViewerLabels, TransactionDetailsActionsLabels, TransactionDetailsLabels };
@@ -1,3 +1,3 @@
1
- import { ExpenseManagementWidget as e } from "../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index21.js";
1
+ import { ExpenseManagementWidget as e } from "../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index19.js";
2
2
  import "../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js";
3
3
  export { e as ExpenseManagementWidget };
@@ -668,6 +668,47 @@ interface WidgetProviderProps extends WidgetProviderBaseProps {
668
668
  declare const DOCUMENT_KINDS: readonly ["invoice", "quote", "credit_note"];
669
669
  type ReceivableDocumentKind = (typeof DOCUMENT_KINDS)[number];
670
670
 
671
+ /** Copy every audit-history formatter needs to name who acted on a row. */
672
+ interface AuditHistoryActorLabels {
673
+ /** A template so locales own the wording/order, e.g. "Invoice created by Jane Doe". */
674
+ byActor: (title: string, actorName: string) => string;
675
+ }
676
+ /**
677
+ * Copy and formatting the caller owns, so the Monite panel can back this with
678
+ * lingui and the native widget with its labels.ts.
679
+ */
680
+ interface ReceivableAuditHistoryLabels extends AuditHistoryActorLabels {
681
+ dateLabel: (isoDateTime: string) => string;
682
+ timeLabel: (isoDateTime: string) => string;
683
+ /** The noun for a document kind; `unknown` is a kind the payload named that we do not have. */
684
+ documentTypeLabel: (kind: ReceivableDocumentKind | 'unknown') => string;
685
+ /** The display name of a status, with a fallback for values we do not know. */
686
+ statusLabel: (status: string) => string;
687
+ formatAmount: (minorUnits: number, currency: string) => string;
688
+ created: (documentTypeLabel: string) => string;
689
+ recurringSeriesCreated: string;
690
+ duplicatedFrom: (documentNumber: string) => string;
691
+ documentUpdated: string;
692
+ statusUpdated: string;
693
+ changedTo: (statusLabel: string) => string;
694
+ /** The sheet words a quote reaching `expired` on its own, not as "Changed to". */
695
+ quoteExpired: string;
696
+ paymentReceived: string;
697
+ received: (amountLabel: string) => string;
698
+ /** Used when the event names nobody, e.g. a send recorded before addresses were kept. */
699
+ sentToCustomer: (documentTypeLabel: string) => string;
700
+ /** `recipients` is already a joined, display-ready list of addresses. */
701
+ sentToRecipients: (documentTypeLabel: string, recipients: string) => string;
702
+ /** A send the API recorded as failed: no address is claimed to have received it. */
703
+ sendFailed: (documentTypeLabel: string) => string;
704
+ paymentReminderSent: string;
705
+ overdueReminderSent: string;
706
+ /** `days` is 0 on the due date itself. */
707
+ dueInDays: (days: number) => string;
708
+ daysOverdue: (days: number) => string;
709
+ draftDeleted: string;
710
+ }
711
+
671
712
  interface AddressFieldGroupLabels {
672
713
  line1: string;
673
714
  line2: string;
@@ -1092,7 +1133,20 @@ interface ReceivableDetailsPanelLabels {
1092
1133
  paymentHistoryEmpty: string;
1093
1134
  paymentHistoryTotalLabel: string;
1094
1135
  customerDetailsHeading: string;
1095
- recurrenceHeading: string;
1136
+ recurringAmountCaption: string;
1137
+ startsOnCaption: string;
1138
+ endsOnCaption: string;
1139
+ recurringSeriesRowLabel: string;
1140
+ scheduleIssueDateColumn: string;
1141
+ scheduleAmountColumn: string;
1142
+ scheduleStatusColumn: string;
1143
+ scheduleNumberColumn: string;
1144
+ scheduleEmpty: string;
1145
+ auditHistoryHeading: string;
1146
+ auditHistoryEmpty: string;
1147
+ auditHistoryLoading: string;
1148
+ auditHistoryError: string;
1149
+ auditHistoryNamesError: string;
1096
1150
  billingHeading: string;
1097
1151
  lineItemsHeading: string;
1098
1152
  notesHeading: string;
@@ -1116,6 +1170,9 @@ interface ReceivableDetailsPanelLabels {
1116
1170
  cancelButton: string;
1117
1171
  cloneButton: string;
1118
1172
  deleteButton: string;
1173
+ pauseRecurrenceButton: string;
1174
+ resumeRecurrenceButton: string;
1175
+ cancelRecurrenceButton: string;
1119
1176
  recurringBadge: string;
1120
1177
  }
1121
1178
  type ReceivableDetailsPanelLabelOverrides = Partial<ReceivableDetailsPanelLabels>;
@@ -1221,6 +1278,36 @@ interface ReceivableMessageLabels {
1221
1278
  detailsRemindersBefore: string;
1222
1279
  detailsRemindersAfter: string;
1223
1280
  detailsRemindersNone: string;
1281
+ detailsFrequency: string;
1282
+ detailsFrequencyDay: string;
1283
+ detailsFrequencyWeek: string;
1284
+ detailsFrequencyMonth: string;
1285
+ detailsFrequencyQuarter: string;
1286
+ detailsFrequencyYear: string;
1287
+ detailsPeriodDay: string;
1288
+ detailsPeriodWeek: string;
1289
+ detailsPeriodMonth: string;
1290
+ detailsPeriodQuarter: string;
1291
+ detailsPeriodYear: string;
1292
+ /** `{name}` and `{frequency}` are replaced, e.g. "Acme - Monthly". */
1293
+ detailsSeriesTitle: string;
1294
+ detailsSeriesSubtitle: string;
1295
+ /** `{frequency}` is replaced, e.g. "Monthly schedule". */
1296
+ detailsScheduleTitle: string;
1297
+ /** `{title}` is replaced with the series title. */
1298
+ detailsSeriesBack: string;
1299
+ /** `{number}` is replaced with the invoice number. */
1300
+ detailsScheduleOpenInvoice: string;
1301
+ detailsSeriesStatusActive: string;
1302
+ detailsSeriesStatusPaused: string;
1303
+ detailsSeriesStatusCanceled: string;
1304
+ detailsSeriesStatusCompleted: string;
1305
+ detailsIterationStatusPending: string;
1306
+ detailsIterationStatusSkipped: string;
1307
+ detailsIterationStatusCanceled: string;
1308
+ detailsIterationStatusIssueFailed: string;
1309
+ detailsIterationStatusSendFailed: string;
1310
+ detailsIterationStatusCompleted: string;
1224
1311
  sendSubjectDefault: string;
1225
1312
  sendBodyDefault: string;
1226
1313
  issueTitle: string;
@@ -1247,6 +1334,19 @@ interface ReceivableMessageLabels {
1247
1334
  markUncollectibleTitle: string;
1248
1335
  markUncollectibleDescription: string;
1249
1336
  markUncollectibleConfirm: string;
1337
+ cancelRecurrenceTitle: string;
1338
+ cancelRecurrenceQuestion: string;
1339
+ cancelRecurrenceFutureIterations: string;
1340
+ /** `{count}`, `{invoices}` and `{amount}` are replaced. */
1341
+ cancelRecurrenceTotal: string;
1342
+ cancelRecurrenceInvoice: string;
1343
+ cancelRecurrenceInvoices: string;
1344
+ cancelRecurrenceIrreversible: string;
1345
+ cancelRecurrenceConfirm: string;
1346
+ cancelRecurrenceClose: string;
1347
+ recurrencePaused: string;
1348
+ recurrenceResumed: string;
1349
+ recurrenceCanceled: string;
1250
1350
  attachmentsEmailCaption: string;
1251
1351
  attachmentsRecurringEmailCaption: string;
1252
1352
  attachmentIncludeInEmail: string;
@@ -1422,6 +1522,7 @@ interface ReceivablesWidgetOwnProps {
1422
1522
  screenLabels?: ReceivablesScreenLabelOverrides;
1423
1523
  formLabels?: Partial<ReceivableFormSheetLabels>;
1424
1524
  detailsLabels?: ReceivableDetailsPanelLabelOverrides;
1525
+ auditHistoryLabels?: Partial<ReceivableAuditHistoryLabels>;
1425
1526
  sendLabels?: Partial<ReceivableSendDialogLabels>;
1426
1527
  paymentLabels?: Partial<ReceivablePaymentDialogLabels>;
1427
1528
  actionLabels?: Partial<ReceivableActionDialogLabels>;
@@ -1433,9 +1534,10 @@ interface ReceivablesWidgetOwnProps {
1433
1534
  productMessageLabels?: Partial<ProductMessageLabels>;
1434
1535
  counterpartMessageLabels?: Partial<CounterpartMessageLabels>;
1435
1536
  }
1537
+
1436
1538
  type ReceivablesWidgetProps = WidgetProviderProps & ReceivablesWidgetOwnProps;
1437
1539
 
1438
1540
  declare function ReceivablesWidget({ baseUrl, widgetToken, organizationId, configClient, gatewayRouting, linkComponent, implementation, uiFramework, errorFallback, onError, analytics, disclosuresAcceptance, providerLabels, ...innerProps }: ReceivablesWidgetProps): React.JSX.Element;
1439
1541
 
1440
1542
  export { ReceivablesWidget };
1441
- export type { CounterpartFormSheetLabels, CounterpartMessageLabels, MeasureUnitDeleteDialogLabels, MeasureUnitsManagerLabels, ProductFormSheetLabels, ProductMessageLabels, ReceivableActionDialogLabels, ReceivableActionsModalLabels, ReceivableDetailsPanelLabelOverrides, ReceivableDetailsPanelLabels, ReceivableDocumentType, ReceivableFormSheetLabels, ReceivableMessageLabels, ReceivablePaymentDialogLabels, ReceivableSendDialogLabels, ReceivableStatusBadgeLabels, ReceivablesScreenLabelOverrides, ReceivablesScreenLabels, ReceivablesWidgetProps, ReceivablesWidgetTab };
1543
+ export type { CounterpartFormSheetLabels, CounterpartMessageLabels, MeasureUnitDeleteDialogLabels, MeasureUnitsManagerLabels, ProductFormSheetLabels, ProductMessageLabels, ReceivableActionDialogLabels, ReceivableActionsModalLabels, ReceivableAuditHistoryLabels, ReceivableDetailsPanelLabelOverrides, ReceivableDetailsPanelLabels, ReceivableDocumentType, ReceivableFormSheetLabels, ReceivableMessageLabels, ReceivablePaymentDialogLabels, ReceivableSendDialogLabels, ReceivableStatusBadgeLabels, ReceivablesScreenLabelOverrides, ReceivablesScreenLabels, ReceivablesWidgetProps, ReceivablesWidgetTab };
@@ -1,3 +1,3 @@
1
- import { ReceivablesWidget as e } from "../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index35.js";
1
+ import { ReceivablesWidget as e } from "../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index36.js";
2
2
  import "../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js";
3
3
  export { e as ReceivablesWidget };
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import * as react from 'react';
2
2
 
3
3
  /**
4
4
  * Aggregate outcome of a receipt batch after the backend finishes OCR and
@@ -23,7 +23,7 @@ interface UploadReceiptWidgetProps {
23
23
  onAwaitMatching?: (uploadedCount: number) => Promise<ReceiptMatchSummary>;
24
24
  isUploading?: boolean;
25
25
  }
26
- declare function UploadReceiptWidget({ emailAddress, onFileUpload, onAwaitMatching, isUploading, }: UploadReceiptWidgetProps): React.JSX.Element;
26
+ declare function UploadReceiptWidget({ emailAddress, onFileUpload, onAwaitMatching, isUploading, }: UploadReceiptWidgetProps): react.JSX.Element;
27
27
 
28
28
  export { UploadReceiptWidget };
29
29
  export type { ReceiptMatchSummary, UploadReceiptWidgetProps };
@@ -1,3 +1,3 @@
1
- import { UploadReceiptWidget as e } from "../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js";
2
- import "../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js";
1
+ import { UploadReceiptWidget as e } from "../libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index2.js";
2
+ import "../libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index.js";
3
3
  export { e as UploadReceiptWidget };
@@ -2129,21 +2129,6 @@ type CreditCardsWidgetProps = Omit<CardsWidgetProps, 'cardProgram' | 'cardArtSrc
2129
2129
  */
2130
2130
  type DebitCardsWidgetProps = Omit<CardsWidgetProps, 'cardProgram'>;
2131
2131
 
2132
- /**
2133
- * Mirrors the REST API's `ExpenseStatusEnum` (`new`, `approve_in_progress`,
2134
- * `approved`, `rejected`, `canceled`). Kept as a local literal union rather
2135
- * than importing the generated enum type: a `type:ui` library must not reach
2136
- * into `rest/types.gen.ts`, only the caller (a feature layer) may, and then
2137
- * pass the already-mapped display status down.
2138
- */
2139
- type ExpenseBadgeStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
2140
-
2141
- type ExpenseStatusBadgeLabels = Record<ExpenseBadgeStatus, string> & {
2142
- unknown: string;
2143
- readyToSubmit: string;
2144
- missingInfo: string;
2145
- };
2146
-
2147
2132
  interface ExpensesHeaderLabels {
2148
2133
  bankingTaglinePrefix: string;
2149
2134
  settingsButtonAriaLabel: string;
@@ -2194,6 +2179,8 @@ interface Labels$2 {
2194
2179
  requirementsTab: string;
2195
2180
  matchingTab: string;
2196
2181
  tabCountAriaSuffix: string;
2182
+ /** Accessible name of the spinner shown while `isLoading`. */
2183
+ loading: string;
2197
2184
  }
2198
2185
 
2199
2186
  interface FileViewerLabels {
@@ -2245,6 +2232,10 @@ interface TransactionDetailsActionsLabels {
2245
2232
  returnToExpenses: string;
2246
2233
  cancel: string;
2247
2234
  reject: string;
2235
+ /**
2236
+ * The primary-button pairs below are picked by the caller, which passes the
2237
+ * finished string in `actions`; the footer never chooses between them.
2238
+ */
2248
2239
  approve: string;
2249
2240
  approveReviewNext: string;
2250
2241
  confirmRejection: string;
@@ -2280,6 +2271,17 @@ interface TransactionDetailsLabels {
2280
2271
  loadFailed: string;
2281
2272
  }
2282
2273
 
2274
+ /**
2275
+ * The statuses the widget displays: the REST `ExpenseStatusEnum` minus
2276
+ * `deleted`, which `toExpenseDisplayStatus` folds into `canceled`.
2277
+ */
2278
+ type ExpenseDisplayStatus = 'new' | 'approve_in_progress' | 'approved' | 'rejected' | 'canceled';
2279
+ type ExpenseStatusBadgeLabels = Record<ExpenseDisplayStatus, string> & {
2280
+ unknown: string;
2281
+ readyToSubmit: string;
2282
+ missingInfo: string;
2283
+ };
2284
+
2283
2285
  /**
2284
2286
  * Aggregate outcome of a receipt batch after the backend finishes OCR and
2285
2287
  * auto-matching. `stillProcessing` counts receipts that never reached a terminal