@primer-io/primer-js 0.0.3 → 0.1.0

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.
@@ -67,8 +67,11 @@ export type PrimerCheckoutComponentProps = {
67
67
  "client-token"?: string;
68
68
  /** */
69
69
  options?: PrimerCheckoutOptions;
70
+ /** Whether the component has completed initialization and loading
71
+ This is used to control the CSS-only loader visibility */
72
+ "js-initialized"?: boolean;
70
73
  /** */
71
- "disable-loader"?: boolean;
74
+ jsInitialized?: boolean;
72
75
  /** */
73
76
  defaultSlot?: HTMLSlotElement;
74
77
  /** */
@@ -81,6 +84,10 @@ export type PrimerCheckoutComponentProps = {
81
84
  primerEventsController?: PrimerEventsController;
82
85
  /** */
83
86
  styleProcessingController?: StyleProcessingController;
87
+ /** */
88
+ vaultManagerController?: VaultManagerController;
89
+ /** */
90
+ cardNetworkController?: CardNetworkController;
84
91
  };
85
92
 
86
93
  export type ButtonComponentProps = {
@@ -88,8 +95,20 @@ export type ButtonComponentProps = {
88
95
  variant?: "primary" | "secondary" | "tertiary";
89
96
  /** */
90
97
  disabled?: boolean;
98
+ /** Loading state of the button
99
+ When true, the button will display a spinner and be disabled */
100
+ loading?: boolean;
91
101
  /** */
92
102
  buttonType?: "button" | "submit" | "reset";
103
+ /** Selection state of the button
104
+ - default: Not checked
105
+ - checked: Button is checked */
106
+ selectionState?: ButtonSelectionState;
107
+ /** Indicates if this button is selectable/checkable */
108
+ selectable?: boolean;
109
+
110
+ /** */
111
+ "onselection-change"?: (e: CustomEvent<CustomEvent>) => void;
93
112
  };
94
113
 
95
114
  export type PrimerCheckoutStateComponentProps = {
@@ -99,11 +118,39 @@ export type PrimerCheckoutStateComponentProps = {
99
118
  description?: string | undefined;
100
119
  };
101
120
 
121
+ export type CollapsableComponentProps = {
122
+ /** The header text for the collapsable */
123
+ header?: string;
124
+ /** Whether the collapsable is expanded by default */
125
+ expanded?: boolean;
126
+ /** Text for expand button (for accessibility) */
127
+ expandText?: string;
128
+ /** Text for collapse button (for accessibility) */
129
+ collapseText?: string;
130
+ /** ARIA label for the collapsable header */
131
+ ariaLabel?: string;
132
+ /** The button variant to use */
133
+ buttonVariant?: ButtonVariant;
134
+
135
+ /** */
136
+ "onexpanded-changed"?: (e: CustomEvent<CustomEvent>) => void;
137
+ };
138
+
139
+ export type ErrorMessageComponentProps = {
140
+ /** The error message text to display */
141
+ message?: string;
142
+ /** Whether the error message is visible */
143
+ visible?: boolean;
144
+ /** Accessibility role for the error message
145
+ Defaults to "alert" for proper screen reader announcements */
146
+ role?: string;
147
+ };
148
+
102
149
  export type PrimerIconComponentProps = {
103
150
  /** */
104
151
  color?: string;
105
152
  /** */
106
- size?: "lg" | "sm";
153
+ size?: "lg" | "md" | "sm";
107
154
  /** The name of the icon to draw - available names can be found under library.ts file */
108
155
  name?: IconName | undefined;
109
156
  };
@@ -196,32 +243,50 @@ export type CardFormComponentProps = {
196
243
  paymentManagers?: InitializedManagersMap;
197
244
  };
198
245
 
246
+ export type ErrorMessageContainerComponentProps = {
247
+ /** */
248
+ "show-processing-errors"?: boolean;
249
+ };
250
+
251
+ export type PrimerKlarnaComponentProps = {
252
+ /** */
253
+ paymentManagers?: InitializedManagersMap;
254
+ /** */
255
+ sdkState?: SdkStateContext;
256
+ /** */
257
+ headlessUtils?: HeadlessUnitilsContext;
258
+ /** */
259
+ klarnaCategories?: KlarnaCategoriesContext | null;
260
+ };
261
+
199
262
  export type NativePaymentComponentProps = {
200
263
  /** */
201
264
  paymentMethod?: InitializedPaymentMethod | undefined;
202
265
  /** */
203
266
  paymentManagers?: InitializedManagersMap;
267
+ /** */
268
+ computedStyles?: CSSStyleDeclaration | null;
204
269
  };
205
270
 
206
271
  export type PaymentMethodComponentProps = {
207
272
  /** */
208
273
  type?: PaymentMethodType | undefined;
209
274
  /** */
210
- paymentMethods?: PaymentsObject | null;
275
+ paymentMethods?: PaymentMethodsContext;
211
276
  };
212
277
 
213
278
  export type PrimerCheckoutCompleteComponentProps = {};
214
279
 
215
- export type PrimerCheckoutFailureComponentProps = {
280
+ export type PrimerCheckoutErrorComponentProps = {
216
281
  /** */
217
- sdkState?: HeadlessSDKState | undefined;
282
+ sdkState?: SdkStateContext;
218
283
  };
219
284
 
220
285
  export type PrimerMainComponentProps = {
221
286
  /** */
222
- paymentMethods?: PaymentsObject | null;
287
+ paymentMethods?: PaymentMethodsContext;
223
288
  /** */
224
- sdkState?: SdkStateContext | undefined;
289
+ sdkState?: SdkStateContext;
225
290
  };
226
291
 
227
292
  export type RedirectPaymentComponentProps = {
@@ -230,13 +295,44 @@ export type RedirectPaymentComponentProps = {
230
295
  /** */
231
296
  paymentManagers?: InitializedManagersMap;
232
297
  /** */
233
- sdkState?: SdkStateContext | undefined;
298
+ sdkState?: SdkStateContext;
299
+ /** */
300
+ headlessUtils?: HeadlessUnitilsContext;
301
+ };
302
+
303
+ export type ShowOtherPaymentsComponentProps = {
304
+ /** Consume the vault manager context to interact with vault state */
305
+ vaultManager?: VaultManagerContext;
306
+ };
307
+
308
+ export type VaultManagerComponentProps = {
309
+ /** Strongly typed event declarations */
310
+ addEventListener?: <K extends keyof VaultManagerEventMap>(
311
+ type: K,
312
+ listener: (ev: VaultManagerEventMap[K]) => void,
313
+ options?: boolean | AddEventListenerOptions,
314
+ ) => void;
315
+ /** */
316
+ removeEventListener?: <K extends keyof VaultManagerEventMap>(
317
+ type: K,
318
+ listener: (ev: VaultManagerEventMap[K]) => void,
319
+ options?: boolean | AddEventListenerOptions,
320
+ ) => void;
321
+ /** The vault manager core context from the SDK
322
+ Contains vault-related functionality and state */
323
+ vaultManagerContext?: VaultManagerContext;
234
324
  };
235
325
 
236
326
  export type CardFormSubmitComponentProps = {
237
327
  /** The button text to display.
238
328
  Falls back to localized default if not explicitly set. */
239
329
  buttonText?: string;
330
+ /** */
331
+ headlessInstance?: HeadlessUnitilsContext;
332
+ /** */
333
+ clientOptions?: ClientOptionsContext;
334
+ /** */
335
+ sdkState?: SdkStateContext;
240
336
  /** The button variant to use. */
241
337
  variant?: string;
242
338
  /** Whether the button is disabled. */
@@ -245,12 +341,16 @@ Falls back to localized default if not explicitly set. */
245
341
 
246
342
  export type CardNetworkSelectorComponentProps = {
247
343
  /** Card networks context from provider */
248
- cardNetworks?: CardNetworksContext | null;
344
+ cardNetworks?: CardNetworksContext;
345
+ /** */
346
+ headlessUtils?: HeadlessUnitilsContext;
249
347
  /** Dispatched when a network is selected with the network name as detail */
250
348
  "onnetwork-selected"?: (e: CustomEvent<CustomEvent>) => void;
251
349
  };
252
350
 
253
351
  export type InputCardExpiryComponentProps = {
352
+ /** */
353
+ computedStyles?: CSSStyleDeclaration | null;
254
354
  /** The input label text.
255
355
  Falls back to localized default if not explicitly set. */
256
356
  label?: string;
@@ -266,6 +366,8 @@ Falls back to localized default if not explicitly set. */
266
366
  };
267
367
 
268
368
  export type InputCardHolderNameComponentProps = {
369
+ /** */
370
+ computedStyles?: CSSStyleDeclaration | null;
269
371
  /** The input label text.
270
372
  Falls back to localized default if not explicitly set. */
271
373
  label?: string;
@@ -281,6 +383,8 @@ Falls back to localized default if not explicitly set. */
281
383
  };
282
384
 
283
385
  export type InputCardNumberComponentProps = {
386
+ /** */
387
+ computedStyles?: CSSStyleDeclaration | null;
284
388
  /** The input label text.
285
389
  Falls back to localized default if not explicitly set. */
286
390
  label?: string;
@@ -296,6 +400,8 @@ Falls back to localized default if not explicitly set. */
296
400
  };
297
401
 
298
402
  export type InputCvvComponentProps = {
403
+ /** */
404
+ computedStyles?: CSSStyleDeclaration | null;
299
405
  /** The input label text.
300
406
  Falls back to localized default if not explicitly set. */
301
407
  label?: string;
@@ -310,9 +416,145 @@ Falls back to localized default if not explicitly set. */
310
416
  cardFormContext?: CardFormContext | null;
311
417
  };
312
418
 
419
+ export type VaultCvvInputComponentProps = {
420
+ /** */
421
+ computedStyles?: CSSStyleDeclaration | null;
422
+ /** */
423
+ paymentMethod?: PaymentCardVaultedMethod | null;
424
+ /** Form context for checking form dirty state */
425
+ vaultManagerFormContext?: VaultManagerContext;
426
+ /** CVV-specific context for dedicated CVV handling
427
+ Separated to minimize re-renders on frequent CVV input changes */
428
+ vaultManagerCvvContext?: VaultItemContext;
429
+ };
430
+
431
+ export type VaultDeleteConfirmationComponentProps = {
432
+ /** Whether a delete operation is in progress */
433
+ isDeleting?: boolean;
434
+ /** The ID of the payment method being deleted */
435
+ paymentMethodId?: string;
436
+ /** Payment method name to display in confirmation */
437
+ paymentMethodName?: string;
438
+ /** Strongly typed event declarations */
439
+ addEventListener?: <K extends keyof VaultManagerEventMap>(
440
+ type: K,
441
+ listener: (ev: VaultManagerEventMap[K]) => void,
442
+ options?: boolean | AddEventListenerOptions,
443
+ ) => void;
444
+ /** */
445
+ removeEventListener?: <K extends keyof VaultManagerEventMap>(
446
+ type: K,
447
+ listener: (ev: VaultManagerEventMap[K]) => void,
448
+ options?: boolean | AddEventListenerOptions,
449
+ ) => void;
450
+ /** Consume the vault manager context to access payment method info */
451
+ vaultManager?: VaultManagerContext;
452
+ /** */
453
+ "onconfirm-delete"?: (e: CustomEvent<CustomEvent>) => void;
454
+ /** */
455
+ "oncancel-delete"?: (e: CustomEvent<CustomEvent>) => void;
456
+ };
457
+
458
+ export type VaultEmptyStateComponentProps = {};
459
+
460
+ export type VaultErrorMessageComponentProps = {
461
+ /** The error message to display */
462
+ errorMessage?: string;
463
+ /** Strongly typed event declarations */
464
+ addEventListener?: <K extends keyof VaultManagerEventMap>(
465
+ type: K,
466
+ listener: (ev: VaultManagerEventMap[K]) => void,
467
+ options?: boolean | AddEventListenerOptions,
468
+ ) => void;
469
+ /** */
470
+ removeEventListener?: <K extends keyof VaultManagerEventMap>(
471
+ type: K,
472
+ listener: (ev: VaultManagerEventMap[K]) => void,
473
+ options?: boolean | AddEventListenerOptions,
474
+ ) => void;
475
+ /** */
476
+ "onclose-error"?: (e: CustomEvent<CustomEvent>) => void;
477
+ };
478
+
479
+ export type VaultManagerHeaderComponentProps = {
480
+ /** Whether we're in edit mode */
481
+ isEditMode?: boolean;
482
+ /** Whether we have payment methods to edit */
483
+ hasPaymentMethods?: boolean;
484
+ /** Strongly typed event declarations */
485
+ addEventListener?: <K extends keyof VaultManagerEventMap>(
486
+ type: K,
487
+ listener: (ev: VaultManagerEventMap[K]) => void,
488
+ options?: boolean | AddEventListenerOptions,
489
+ ) => void;
490
+ /** */
491
+ removeEventListener?: <K extends keyof VaultManagerEventMap>(
492
+ type: K,
493
+ listener: (ev: VaultManagerEventMap[K]) => void,
494
+ options?: boolean | AddEventListenerOptions,
495
+ ) => void;
496
+ /** */
497
+ "ontoggle-edit-mode"?: (e: CustomEvent<CustomEvent>) => void;
498
+ };
499
+
500
+ export type VaultPaymentMethodItemComponentProps = {
501
+ /** */
502
+ headlessUtils?: HeadlessUnitilsContext;
503
+ /** Whether the component is in edit mode */
504
+ isEditMode?: boolean;
505
+ /** Strongly typed event declarations */
506
+ addEventListener?: <K extends keyof VaultManagerEventMap>(
507
+ type: K,
508
+ listener: (ev: VaultManagerEventMap[K]) => void,
509
+ options?: boolean | AddEventListenerOptions,
510
+ ) => void;
511
+ /** */
512
+ removeEventListener?: <K extends keyof VaultManagerEventMap>(
513
+ type: K,
514
+ listener: (ev: VaultManagerEventMap[K]) => void,
515
+ options?: boolean | AddEventListenerOptions,
516
+ ) => void;
517
+ /** Consume the vault manager context */
518
+ vaultManagerContext?: VaultManagerContext;
519
+ /** */
520
+ vaultItemContext?: VaultItemContext;
521
+ /** The payment method to display */
522
+ paymentMethod?: VaultedPaymentMethod | null;
523
+ /** */
524
+ "ondelete-payment-method"?: (e: CustomEvent<CustomEvent>) => void;
525
+ };
526
+
527
+ export type VaultPaymentSubmitComponentProps = {
528
+ /** The button text to display.
529
+ Falls back to localized default if not explicitly set. */
530
+ buttonText?: string;
531
+ /** */
532
+ headlessInstance?: HeadlessUnitilsContext;
533
+ /** */
534
+ sdkState?: SdkStateContext;
535
+ /** The button variant to use. */
536
+ variant?: string;
537
+ /** Whether the button is disabled.
538
+ This property allows external disabling of the button
539
+ regardless of the context state. */
540
+ disabled?: boolean;
541
+ /** */
542
+ vaultItemContext?: VaultItemContext;
543
+ /** */
544
+ vaultManager?: VaultManagerContext;
545
+ /** */
546
+ clientOptions?: PrimerCheckoutOptions | null;
547
+ };
548
+
313
549
  export type CustomElements = {
314
550
  /**
551
+ * PrimerCheckoutComponent implements the main checkout experience.
552
+ * This component includes a CSS-only loader that displays before the JavaScript
553
+ * is fully loaded, ensuring users see a loading indicator immediately.
315
554
  *
555
+ * The loader can be disabled by:
556
+ * 1. Adding the 'loader-disabled' attribute to the component
557
+ * 2. Setting the CSS custom property --primer-loader-disabled: 1
316
558
  * ---
317
559
  *
318
560
  */
@@ -322,6 +564,9 @@ export type CustomElements = {
322
564
  *
323
565
  * ---
324
566
  *
567
+ *
568
+ * ### **Events:**
569
+ * - **selection-change**
325
570
  */
326
571
  "primer-button": Partial<ButtonComponentProps & BaseProps & BaseEvents>;
327
572
 
@@ -332,6 +577,37 @@ export type CustomElements = {
332
577
  */
333
578
  "primer-checkout-state": Partial<PrimerCheckoutStateComponentProps & BaseProps & BaseEvents>;
334
579
 
580
+ /**
581
+ * A collapsable component that smoothly expands and collapses content.
582
+ * Uses CSS Grid for smooth animation and incorporates the primary button.
583
+ * ---
584
+ *
585
+ *
586
+ * ### **Events:**
587
+ * - **expanded-changed**
588
+ *
589
+ * ### **Methods:**
590
+ * - **expand(): _void_** - Expand the collapsable programmatically
591
+ * - **collapse(): _void_** - Collapse the collapsable programmatically
592
+ */
593
+ "primer-collapsable": Partial<CollapsableComponentProps & BaseProps & BaseEvents>;
594
+
595
+ /**
596
+ * A reusable atomic error message component that displays error information
597
+ * with appropriate styling and accessibility attributes.
598
+ *
599
+ * This component is fully accessible and designed to work with screen readers.
600
+ * It includes animations for visibility transitions.
601
+ * ---
602
+ *
603
+ *
604
+ * ### **CSS Parts:**
605
+ * - **error-message** - The main error message container
606
+ * - **error-icon** - The error icon container
607
+ * - **error-content** - The error text content
608
+ */
609
+ "primer-error-message": Partial<ErrorMessageComponentProps & BaseProps & BaseEvents>;
610
+
335
611
  /**
336
612
  *
337
613
  * ---
@@ -420,6 +696,31 @@ export type CustomElements = {
420
696
  */
421
697
  "primer-card-form": Partial<CardFormComponentProps & BaseProps & BaseEvents>;
422
698
 
699
+ /**
700
+ * A container component that connects to the SDK state context
701
+ * and displays appropriate error messages based on error state.
702
+ *
703
+ * This component handles both process errors (typically from backend)
704
+ * and validation errors (typically from client-side), managing when
705
+ * and how they are displayed based on the current SDK state.
706
+ * ---
707
+ *
708
+ */
709
+ "primer-error-message-container": Partial<ErrorMessageContainerComponentProps & BaseProps & BaseEvents>;
710
+
711
+ /**
712
+ * This component renders Klarna payment method in a card-like (accordion) container with
713
+ * payment categories options to choose from.
714
+ *
715
+ * [ Pay with Klarna v ] --> accordion header
716
+ *
717
+ * [ Pay Now ] [ Buy now, pay later ] --> payment categories options from Klarna
718
+ * [ Continue with Klarna ] --> opens a Klarna popup
719
+ * ---
720
+ *
721
+ */
722
+ "primer-klarna": Partial<PrimerKlarnaComponentProps & BaseProps & BaseEvents>;
723
+
423
724
  /**
424
725
  * Component for rendering native payment buttons (Apple Pay, Google Pay, PayPal)
425
726
  * with proper height calculations based on design system variables.
@@ -447,7 +748,7 @@ export type CustomElements = {
447
748
  * ---
448
749
  *
449
750
  */
450
- "primer-checkout-failure": Partial<PrimerCheckoutFailureComponentProps & BaseProps & BaseEvents>;
751
+ "primer-checkout-error": Partial<PrimerCheckoutErrorComponentProps & BaseProps & BaseEvents>;
451
752
 
452
753
  /**
453
754
  *
@@ -463,6 +764,21 @@ export type CustomElements = {
463
764
  */
464
765
  "primer-redirect-payment": Partial<RedirectPaymentComponentProps & BaseProps & BaseEvents>;
465
766
 
767
+ /**
768
+ * Component for showing/hiding other payment methods when vault is present
769
+ * Utilizes the collapsable component for smooth transitions
770
+ * ---
771
+ *
772
+ */
773
+ "primer-show-other-payments": Partial<ShowOtherPaymentsComponentProps & BaseProps & BaseEvents>;
774
+
775
+ /**
776
+ * VaultManagerComponent - displays and manages saved payment methods
777
+ * ---
778
+ *
779
+ */
780
+ "primer-vault-manager": Partial<VaultManagerComponentProps & BaseProps & BaseEvents>;
781
+
466
782
  /**
467
783
  * A form submit button component for card forms.
468
784
  * Provides a consistent submit button with translation support.
@@ -489,6 +805,10 @@ export type CustomElements = {
489
805
  *
490
806
  * ### **Methods:**
491
807
  *
808
+ * - **getError(): _string|null_** - Get the error code from the hosted input controller when the input is submitted or touched
809
+ *
810
+ * Can be used instead of the error returned by the `validate()` method since internally `primer-sdk-web`
811
+ * uses the same logic to compute the error code
492
812
  *
493
813
  */
494
814
  "primer-input-card-expiry": Partial<InputCardExpiryComponentProps & BaseProps & BaseEvents>;
@@ -500,6 +820,10 @@ export type CustomElements = {
500
820
  *
501
821
  * ### **Methods:**
502
822
  *
823
+ * - **getError(): _string|null_** - Get the error code from the hosted input controller when the input is submitted or touched
824
+ *
825
+ * Can be used instead of the error returned by the `validate()` method since internally `primer-sdk-web`
826
+ * uses the same logic to compute the error code
503
827
  *
504
828
  */
505
829
  "primer-input-card-holder-name": Partial<InputCardHolderNameComponentProps & BaseProps & BaseEvents>;
@@ -512,6 +836,10 @@ export type CustomElements = {
512
836
  * ### **Methods:**
513
837
  *
514
838
  *
839
+ * - **getError(): _string|null_** - Get the error code from the hosted input controller when the input is submitted or touched
840
+ *
841
+ * Can be used instead of the error returned by the `validate()` method since internally `primer-sdk-web`
842
+ * uses the same logic to compute the error code
515
843
  */
516
844
  "primer-input-card-number": Partial<InputCardNumberComponentProps & BaseProps & BaseEvents>;
517
845
 
@@ -522,7 +850,83 @@ export type CustomElements = {
522
850
  *
523
851
  * ### **Methods:**
524
852
  *
853
+ * - **getError(): _string|null_** - Get the error code from the hosted input controller when the input is submitted or touched
854
+ *
855
+ * Can be used instead of the error returned by the `validate()` method since internally `primer-sdk-web`
856
+ * uses the same logic to compute the error code
525
857
  *
526
858
  */
527
859
  "primer-input-cvv": Partial<InputCvvComponentProps & BaseProps & BaseEvents>;
860
+
861
+ /**
862
+ * CVV Input component for vault payment methods
863
+ * Renders a secure iframe for CVV input when required by the selected payment method
864
+ * Uses dedicated CVV context to minimize re-renders
865
+ * ---
866
+ *
867
+ *
868
+ * ### **Methods:**
869
+ * - **onCvvInputChange()** - Update CVV metadata in the context when input changes
870
+ */
871
+ "primer-vault-cvv-input": Partial<VaultCvvInputComponentProps & BaseProps & BaseEvents>;
872
+
873
+ /**
874
+ * VaultDeleteConfirmationComponent - displays confirmation UI for deleting a payment method
875
+ * ---
876
+ *
877
+ *
878
+ * ### **Events:**
879
+ * - **confirm-delete**
880
+ * - **cancel-delete**
881
+ */
882
+ "primer-vault-delete-confirmation": Partial<VaultDeleteConfirmationComponentProps & BaseProps & BaseEvents>;
883
+
884
+ /**
885
+ * VaultEmptyStateComponent - displays when no payment methods are available
886
+ * ---
887
+ *
888
+ */
889
+ "primer-vault-empty-state": Partial<VaultEmptyStateComponentProps & BaseProps & BaseEvents>;
890
+
891
+ /**
892
+ * VaultErrorMessageComponent - displays error messages with improved visuals
893
+ * ---
894
+ *
895
+ *
896
+ * ### **Events:**
897
+ * - **close-error**
898
+ */
899
+ "primer-vault-error-message": Partial<VaultErrorMessageComponentProps & BaseProps & BaseEvents>;
900
+
901
+ /**
902
+ * VaultManagerHeaderComponent - displays the header for the vault manager
903
+ * ---
904
+ *
905
+ *
906
+ * ### **Events:**
907
+ * - **toggle-edit-mode**
908
+ */
909
+ "primer-vault-manager-header": Partial<VaultManagerHeaderComponentProps & BaseProps & BaseEvents>;
910
+
911
+ /**
912
+ * VaultPaymentMethodItemComponent - displays a single payment method
913
+ * Uses the VaultManagerController for display formatting
914
+ * Now supports selection via the simplified button checked state
915
+ * Enhanced with smooth transitions between edit and payment modes
916
+ * ---
917
+ *
918
+ *
919
+ * ### **Events:**
920
+ * - **delete-payment-method**
921
+ */
922
+ "primer-vault-payment-method-item": Partial<VaultPaymentMethodItemComponentProps & BaseProps & BaseEvents>;
923
+
924
+ /**
925
+ * A submit button component for vault payment flows.
926
+ * Provides a consistent submit button with translation support.
927
+ * Integrates with the vault manager context to handle payment submission.
928
+ * ---
929
+ *
930
+ */
931
+ "primer-vault-payment-submit": Partial<VaultPaymentSubmitComponentProps & BaseProps & BaseEvents>;
528
932
  };