@primer-io/primer-js 0.7.2 → 0.8.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/CHANGELOG.md +18 -0
- package/dist/custom-elements.json +1479 -1053
- package/dist/jsx/index.d.ts +21 -1
- package/dist/primer-loader.d.ts +180 -1
- package/dist/primer-loader.js +12 -12
- package/dist/vscode.html-custom-data.json +2 -2
- package/dist/web-types.json +29 -7
- package/package.json +1 -1
package/dist/jsx/index.d.ts
CHANGED
|
@@ -138,7 +138,8 @@ export type CollapsableComponentProps = {
|
|
|
138
138
|
ariaLabel?: string;
|
|
139
139
|
/** The button variant to use */
|
|
140
140
|
buttonVariant?: ButtonVariant;
|
|
141
|
-
|
|
141
|
+
/** Internal state to track expanded state */
|
|
142
|
+
isExpanded?: boolean;
|
|
142
143
|
/** */
|
|
143
144
|
"onexpanded-changed"?: (e: CustomEvent<CustomEvent>) => void;
|
|
144
145
|
};
|
|
@@ -457,6 +458,10 @@ export type RedirectPaymentComponentProps = {
|
|
|
457
458
|
export type ShowOtherPaymentsComponentProps = {
|
|
458
459
|
/** Consume the vault manager context to interact with vault state */
|
|
459
460
|
vaultManager?: VaultManagerContextType;
|
|
461
|
+
/** Consume the events context for external control */
|
|
462
|
+
contextEventsController?: EventsContextType;
|
|
463
|
+
/** */
|
|
464
|
+
"onshow-other-payments-toggled"?: (e: CustomEvent<CustomEvent>) => void;
|
|
460
465
|
};
|
|
461
466
|
|
|
462
467
|
export type VaultManagerComponentProps = {
|
|
@@ -480,6 +485,10 @@ export type VaultManagerComponentProps = {
|
|
|
480
485
|
vaultItemContext?: VaultItemContextType;
|
|
481
486
|
/** */
|
|
482
487
|
headlessUtils?: HeadlessUtilsContextType;
|
|
488
|
+
/** */
|
|
489
|
+
contextEventsController?: EventsContextType;
|
|
490
|
+
/** */
|
|
491
|
+
"onprimer-vault-payment-error"?: (e: CustomEvent<CustomEvent>) => void;
|
|
483
492
|
};
|
|
484
493
|
|
|
485
494
|
export type CardFormSubmitComponentProps = {
|
|
@@ -1053,8 +1062,16 @@ export type CustomElements = {
|
|
|
1053
1062
|
/**
|
|
1054
1063
|
* Component for showing/hiding other payment methods when vault is present
|
|
1055
1064
|
* Utilizes the collapsable component for smooth transitions
|
|
1065
|
+
* Supports custom toggle buttons via slots and external control via events
|
|
1056
1066
|
* ---
|
|
1057
1067
|
*
|
|
1068
|
+
*
|
|
1069
|
+
* ### **Events:**
|
|
1070
|
+
* - **show-other-payments-toggled**
|
|
1071
|
+
*
|
|
1072
|
+
* ### **Methods:**
|
|
1073
|
+
* - **expand(): _void_** - Public API: Expand the accordion programmatically
|
|
1074
|
+
* - **collapse(): _void_** - Public API: Collapse the accordion programmatically
|
|
1058
1075
|
*/
|
|
1059
1076
|
"primer-show-other-payments": Partial<ShowOtherPaymentsComponentProps & BaseProps & BaseEvents>;
|
|
1060
1077
|
|
|
@@ -1062,6 +1079,9 @@ export type CustomElements = {
|
|
|
1062
1079
|
* VaultManagerComponent - displays and manages saved payment methods
|
|
1063
1080
|
* ---
|
|
1064
1081
|
*
|
|
1082
|
+
*
|
|
1083
|
+
* ### **Events:**
|
|
1084
|
+
* - **primer-vault-payment-error**
|
|
1065
1085
|
*/
|
|
1066
1086
|
"primer-vault-manager": Partial<VaultManagerComponentProps & BaseProps & BaseEvents>;
|
|
1067
1087
|
|
package/dist/primer-loader.d.ts
CHANGED
|
@@ -1245,6 +1245,7 @@ export interface PrimerCheckoutOptions {
|
|
|
1245
1245
|
* @default false
|
|
1246
1246
|
*/
|
|
1247
1247
|
required?: boolean;
|
|
1248
|
+
defaultValue?: string;
|
|
1248
1249
|
/**
|
|
1249
1250
|
* Whether the cardholder name field is visible in the card form.
|
|
1250
1251
|
* When false, the field is hidden and not included in validation.
|
|
@@ -1973,6 +1974,13 @@ export interface CardSubmitPayload {
|
|
|
1973
1974
|
export interface PrimeAchErrorPayload {
|
|
1974
1975
|
error: Error;
|
|
1975
1976
|
}
|
|
1977
|
+
export interface VaultSubmitPayload {
|
|
1978
|
+
source?: string;
|
|
1979
|
+
}
|
|
1980
|
+
export interface ShowOtherPaymentsTogglePayload {
|
|
1981
|
+
action?: "toggle" | "expand" | "collapse";
|
|
1982
|
+
source?: string;
|
|
1983
|
+
}
|
|
1976
1984
|
export interface PrimerEvents {
|
|
1977
1985
|
"primer:state-change": CustomEvent<SdkStateContextType>;
|
|
1978
1986
|
"primer:methods-update": CustomEvent<InitializedPayments>;
|
|
@@ -2006,6 +2014,8 @@ export interface PrimerEvents {
|
|
|
2006
2014
|
vaultedPayments: InitializedVaultedPayments;
|
|
2007
2015
|
timestamp: number;
|
|
2008
2016
|
}>;
|
|
2017
|
+
"primer:vault-submit": CustomEvent<VaultSubmitPayload>;
|
|
2018
|
+
"primer:show-other-payments-toggle": CustomEvent<ShowOtherPaymentsTogglePayload>;
|
|
2009
2019
|
}
|
|
2010
2020
|
declare class PrimerEventsController implements ReactiveController {
|
|
2011
2021
|
host: ReactiveControllerHost & LitElement;
|
|
@@ -2061,6 +2071,32 @@ declare class PrimerEventsController implements ReactiveController {
|
|
|
2061
2071
|
* @param vaultedPayments - Wrapper containing filtered vaulted payment methods
|
|
2062
2072
|
*/
|
|
2063
2073
|
dispatchVaultMethodsUpdate(vaultedPayments: InitializedVaultedPayments): void;
|
|
2074
|
+
/**
|
|
2075
|
+
* Dispatch vault submit event.
|
|
2076
|
+
* Called when a vault payment submission is triggered.
|
|
2077
|
+
*/
|
|
2078
|
+
dispatchVaultSubmit(source?: string): void;
|
|
2079
|
+
/**
|
|
2080
|
+
* Handle external vault submit events and forward them through the event system.
|
|
2081
|
+
* This method provides a centralized way to process external vault submission events
|
|
2082
|
+
* that come from custom buttons or external triggers.
|
|
2083
|
+
*
|
|
2084
|
+
* @param eventDetails - The event details to forward, including source information
|
|
2085
|
+
*/
|
|
2086
|
+
handleExternalVaultSubmit(eventDetails: VaultSubmitPayload): void;
|
|
2087
|
+
/**
|
|
2088
|
+
* Dispatch show other payments toggle event.
|
|
2089
|
+
* Called when the "Show other ways to pay" accordion should be toggled.
|
|
2090
|
+
*/
|
|
2091
|
+
dispatchShowOtherPaymentsToggle(action?: "toggle" | "expand" | "collapse", source?: string): void;
|
|
2092
|
+
/**
|
|
2093
|
+
* Handle external show other payments toggle events and forward them through the event system.
|
|
2094
|
+
* This method provides a centralized way to process external toggle events
|
|
2095
|
+
* that come from custom buttons or external triggers.
|
|
2096
|
+
*
|
|
2097
|
+
* @param eventDetails - The event details to forward, including action and source information
|
|
2098
|
+
*/
|
|
2099
|
+
handleExternalShowOtherPaymentsToggle(eventDetails: ShowOtherPaymentsTogglePayload): void;
|
|
2064
2100
|
}
|
|
2065
2101
|
export type AnalyticsContextType = AnalyticsUtils | null;
|
|
2066
2102
|
export type EventsContextType = PrimerEventsController | null;
|
|
@@ -2563,6 +2599,16 @@ export declare class PrimerCheckoutComponent extends LitElement implements Prime
|
|
|
2563
2599
|
* Uses AbortController signal to prevent circular event loops more safely
|
|
2564
2600
|
*/
|
|
2565
2601
|
private handleExternalCardSubmit;
|
|
2602
|
+
/**
|
|
2603
|
+
* Handle external primer:vault-submit events by forwarding them through the events controller
|
|
2604
|
+
* Uses AbortController signal to prevent circular event loops more safely
|
|
2605
|
+
*/
|
|
2606
|
+
private handleExternalVaultSubmit;
|
|
2607
|
+
/**
|
|
2608
|
+
* Handle external primer:show-other-payments-toggle events by forwarding them through the events controller
|
|
2609
|
+
* Uses AbortController signal to prevent circular event loops more safely
|
|
2610
|
+
*/
|
|
2611
|
+
private handleExternalShowOtherPaymentsToggle;
|
|
2566
2612
|
/**
|
|
2567
2613
|
* Check if the loading state has changed and update the CSS loader visibility accordingly.
|
|
2568
2614
|
* This method is called after each update cycle to detect when loading is complete.
|
|
@@ -3011,7 +3057,7 @@ declare class CollapsableComponent extends LitElement {
|
|
|
3011
3057
|
/**
|
|
3012
3058
|
* Internal state to track expanded state
|
|
3013
3059
|
*/
|
|
3014
|
-
|
|
3060
|
+
isExpanded: boolean;
|
|
3015
3061
|
/**
|
|
3016
3062
|
* Hook into the component lifecycle to set the initial expanded state
|
|
3017
3063
|
*/
|
|
@@ -3717,6 +3763,7 @@ export interface VaultManagerEvents {
|
|
|
3717
3763
|
vaultPaymentError: CustomEvent<{
|
|
3718
3764
|
error: unknown;
|
|
3719
3765
|
}>;
|
|
3766
|
+
vaultSubmit: CustomEvent<void>;
|
|
3720
3767
|
}
|
|
3721
3768
|
/**
|
|
3722
3769
|
* Declare the event map for strict typing of events
|
|
@@ -3728,6 +3775,7 @@ export interface VaultManagerEventMap {
|
|
|
3728
3775
|
"toggle-edit-mode": VaultManagerEvents["toggleEditMode"];
|
|
3729
3776
|
"close-error": VaultManagerEvents["closeError"];
|
|
3730
3777
|
"primer-vault-payment-error": VaultManagerEvents["vaultPaymentError"];
|
|
3778
|
+
"primer:vault-submit": VaultManagerEvents["vaultSubmit"];
|
|
3731
3779
|
}
|
|
3732
3780
|
/**
|
|
3733
3781
|
* VaultManagerComponent - displays and manages saved payment methods
|
|
@@ -3740,6 +3788,11 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3740
3788
|
vaultManagerContext: VaultManagerContextType;
|
|
3741
3789
|
vaultItemContext: VaultItemContextType;
|
|
3742
3790
|
headlessUtils: HeadlessUtilsContextType;
|
|
3791
|
+
contextEventsController: EventsContextType;
|
|
3792
|
+
/**
|
|
3793
|
+
* State to track if slot has content (triggers re-render)
|
|
3794
|
+
*/
|
|
3795
|
+
private hasSlottedSubmit;
|
|
3743
3796
|
/**
|
|
3744
3797
|
* Whether we're in edit mode
|
|
3745
3798
|
*/
|
|
@@ -3760,6 +3813,14 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3760
3813
|
* Animation duration override
|
|
3761
3814
|
*/
|
|
3762
3815
|
animationDuration: number;
|
|
3816
|
+
/**
|
|
3817
|
+
* Flag to prevent circular event handling
|
|
3818
|
+
*/
|
|
3819
|
+
private _isHandlingContextEvent;
|
|
3820
|
+
/**
|
|
3821
|
+
* Context event listener reference
|
|
3822
|
+
*/
|
|
3823
|
+
private _contextVaultSubmitListener;
|
|
3763
3824
|
/**
|
|
3764
3825
|
* Asset config for the payment method being deleted
|
|
3765
3826
|
*/
|
|
@@ -3768,6 +3829,10 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3768
3829
|
* Get base animation configuration with current settings
|
|
3769
3830
|
*/
|
|
3770
3831
|
private getAnimationConfig;
|
|
3832
|
+
/**
|
|
3833
|
+
* Handle slot change to update hasSlottedSubmit state
|
|
3834
|
+
*/
|
|
3835
|
+
private handleSubmitSlotChange;
|
|
3771
3836
|
/**
|
|
3772
3837
|
* Toggle edit mode handler
|
|
3773
3838
|
*/
|
|
@@ -3792,10 +3857,47 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3792
3857
|
* Handle closing error message
|
|
3793
3858
|
*/
|
|
3794
3859
|
private handleCloseError;
|
|
3860
|
+
/**
|
|
3861
|
+
* Determines if a button is a submit button based on its attributes
|
|
3862
|
+
*/
|
|
3863
|
+
private isSubmitButton;
|
|
3864
|
+
/**
|
|
3865
|
+
* Handles click events from slotted content.
|
|
3866
|
+
* Supports both native <button> and custom <primer-button> elements.
|
|
3867
|
+
*/
|
|
3868
|
+
private handleSlotButtonClick;
|
|
3869
|
+
/**
|
|
3870
|
+
* Handles direct primer:vault-submit events
|
|
3871
|
+
*/
|
|
3872
|
+
private handleDirectSubmit;
|
|
3873
|
+
/**
|
|
3874
|
+
* Submits the vault payment
|
|
3875
|
+
*/
|
|
3876
|
+
private submitVaultPayment;
|
|
3795
3877
|
/**
|
|
3796
3878
|
* Get payment method display name for the given ID
|
|
3797
3879
|
*/
|
|
3798
3880
|
private getPaymentMethodName;
|
|
3881
|
+
/**
|
|
3882
|
+
* Sets up event listeners for context-forwarded events
|
|
3883
|
+
*/
|
|
3884
|
+
private setupContextEventListeners;
|
|
3885
|
+
/**
|
|
3886
|
+
* Cleans up context event listeners
|
|
3887
|
+
*/
|
|
3888
|
+
private cleanupContextEventListeners;
|
|
3889
|
+
/**
|
|
3890
|
+
* Handles primer:vault-submit events received from the events context
|
|
3891
|
+
*/
|
|
3892
|
+
private handleContextVaultSubmit;
|
|
3893
|
+
/**
|
|
3894
|
+
* Lifecycle method called when component is added to the DOM
|
|
3895
|
+
*/
|
|
3896
|
+
connectedCallback(): void;
|
|
3897
|
+
/**
|
|
3898
|
+
* Lifecycle method called when component is removed from the DOM
|
|
3899
|
+
*/
|
|
3900
|
+
disconnectedCallback(): void;
|
|
3799
3901
|
/**
|
|
3800
3902
|
* Render loading overlay with spinner when isUpdating is true
|
|
3801
3903
|
*/
|
|
@@ -4759,6 +4861,7 @@ declare global {
|
|
|
4759
4861
|
/**
|
|
4760
4862
|
* Component for showing/hiding other payment methods when vault is present
|
|
4761
4863
|
* Utilizes the collapsable component for smooth transitions
|
|
4864
|
+
* Supports custom toggle buttons via slots and external control via events
|
|
4762
4865
|
*/
|
|
4763
4866
|
declare class ShowOtherPaymentsComponent extends LitElement {
|
|
4764
4867
|
static styles: import("lit").CSSResult[];
|
|
@@ -4766,6 +4869,82 @@ declare class ShowOtherPaymentsComponent extends LitElement {
|
|
|
4766
4869
|
* Consume the vault manager context to interact with vault state
|
|
4767
4870
|
*/
|
|
4768
4871
|
vaultManager: VaultManagerContextType;
|
|
4872
|
+
/**
|
|
4873
|
+
* Consume the events context for external control
|
|
4874
|
+
*/
|
|
4875
|
+
contextEventsController: EventsContextType;
|
|
4876
|
+
/**
|
|
4877
|
+
* Reference to the collapsable component
|
|
4878
|
+
*/
|
|
4879
|
+
protected collapsableElement?: CollapsableComponent;
|
|
4880
|
+
/**
|
|
4881
|
+
* State to track if slot has content (triggers re-render)
|
|
4882
|
+
*/
|
|
4883
|
+
private hasSlottedToggle;
|
|
4884
|
+
/**
|
|
4885
|
+
* State to track expanded state when using slotted toggle button
|
|
4886
|
+
*/
|
|
4887
|
+
private isExpanded;
|
|
4888
|
+
/**
|
|
4889
|
+
* Flag to prevent circular event handling
|
|
4890
|
+
*/
|
|
4891
|
+
private _isHandlingContextEvent;
|
|
4892
|
+
/**
|
|
4893
|
+
* Context event listener reference
|
|
4894
|
+
*/
|
|
4895
|
+
private _contextToggleListener;
|
|
4896
|
+
/**
|
|
4897
|
+
* Handle slot change to update hasSlottedToggle state
|
|
4898
|
+
*/
|
|
4899
|
+
private handleToggleSlotChange;
|
|
4900
|
+
/**
|
|
4901
|
+
* Determines if a button is a toggle button based on its attributes
|
|
4902
|
+
*/
|
|
4903
|
+
private isToggleButton;
|
|
4904
|
+
/**
|
|
4905
|
+
* Handles click events from slotted toggle buttons
|
|
4906
|
+
*/
|
|
4907
|
+
private handleSlotButtonClick;
|
|
4908
|
+
/**
|
|
4909
|
+
* Handles direct primer:show-other-payments-toggle events
|
|
4910
|
+
*/
|
|
4911
|
+
private handleDirectToggle;
|
|
4912
|
+
/**
|
|
4913
|
+
* Handles primer:show-other-payments-toggle events received from the events context
|
|
4914
|
+
*/
|
|
4915
|
+
private handleContextToggle;
|
|
4916
|
+
/**
|
|
4917
|
+
* Toggle the accordion state
|
|
4918
|
+
*/
|
|
4919
|
+
private toggleAccordion;
|
|
4920
|
+
/**
|
|
4921
|
+
* Dispatch expanded state changed event
|
|
4922
|
+
*/
|
|
4923
|
+
private dispatchExpandedEvent;
|
|
4924
|
+
/**
|
|
4925
|
+
* Public API: Expand the accordion programmatically
|
|
4926
|
+
*/
|
|
4927
|
+
expand(): void;
|
|
4928
|
+
/**
|
|
4929
|
+
* Public API: Collapse the accordion programmatically
|
|
4930
|
+
*/
|
|
4931
|
+
collapse(): void;
|
|
4932
|
+
/**
|
|
4933
|
+
* Sets up event listeners for context-forwarded events
|
|
4934
|
+
*/
|
|
4935
|
+
private setupContextEventListeners;
|
|
4936
|
+
/**
|
|
4937
|
+
* Cleans up context event listeners
|
|
4938
|
+
*/
|
|
4939
|
+
private cleanupContextEventListeners;
|
|
4940
|
+
/**
|
|
4941
|
+
* Lifecycle method called when component is added to the DOM
|
|
4942
|
+
*/
|
|
4943
|
+
connectedCallback(): void;
|
|
4944
|
+
/**
|
|
4945
|
+
* Lifecycle method called when component is removed from the DOM
|
|
4946
|
+
*/
|
|
4947
|
+
disconnectedCallback(): void;
|
|
4769
4948
|
render(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
4770
4949
|
}
|
|
4771
4950
|
declare global {
|