@basis-theory/web-elements 3.0.0-beta.3 → 3.0.0-beta.5

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.
Files changed (101) hide show
  1. package/dist/.vite/manifest.json +30 -8
  2. package/dist/basis-theory-sdk.es.js +1 -1
  3. package/dist/basis-theory-sdk.umd.js +1 -1
  4. package/dist/basis-theory-sdk.umd.js.map +1 -1
  5. package/dist/{create-card-DipDWgph.js → create-card-CB_YcP_4.js} +58 -20
  6. package/dist/create-card-CB_YcP_4.js.map +1 -0
  7. package/dist/create-card-display-kBupMJwe.js +280 -0
  8. package/dist/create-card-display-kBupMJwe.js.map +1 -0
  9. package/dist/create-copy-button-2XtKTEo3.js +236 -0
  10. package/dist/create-copy-button-2XtKTEo3.js.map +1 -0
  11. package/dist/{index-BBfuUaLw.js → index-Dyy7tm5Z.js} +709 -140
  12. package/dist/index-Dyy7tm5Z.js.map +1 -0
  13. package/dist/index.d.ts +1119 -0
  14. package/dist/loader/basis-theory.min.js +1 -1
  15. package/dist/sri.json +9 -9
  16. package/dist/stats.html +1 -1
  17. package/package.json +12 -12
  18. package/dist/api-client/src/api-client.d.ts +0 -11
  19. package/dist/api-client/src/api-client.d.ts.map +0 -1
  20. package/dist/api-client/src/http-client.d.ts +0 -24
  21. package/dist/api-client/src/http-client.d.ts.map +0 -1
  22. package/dist/api-client/src/index.d.ts +0 -9
  23. package/dist/api-client/src/index.d.ts.map +0 -1
  24. package/dist/api-client/src/services/sessions.d.ts +0 -19
  25. package/dist/api-client/src/services/sessions.d.ts.map +0 -1
  26. package/dist/api-client/src/services/token-intents.d.ts +0 -17
  27. package/dist/api-client/src/services/token-intents.d.ts.map +0 -1
  28. package/dist/api-client/src/services/tokens.d.ts +0 -19
  29. package/dist/api-client/src/services/tokens.d.ts.map +0 -1
  30. package/dist/api-client/src/types.d.ts +0 -313
  31. package/dist/api-client/src/types.d.ts.map +0 -1
  32. package/dist/create-card-DipDWgph.js.map +0 -1
  33. package/dist/index-BBfuUaLw.js.map +0 -1
  34. package/dist/postmessage/src/client.d.ts +0 -7
  35. package/dist/postmessage/src/client.d.ts.map +0 -1
  36. package/dist/postmessage/src/event-map.d.ts +0 -135
  37. package/dist/postmessage/src/event-map.d.ts.map +0 -1
  38. package/dist/postmessage/src/index.d.ts +0 -9
  39. package/dist/postmessage/src/index.d.ts.map +0 -1
  40. package/dist/postmessage/src/server.d.ts +0 -11
  41. package/dist/postmessage/src/server.d.ts.map +0 -1
  42. package/dist/postmessage/src/types.d.ts +0 -71
  43. package/dist/postmessage/src/types.d.ts.map +0 -1
  44. package/dist/shared/src/api-url-resolver.d.ts +0 -22
  45. package/dist/shared/src/api-url-resolver.d.ts.map +0 -1
  46. package/dist/shared/src/debug-logger.d.ts +0 -16
  47. package/dist/shared/src/debug-logger.d.ts.map +0 -1
  48. package/dist/shared/src/deep-sanitization.d.ts +0 -24
  49. package/dist/shared/src/deep-sanitization.d.ts.map +0 -1
  50. package/dist/shared/src/errors.d.ts +0 -93
  51. package/dist/shared/src/errors.d.ts.map +0 -1
  52. package/dist/shared/src/generate-id.d.ts +0 -13
  53. package/dist/shared/src/generate-id.d.ts.map +0 -1
  54. package/dist/shared/src/index.d.ts +0 -13
  55. package/dist/shared/src/index.d.ts.map +0 -1
  56. package/dist/shared/src/logger-context.d.ts +0 -25
  57. package/dist/shared/src/logger-context.d.ts.map +0 -1
  58. package/dist/web-elements/src/BasisTheory.d.ts +0 -47
  59. package/dist/web-elements/src/BasisTheory.d.ts.map +0 -1
  60. package/dist/web-elements/src/basis-theory.d.ts +0 -62
  61. package/dist/web-elements/src/basis-theory.d.ts.map +0 -1
  62. package/dist/web-elements/src/elements/create-card-number.d.ts +0 -14
  63. package/dist/web-elements/src/elements/create-card-number.d.ts.map +0 -1
  64. package/dist/web-elements/src/elements/create-card.d.ts +0 -37
  65. package/dist/web-elements/src/elements/create-card.d.ts.map +0 -1
  66. package/dist/web-elements/src/elements/create-cvv.d.ts +0 -10
  67. package/dist/web-elements/src/elements/create-cvv.d.ts.map +0 -1
  68. package/dist/web-elements/src/elements/create-expiry.d.ts +0 -10
  69. package/dist/web-elements/src/elements/create-expiry.d.ts.map +0 -1
  70. package/dist/web-elements/src/elements/create-text.d.ts +0 -13
  71. package/dist/web-elements/src/elements/create-text.d.ts.map +0 -1
  72. package/dist/web-elements/src/index.d.ts +0 -27
  73. package/dist/web-elements/src/index.d.ts.map +0 -1
  74. package/dist/web-elements/src/mounter/create-mounter.d.ts +0 -11
  75. package/dist/web-elements/src/mounter/create-mounter.d.ts.map +0 -1
  76. package/dist/web-elements/src/theme/default-theme.d.ts +0 -22
  77. package/dist/web-elements/src/theme/default-theme.d.ts.map +0 -1
  78. package/dist/web-elements/src/theme/inject-theme-dark.d.ts +0 -13
  79. package/dist/web-elements/src/theme/inject-theme-dark.d.ts.map +0 -1
  80. package/dist/web-elements/src/theme/inject-theme.d.ts +0 -20
  81. package/dist/web-elements/src/theme/inject-theme.d.ts.map +0 -1
  82. package/dist/web-elements/src/types/events.d.ts +0 -137
  83. package/dist/web-elements/src/types/events.d.ts.map +0 -1
  84. package/dist/web-elements/src/types/theme.d.ts +0 -91
  85. package/dist/web-elements/src/types/theme.d.ts.map +0 -1
  86. package/dist/web-elements/src/types.d.ts +0 -537
  87. package/dist/web-elements/src/types.d.ts.map +0 -1
  88. package/dist/web-elements/src/utils/create-event-dispatcher.d.ts +0 -47
  89. package/dist/web-elements/src/utils/create-event-dispatcher.d.ts.map +0 -1
  90. package/dist/web-elements/src/utils/create-iframe.d.ts +0 -10
  91. package/dist/web-elements/src/utils/create-iframe.d.ts.map +0 -1
  92. package/dist/web-elements/src/utils/resolve-element-references.d.ts +0 -20
  93. package/dist/web-elements/src/utils/resolve-element-references.d.ts.map +0 -1
  94. package/dist/web-elements/src/utils/validate-element-options.d.ts +0 -11
  95. package/dist/web-elements/src/utils/validate-element-options.d.ts.map +0 -1
  96. package/dist/web-elements/src/utils/validate-sdk-config.d.ts +0 -15
  97. package/dist/web-elements/src/utils/validate-sdk-config.d.ts.map +0 -1
  98. package/dist/web-elements/src/utils/warn-unknown-keys.d.ts +0 -15
  99. package/dist/web-elements/src/utils/warn-unknown-keys.d.ts.map +0 -1
  100. package/dist/web-elements/src/version.d.ts +0 -25
  101. package/dist/web-elements/src/version.d.ts.map +0 -1
@@ -1,537 +0,0 @@
1
- /**
2
- * Type definitions for @basis-theory/web-elements
3
- */
4
- import type { TokenIntent } from '@basis-theory-elements/api-client';
5
- import type { ElementType } from './types/events';
6
- import type { ThemeMode, ThemeTokens } from './types/theme';
7
- export type { TokenIntent };
8
- /**
9
- * Transform pattern for modifying input before tokenization
10
- * [pattern, replacement] - uses String.prototype.replace(pattern, replacement)
11
- *
12
- * @example
13
- * // Remove dashes from SSN: "123-45-6789" → "123456789"
14
- * const ssnTransform: Transform = [/-/g, ''];
15
- *
16
- * @example
17
- * // Remove all non-digits from phone: "(555) 123-4567" → "5551234567"
18
- * const phoneTransform: Transform = [/\D/g, ''];
19
- */
20
- export type Transform = [RegExp, string];
21
- export interface SDKOptions {
22
- /**
23
- * Base URL where element iframes are hosted
24
- * FRD-2026-003: Now defaults to production CDN (build-time injected, environment-specific)
25
- * @default 'https://js.basistheory.com/{version}/elements' (production)
26
- * @example 'http://localhost:4243' (for local development)
27
- */
28
- elementsBaseUrl?: string;
29
- /**
30
- * @deprecated Use `elementsBaseUrl` instead
31
- * Origin of the iframe host (where element.html is served)
32
- */
33
- iframeOrigin?: string;
34
- /**
35
- * API base URL for tokenization and API operations
36
- * Auto-detects based on page origin by default:
37
- * - localhost/flock-dev.com → https://js.flock-dev.com/api (dev)
38
- * - btsandbox.com → https://js.btsandbox.com/api (uat)
39
- * - basistheory.com → https://js.basistheory.com/api (prod)
40
- * - other origins → https://js.basistheory.com/api (prod default)
41
- *
42
- * Override for:
43
- * - Testing against custom API environments
44
- * - Corporate proxies routing API calls
45
- * - Regional API endpoints
46
- *
47
- * @default Auto-detected based on window.location.origin
48
- * @example 'https://api-proxy.company.com/basistheory'
49
- */
50
- apiBaseUrl?: string;
51
- /**
52
- * Enable debug logging
53
- * @default false
54
- */
55
- debug?: boolean;
56
- /**
57
- * Enable performance monitoring (bundle size, load times, compression metrics)
58
- * When enabled, automatically measures and logs performance after elements load
59
- * @default false
60
- */
61
- measurePerformance?: boolean;
62
- /**
63
- * PostMessage timeout (milliseconds)
64
- * Increase this for slow network connections (3G, etc.)
65
- * @default 30000
66
- */
67
- timeoutMs?: number;
68
- /**
69
- * PostMessage retry configuration
70
- */
71
- retryConfig?: {
72
- maxRetries: number;
73
- delayMs: number;
74
- backoffFactor: number;
75
- };
76
- /**
77
- * Theme mode: 'light', 'dark', or 'auto' (follows prefers-color-scheme)
78
- * @default 'auto'
79
- */
80
- themeMode?: ThemeMode;
81
- /**
82
- * Theme configuration (design tokens)
83
- * CSS variables will be injected into element iframes
84
- *
85
- * Supports light/dark themes via themeMode or separate theme/darkTheme objects
86
- *
87
- * @example
88
- * ```typescript
89
- * theme: {
90
- * colors: {
91
- * primary: '#007bff',
92
- * error: '#EA4B97',
93
- * text: '#1a1a1a',
94
- * },
95
- * typography: {
96
- * fontFamily: 'Inter, sans-serif',
97
- * fontSize: { base: '16px' },
98
- * fontWeight: { normal: '400' },
99
- * },
100
- * spacing: { sm: '8px', md: '12px', lg: '16px' },
101
- * borders: {
102
- * radius: { base: '4px' },
103
- * width: { base: '2px' },
104
- * },
105
- * }
106
- * ```
107
- */
108
- theme?: ThemeTokens;
109
- /**
110
- * Optional dark theme configuration
111
- * Used when themeMode is 'dark' or 'auto' in dark mode
112
- *
113
- * If not provided, will use theme with adjusted colors for dark mode
114
- */
115
- darkTheme?: ThemeTokens;
116
- }
117
- export interface SDKConfig {
118
- iframeOrigin: string;
119
- elementsBaseUrl: string;
120
- apiBaseUrl?: string;
121
- debug: boolean;
122
- measurePerformance: boolean;
123
- timeoutMs: number;
124
- themeMode: ThemeMode;
125
- theme: ThemeTokens;
126
- darkTheme?: ThemeTokens;
127
- retryConfig: {
128
- maxRetries: number;
129
- delayMs: number;
130
- backoffFactor: number;
131
- };
132
- }
133
- export type { ElementType } from './types/events';
134
- export type EventType = 'change' | 'ready' | 'focus' | 'blur' | 'error';
135
- export interface ElementOptions {
136
- /**
137
- * Placeholder text displayed when input is empty.
138
- * For card elements, an object with per-field placeholders.
139
- */
140
- placeholder?: string | {
141
- cardNumber?: string;
142
- expiryDate?: string;
143
- cvc?: string;
144
- };
145
- /**
146
- * ARIA label for accessibility
147
- * @default Based on element type (e.g., 'Card Number')
148
- */
149
- ariaLabel?: string;
150
- /**
151
- * Disable the input
152
- * @default false
153
- */
154
- disabled?: boolean;
155
- /**
156
- * Make the input read-only
157
- * @default false
158
- */
159
- readOnly?: boolean;
160
- /**
161
- * RegExp pattern for validation
162
- * Only applicable to text elements
163
- * @example /^[a-zA-Z\s]{2,50}$/ for names
164
- * @example /^\d{3}-\d{2}-\d{4}$/ for SSN
165
- */
166
- validation?: RegExp;
167
- /**
168
- * Whether the field is required
169
- * Only applicable to text elements
170
- * @default false
171
- */
172
- required?: boolean;
173
- /**
174
- * Maximum input length
175
- * Only applicable to text elements
176
- * @example 50 for name fields
177
- */
178
- maxLength?: number;
179
- /**
180
- * Enable password mode (type="password")
181
- * Only applicable to text elements
182
- * @default false
183
- */
184
- password?: boolean;
185
- /**
186
- * Mobile keyboard hint
187
- * Only applicable to text elements
188
- * @example 'numeric', 'tel', 'email'
189
- */
190
- inputMode?: string;
191
- /**
192
- * Input masking pattern (lazy-loaded ~5KB module)
193
- * Only applicable to text elements
194
- *
195
- * @example
196
- * // SSN: XXX-XX-XXXX
197
- * mask: [/\d/, /\d/, /\d/, '-', /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]
198
- *
199
- * // Phone: (XXX) XXX-XXXX
200
- * mask: ['(', /\d/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]
201
- */
202
- mask?: (RegExp | string)[];
203
- /**
204
- * Transform pattern before tokenization
205
- * Only applicable to text elements
206
- *
207
- * @example
208
- * // Remove dashes from SSN before tokenization
209
- * transform: [/-/g, '']
210
- */
211
- transform?: Transform;
212
- /**
213
- * Renders a show/hide toggle button inside the CVV field.
214
- * Clicking toggles between `type="password"` and `type="text"`.
215
- * CVV element only. Set at creation time only — runtime updates via
216
- * `element.update()` are not supported.
217
- * @default false
218
- */
219
- showToggle?: boolean;
220
- /**
221
- * Card brand (auto-set by SDK when card number element detects brand)
222
- * Used internally for CVV element coordination
223
- * @internal
224
- */
225
- cardBrand?: string;
226
- /**
227
- * CVV lengths array (auto-set by SDK when card number element detects brand)
228
- * Used internally for CVV element maxlength coordination
229
- * Example: [4] for Amex, [3] for Visa/Mastercard
230
- * @internal
231
- */
232
- cvvLengths?: number[];
233
- /**
234
- * Layout mode for unified card element
235
- * Only applicable to card elements
236
- * @default 'auto'
237
- */
238
- layout?: 'row' | 'column' | 'auto';
239
- /**
240
- * Stack threshold in pixels (only applies when layout: 'auto')
241
- * Only applicable to card elements
242
- * @default 400
243
- */
244
- stackAt?: number;
245
- /**
246
- * Icon position for card brand icon
247
- * Only applicable to card elements
248
- * @default 'right'
249
- */
250
- iconPosition?: 'left' | 'right' | 'none';
251
- /**
252
- * Restrict accepted card brands
253
- * Only applicable to card elements
254
- */
255
- cardBrands?: string[];
256
- }
257
- export interface Element {
258
- /**
259
- * Unique identifier for the element
260
- */
261
- readonly id: string;
262
- /**
263
- * Element type ('cardNumber', 'cvv', 'expiry')
264
- */
265
- readonly type: ElementType;
266
- /**
267
- * Whether the element is currently mounted to the DOM
268
- */
269
- readonly mounted: boolean;
270
- /**
271
- * Mount the element to a DOM container
272
- * @param selector - CSS selector or HTMLElement
273
- */
274
- mount(selector: string | HTMLElement): Promise<void>;
275
- /**
276
- * Unmount the element from the DOM
277
- */
278
- unmount(): void;
279
- /**
280
- * Update element configuration (placeholder, style, theme mode, etc.)
281
- */
282
- update(options: Partial<ElementOptions> & {
283
- themeMode?: 'light' | 'dark' | 'auto';
284
- }): Promise<void>;
285
- /**
286
- * Focus the input
287
- */
288
- focus(): void;
289
- /**
290
- * Blur the input
291
- */
292
- blur(): void;
293
- /**
294
- * Clear the input value
295
- */
296
- clear(): void;
297
- /**
298
- * Listen for element events
299
- * @returns Unsubscribe function
300
- */
301
- on(eventType: EventType, listener: EventListener): () => void;
302
- }
303
- export type EventListener = (event: CustomEvent) => void;
304
- /**
305
- * Re-export unified event types from ./types/events
306
- * All events now include BaseEventDetail (elementType, elementId, timestamp)
307
- */
308
- export type { BaseEventDetail, BlurEventDetail, CardElementChangeEventDetail, CardNumberChangeEventDetail, ChangeEventDetail, ElementEventDetailMap, ElementEventListener, ElementEventType, ErrorCode, ErrorEventDetail, FocusEventDetail, ReadyEventDetail, ValidationError, } from './types/events';
309
- /** Primitive or an Element reference — resolved to a value during tokenization */
310
- export type ElementLeaf = string | number | boolean | null | undefined | Element;
311
- /** Freeform object that may contain Element references at any depth */
312
- export interface ElementInputObject {
313
- [key: string]: ElementLeaf | ElementInputObject | ElementInputArray;
314
- }
315
- /** Array that may contain Element references at any depth */
316
- export type ElementInputArray = Array<ElementLeaf | ElementInputObject | ElementInputArray>;
317
- export interface TokenCreateRequest {
318
- type: string;
319
- data: ElementInputObject;
320
- metadata?: Record<string, string>;
321
- containers?: string[];
322
- mask?: Record<string, unknown>;
323
- aliases?: string[];
324
- search_indexes?: string[];
325
- fingerprint_expression?: string;
326
- expires_at?: string;
327
- }
328
- /** Token `type` is immutable after creation */
329
- export type TokenUpdateRequest = Omit<Partial<TokenCreateRequest>, 'type'>;
330
- export interface TokenIntentRequest {
331
- type: string;
332
- data: ElementInputObject;
333
- }
334
- export type TokenizeInput = {
335
- cardNumber: Element;
336
- } | {
337
- number: Element;
338
- cvv: Element;
339
- expiry: Element;
340
- };
341
- /**
342
- * Session response (snake_case to match BasisTheory API)
343
- */
344
- export interface Session {
345
- /** Unique session nonce */
346
- nonce: string;
347
- /** Session expiration timestamp (ISO 8601 format) */
348
- expires_at?: string;
349
- }
350
- export interface TokenizeResult {
351
- id: string;
352
- type: 'card' | 'token';
353
- mask?: string;
354
- brand?: string;
355
- expiry?: {
356
- month: number;
357
- year: number;
358
- };
359
- metadata?: Record<string, unknown>;
360
- }
361
- /**
362
- * Token data for encryption
363
- */
364
- export interface EncryptToken {
365
- type: string;
366
- data: ElementInputObject;
367
- }
368
- /**
369
- * Encrypted token result
370
- */
371
- export interface EncryptedToken {
372
- encrypted: string;
373
- type: string;
374
- }
375
- /**
376
- * Sub-element reference for tokenization (used in CardElement)
377
- */
378
- export interface SubElementRef {
379
- id: string;
380
- type: string;
381
- mounted: boolean;
382
- mount: () => never;
383
- unmount: () => void;
384
- update: () => Promise<void>;
385
- focus: () => void;
386
- blur: () => void;
387
- clear: () => void;
388
- on: () => () => void;
389
- }
390
- /**
391
- * Card element with sub-field refs
392
- */
393
- export interface CardElement extends Element {
394
- fields: {
395
- number: SubElementRef;
396
- expiryDate: SubElementRef;
397
- cvc: SubElementRef;
398
- };
399
- }
400
- export type { CardElementOptions } from './elements/create-card';
401
- export interface BasisTheorySDK {
402
- /**
403
- * Create a new element instance
404
- * Returns Element instance immediately (synchronous)
405
- */
406
- createElement(type: 'card', options?: ElementOptions): CardElement;
407
- createElement(type: Exclude<ElementType, 'card'>, options?: ElementOptions): Element;
408
- createElement(type: ElementType, options?: ElementOptions): Element | CardElement;
409
- /**
410
- * Tokenize data (creates a token)
411
- */
412
- tokenize(data: ElementInputObject): Promise<TokenizeResult>;
413
- /**
414
- * Token CRUD operations
415
- * Supports Element references - automatically resolves to secure values
416
- *
417
- * @example
418
- * ```typescript
419
- * // Create token with Elements (element references resolved automatically)
420
- * const token = await bt.tokens.create({
421
- * type: 'card',
422
- * data: {
423
- * number: cardNumberElement,
424
- * expiration_month: expiryElement,
425
- * cvc: cvvElement
426
- * }
427
- * });
428
- *
429
- * // Retrieve token
430
- * const retrieved = await bt.tokens.retrieve(token.id);
431
- *
432
- * // Update token metadata
433
- * await bt.tokens.update(token.id, {
434
- * metadata: { source: 'updated' }
435
- * });
436
- *
437
- * // Encrypt token with client-side JWE
438
- * const encrypted = await bt.tokens.encrypt(
439
- * { type: 'card', data: { number: cardNumberElement } },
440
- * publicKeyPEM,
441
- * 'key-id-123'
442
- * );
443
- * ```
444
- */
445
- tokens: {
446
- create(data: TokenCreateRequest): Promise<TokenizeResult>;
447
- retrieve(id: string, options?: {
448
- apiKey?: string;
449
- }): Promise<TokenizeResult>;
450
- update(id: string, data: TokenUpdateRequest): Promise<TokenizeResult>;
451
- encrypt(tokenData: EncryptToken | Record<string, EncryptToken>, publicKeyPEM: string, keyId: string): Promise<EncryptedToken | Record<string, EncryptedToken>>;
452
- };
453
- /**
454
- * Token Intent operations (short-lived sensitive data validation)
455
- * Supports Element references - automatically resolves to secure values
456
- *
457
- * @example
458
- * ```typescript
459
- * // Create token intent with Elements
460
- * const intent = await bt.tokenIntents.create({
461
- * type: 'card',
462
- * data: {
463
- * number: cardNumberElement,
464
- * expiration_month: 12,
465
- * expiration_year: 2025,
466
- * cvc: cvvElement
467
- * }
468
- * });
469
- *
470
- * // Retrieve token intent
471
- * const retrieved = await bt.tokenIntents.get(intent.id);
472
- * ```
473
- */
474
- tokenIntents: {
475
- create(data: TokenIntentRequest, options?: {
476
- apiKey?: string;
477
- }): Promise<TokenIntent>;
478
- get(id: string, options?: {
479
- apiKey?: string;
480
- }): Promise<TokenIntent>;
481
- };
482
- /**
483
- * Session management for temporary elevated access
484
- *
485
- * Creates a session that provides temporary elevated access to tokenized data.
486
- * Sessions MUST be authorized by a Private Application on your backend.
487
- *
488
- * @example
489
- * ```typescript
490
- * // Create a session (frontend)
491
- * const session = await bt.sessions.create();
492
- * console.log('Session nonce:', session.nonce);
493
- *
494
- * // Session must be authorized on backend before use
495
- * // Once authorized, use the session API key with tokens.retrieve()
496
- * const token = await bt.tokens.retrieve(tokenId, {
497
- * apiKey: sessionApiKey // From authorized session
498
- * });
499
- * ```
500
- */
501
- sessions: {
502
- create(): Promise<Session>;
503
- };
504
- /**
505
- * Update the theme mode for all mounted elements
506
- *
507
- * @param mode - Theme mode to apply ('light', 'dark', or 'auto')
508
- * @returns Promise that resolves when all elements have been updated
509
- *
510
- * @example
511
- * ```typescript
512
- * await bt.updateThemeMode('dark');
513
- * ```
514
- */
515
- updateThemeMode(mode: ThemeMode): Promise<void>;
516
- }
517
- /**
518
- * PERFORMANCE OPTIMIZATION (Step 3):
519
- * Element factories now receive LAZY coordinator initializer
520
- * mount() calls this function to trigger initialization when needed
521
- */
522
- export interface ElementFactory {
523
- (apiKey: string, config: SDKConfig, options: ElementOptions | undefined, elementId: string, ensureCoordinatorReady: () => Promise<void>): Element;
524
- }
525
- export interface MountConfig {
526
- timeoutMs: number;
527
- }
528
- export interface ElementMounter {
529
- mount(container: HTMLElement, iframe: HTMLIFrameElement, config: MountConfig): Promise<void>;
530
- unmount(iframe: HTMLIFrameElement): void;
531
- }
532
- export interface IframeConfig {
533
- src: string;
534
- sandbox: string;
535
- title: string;
536
- }
537
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Centralized event dispatcher factory
3
- * Creates consistent event handlers for all element types
4
- *
5
- * Benefits:
6
- * - Single source of truth for event mapping
7
- * - Consistent BaseEventDetail (elementType, elementId, timestamp)
8
- * - Type-safe event dispatch
9
- * - No code duplication across element factories
10
- */
11
- import type { PostMessageClient } from '@basis-theory-elements/postmessage';
12
- import type { ElementType } from '../types';
13
- import type { ErrorCode } from '../types/events';
14
- /**
15
- * Event dispatcher configuration
16
- */
17
- interface EventDispatcherConfig {
18
- /** Element type */
19
- elementType: ElementType;
20
- /** Unique element ID */
21
- elementId: string;
22
- /** PostMessage client for subscribing to iframe events */
23
- client: PostMessageClient;
24
- /** EventTarget for dispatching DOM events */
25
- eventTarget: EventTarget;
26
- }
27
- /**
28
- * Create event dispatcher with consistent behavior
29
- *
30
- * @example
31
- * ```typescript
32
- * const dispatcher = createEventDispatcher({
33
- * elementType: 'cardNumber',
34
- * elementId: 'card-123',
35
- * client,
36
- * eventTarget,
37
- * });
38
- *
39
- * dispatcher.setupSubscriptions();
40
- * ```
41
- */
42
- export declare const createEventDispatcher: (config: EventDispatcherConfig) => {
43
- setupSubscriptions: () => void;
44
- dispatchError: (code: ErrorCode, message: string, error?: Error) => void;
45
- };
46
- export {};
47
- //# sourceMappingURL=create-event-dispatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-event-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/utils/create-event-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAKV,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,UAAU,qBAAqB;IAC7B,mBAAmB;IACnB,WAAW,EAAE,WAAW,CAAC;IAEzB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,0DAA0D;IAC1D,MAAM,EAAE,iBAAiB,CAAC;IAE1B,6CAA6C;IAC7C,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,qBAAqB;;0BA0GzD,SAAS,WACN,MAAM,UACP,KAAK,KACZ,IAAI;CAeR,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Iframe creation utility
3
- */
4
- import type { IframeConfig } from '../types';
5
- /**
6
- * Create a secure iframe with proper attributes
7
- * Pure function, no side effects
8
- */
9
- export declare const createIframe: (config: IframeConfig) => HTMLIFrameElement;
10
- //# sourceMappingURL=create-iframe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-iframe.d.ts","sourceRoot":"","sources":["../../../../src/utils/create-iframe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,KAAG,iBAenD,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Element Reference Resolution Utilities (SDK Client-Side)
3
- *
4
- * Converts Element objects to ID strings before sending to coordinator.
5
- * Only the `data` field of tokenization requests may contain Element references.
6
- *
7
- * @see packages/elements/src/shared/utils/replace-element-references.ts
8
- * for Step 2 (Coordinator tokenization - ID strings → raw values)
9
- */
10
- /**
11
- * Recursively resolves any value — primitives pass through, Element instances
12
- * become their ID string, arrays and objects are traversed.
13
- */
14
- export declare const resolveElementReferences: (value: unknown) => unknown;
15
- /**
16
- * Extracts element ID strings from a resolved payload.
17
- * Used to identify which elements are referenced before tokenization.
18
- */
19
- export declare const extractElementIds: (payload: unknown) => string[];
20
- //# sourceMappingURL=resolve-element-references.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-element-references.d.ts","sourceRoot":"","sources":["../../../../src/utils/resolve-element-references.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4BH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAwBzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,KAAG,MAAM,EAiB1D,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Element options validation
3
- */
4
- import type { ElementOptions, ElementType } from '../types';
5
- /**
6
- * Validate element options for a specific element type.
7
- * Warns about unknown keys and options not applicable to the element type.
8
- * Throws on invalid values for known keys.
9
- */
10
- export declare const validateElementOptions: (type: ElementType, options?: ElementOptions) => void;
11
- //# sourceMappingURL=validate-element-options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-element-options.d.ts","sourceRoot":"","sources":["../../../../src/utils/validate-element-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAmC5D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,WAAW,EACjB,UAAS,cAAmB,KAC3B,IAsGF,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Configuration validation utilities
3
- */
4
- import type { SDKConfig, SDKOptions } from '../types';
5
- /**
6
- * Validate API key format
7
- * Throws if API key is invalid
8
- */
9
- export declare const validateAPIKey: (apiKey: string) => void;
10
- /**
11
- * Validate and normalize SDK configuration
12
- * Returns complete config with defaults applied
13
- */
14
- export declare const validateSDKConfig: (options?: SDKOptions) => SDKConfig;
15
- //# sourceMappingURL=validate-sdk-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-sdk-config.d.ts","sourceRoot":"","sources":["../../../../src/utils/validate-sdk-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqBtD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAI/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,UAAe,KAAG,SAgH5D,CAAC"}