@primer-io/primer-js 0.7.3 → 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 +12 -0
- package/dist/custom-elements.json +1552 -1126
- package/dist/jsx/index.d.ts +21 -1
- package/dist/primer-loader.d.ts +179 -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
|
@@ -1974,6 +1974,13 @@ export interface CardSubmitPayload {
|
|
|
1974
1974
|
export interface PrimeAchErrorPayload {
|
|
1975
1975
|
error: Error;
|
|
1976
1976
|
}
|
|
1977
|
+
export interface VaultSubmitPayload {
|
|
1978
|
+
source?: string;
|
|
1979
|
+
}
|
|
1980
|
+
export interface ShowOtherPaymentsTogglePayload {
|
|
1981
|
+
action?: "toggle" | "expand" | "collapse";
|
|
1982
|
+
source?: string;
|
|
1983
|
+
}
|
|
1977
1984
|
export interface PrimerEvents {
|
|
1978
1985
|
"primer:state-change": CustomEvent<SdkStateContextType>;
|
|
1979
1986
|
"primer:methods-update": CustomEvent<InitializedPayments>;
|
|
@@ -2007,6 +2014,8 @@ export interface PrimerEvents {
|
|
|
2007
2014
|
vaultedPayments: InitializedVaultedPayments;
|
|
2008
2015
|
timestamp: number;
|
|
2009
2016
|
}>;
|
|
2017
|
+
"primer:vault-submit": CustomEvent<VaultSubmitPayload>;
|
|
2018
|
+
"primer:show-other-payments-toggle": CustomEvent<ShowOtherPaymentsTogglePayload>;
|
|
2010
2019
|
}
|
|
2011
2020
|
declare class PrimerEventsController implements ReactiveController {
|
|
2012
2021
|
host: ReactiveControllerHost & LitElement;
|
|
@@ -2062,6 +2071,32 @@ declare class PrimerEventsController implements ReactiveController {
|
|
|
2062
2071
|
* @param vaultedPayments - Wrapper containing filtered vaulted payment methods
|
|
2063
2072
|
*/
|
|
2064
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;
|
|
2065
2100
|
}
|
|
2066
2101
|
export type AnalyticsContextType = AnalyticsUtils | null;
|
|
2067
2102
|
export type EventsContextType = PrimerEventsController | null;
|
|
@@ -2564,6 +2599,16 @@ export declare class PrimerCheckoutComponent extends LitElement implements Prime
|
|
|
2564
2599
|
* Uses AbortController signal to prevent circular event loops more safely
|
|
2565
2600
|
*/
|
|
2566
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;
|
|
2567
2612
|
/**
|
|
2568
2613
|
* Check if the loading state has changed and update the CSS loader visibility accordingly.
|
|
2569
2614
|
* This method is called after each update cycle to detect when loading is complete.
|
|
@@ -3012,7 +3057,7 @@ declare class CollapsableComponent extends LitElement {
|
|
|
3012
3057
|
/**
|
|
3013
3058
|
* Internal state to track expanded state
|
|
3014
3059
|
*/
|
|
3015
|
-
|
|
3060
|
+
isExpanded: boolean;
|
|
3016
3061
|
/**
|
|
3017
3062
|
* Hook into the component lifecycle to set the initial expanded state
|
|
3018
3063
|
*/
|
|
@@ -3718,6 +3763,7 @@ export interface VaultManagerEvents {
|
|
|
3718
3763
|
vaultPaymentError: CustomEvent<{
|
|
3719
3764
|
error: unknown;
|
|
3720
3765
|
}>;
|
|
3766
|
+
vaultSubmit: CustomEvent<void>;
|
|
3721
3767
|
}
|
|
3722
3768
|
/**
|
|
3723
3769
|
* Declare the event map for strict typing of events
|
|
@@ -3729,6 +3775,7 @@ export interface VaultManagerEventMap {
|
|
|
3729
3775
|
"toggle-edit-mode": VaultManagerEvents["toggleEditMode"];
|
|
3730
3776
|
"close-error": VaultManagerEvents["closeError"];
|
|
3731
3777
|
"primer-vault-payment-error": VaultManagerEvents["vaultPaymentError"];
|
|
3778
|
+
"primer:vault-submit": VaultManagerEvents["vaultSubmit"];
|
|
3732
3779
|
}
|
|
3733
3780
|
/**
|
|
3734
3781
|
* VaultManagerComponent - displays and manages saved payment methods
|
|
@@ -3741,6 +3788,11 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3741
3788
|
vaultManagerContext: VaultManagerContextType;
|
|
3742
3789
|
vaultItemContext: VaultItemContextType;
|
|
3743
3790
|
headlessUtils: HeadlessUtilsContextType;
|
|
3791
|
+
contextEventsController: EventsContextType;
|
|
3792
|
+
/**
|
|
3793
|
+
* State to track if slot has content (triggers re-render)
|
|
3794
|
+
*/
|
|
3795
|
+
private hasSlottedSubmit;
|
|
3744
3796
|
/**
|
|
3745
3797
|
* Whether we're in edit mode
|
|
3746
3798
|
*/
|
|
@@ -3761,6 +3813,14 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3761
3813
|
* Animation duration override
|
|
3762
3814
|
*/
|
|
3763
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;
|
|
3764
3824
|
/**
|
|
3765
3825
|
* Asset config for the payment method being deleted
|
|
3766
3826
|
*/
|
|
@@ -3769,6 +3829,10 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3769
3829
|
* Get base animation configuration with current settings
|
|
3770
3830
|
*/
|
|
3771
3831
|
private getAnimationConfig;
|
|
3832
|
+
/**
|
|
3833
|
+
* Handle slot change to update hasSlottedSubmit state
|
|
3834
|
+
*/
|
|
3835
|
+
private handleSubmitSlotChange;
|
|
3772
3836
|
/**
|
|
3773
3837
|
* Toggle edit mode handler
|
|
3774
3838
|
*/
|
|
@@ -3793,10 +3857,47 @@ declare class VaultManagerComponent extends LitElement {
|
|
|
3793
3857
|
* Handle closing error message
|
|
3794
3858
|
*/
|
|
3795
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;
|
|
3796
3877
|
/**
|
|
3797
3878
|
* Get payment method display name for the given ID
|
|
3798
3879
|
*/
|
|
3799
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;
|
|
3800
3901
|
/**
|
|
3801
3902
|
* Render loading overlay with spinner when isUpdating is true
|
|
3802
3903
|
*/
|
|
@@ -4760,6 +4861,7 @@ declare global {
|
|
|
4760
4861
|
/**
|
|
4761
4862
|
* Component for showing/hiding other payment methods when vault is present
|
|
4762
4863
|
* Utilizes the collapsable component for smooth transitions
|
|
4864
|
+
* Supports custom toggle buttons via slots and external control via events
|
|
4763
4865
|
*/
|
|
4764
4866
|
declare class ShowOtherPaymentsComponent extends LitElement {
|
|
4765
4867
|
static styles: import("lit").CSSResult[];
|
|
@@ -4767,6 +4869,82 @@ declare class ShowOtherPaymentsComponent extends LitElement {
|
|
|
4767
4869
|
* Consume the vault manager context to interact with vault state
|
|
4768
4870
|
*/
|
|
4769
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;
|
|
4770
4948
|
render(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
4771
4949
|
}
|
|
4772
4950
|
declare global {
|