@tesouro/embedded-components-react 0.5.232 → 0.5.235

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 (24) hide show
  1. package/README.md +16 -14
  2. package/dist/index.d.ts +66 -15
  3. package/dist/lib/BankAccountOnboardingWidget.d.ts +39 -1
  4. package/dist/lib/ReceivablesWidget.d.ts +1 -0
  5. package/dist/lib/WidgetSuite.d.ts +65 -15
  6. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index.js +3 -2
  7. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index12.js +2 -1
  8. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index22.js +6 -0
  9. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index23.js +15 -11
  10. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index26.js +441 -409
  11. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/ui/dist/index10.js +18 -14
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +6 -3
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +26 -30
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +4 -2
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +1 -1
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +13 -13
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +4 -1
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +1 -0
  19. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +35 -35
  20. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/clientRegistry.js +6 -3
  21. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  22. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index16.js +123 -92
  23. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index4.js +12 -5
  24. package/package.json +1 -1
package/README.md CHANGED
@@ -452,20 +452,22 @@ Walks an applicant through bank-account onboarding: business details, personal d
452
452
 
453
453
  #### Props
454
454
 
455
- | Prop | Type | Default | Description |
456
- | ------------------------------------------- | ---------------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
457
- | `onEmbeddedOnboardingCompletedSuccessfully` | `() => void` | **Required** | Called when the application is approved and the account is open. |
458
- | `onNavigateToDashboard` | `() => void` | **Required** | Called when the user clicks the dashboard CTA on the result screen. |
459
- | `initialBusinessDetails` | `Partial<HostSupplied<BusinessDetailsValues>>` | `undefined` | Prefills step 1 (business details); the user can still edit. |
460
- | `initialPersonalDetails` | `Partial<HostSupplied<PersonalDetailsValues>>` | `undefined` | Prefills step 2 (personal details); the user can still edit. |
461
- | `initialAdditionalOwners` | `HostSuppliedOwner[]` | `[]` | Prefills step 3 (additional owners). |
462
- | `open` | `boolean` | `undefined` | Controlled open state for the modal; update it from `onOpenChange`. Omit for uncontrolled mode. |
463
- | `defaultOpen` | `boolean` | `false` | Initial open state when uncontrolled. Ignored when `open` is set. |
464
- | `onOpenChange` | `(open: boolean) => void` | `undefined` | Fires whenever the modal opens or closes (overlay click, Escape, close button, Cancel, save or delete). |
465
- | `labels` | `BankAccountOnboardingWidgetLabels` | English labels | Per-step and shell copy overrides, merged with the English defaults. |
466
- | `bankLogoSrc` | `string` | `undefined` | Bank logo URL for the result screen; falls back to the bank name as text. |
467
- | `disclosureLinks` | `DisclosureLinks` | `undefined` | URLs for Terms of Use, Privacy Policy, Electronic Communication and Patriot Act on step 1. You resolve these; omit to leave unset. |
468
- | `isFullScreenInline` | `boolean` | `false` | Renders inline, filling its container, instead of in a modal. `open` / `defaultOpen` are ignored. |
455
+ | Prop | Type | Default | Description |
456
+ | ------------------------------------------- | ---------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
457
+ | `onEmbeddedOnboardingCompletedSuccessfully` | `() => void` | **Required** | Called when the application is approved and the account is open. |
458
+ | `onNavigateToDashboard` | `() => void` | **Required** | Called when the user clicks the dashboard CTA on the result screen. |
459
+ | `initialBusinessDetails` | `Partial<HostSupplied<BusinessDetailsValues>>` | `undefined` | Prefills step 1 (business details); the user can still edit. |
460
+ | `initialPersonalDetails` | `Partial<HostSupplied<PersonalDetailsValues>>` | `undefined` | Prefills step 2 (personal details); the user can still edit. |
461
+ | `initialAdditionalOwners` | `HostSuppliedOwner[]` | `[]` | Prefills step 3 (additional owners). |
462
+ | `open` | `boolean` | `undefined` | Controlled open state for the modal; update it from `onOpenChange`. Omit for uncontrolled mode. |
463
+ | `defaultOpen` | `boolean` | `false` | Initial open state when uncontrolled. Ignored when `open` is set. |
464
+ | `onOpenChange` | `(open: boolean) => void` | `undefined` | Fires whenever the modal opens or closes (overlay click, Escape, close button, Cancel, save or delete). |
465
+ | `labels` | `BankAccountOnboardingWidgetLabels` | English labels | Per-step and shell copy overrides, merged with the English defaults. |
466
+ | `bankLogoSrc` | `string` | `undefined` | Bank logo URL for the result screen; falls back to the bank name as text. |
467
+ | `disclosureLinks` | `DisclosureLinks` | `undefined` | URLs for Terms of Use, Privacy Policy, Electronic Communication and Patriot Act on step 1. You resolve these; omit to leave unset. |
468
+ | `isFullScreenInline` | `boolean` | `false` | Renders inline, filling its container, instead of in a modal. `open` / `defaultOpen` are ignored. |
469
+ | `showApplicationStatusRefresh` | `boolean` | `false` | Adds a **Check again** button to the application status card that re-reads the organization's application. Never shown over the form or result screens. |
470
+ | `onResultPhaseChange` | `(isInResultPhase: boolean) => void` | `undefined` | Called with `true` once the widget starts processing a submitted application, and with `false` if it unmounts after that. While `true` it keeps its processing or result screen up whatever the status read says, so leave it mounted. |
469
471
 
470
472
  ### MarketingWidget
471
473
 
package/dist/index.d.ts CHANGED
@@ -1869,6 +1869,11 @@ interface ApplicationStatusLabels {
1869
1869
  bankDisclosure: string;
1870
1870
  /** Screen-reader name of the dialog's close control, in modal mode. */
1871
1871
  close: string;
1872
+ /**
1873
+ * The re-check control under the card, shown only when the host opts in with
1874
+ * `showApplicationStatusRefresh`.
1875
+ */
1876
+ checkAgain: string;
1872
1877
  /**
1873
1878
  * Formats an application date (an ISO date-time from the status read). A
1874
1879
  * label, not a hardcoded formatter, so a host can localize it with the copy.
@@ -1879,6 +1884,12 @@ interface ApplicationStatusLabels {
1879
1884
  submittedByOther: ApplicationStatusNoticeLabels;
1880
1885
  deniedByYou: ApplicationStatusNoticeLabels;
1881
1886
  deniedByOther: ApplicationStatusNoticeLabels;
1887
+ /**
1888
+ * Shown when a re-check moves a card to a status this widget has nothing to
1889
+ * say about (one added after it shipped, say), so the
1890
+ * re-check control still has somewhere to live.
1891
+ */
1892
+ unavailable: ApplicationStatusNoticeLabels;
1882
1893
  }
1883
1894
  declare const APPLICATION_STATUS_LABELS_EN: ApplicationStatusLabels;
1884
1895
  interface BankAccountOnboardingWidgetLabels {
@@ -1976,6 +1987,12 @@ interface BankAccountOnboardingWidgetInnerProps {
1976
1987
  * scope can start a fresh one. Set by the session scope, not by hosts.
1977
1988
  */
1978
1989
  onApplicationDeleted?: () => void;
1990
+ /**
1991
+ * Called when a re-read of the status replaces a status card with the
1992
+ * form, so the session scope can re-take the resume decision it froze while
1993
+ * the card was showing. Set by the session scope, not by hosts.
1994
+ */
1995
+ onNoticeReplacedByForm?: () => void;
1979
1996
  bankLogoSrc?: string;
1980
1997
  /**
1981
1998
  * Host-resolved disclosure URLs for the business-details agreement step.
@@ -2009,8 +2026,29 @@ interface BankAccountOnboardingWidgetInnerProps {
2009
2026
  * to them (e.g. by unmounting the widget).
2010
2027
  */
2011
2028
  isFullScreenInline?: boolean;
2029
+ /**
2030
+ * Puts a "Check again" control under the application status card, which
2031
+ * re-reads the organization's application.
2032
+ *
2033
+ * The widget providers disable `refetchOnWindowFocus`, so without it a
2034
+ * session looking at a colleague's application has no way to see that
2035
+ * colleague finish short of a reload. Opt-in because a host with its own
2036
+ * refresh affordance (or one that remounts the widget) would get two. The
2037
+ * control renders only with the card, never over the form or the widget's
2038
+ * own processing and result screens.
2039
+ */
2040
+ showApplicationStatusRefresh?: boolean;
2041
+ /**
2042
+ * Called with `true` when the widget starts processing a submitted
2043
+ * application, and with `false` if it unmounts after that. In between, the
2044
+ * widget keeps its processing or result screen up whatever the status read
2045
+ * says, so a host that would otherwise replace the widget on a status change
2046
+ * (as `WidgetSuite` does when the widget would render nothing) should leave
2047
+ * it mounted while this is `true`.
2048
+ */
2049
+ onResultPhaseChange?: (isInResultPhase: boolean) => void;
2012
2050
  }
2013
- type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted'> & {
2051
+ type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted' | 'onNoticeReplacedByForm'> & {
2014
2052
  initialBusinessDetails?: Partial<HostSupplied<BusinessDetailsValues>>;
2015
2053
  initialPersonalDetails?: Partial<HostSupplied<PersonalDetailsValues>>;
2016
2054
  initialAdditionalOwners?: HostSuppliedOwner[];
@@ -3790,30 +3828,41 @@ interface WidgetSuiteDisclosureLabels {
3790
3828
  };
3791
3829
  }
3792
3830
  /**
3793
- * Copy for the suite's entry-point gate — which of onboarding, the "ask your
3794
- * admin" message, or the normal suite a fresh (non-invited) session sees
3831
+ * Copy for the suite's entry-point gate — which of onboarding, the
3832
+ * unavailable state, or the normal suite a fresh (non-invited) session sees
3795
3833
  * before the menu ever renders. Sibling to `disclosure`, which covers the
3796
- * acceptance half of that same gate; only the admin-message state needs copy
3797
- * here, since the onboarding widget and the normal shell carry their own.
3834
+ * acceptance half of that same gate; only the unavailable state needs copy
3835
+ * here, since the onboarding widget (form and status card alike) and the
3836
+ * normal shell carry their own.
3798
3837
  */
3799
3838
  interface WidgetSuiteOnboardingGateLabels {
3800
3839
  /**
3801
3840
  * Shown instead of the onboarding widget when the organization's
3802
- * bank-account application is already in progress under a different
3803
- * member. The backend allows one application per organization, so this
3804
- * session can neither start nor resume one — only that colleague, or an
3805
- * org admin, can move it forward.
3841
+ * bank-account application is one the widget renders nothing for: denied
3842
+ * more than 30 days ago, or in a status it has no copy for. Without it the
3843
+ * page would be blank.
3806
3844
  */
3807
- applicationInFlightState: {
3845
+ applicationUnavailableState: {
3808
3846
  title: string;
3809
3847
  body: string;
3810
3848
  /**
3811
3849
  * The widget providers disable `refetchOnWindowFocus`, so nothing else
3812
- * re-checks whether that colleague has since finished — this button is
3813
- * the only way forward short of a reload.
3850
+ * re-reads the status — this button is the only way forward short of a
3851
+ * reload.
3814
3852
  */
3815
3853
  retryButton: string;
3816
3854
  };
3855
+ /**
3856
+ * @deprecated Ignored since EMBD-6416. A colleague's application now shows
3857
+ * the onboarding widget's status card, whose copy is under
3858
+ * `onboarding.labels.applicationStatus`. Kept so an existing override still
3859
+ * compiles; it will be removed in a future major version.
3860
+ */
3861
+ applicationInFlightState: {
3862
+ title: string;
3863
+ body: string;
3864
+ retryButton: string;
3865
+ };
3817
3866
  }
3818
3867
  /**
3819
3868
  * A widget's whole copy surface: every label prop it accepts, spread onto it so
@@ -4020,9 +4069,10 @@ interface WidgetSuiteProps extends WidgetProviderProps {
4020
4069
  * before the shell renders: placeholders while either has not settled, a
4021
4070
  * closed retry state when init fails before answering the disclosure flags,
4022
4071
  * the acceptance surface alone when the session owes the bank's disclosures,
4023
- * full-screen onboarding for a session whose organization has no application
4024
- * yet, an "ask your admin" message when a teammate's is already in flight, or
4025
- * the nav over its sections. An invited session, or one this init already
4072
+ * full-screen onboarding for a prospect session (the form, or the widget's
4073
+ * status card for an application already under way), a closed "check again"
4074
+ * state for an application the widget has nothing to show for, or the nav
4075
+ * over its sections. An invited session, or one this init already
4026
4076
  * reports ACTIVE/INACTIVE, skips the application question entirely and goes
4027
4077
  * straight to the disclosure gate — which also means neither a failed
4028
4078
  * status read nor a teammate's in-flight application can blank the suite for
@@ -5073,6 +5123,7 @@ interface ReceivableDetailsPanelLabels {
5073
5123
  paymentHistoryHeading: string;
5074
5124
  paymentHistoryEmpty: string;
5075
5125
  paymentHistoryTotalLabel: string;
5126
+ paymentHistoryLoading: string;
5076
5127
  customerDetailsHeading: string;
5077
5128
  recurringAmountCaption: string;
5078
5129
  startsOnCaption: string;
@@ -981,6 +981,11 @@ interface ApplicationStatusLabels {
981
981
  bankDisclosure: string;
982
982
  /** Screen-reader name of the dialog's close control, in modal mode. */
983
983
  close: string;
984
+ /**
985
+ * The re-check control under the card, shown only when the host opts in with
986
+ * `showApplicationStatusRefresh`.
987
+ */
988
+ checkAgain: string;
984
989
  /**
985
990
  * Formats an application date (an ISO date-time from the status read). A
986
991
  * label, not a hardcoded formatter, so a host can localize it with the copy.
@@ -991,6 +996,12 @@ interface ApplicationStatusLabels {
991
996
  submittedByOther: ApplicationStatusNoticeLabels;
992
997
  deniedByYou: ApplicationStatusNoticeLabels;
993
998
  deniedByOther: ApplicationStatusNoticeLabels;
999
+ /**
1000
+ * Shown when a re-check moves a card to a status this widget has nothing to
1001
+ * say about (one added after it shipped, say), so the
1002
+ * re-check control still has somewhere to live.
1003
+ */
1004
+ unavailable: ApplicationStatusNoticeLabels;
994
1005
  }
995
1006
  declare const APPLICATION_STATUS_LABELS_EN: ApplicationStatusLabels;
996
1007
  interface BankAccountOnboardingWidgetLabels {
@@ -1088,6 +1099,12 @@ interface BankAccountOnboardingWidgetInnerProps {
1088
1099
  * scope can start a fresh one. Set by the session scope, not by hosts.
1089
1100
  */
1090
1101
  onApplicationDeleted?: () => void;
1102
+ /**
1103
+ * Called when a re-read of the status replaces a status card with the
1104
+ * form, so the session scope can re-take the resume decision it froze while
1105
+ * the card was showing. Set by the session scope, not by hosts.
1106
+ */
1107
+ onNoticeReplacedByForm?: () => void;
1091
1108
  bankLogoSrc?: string;
1092
1109
  /**
1093
1110
  * Host-resolved disclosure URLs for the business-details agreement step.
@@ -1121,8 +1138,29 @@ interface BankAccountOnboardingWidgetInnerProps {
1121
1138
  * to them (e.g. by unmounting the widget).
1122
1139
  */
1123
1140
  isFullScreenInline?: boolean;
1141
+ /**
1142
+ * Puts a "Check again" control under the application status card, which
1143
+ * re-reads the organization's application.
1144
+ *
1145
+ * The widget providers disable `refetchOnWindowFocus`, so without it a
1146
+ * session looking at a colleague's application has no way to see that
1147
+ * colleague finish short of a reload. Opt-in because a host with its own
1148
+ * refresh affordance (or one that remounts the widget) would get two. The
1149
+ * control renders only with the card, never over the form or the widget's
1150
+ * own processing and result screens.
1151
+ */
1152
+ showApplicationStatusRefresh?: boolean;
1153
+ /**
1154
+ * Called with `true` when the widget starts processing a submitted
1155
+ * application, and with `false` if it unmounts after that. In between, the
1156
+ * widget keeps its processing or result screen up whatever the status read
1157
+ * says, so a host that would otherwise replace the widget on a status change
1158
+ * (as `WidgetSuite` does when the widget would render nothing) should leave
1159
+ * it mounted while this is `true`.
1160
+ */
1161
+ onResultPhaseChange?: (isInResultPhase: boolean) => void;
1124
1162
  }
1125
- type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted'> & {
1163
+ type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted' | 'onNoticeReplacedByForm'> & {
1126
1164
  initialBusinessDetails?: Partial<HostSupplied<BusinessDetailsValues>>;
1127
1165
  initialPersonalDetails?: Partial<HostSupplied<PersonalDetailsValues>>;
1128
1166
  initialAdditionalOwners?: HostSuppliedOwner[];
@@ -1132,6 +1132,7 @@ interface ReceivableDetailsPanelLabels {
1132
1132
  paymentHistoryHeading: string;
1133
1133
  paymentHistoryEmpty: string;
1134
1134
  paymentHistoryTotalLabel: string;
1135
+ paymentHistoryLoading: string;
1135
1136
  customerDetailsHeading: string;
1136
1137
  recurringAmountCaption: string;
1137
1138
  startsOnCaption: string;
@@ -1031,6 +1031,11 @@ interface ApplicationStatusLabels {
1031
1031
  bankDisclosure: string;
1032
1032
  /** Screen-reader name of the dialog's close control, in modal mode. */
1033
1033
  close: string;
1034
+ /**
1035
+ * The re-check control under the card, shown only when the host opts in with
1036
+ * `showApplicationStatusRefresh`.
1037
+ */
1038
+ checkAgain: string;
1034
1039
  /**
1035
1040
  * Formats an application date (an ISO date-time from the status read). A
1036
1041
  * label, not a hardcoded formatter, so a host can localize it with the copy.
@@ -1041,6 +1046,12 @@ interface ApplicationStatusLabels {
1041
1046
  submittedByOther: ApplicationStatusNoticeLabels;
1042
1047
  deniedByYou: ApplicationStatusNoticeLabels;
1043
1048
  deniedByOther: ApplicationStatusNoticeLabels;
1049
+ /**
1050
+ * Shown when a re-check moves a card to a status this widget has nothing to
1051
+ * say about (one added after it shipped, say), so the
1052
+ * re-check control still has somewhere to live.
1053
+ */
1054
+ unavailable: ApplicationStatusNoticeLabels;
1044
1055
  }
1045
1056
  interface BankAccountOnboardingWidgetLabels {
1046
1057
  stepIndicator: {
@@ -1137,6 +1148,12 @@ interface BankAccountOnboardingWidgetInnerProps {
1137
1148
  * scope can start a fresh one. Set by the session scope, not by hosts.
1138
1149
  */
1139
1150
  onApplicationDeleted?: () => void;
1151
+ /**
1152
+ * Called when a re-read of the status replaces a status card with the
1153
+ * form, so the session scope can re-take the resume decision it froze while
1154
+ * the card was showing. Set by the session scope, not by hosts.
1155
+ */
1156
+ onNoticeReplacedByForm?: () => void;
1140
1157
  bankLogoSrc?: string;
1141
1158
  /**
1142
1159
  * Host-resolved disclosure URLs for the business-details agreement step.
@@ -1170,8 +1187,29 @@ interface BankAccountOnboardingWidgetInnerProps {
1170
1187
  * to them (e.g. by unmounting the widget).
1171
1188
  */
1172
1189
  isFullScreenInline?: boolean;
1190
+ /**
1191
+ * Puts a "Check again" control under the application status card, which
1192
+ * re-reads the organization's application.
1193
+ *
1194
+ * The widget providers disable `refetchOnWindowFocus`, so without it a
1195
+ * session looking at a colleague's application has no way to see that
1196
+ * colleague finish short of a reload. Opt-in because a host with its own
1197
+ * refresh affordance (or one that remounts the widget) would get two. The
1198
+ * control renders only with the card, never over the form or the widget's
1199
+ * own processing and result screens.
1200
+ */
1201
+ showApplicationStatusRefresh?: boolean;
1202
+ /**
1203
+ * Called with `true` when the widget starts processing a submitted
1204
+ * application, and with `false` if it unmounts after that. In between, the
1205
+ * widget keeps its processing or result screen up whatever the status read
1206
+ * says, so a host that would otherwise replace the widget on a status change
1207
+ * (as `WidgetSuite` does when the widget would render nothing) should leave
1208
+ * it mounted while this is `true`.
1209
+ */
1210
+ onResultPhaseChange?: (isInResultPhase: boolean) => void;
1173
1211
  }
1174
- type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted'> & {
1212
+ type BankAccountOnboardingWidgetProps = WidgetProviderProps & Omit<BankAccountOnboardingWidgetInnerProps, 'initialApplicationId' | 'initialBoundAuthEpoch' | 'initialBusinessDetails' | 'initialPersonalDetails' | 'initialAdditionalOwners' | 'onEditableDraftChange' | 'onApplicationDeleted' | 'onNoticeReplacedByForm'> & {
1175
1213
  initialBusinessDetails?: Partial<HostSupplied<BusinessDetailsValues>>;
1176
1214
  initialPersonalDetails?: Partial<HostSupplied<PersonalDetailsValues>>;
1177
1215
  initialAdditionalOwners?: HostSuppliedOwner[];
@@ -2868,30 +2906,41 @@ interface WidgetSuiteDisclosureLabels {
2868
2906
  };
2869
2907
  }
2870
2908
  /**
2871
- * Copy for the suite's entry-point gate — which of onboarding, the "ask your
2872
- * admin" message, or the normal suite a fresh (non-invited) session sees
2909
+ * Copy for the suite's entry-point gate — which of onboarding, the
2910
+ * unavailable state, or the normal suite a fresh (non-invited) session sees
2873
2911
  * before the menu ever renders. Sibling to `disclosure`, which covers the
2874
- * acceptance half of that same gate; only the admin-message state needs copy
2875
- * here, since the onboarding widget and the normal shell carry their own.
2912
+ * acceptance half of that same gate; only the unavailable state needs copy
2913
+ * here, since the onboarding widget (form and status card alike) and the
2914
+ * normal shell carry their own.
2876
2915
  */
2877
2916
  interface WidgetSuiteOnboardingGateLabels {
2878
2917
  /**
2879
2918
  * Shown instead of the onboarding widget when the organization's
2880
- * bank-account application is already in progress under a different
2881
- * member. The backend allows one application per organization, so this
2882
- * session can neither start nor resume one — only that colleague, or an
2883
- * org admin, can move it forward.
2919
+ * bank-account application is one the widget renders nothing for: denied
2920
+ * more than 30 days ago, or in a status it has no copy for. Without it the
2921
+ * page would be blank.
2884
2922
  */
2885
- applicationInFlightState: {
2923
+ applicationUnavailableState: {
2886
2924
  title: string;
2887
2925
  body: string;
2888
2926
  /**
2889
2927
  * The widget providers disable `refetchOnWindowFocus`, so nothing else
2890
- * re-checks whether that colleague has since finished — this button is
2891
- * the only way forward short of a reload.
2928
+ * re-reads the status — this button is the only way forward short of a
2929
+ * reload.
2892
2930
  */
2893
2931
  retryButton: string;
2894
2932
  };
2933
+ /**
2934
+ * @deprecated Ignored since EMBD-6416. A colleague's application now shows
2935
+ * the onboarding widget's status card, whose copy is under
2936
+ * `onboarding.labels.applicationStatus`. Kept so an existing override still
2937
+ * compiles; it will be removed in a future major version.
2938
+ */
2939
+ applicationInFlightState: {
2940
+ title: string;
2941
+ body: string;
2942
+ retryButton: string;
2943
+ };
2895
2944
  }
2896
2945
  /**
2897
2946
  * A widget's whole copy surface: every label prop it accepts, spread onto it so
@@ -3098,9 +3147,10 @@ interface WidgetSuiteProps extends WidgetProviderProps {
3098
3147
  * before the shell renders: placeholders while either has not settled, a
3099
3148
  * closed retry state when init fails before answering the disclosure flags,
3100
3149
  * the acceptance surface alone when the session owes the bank's disclosures,
3101
- * full-screen onboarding for a session whose organization has no application
3102
- * yet, an "ask your admin" message when a teammate's is already in flight, or
3103
- * the nav over its sections. An invited session, or one this init already
3150
+ * full-screen onboarding for a prospect session (the form, or the widget's
3151
+ * status card for an application already under way), a closed "check again"
3152
+ * state for an application the widget has nothing to show for, or the nav
3153
+ * over its sections. An invited session, or one this init already
3104
3154
  * reports ACTIVE/INACTIVE, skips the application question entirely and goes
3105
3155
  * straight to the disclosure gate — which also means neither a failed
3106
3156
  * status read nor a teammate's in-flight application can blank the suite for
@@ -1,3 +1,4 @@
1
1
  import { APPLICATION_STATUS_LABELS_EN as e } from "./index22.js";
2
- import { BankAccountOnboardingWidget as t } from "./index26.js";
3
- export { e as APPLICATION_STATUS_LABELS_EN, t as BankAccountOnboardingWidget };
2
+ import { OnboardingApplicationView as t, onboardingApplicationViewFor as n } from "./index23.js";
3
+ import { BankAccountOnboardingWidget as r } from "./index26.js";
4
+ export { e as APPLICATION_STATUS_LABELS_EN, r as BankAccountOnboardingWidget, t as OnboardingApplicationView, n as onboardingApplicationViewFor };
@@ -37,7 +37,8 @@ var e = {
37
37
  resultDashboardButton: "bank-account-onboarding-result-dashboard-button",
38
38
  statusCard: "bank-account-onboarding-status-card",
39
39
  statusCardChip: "bank-account-onboarding-status-card-chip",
40
- statusCardClose: "bank-account-onboarding-status-card-close"
40
+ statusCardClose: "bank-account-onboarding-status-card-close",
41
+ statusCardCheckAgain: "bank-account-onboarding-status-card-check-again"
41
42
  };
42
43
  //#endregion
43
44
  export { e as bankAccountOnboardingTestIds };
@@ -8,6 +8,7 @@ var n = {
8
8
  title: "Business bank account application",
9
9
  bankDisclosure: "{bankName}, Member FDIC",
10
10
  close: "Close",
11
+ checkAgain: "Check again",
11
12
  formatDate: (e) => new Date(e).toLocaleDateString("en-US", {
12
13
  month: "short",
13
14
  day: "numeric",
@@ -35,6 +36,11 @@ var n = {
35
36
  deniedByOther: {
36
37
  chipLabel: "Not approved",
37
38
  body: ({ bankName: e, applicantName: t }) => [`${e} was unable to approve your business's application.`, `${t ?? "The applicant"} has the details.`]
39
+ },
40
+ unavailable: {
41
+ chipLabel: "Unavailable",
42
+ heading: () => "We can't show your application",
43
+ body: () => ["Your organization's bank account application isn't available here. Contact your organization admin or the bank for details."]
38
44
  }
39
45
  }, r = {
40
46
  stepIndicator: {
@@ -42,20 +42,22 @@ function c(t) {
42
42
  default: return e.OrganizationApplicationStatusUnrecognized;
43
43
  }
44
44
  }
45
- var l = {
45
+ var l = "unavailable", u = {
46
46
  [a.DraftStartedByOther]: "draftStartedByOther",
47
47
  [a.SubmittedByYou]: "submittedByYou",
48
48
  [a.SubmittedByOther]: "submittedByOther",
49
49
  [a.DeniedByYou]: "deniedByYou",
50
- [a.DeniedByOther]: "deniedByOther"
51
- }, u = {
50
+ [a.DeniedByOther]: "deniedByOther",
51
+ [l]: "unavailable"
52
+ }, d = {
52
53
  [a.DraftStartedByOther]: r.Brand,
53
54
  [a.SubmittedByYou]: r.Warning,
54
55
  [a.SubmittedByOther]: r.Warning,
55
56
  [a.DeniedByYou]: r.Danger,
56
- [a.DeniedByOther]: r.Danger
57
+ [a.DeniedByOther]: r.Danger,
58
+ [l]: r.Warning
57
59
  };
58
- function d(e) {
60
+ function f(e) {
59
61
  let t = i, n = (n) => ({
60
62
  ...t[n],
61
63
  ...e?.[n]
@@ -64,15 +66,17 @@ function d(e) {
64
66
  title: e?.title ?? t.title,
65
67
  bankDisclosure: e?.bankDisclosure ?? t.bankDisclosure,
66
68
  close: e?.close ?? t.close,
69
+ checkAgain: e?.checkAgain ?? t.checkAgain,
67
70
  formatDate: e?.formatDate ?? t.formatDate,
68
71
  draftStartedByOther: n("draftStartedByOther"),
69
72
  submittedByYou: n("submittedByYou"),
70
73
  submittedByOther: n("submittedByOther"),
71
74
  deniedByYou: n("deniedByYou"),
72
- deniedByOther: n("deniedByOther")
75
+ deniedByOther: n("deniedByOther"),
76
+ unavailable: n("unavailable")
73
77
  };
74
78
  }
75
- function f(e, t, n) {
79
+ function p(e, t, n) {
76
80
  let r = (e) => e ? n(e) : void 0;
77
81
  return {
78
82
  bankName: t,
@@ -82,10 +86,10 @@ function f(e, t, n) {
82
86
  deniedOn: r(e?.deniedAt)
83
87
  };
84
88
  }
85
- function p(e, t, r, i) {
86
- let a = i[l[e]], o = f(t, r, i.formatDate);
89
+ function m(e, t, r, i) {
90
+ let a = i[u[e]], o = p(t, r, i.formatDate);
87
91
  return {
88
- chipTone: u[e],
92
+ chipTone: d[e],
89
93
  labels: {
90
94
  title: i.title,
91
95
  bankDisclosure: n(i.bankDisclosure, r),
@@ -96,4 +100,4 @@ function p(e, t, r, i) {
96
100
  };
97
101
  }
98
102
  //#endregion
99
- export { a as OnboardingApplicationView, p as applicationStatusNoticeFor, c as hiddenViewReason, o as isNoticeView, d as mergeApplicationStatusLabels, s as onboardingApplicationViewFor };
103
+ export { a as OnboardingApplicationView, l as UNAVAILABLE_STATUS_CARD, m as applicationStatusNoticeFor, c as hiddenViewReason, o as isNoticeView, f as mergeApplicationStatusLabels, s as onboardingApplicationViewFor };