@basis-theory/basis-theory-js
Advanced tools
Comparing version 1.27.0 to 1.28.0
@@ -1,2 +0,2 @@ | ||
import type { AtomicBanks as ElementsAtomicBanks, AtomicCards as ElementsAtomicCards, BasisTheoryElements, CardElement, CustomizableElementOptions, ElementType, TextElement, TokenizeData as ElementsTokenizeData, Tokens as ElementsTokens } from '@/types/elements'; | ||
import type { AtomicBanks as ElementsAtomicBanks, AtomicCards as ElementsAtomicCards, BasisTheoryElements, CardElement, CreateCardElementOptions, CreateTextElementOptions, TextElement, TokenizeData as ElementsTokenizeData, Tokens as ElementsTokens } from '@/types/elements'; | ||
import type { TokenizeData } from '@/types/models'; | ||
@@ -20,3 +20,4 @@ import type { Applications, AtomicBanks, AtomicCards, BasisTheory as IBasisTheory, BasisTheoryInit, Logs, Permissions, ReactorFormulas, Reactors, RequestOptions, Tenants, Tokens, BasisTheoryInitOptions, BasisTheoryInitOptionsWithElements, BasisTheoryInitOptionsWithoutElements } from '@/types/sdk'; | ||
init(apiKey: string, options: BasisTheoryInitOptionsWithElements): Promise<IBasisTheory & BasisTheoryElements>; | ||
createElement(type: ElementType, options: CustomizableElementOptions): CardElement | TextElement; | ||
createElement(type: 'card', options?: CreateCardElementOptions): CardElement; | ||
createElement(type: 'text', options: CreateTextElementOptions): TextElement; | ||
tokenize(tokens: TokenizeData & ElementsTokenizeData, options?: RequestOptions): Promise<TokenizeData>; | ||
@@ -23,0 +24,0 @@ private loadElements; |
@@ -134,7 +134,4 @@ "use strict"; | ||
throw new Error(_constants.ELEMENTS_INIT_ERROR_MESSAGE); | ||
} // the cast below is to avoid unnecessary conditional calls to elements | ||
// the underlying elements function called will be the same, no matter the | ||
// element type | ||
} | ||
return this._elements.createElement(type, options); | ||
@@ -141,0 +138,0 @@ } |
{ | ||
"name": "@basis-theory/basis-theory-js", | ||
"version": "1.27.0", | ||
"version": "1.28.0", | ||
"repository": "https://github.com/Basis-Theory/basis-theory-js", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
@@ -1,5 +0,5 @@ | ||
import type { ElementEventListener, EventType, Subscription } from './events'; | ||
import type { ElementEventListener, EventType, Subscription, TextElementEvents, CardElementEvents } from './events'; | ||
import type { CreateCardElementOptions, CreateTextElementOptions, UpdateCardElementOptions, UpdateTextElementOptions } from './options'; | ||
import type { AtomicBanks, AtomicCards, Tokenize, Tokens } from './services'; | ||
interface BaseElement<UpdateOptions> { | ||
interface BaseElement<UpdateOptions, ElementEvents> { | ||
readonly mounted: boolean; | ||
@@ -10,6 +10,6 @@ mount(selector: string): Promise<void>; | ||
unmount(): void; | ||
on<T extends EventType>(eventType: T, listener: ElementEventListener<T>): Subscription; | ||
on<T extends EventType>(eventType: T, listener: ElementEventListener<ElementEvents, T>): Subscription; | ||
} | ||
declare type CardElement = BaseElement<UpdateCardElementOptions>; | ||
declare type TextElement = BaseElement<UpdateTextElementOptions>; | ||
declare type CardElement = BaseElement<UpdateCardElementOptions, CardElementEvents>; | ||
declare type TextElement = BaseElement<UpdateTextElementOptions, TextElementEvents>; | ||
interface BasisTheoryElements extends Tokenize { | ||
@@ -16,0 +16,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
import type { FieldError, ListenableKey, Targeted } from './shared'; | ||
import type { Brand, FieldError, ListenableKey, Targeted } from './shared'; | ||
declare type EventType = 'ready' | 'change' | 'focus' | 'blur' | 'keydown'; | ||
@@ -12,2 +12,5 @@ interface BaseEvent<T extends EventType> { | ||
}; | ||
declare type CardChangeEvent = ChangeEvent & { | ||
cardBrand: Brand; | ||
}; | ||
declare type InputFocusEvent = BaseEvent<'focus'> & Targeted; | ||
@@ -18,3 +21,5 @@ declare type InputBlurEvent = BaseEvent<'blur'> & Targeted; | ||
} & Pick<KeyboardEvent, 'altKey' | 'ctrlKey' | 'shiftKey' | 'metaKey'>; | ||
declare type ElementEvent = ReadyEvent | ChangeEvent | InputFocusEvent | InputBlurEvent | InputKeydownEvent; | ||
declare type BaseElementEvents = ReadyEvent | InputFocusEvent | InputBlurEvent | InputKeydownEvent; | ||
declare type TextElementEvents = BaseElementEvents | ChangeEvent; | ||
declare type CardElementEvents = BaseElementEvents | CardChangeEvent; | ||
/** | ||
@@ -26,6 +31,6 @@ * Utility type that helps find a Union type based on a `type` property | ||
} ? Union : never; | ||
declare type ElementEventListener<T extends EventType> = (event: FindByType<ElementEvent, T>) => void; | ||
declare type ElementEventListener<Events, Type> = (event: FindByType<Events, Type>) => void; | ||
interface Subscription { | ||
unsubscribe(): void; | ||
} | ||
export type { EventType, BaseEvent, ReadyEvent, ChangeEvent, InputFocusEvent, InputBlurEvent, InputKeydownEvent, ElementEvent, ElementEventListener, Subscription, }; | ||
export type { EventType, BaseEvent, ReadyEvent, ChangeEvent, CardChangeEvent, InputFocusEvent, InputBlurEvent, InputKeydownEvent, BaseElementEvents, TextElementEvents, CardElementEvents, ElementEventListener, Subscription, }; |
127949
2705