@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.
- package/dist/custom-elements.json +7682 -3141
- package/dist/jsx/index.d.ts +414 -10
- package/dist/primer-loader.d.ts +1067 -181
- package/dist/primer-loader.js +165 -1
- package/dist/vscode.html-custom-data.json +284 -18
- package/dist/web-types.json +663 -46
- package/package.json +2 -1
package/dist/jsx/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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?:
|
|
275
|
+
paymentMethods?: PaymentMethodsContext;
|
|
211
276
|
};
|
|
212
277
|
|
|
213
278
|
export type PrimerCheckoutCompleteComponentProps = {};
|
|
214
279
|
|
|
215
|
-
export type
|
|
280
|
+
export type PrimerCheckoutErrorComponentProps = {
|
|
216
281
|
/** */
|
|
217
|
-
sdkState?:
|
|
282
|
+
sdkState?: SdkStateContext;
|
|
218
283
|
};
|
|
219
284
|
|
|
220
285
|
export type PrimerMainComponentProps = {
|
|
221
286
|
/** */
|
|
222
|
-
paymentMethods?:
|
|
287
|
+
paymentMethods?: PaymentMethodsContext;
|
|
223
288
|
/** */
|
|
224
|
-
sdkState?: SdkStateContext
|
|
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
|
|
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
|
|
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-
|
|
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
|
};
|