@forgeroute/ui 0.4.78 → 0.4.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import { EnvironmentProviders, InjectionToken } from "@angular/core";
3
3
  import { PDFDocumentProxy } from "pdfjs-dist";
4
+ import { UiLabelsService } from "@forgeroute/ui";
4
5
  /** Where pdf.js finds its worker script. Provide it once in the app (`{ provide: PDF_VIEWER_WORKER_SRC, useValue: '/assets/pdf.worker.min.mjs' }`). */
5
6
  export declare const PDF_VIEWER_WORKER_SRC: InjectionToken<string>;
6
7
  /** Colour of an overlay badge. */
@@ -143,6 +144,7 @@ export declare class PdfViewerUnsupportedError extends Error {
143
144
  * package (the same trade-off as `@forgeroute/ui/charts` and chart.js).
144
145
  */
145
146
  export declare class PdfViewerComponent {
147
+ protected readonly labels: UiLabelsService;
146
148
  /** PDF URL. Ignored while `data` is set. */
147
149
  readonly src: import("@angular/core").InputSignal<string | null>;
148
150
  /** PDF bytes. Wins over `src`. */
@@ -161,12 +163,16 @@ export declare class PdfViewerComponent {
161
163
  readonly hotspots: import("@angular/core").InputSignal<PdfViewerHotspot[]>;
162
164
  /** Accessible name of the viewer. */
163
165
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
164
- readonly loadingText: import("@angular/core").InputSignal<string>;
165
- readonly errorText: import("@angular/core").InputSignal<string>;
166
+ readonly loadingTextInput: import("@angular/core").InputSignal<string | null>;
167
+ readonly loadingText: import("@angular/core").Signal<string>;
168
+ readonly errorTextInput: import("@angular/core").InputSignal<string | null>;
169
+ readonly errorText: import("@angular/core").Signal<string>;
166
170
  /** Shown when the browser cannot run pdf.js (see `checkBrowserSupport`). */
167
- readonly unsupportedText: import("@angular/core").InputSignal<string>;
171
+ readonly unsupportedTextInput: import("@angular/core").InputSignal<string | null>;
172
+ readonly unsupportedText: import("@angular/core").Signal<string>;
168
173
  /** Text of the link that opens `src` in a new tab on such a browser. */
169
- readonly openText: import("@angular/core").InputSignal<string>;
174
+ readonly openTextInput: import("@angular/core").InputSignal<string | null>;
175
+ readonly openText: import("@angular/core").Signal<string>;
170
176
  /** Check for the browser features pdf.js needs before loading it; false = always try to load. */
171
177
  readonly checkBrowserSupport: import("@angular/core").InputSignal<boolean>;
172
178
  /** The id of the hotspot that was clicked (only a `ready` hotspot can be). */
@@ -270,22 +276,22 @@ export declare class PdfViewerComponent {
270
276
  "required": false;
271
277
  "isSignal": true;
272
278
  };
273
- "loadingText": {
279
+ "loadingTextInput": {
274
280
  "alias": "loadingText";
275
281
  "required": false;
276
282
  "isSignal": true;
277
283
  };
278
- "errorText": {
284
+ "errorTextInput": {
279
285
  "alias": "errorText";
280
286
  "required": false;
281
287
  "isSignal": true;
282
288
  };
283
- "unsupportedText": {
289
+ "unsupportedTextInput": {
284
290
  "alias": "unsupportedText";
285
291
  "required": false;
286
292
  "isSignal": true;
287
293
  };
288
- "openText": {
294
+ "openTextInput": {
289
295
  "alias": "openText";
290
296
  "required": false;
291
297
  "isSignal": true;
@@ -327,16 +333,19 @@ export declare function provideForgeroutePdf(options: ForgeroutePdfOptions): Env
327
333
  * Test ids: `document-viewer`, `document-viewer-download`, `document-viewer-print`, `document-viewer-loading`, `document-viewer-error`.
328
334
  */
329
335
  export declare class DocumentViewerModalComponent {
336
+ protected readonly labels: UiLabelsService;
330
337
  readonly open: import("@angular/core").InputSignal<boolean>;
331
338
  /** Shown as the dialog title and used as the Download file name. */
332
- readonly fileName: import("@angular/core").InputSignal<string>;
339
+ readonly fileNameInput: import("@angular/core").InputSignal<string | null>;
340
+ readonly fileName: import("@angular/core").Signal<string>;
333
341
  /** The PDF bytes (null until fetched). */
334
342
  readonly data: import("@angular/core").InputSignal<ArrayBuffer | Uint8Array<ArrayBufferLike> | null>;
335
343
  /** The host is still fetching the bytes: a skeleton shows. */
336
344
  readonly loading: import("@angular/core").InputSignal<boolean>;
337
345
  /** The host's message when the fetch failed (empty = no error). */
338
346
  readonly error: import("@angular/core").InputSignal<string>;
339
- readonly loadingText: import("@angular/core").InputSignal<string>;
347
+ readonly loadingTextInput: import("@angular/core").InputSignal<string | null>;
348
+ readonly loadingText: import("@angular/core").Signal<string>;
340
349
  readonly closed: import("@angular/core").OutputEmitterRef<void>;
341
350
  protected readonly hasData: import("@angular/core").Signal<boolean>;
342
351
  private blob;
@@ -351,7 +360,7 @@ export declare class DocumentViewerModalComponent {
351
360
  "required": false;
352
361
  "isSignal": true;
353
362
  };
354
- "fileName": {
363
+ "fileNameInput": {
355
364
  "alias": "fileName";
356
365
  "required": false;
357
366
  "isSignal": true;
@@ -371,7 +380,7 @@ export declare class DocumentViewerModalComponent {
371
380
  "required": false;
372
381
  "isSignal": true;
373
382
  };
374
- "loadingText": {
383
+ "loadingTextInput": {
375
384
  "alias": "loadingText";
376
385
  "required": false;
377
386
  "isSignal": true;
@@ -443,6 +452,7 @@ export interface DocumentSignTexts {
443
452
  * `redraw-signature`, `apply-step`, `sign-progress`, `sign-cancel`, `sign-complete`, `pdf-hotspot-<field id>`.
444
453
  */
445
454
  export declare class DocumentSignModalComponent {
455
+ protected readonly labels: UiLabelsService;
446
456
  readonly open: import("@angular/core").InputSignal<boolean>;
447
457
  /** The PDF bytes (null until the host has them). */
448
458
  readonly data: import("@angular/core").InputSignal<ArrayBuffer | Uint8Array<ArrayBufferLike> | null>;
@@ -467,6 +477,8 @@ export declare class DocumentSignModalComponent {
467
477
  /** The dialog was dismissed (Cancel, Escape, X, backdrop). */
468
478
  readonly closed: import("@angular/core").OutputEmitterRef<void>;
469
479
  protected readonly t: import("@angular/core").Signal<DocumentSignTexts>;
480
+ /** Accessible name of the Change button: the dictionary's "Change signature" by default; when the host replaced the visible text ("Redo") it is that text + "signature" (as before the dictionary), so the name still contains what is shown. */
481
+ protected readonly changeAriaLabel: import("@angular/core").Signal<string>;
470
482
  protected readonly typedName: import("@angular/core").WritableSignal<string>;
471
483
  protected readonly signature: import("@angular/core").WritableSignal<string | null>;
472
484
  /** Field id -> the image applied to it. */
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import { DestroyRef, InjectionToken, Provider, TemplateRef, WritableSignal } from "@angular/core";
3
+ import { HostResult, PaymentAllocation, PaymentMethodBodyContext, PaymentMethodPlugin, PaymentPluginMethod, UiLabelsService } from "@forgeroute/ui";
3
4
  import { Observable } from "rxjs";
4
- import { HostResult, PaymentAllocation, PaymentMethodBodyContext, PaymentMethodPlugin, PaymentPluginMethod } from "@forgeroute/ui";
5
5
  /**
6
6
  * The small part of Stripe.js the library calls, written as plain structural types so the library has NO compile-time or run-time
7
7
  * dependency on `@stripe/stripe-js` outside of the lazy loader (`stripe-loader.ts`). The real `Stripe` object satisfies these; so does a hand-written fake.
@@ -224,7 +224,8 @@ export declare function outcomeOf(intent: StripeIntentLike): StripeOutcome;
224
224
  export declare function normalizeIntent(kind: StripeIntentKind, intent: StripeIntentLike): StripeConfirmedEvent;
225
225
  /** A failure from a Stripe error, with the text to show chosen by `display` (see `getStripeErrorMessage`). */
226
226
  declare function failureFromError(error: StripeErrorLike | null | undefined, stage: StripeFailureStage, options?: StripeErrorMessageOptions): StripeFailure;
227
- /** A failure that is not a Stripe error (our own text). */
227
+ /** Our own fixed messages ("Payment system not initialized" ...) in the app's active language; any other text (Stripe's, a host's) is returned as it is. */
228
+ declare function localizeStripeMessage(message: string): string;
228
229
  declare function failure(code: string, message: string, stage: StripeFailureStage, stripeMessage?: string): StripeFailure;
229
230
  /** An error thrown by a host callback or a request: its own `error.error.message` (HTTP body), `message`, else the fallback. */
230
231
  declare function messageOfThrown(err: unknown, fallback: string): string;
@@ -334,6 +335,7 @@ interface StripeA11yMessages {
334
335
  verificationNeeded: string;
335
336
  actionRequired: string;
336
337
  }
338
+ /** The screen-reader messages of the payment form; read on every access, so they follow the app's active language. */
337
339
  export declare const STRIPE_A11Y_MESSAGES: Readonly<StripeA11yMessages>;
338
340
  /** The exact text shown while the bank-account tab is selected. */
339
341
  export declare const STRIPE_ACH_NOTICE = "Signing in to your bank account lets you pay right away. Entering your routing and account numbers instead requires verification with two small deposits, which typically take a couple of days to arrive in your account.";
@@ -384,6 +386,7 @@ interface StripeReadyEvent {
384
386
  * Every Stripe.js call and option reproduces what the CRM apps do today; see docs/stripe.md ("Parity with the existing app implementations").
385
387
  */
386
388
  export declare class StripePaymentComponent {
389
+ protected readonly labels: UiLabelsService;
387
390
  private readonly loader;
388
391
  private readonly defaults;
389
392
  private readonly doc;
@@ -453,7 +456,8 @@ export declare class StripePaymentComponent {
453
456
  /** The host is still creating the intent: show the loading skeleton. */
454
457
  readonly pending: import("@angular/core").InputSignal<boolean>;
455
458
  /** Accessible name of the payment form (also its visible heading when `required` is set). */
456
- readonly label: import("@angular/core").InputSignal<string>;
459
+ readonly labelInput: import("@angular/core").InputSignal<string | null>;
460
+ readonly label: import("@angular/core").Signal<string>;
457
461
  /** The payment details are required (a required wizard step): a visible heading with a red asterisk is shown above the form. Not shown in `mountOnly` mode. */
458
462
  readonly required: import("@angular/core").InputSignal<boolean>;
459
463
  /** The `id` of the element container (an app's e2e selector such as `#payment-element`). */
@@ -462,7 +466,8 @@ export declare class StripePaymentComponent {
462
466
  readonly mountClass: import("@angular/core").InputSignal<string>;
463
467
  /** Show the bank-account notice while that tab is selected. */
464
468
  readonly showAchNotice: import("@angular/core").InputSignal<boolean>;
465
- readonly achNotice: import("@angular/core").InputSignal<string>;
469
+ readonly achNoticeInput: import("@angular/core").InputSignal<string | null>;
470
+ readonly achNotice: import("@angular/core").Signal<string>;
466
471
  /** The `data-testid` of the notice (an app's existing e2e selector, e.g. `ach-setup-notice`). */
467
472
  readonly achNoticeTestId: import("@angular/core").InputSignal<string>;
468
473
  /** The payment method type the host shows before Stripe reports one (cremo: `'card'`); `paymentMethodTypeChange` fires only when the reported type differs from it (or from the last report). */
@@ -479,7 +484,8 @@ export declare class StripePaymentComponent {
479
484
  readonly errorFallbackByStage: import("@angular/core").InputSignal<Partial<Record<StripeFailureStage, string>> | null>;
480
485
  /** Replacement texts by code: Stripe error codes AND the library's own failure codes (`not_initialized`, `no_payment_method`, `requires_payment_method`, `not_completed`, `authentication_failed`, ...). `{status}` in a text becomes Stripe's status of the intent ("Unexpected payment status: {status}"). */
481
486
  readonly errorMessages: import("@angular/core").InputSignal<Record<string, string> | null>;
482
- readonly loadErrorMessage: import("@angular/core").InputSignal<string>;
487
+ readonly loadErrorMessageInput: import("@angular/core").InputSignal<string | null>;
488
+ readonly loadErrorMessage: import("@angular/core").Signal<string>;
483
489
  /** Texts of the screen-reader status region (translate them); missing keys keep the English defaults. */
484
490
  readonly a11yMessages: import("@angular/core").InputSignal<Partial<StripeA11yMessages> | null>;
485
491
  /**
@@ -750,7 +756,7 @@ export declare class StripePaymentComponent {
750
756
  "required": false;
751
757
  "isSignal": true;
752
758
  };
753
- "label": {
759
+ "labelInput": {
754
760
  "alias": "label";
755
761
  "required": false;
756
762
  "isSignal": true;
@@ -775,7 +781,7 @@ export declare class StripePaymentComponent {
775
781
  "required": false;
776
782
  "isSignal": true;
777
783
  };
778
- "achNotice": {
784
+ "achNoticeInput": {
779
785
  "alias": "achNotice";
780
786
  "required": false;
781
787
  "isSignal": true;
@@ -820,7 +826,7 @@ export declare class StripePaymentComponent {
820
826
  "required": false;
821
827
  "isSignal": true;
822
828
  };
823
- "loadErrorMessage": {
829
+ "loadErrorMessageInput": {
824
830
  "alias": "loadErrorMessage";
825
831
  "required": false;
826
832
  "isSignal": true;
@@ -843,20 +849,21 @@ export declare class StripePaymentComponent {
843
849
  /** How a bank account added with micro-deposits is verified: two deposit amounts, the code of one deposit, or the bank is still confirming it. */
844
850
  type MicrodepositType = 'amounts' | 'descriptor_code' | 'processing';
845
851
  /** The text of the pending-verification card, in one place for the component and its tests. */
852
+ /** The text of the pending-verification card; read on every access, so it follows the app's active language. */
846
853
  export declare const MICRODEPOSIT_COPY: {
847
- readonly title: "Bank account waiting for verification";
848
- readonly processingTitle: "Bank account being confirmed";
849
- readonly processing: "Your bank is confirming this account; this usually takes up to a few business days. We will email you when it is ready.";
850
- readonly cannotPay: "Until then this account can't be used to pay invoices.";
851
- readonly readOnly: "An administrator of your organization can finish the verification.";
852
- readonly keepsActive: "Your current payment method stays active until the new bank account is verified.";
853
- readonly cancelTitle: "Cancel verification";
854
- readonly verifyLabel: "Verify bank account";
855
- readonly cancelBase: "Cancel the verification of this bank account? It will not be saved as a payment method and you can add it again later.";
856
- readonly cancelKeepsActive: " Your current payment method stays active.";
857
- readonly cancelNoOther: " You have no other payment method saved.";
858
- readonly tooManyAttempts: "Too many failed attempts. Please try again later or contact support.";
859
- readonly codeRequired: "Enter the 6-character code.";
854
+ readonly title: string;
855
+ readonly processingTitle: string;
856
+ readonly processing: string;
857
+ readonly cannotPay: string;
858
+ readonly readOnly: string;
859
+ readonly keepsActive: string;
860
+ readonly cancelTitle: string;
861
+ readonly verifyLabel: string;
862
+ readonly cancelBase: string;
863
+ readonly cancelKeepsActive: string;
864
+ readonly cancelNoOther: string;
865
+ readonly tooManyAttempts: string;
866
+ readonly codeRequired: string;
860
867
  };
861
868
  /** "June 5, 2026" in UTC: the arrival date is a calendar day. Empty for no / an invalid date. */
862
869
  export declare function microdepositArrivalText(iso: string | null | undefined): string;
@@ -917,6 +924,7 @@ export declare function microdepositCancelMessage(options?: {
917
924
  * [verifying]="busy()" [errorText]="error()" (verify)="verify($event)" (cancelVerification)="cancel()" />
918
925
  */
919
926
  export declare class MicrodepositVerifyComponent {
927
+ protected readonly labels: UiLabelsService;
920
928
  private readonly service;
921
929
  /** `'amounts'` (two deposits), `'descriptor_code'` (one deposit with a code) or `'processing'` (the bank is still confirming; nothing to enter). */
922
930
  readonly type: import("@angular/core").InputSignal<MicrodepositType>;
@@ -972,19 +980,19 @@ export declare class MicrodepositVerifyComponent {
972
980
  /** Stripe.js mode: a verification attempt failed (the text is already shown). */
973
981
  readonly verifyFailed: import("@angular/core").OutputEmitterRef<StripeMicrodepositResult>;
974
982
  readonly copy: {
975
- readonly title: "Bank account waiting for verification";
976
- readonly processingTitle: "Bank account being confirmed";
977
- readonly processing: "Your bank is confirming this account; this usually takes up to a few business days. We will email you when it is ready.";
978
- readonly cannotPay: "Until then this account can't be used to pay invoices.";
979
- readonly readOnly: "An administrator of your organization can finish the verification.";
980
- readonly keepsActive: "Your current payment method stays active until the new bank account is verified.";
981
- readonly cancelTitle: "Cancel verification";
982
- readonly verifyLabel: "Verify bank account";
983
- readonly cancelBase: "Cancel the verification of this bank account? It will not be saved as a payment method and you can add it again later.";
984
- readonly cancelKeepsActive: " Your current payment method stays active.";
985
- readonly cancelNoOther: " You have no other payment method saved.";
986
- readonly tooManyAttempts: "Too many failed attempts. Please try again later or contact support.";
987
- readonly codeRequired: "Enter the 6-character code.";
983
+ readonly title: string;
984
+ readonly processingTitle: string;
985
+ readonly processing: string;
986
+ readonly cannotPay: string;
987
+ readonly readOnly: string;
988
+ readonly keepsActive: string;
989
+ readonly cancelTitle: string;
990
+ readonly verifyLabel: string;
991
+ readonly cancelBase: string;
992
+ readonly cancelKeepsActive: string;
993
+ readonly cancelNoOther: string;
994
+ readonly tooManyAttempts: string;
995
+ readonly codeRequired: string;
988
996
  };
989
997
  readonly first: import("@angular/core").WritableSignal<string | number>;
990
998
  readonly second: import("@angular/core").WritableSignal<string | number>;
@@ -1266,6 +1274,7 @@ export declare function stripeConnectNotice(outcome: StripeConnectOutcome): {
1266
1274
  * where `createAccount = () => http.post<StripeConnectAccount>('/connect/create', {})` and `getStatus = () => http.get<StripeConnectStatus>('/connect/status')`.
1267
1275
  */
1268
1276
  export declare class StripeConnectComponent {
1277
+ protected readonly labels: UiLabelsService;
1269
1278
  private readonly destroyRef;
1270
1279
  private readonly injector;
1271
1280
  private readonly host;
@@ -1279,14 +1288,18 @@ export declare class StripeConnectComponent {
1279
1288
  readonly complete: import("@angular/core").ModelSignal<boolean>;
1280
1289
  /** The details were submitted and Stripe is reviewing them. Two-way: set by `check()` / `resume()`. */
1281
1290
  readonly detailsSubmitted: import("@angular/core").ModelSignal<boolean>;
1282
- readonly title: import("@angular/core").InputSignal<string>;
1291
+ readonly titleInput: import("@angular/core").InputSignal<string | null>;
1292
+ readonly title: import("@angular/core").Signal<string>;
1283
1293
  /** No card around the content: the text and the button sit directly in the host's own card (the setup wizard's step card). `title` is not shown then. */
1284
1294
  readonly bare: import("@angular/core").InputSignal<boolean>;
1285
1295
  /** Shows the card (with "Set Up Payment Account") while there is no account yet. Default false: hosts with their own entry point show nothing and call `start()`. */
1286
1296
  readonly showWhenNoAccount: import("@angular/core").InputSignal<boolean>;
1287
- readonly startTitle: import("@angular/core").InputSignal<string>;
1288
- readonly startText: import("@angular/core").InputSignal<string>;
1289
- readonly startLabel: import("@angular/core").InputSignal<string>;
1297
+ readonly startTitleInput: import("@angular/core").InputSignal<string | null>;
1298
+ readonly startTitle: import("@angular/core").Signal<string>;
1299
+ readonly startTextInput: import("@angular/core").InputSignal<string | null>;
1300
+ readonly startText: import("@angular/core").Signal<string>;
1301
+ readonly startLabelInput: import("@angular/core").InputSignal<string | null>;
1302
+ readonly startLabel: import("@angular/core").Signal<string>;
1290
1303
  /** The buttons cannot be pressed (a read-only user). */
1291
1304
  readonly disabled: import("@angular/core").InputSignal<boolean>;
1292
1305
  /** After a Stripe tab was opened, the state is read again when this tab becomes visible again (the user came back): `(outcome)` then reports `complete` / `verifying` with source `return`. */
@@ -1348,7 +1361,7 @@ export declare class StripeConnectComponent {
1348
1361
  "required": false;
1349
1362
  "isSignal": true;
1350
1363
  };
1351
- "title": {
1364
+ "titleInput": {
1352
1365
  "alias": "title";
1353
1366
  "required": false;
1354
1367
  "isSignal": true;
@@ -1363,17 +1376,17 @@ export declare class StripeConnectComponent {
1363
1376
  "required": false;
1364
1377
  "isSignal": true;
1365
1378
  };
1366
- "startTitle": {
1379
+ "startTitleInput": {
1367
1380
  "alias": "startTitle";
1368
1381
  "required": false;
1369
1382
  "isSignal": true;
1370
1383
  };
1371
- "startText": {
1384
+ "startTextInput": {
1372
1385
  "alias": "startText";
1373
1386
  "required": false;
1374
1387
  "isSignal": true;
1375
1388
  };
1376
- "startLabel": {
1389
+ "startLabelInput": {
1377
1390
  "alias": "startLabel";
1378
1391
  "required": false;
1379
1392
  "isSignal": true;
@@ -1456,15 +1469,18 @@ export declare const STRIPE_PAYMENT_METHODS: readonly [{
1456
1469
  readonly value: "ACH";
1457
1470
  readonly label: "ACH / Bank Transfer";
1458
1471
  }];
1472
+ /** The name of a method in the app's active language. */
1473
+ declare const stripeMethodLabel: (value: string, english: string) => string;
1459
1474
  declare const stripeMethodType: (method: string) => "card" | "us_bank_account";
1475
+ /** The texts of the Stripe payment method; read on every access, so they follow the app's active language. */
1460
1476
  export declare const STRIPE_METHOD_TEXTS: {
1461
- readonly amountNeeded: "Enter an amount to continue.";
1462
- readonly notCompleted: "Payment was not completed. Please try again or choose another method.";
1463
- readonly achTitle: "ACH Payment Submitted";
1464
- readonly achMessage: (amount: string) => string;
1465
- readonly verificationTitle: "Bank Verification Needed";
1466
- readonly verificationMessage: (amount: string) => string;
1467
- readonly receiptNote: "A receipt is sent once the payment has been fully processed and settled.";
1477
+ readonly amountNeeded: string;
1478
+ readonly notCompleted: string;
1479
+ readonly achTitle: string;
1480
+ achMessage: (amount: string) => string;
1481
+ readonly verificationTitle: string;
1482
+ verificationMessage: (amount: string) => string;
1483
+ readonly receiptNote: string;
1468
1484
  };
1469
1485
  /**
1470
1486
  * Adds LIVE Card and ACH (Stripe) to `ui-payment-side-panel`. Put it inside the panel only for customers who use Stripe: its presence replaces the
@@ -1496,14 +1512,16 @@ export declare class StripePaymentMethodComponent extends PaymentMethodPlugin {
1496
1512
  readonly billingDetails: import("@angular/core").InputSignal<StripeBillingDetails | null>;
1497
1513
  readonly appearance: import("@angular/core").InputSignal<Record<string, unknown> | null>;
1498
1514
  /** The methods this plugin takes over (default: Card and ACH / Bank Transfer). Pass `[{ value: 'CARD', label: 'Card' }]` for cards only. */
1499
- readonly methodList: import("@angular/core").InputSignal<readonly PaymentPluginMethod[]>;
1515
+ readonly methodListInput: import("@angular/core").InputSignal<readonly PaymentPluginMethod[] | null>;
1516
+ readonly methodList: import("@angular/core").Signal<readonly PaymentPluginMethod[]>;
1500
1517
  /** How long a fee estimate may take before Pay is released and "Try again" is offered (ms). */
1501
1518
  readonly estimateTimeoutMs: import("@angular/core").InputSignal<number>;
1502
1519
  /** The payer covers fees, so the intent amount is payment + fees: a rejected or empty estimate keeps Pay off (with "Try again") instead of falling back to the base amount, which Stripe would reject as a mismatch. */
1503
1520
  readonly feesRequired: import("@angular/core").InputSignal<boolean>;
1504
- readonly receiptNote: import("@angular/core").InputSignal<string>;
1521
+ readonly receiptNoteInput: import("@angular/core").InputSignal<string | null>;
1522
+ readonly receiptNote: import("@angular/core").Signal<string>;
1505
1523
  private readonly body;
1506
- readonly methods: import("@angular/core").InputSignal<readonly PaymentPluginMethod[]>;
1524
+ readonly methods: import("@angular/core").Signal<readonly PaymentPluginMethod[]>;
1507
1525
  readonly template: import("@angular/core").Signal<TemplateRef<PaymentMethodBodyContext> | undefined>;
1508
1526
  static ɵfac: i0.ɵɵFactoryDeclaration<StripePaymentMethodComponent, never>;
1509
1527
  static ɵcmp: i0.ɵɵComponentDeclaration<StripePaymentMethodComponent, "ui-payment-stripe-method", never, {
@@ -1547,7 +1565,7 @@ export declare class StripePaymentMethodComponent extends PaymentMethodPlugin {
1547
1565
  "required": false;
1548
1566
  "isSignal": true;
1549
1567
  };
1550
- "methodList": {
1568
+ "methodListInput": {
1551
1569
  "alias": "methodList";
1552
1570
  "required": false;
1553
1571
  "isSignal": true;
@@ -1562,7 +1580,7 @@ export declare class StripePaymentMethodComponent extends PaymentMethodPlugin {
1562
1580
  "required": false;
1563
1581
  "isSignal": true;
1564
1582
  };
1565
- "receiptNote": {
1583
+ "receiptNoteInput": {
1566
1584
  "alias": "receiptNote";
1567
1585
  "required": false;
1568
1586
  "isSignal": true;