@basis-theory/web-elements 3.0.0-beta.4 → 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 (108) hide show
  1. package/dist/.vite/manifest.json +22 -11
  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-B5zEHyRg.js → create-card-CB_YcP_4.js} +10 -6
  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-DrAz8g0m.js → create-copy-button-2XtKTEo3.js} +5 -2
  10. package/dist/create-copy-button-2XtKTEo3.js.map +1 -0
  11. package/dist/{index-BOedIhUN.js → index-Dyy7tm5Z.js} +325 -108
  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/bin-lookup-transform.d.ts +0 -35
  21. package/dist/api-client/src/bin-lookup-transform.d.ts.map +0 -1
  22. package/dist/api-client/src/http-client.d.ts +0 -24
  23. package/dist/api-client/src/http-client.d.ts.map +0 -1
  24. package/dist/api-client/src/index.d.ts +0 -9
  25. package/dist/api-client/src/index.d.ts.map +0 -1
  26. package/dist/api-client/src/services/sessions.d.ts +0 -19
  27. package/dist/api-client/src/services/sessions.d.ts.map +0 -1
  28. package/dist/api-client/src/services/token-intents.d.ts +0 -17
  29. package/dist/api-client/src/services/token-intents.d.ts.map +0 -1
  30. package/dist/api-client/src/services/tokens.d.ts +0 -19
  31. package/dist/api-client/src/services/tokens.d.ts.map +0 -1
  32. package/dist/api-client/src/types.d.ts +0 -421
  33. package/dist/api-client/src/types.d.ts.map +0 -1
  34. package/dist/create-card-B5zEHyRg.js.map +0 -1
  35. package/dist/create-copy-button-DrAz8g0m.js.map +0 -1
  36. package/dist/index-BOedIhUN.js.map +0 -1
  37. package/dist/postmessage/src/client.d.ts +0 -7
  38. package/dist/postmessage/src/client.d.ts.map +0 -1
  39. package/dist/postmessage/src/event-map.d.ts +0 -139
  40. package/dist/postmessage/src/event-map.d.ts.map +0 -1
  41. package/dist/postmessage/src/index.d.ts +0 -9
  42. package/dist/postmessage/src/index.d.ts.map +0 -1
  43. package/dist/postmessage/src/server.d.ts +0 -11
  44. package/dist/postmessage/src/server.d.ts.map +0 -1
  45. package/dist/postmessage/src/types.d.ts +0 -75
  46. package/dist/postmessage/src/types.d.ts.map +0 -1
  47. package/dist/shared/src/api-url-resolver.d.ts +0 -22
  48. package/dist/shared/src/api-url-resolver.d.ts.map +0 -1
  49. package/dist/shared/src/debug-logger.d.ts +0 -16
  50. package/dist/shared/src/debug-logger.d.ts.map +0 -1
  51. package/dist/shared/src/deep-sanitization.d.ts +0 -24
  52. package/dist/shared/src/deep-sanitization.d.ts.map +0 -1
  53. package/dist/shared/src/errors.d.ts +0 -93
  54. package/dist/shared/src/errors.d.ts.map +0 -1
  55. package/dist/shared/src/generate-id.d.ts +0 -13
  56. package/dist/shared/src/generate-id.d.ts.map +0 -1
  57. package/dist/shared/src/index.d.ts +0 -14
  58. package/dist/shared/src/index.d.ts.map +0 -1
  59. package/dist/shared/src/logger-context.d.ts +0 -25
  60. package/dist/shared/src/logger-context.d.ts.map +0 -1
  61. package/dist/shared/src/proxy-validation.d.ts +0 -93
  62. package/dist/shared/src/proxy-validation.d.ts.map +0 -1
  63. package/dist/web-elements/src/BasisTheory.d.ts +0 -47
  64. package/dist/web-elements/src/BasisTheory.d.ts.map +0 -1
  65. package/dist/web-elements/src/basis-theory.d.ts +0 -85
  66. package/dist/web-elements/src/basis-theory.d.ts.map +0 -1
  67. package/dist/web-elements/src/elements/create-card-number.d.ts +0 -15
  68. package/dist/web-elements/src/elements/create-card-number.d.ts.map +0 -1
  69. package/dist/web-elements/src/elements/create-card.d.ts +0 -50
  70. package/dist/web-elements/src/elements/create-card.d.ts.map +0 -1
  71. package/dist/web-elements/src/elements/create-copy-button.d.ts +0 -19
  72. package/dist/web-elements/src/elements/create-copy-button.d.ts.map +0 -1
  73. package/dist/web-elements/src/elements/create-cvv.d.ts +0 -11
  74. package/dist/web-elements/src/elements/create-cvv.d.ts.map +0 -1
  75. package/dist/web-elements/src/elements/create-expiry.d.ts +0 -11
  76. package/dist/web-elements/src/elements/create-expiry.d.ts.map +0 -1
  77. package/dist/web-elements/src/elements/create-text.d.ts +0 -14
  78. package/dist/web-elements/src/elements/create-text.d.ts.map +0 -1
  79. package/dist/web-elements/src/index.d.ts +0 -27
  80. package/dist/web-elements/src/index.d.ts.map +0 -1
  81. package/dist/web-elements/src/mounter/create-mounter.d.ts +0 -11
  82. package/dist/web-elements/src/mounter/create-mounter.d.ts.map +0 -1
  83. package/dist/web-elements/src/theme/default-theme.d.ts +0 -22
  84. package/dist/web-elements/src/theme/default-theme.d.ts.map +0 -1
  85. package/dist/web-elements/src/theme/inject-theme-dark.d.ts +0 -13
  86. package/dist/web-elements/src/theme/inject-theme-dark.d.ts.map +0 -1
  87. package/dist/web-elements/src/theme/inject-theme.d.ts +0 -20
  88. package/dist/web-elements/src/theme/inject-theme.d.ts.map +0 -1
  89. package/dist/web-elements/src/types/events.d.ts +0 -165
  90. package/dist/web-elements/src/types/events.d.ts.map +0 -1
  91. package/dist/web-elements/src/types/theme.d.ts +0 -91
  92. package/dist/web-elements/src/types/theme.d.ts.map +0 -1
  93. package/dist/web-elements/src/types.d.ts +0 -667
  94. package/dist/web-elements/src/types.d.ts.map +0 -1
  95. package/dist/web-elements/src/utils/create-event-dispatcher.d.ts +0 -47
  96. package/dist/web-elements/src/utils/create-event-dispatcher.d.ts.map +0 -1
  97. package/dist/web-elements/src/utils/create-iframe.d.ts +0 -10
  98. package/dist/web-elements/src/utils/create-iframe.d.ts.map +0 -1
  99. package/dist/web-elements/src/utils/resolve-element-references.d.ts +0 -20
  100. package/dist/web-elements/src/utils/resolve-element-references.d.ts.map +0 -1
  101. package/dist/web-elements/src/utils/validate-element-options.d.ts +0 -11
  102. package/dist/web-elements/src/utils/validate-element-options.d.ts.map +0 -1
  103. package/dist/web-elements/src/utils/validate-sdk-config.d.ts +0 -15
  104. package/dist/web-elements/src/utils/validate-sdk-config.d.ts.map +0 -1
  105. package/dist/web-elements/src/utils/warn-unknown-keys.d.ts +0 -15
  106. package/dist/web-elements/src/utils/warn-unknown-keys.d.ts.map +0 -1
  107. package/dist/web-elements/src/version.d.ts +0 -25
  108. package/dist/web-elements/src/version.d.ts.map +0 -1
@@ -1,85 +0,0 @@
1
- /**
2
- * BasisTheory SDK Loader
3
- *
4
- * Ultra-minimal loader that:
5
- * 1. Attaches to window.BasisTheory immediately (<10ms)
6
- * 2. Queues API calls until the full SDK loads
7
- * 3. Asynchronously loads the full SDK
8
- * 4. Replays queued commands when SDK is ready
9
- *
10
- * Target Size: 2-4 KB minified+gzipped
11
- */
12
- import type { ProxyRequestOptions, ProxyResponse } from './types';
13
- type QueuedCommand = {
14
- type: 'init';
15
- apiKey: string;
16
- options?: any;
17
- timestamp: number;
18
- } | {
19
- type: 'createElement';
20
- args: any[];
21
- timestamp: number;
22
- } | {
23
- type: 'tokenize';
24
- args: any[];
25
- timestamp: number;
26
- } | {
27
- type: 'updateThemeMode';
28
- args: any[];
29
- timestamp: number;
30
- };
31
- type LoaderAPI = {
32
- createElement: (...args: any[]) => any;
33
- tokenize: (...args: any[]) => Promise<any>;
34
- updateThemeMode: (...args: any[]) => void;
35
- tokens: {
36
- create: (...args: any[]) => Promise<any>;
37
- retrieve: (...args: any[]) => Promise<any>;
38
- update: (...args: any[]) => Promise<any>;
39
- encrypt: (...args: any[]) => Promise<any>;
40
- };
41
- tokenIntents: {
42
- create: (...args: any[]) => Promise<any>;
43
- get: (...args: any[]) => Promise<any>;
44
- };
45
- sessions: {
46
- create: (...args: any[]) => Promise<any>;
47
- };
48
- proxy: {
49
- get(options: ProxyRequestOptions & {
50
- includeResponseHeaders: true;
51
- }): Promise<ProxyResponse>;
52
- get(options?: ProxyRequestOptions): Promise<unknown>;
53
- post(options: ProxyRequestOptions & {
54
- includeResponseHeaders: true;
55
- }): Promise<ProxyResponse>;
56
- post(options?: ProxyRequestOptions): Promise<unknown>;
57
- put(options: ProxyRequestOptions & {
58
- includeResponseHeaders: true;
59
- }): Promise<ProxyResponse>;
60
- put(options?: ProxyRequestOptions): Promise<unknown>;
61
- patch(options: ProxyRequestOptions & {
62
- includeResponseHeaders: true;
63
- }): Promise<ProxyResponse>;
64
- patch(options?: ProxyRequestOptions): Promise<unknown>;
65
- delete(options: ProxyRequestOptions & {
66
- includeResponseHeaders: true;
67
- }): Promise<ProxyResponse>;
68
- delete(options?: ProxyRequestOptions): Promise<unknown>;
69
- };
70
- __queue?: QueuedCommand[];
71
- __loaderVersion?: string;
72
- };
73
- /**
74
- * Loader Factory
75
- * Creates the minimal facade that gets attached to window.BasisTheory
76
- */
77
- export declare function createLoader(config: {
78
- sdkUrl: string;
79
- version?: string;
80
- onSdkReady?: () => void;
81
- debug?: boolean;
82
- sdkSriHash?: string;
83
- }): (apiKey: string, options?: any) => LoaderAPI;
84
- export {};
85
- //# sourceMappingURL=basis-theory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basis-theory.d.ts","sourceRoot":"","sources":["../../../src/basis-theory.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Card Number Element Factory
3
- */
4
- import type { Element, ElementOptions, SDKConfig } from '../types';
5
- /**
6
- * Factory function to create a card number element
7
- * No class, pure functional approach with closure-based state
8
- *
9
- * PERFORMANCE OPTIMIZATION (Step 3):
10
- * Now receives LAZY coordinator initializer - mount() calls it when needed
11
- */
12
- export declare const createCardNumberElement: (apiKey: string, sdkConfig: SDKConfig, options: ElementOptions | undefined, coordinatorElementId: string, // Unique ID (now generated locally)
13
- ensureCoordinatorReady: () => Promise<void>, // ← LAZY: Call in mount() to init
14
- notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => Element;
15
- //# sourceMappingURL=create-card-number.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-card-number.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-card-number.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAGd,SAAS,EACV,MAAM,UAAU,CAAC;AAIlB;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,WAAW,SAAS,EACpB,SAAS,cAAc,YAAK,EAC5B,sBAAsB,MAAM,EAAE,oCAAoC;AAClE,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,kCAAkC;AAC/E,iCAAiC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpE,OA+TF,CAAC"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Card Element Factory (Unified)
3
- */
4
- import type { CardElement, SDKConfig } from '../types';
5
- /**
6
- * Card element options
7
- */
8
- export interface CardElementOptions {
9
- /** CSS styling */
10
- style?: Record<string, any>;
11
- /** Placeholder text for each sub-field */
12
- placeholder?: {
13
- cardNumber?: string;
14
- expiryDate?: string;
15
- cvc?: string;
16
- };
17
- /** Accessibility label */
18
- ariaLabel?: string;
19
- /** Disabled state (applies to all 3 sub-fields) */
20
- disabled?: boolean;
21
- /** Read-only state (applies to all 3 sub-fields) */
22
- readOnly?: boolean;
23
- /** Layout mode */
24
- layout?: 'row' | 'column' | 'auto';
25
- /** Stack threshold in pixels (only applies when layout: 'auto') */
26
- stackAt?: number;
27
- /** Icon position */
28
- iconPosition?: 'left' | 'right' | 'none';
29
- /** Restrict accepted card brands */
30
- cardBrands?: string[];
31
- /**
32
- * BIN enrichment for the card number field. If omitted but `coBadge` is set, enrichment
33
- * runs unless explicitly disabled (`false` or `{ enabled: false }`).
34
- */
35
- binLookup?: boolean | {
36
- enabled?: boolean;
37
- debounceMs?: number;
38
- };
39
- /** Co-badge options; implies BIN enrichment when set (see `binLookup`). */
40
- coBadge?: {
41
- preferredNetworks?: string[];
42
- mode?: 'auto' | 'manual';
43
- };
44
- }
45
- /**
46
- * Factory function to create a unified card element
47
- * No class, pure functional approach with closure-based state
48
- */
49
- export declare const createCardElement: (apiKey: string, sdkConfig: SDKConfig, options: CardElementOptions | undefined, coordinatorElementId: string, ensureCoordinatorReady: () => Promise<void>, notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => CardElement;
50
- //# sourceMappingURL=create-card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-card.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-card.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,WAAW,EAKX,SAAS,EAEV,MAAM,UAAU,CAAC;AAUlB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEnC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAEzC,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjE,2EAA2E;IAC3E,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC1B,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EACd,WAAW,SAAS,EACpB,SAAS,kBAAkB,YAAK,EAChC,sBAAsB,MAAM,EAC5B,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3C,iCAAiC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpE,WAwVF,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Copy Button Element Factory
3
- *
4
- * Creates a secure button that copies values to clipboard.
5
- * Can copy either a static value or a value from a linked BT element.
6
- *
7
- * SECURITY NOTE: This element is opt-in only via allowClipboard: true.
8
- * Clipboard access for raw card data may not be PCI compliant and must
9
- * never be enabled inadvertently.
10
- */
11
- import type { CopyButtonElement, CopyButtonOptions, ElementOptions, SDKConfig } from '../types';
12
- /**
13
- * Factory function to create a copy button element
14
- *
15
- * @throws ConfigurationError if allowClipboard is not set to true
16
- */
17
- export declare const createCopyButtonElement: (_apiKey: string, // Reserved for future API calls
18
- sdkConfig: SDKConfig, inputOptions: ElementOptions | CopyButtonOptions | undefined, coordinatorElementId: string, ensureCoordinatorReady: () => Promise<void>, _notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => CopyButtonElement;
19
- //# sourceMappingURL=create-copy-button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-copy-button.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-copy-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAGjB,cAAc,EAGd,SAAS,EACV,MAAM,UAAU,CAAC;AAIlB;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EAAE,gCAAgC;AACjD,WAAW,SAAS,EACpB,cAAc,cAAc,GAAG,iBAAiB,GAAG,SAAS,EAC5D,sBAAsB,MAAM,EAC5B,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3C,kCAAkC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACrE,iBAkTF,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * CVV Element Factory
3
- */
4
- import type { Element, ElementOptions, SDKConfig } from '../types';
5
- /**
6
- * Factory function to create a CVV element
7
- */
8
- export declare const createCVVElement: (apiKey: string, sdkConfig: SDKConfig, options: ElementOptions | undefined, coordinatorElementId: string, // Unique ID (now generated locally)
9
- ensureCoordinatorReady: () => Promise<void>, // ← LAZY: Call in mount()
10
- notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => Element;
11
- //# sourceMappingURL=create-cvv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-cvv.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-cvv.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAGd,SAAS,EACV,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,WAAW,SAAS,EACpB,SAAS,cAAc,YAAK,EAC5B,sBAAsB,MAAM,EAAE,oCAAoC;AAClE,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,0BAA0B;AACvE,iCAAiC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpE,OA+QF,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Expiry Date Element Factory
3
- */
4
- import type { Element, ElementOptions, SDKConfig } from '../types';
5
- /**
6
- * Factory function to create an expiry date element
7
- */
8
- export declare const createExpiryElement: (apiKey: string, sdkConfig: SDKConfig, options: ElementOptions | undefined, coordinatorElementId: string, // Unique ID (now generated locally)
9
- ensureCoordinatorReady: () => Promise<void>, // ← LAZY: Call in mount()
10
- notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => Element;
11
- //# sourceMappingURL=create-expiry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-expiry.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-expiry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAGd,SAAS,EACV,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,WAAW,SAAS,EACpB,SAAS,cAAc,YAAK,EAC5B,sBAAsB,MAAM,EAAE,oCAAoC;AAClE,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,0BAA0B;AACvE,iCAAiC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpE,OA2QF,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Text Element Factory
3
- *
4
- * General-purpose text input with optional validation and masking
5
- * Follows same pattern as CVV/Expiry elements
6
- */
7
- import type { Element, ElementOptions, SDKConfig } from '../types';
8
- /**
9
- * Factory function to create a text element
10
- */
11
- export declare const createTextElement: (apiKey: string, sdkConfig: SDKConfig, options: ElementOptions | undefined, coordinatorElementId: string, // Unique ID (now generated locally)
12
- ensureCoordinatorReady: () => Promise<void>, // ← LAZY: Call in mount()
13
- notifyCoordinatorElementUnmount: (elementId: string) => Promise<void>) => Element;
14
- //# sourceMappingURL=create-text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-text.d.ts","sourceRoot":"","sources":["../../../../src/elements/create-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAGd,SAAS,EACV,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EACd,WAAW,SAAS,EACpB,SAAS,cAAc,YAAK,EAC5B,sBAAsB,MAAM,EAAE,oCAAoC;AAClE,wBAAwB,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,0BAA0B;AACvE,iCAAiC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpE,OA+TF,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * @basis-theory/web-elements
3
- * Secure, PCI-compliant SDK for creating payment input elements
4
- *
5
- * @example ESM (bundlers)
6
- * ```typescript
7
- * import BasisTheory from '@basis-theory/web-elements';
8
- *
9
- * const bt = BasisTheory('pk_test_YOUR_API_KEY');
10
- * const cardNumber = bt.createElement('cardNumber');
11
- * await cardNumber.mount('#card-number');
12
- * ```
13
- *
14
- * @example UMD (script tags)
15
- * ```html
16
- * <script src="https://cdn.basistheory.com/elements/index.umd.js"></script>
17
- * <script>
18
- * const bt = window.BasisTheory('pk_test_YOUR_API_KEY');
19
- * const cardNumber = bt.createElement('cardNumber');
20
- * cardNumber.mount('#card-number');
21
- * </script>
22
- * ```
23
- */
24
- export { default } from './BasisTheory';
25
- export { version, buildDate } from './version';
26
- export type { BaseEventDetail, BasisTheorySDK, BlurEventDetail, CardElement, CardElementChangeEventDetail, CardElementOptions, CardNumberChangeEventDetail, ChangeEventDetail, CopyButtonElement, CopyButtonOptions, CopyEventDetail, Element, ElementInputArray, ElementInputObject, ElementLeaf, ElementOptions, ElementType, EncryptedToken, EncryptToken, ErrorCode, ErrorEventDetail, EventListener, EventType, FocusEventDetail, ProxyRequestOptions, ProxyResponse, NetworkChangedEventDetail, ReadyEventDetail, SDKOptions, Session, SubElementRef, TokenCreateRequest, TokenIntent, TokenIntentRequest, TokenizeInput, TokenizeResult, TokenUpdateRequest, ValidationError, } from './types';
27
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAS/C,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,WAAW,EACX,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Element Mounter Factory
3
- * Handles DOM mounting/unmounting of iframes
4
- */
5
- import type { ElementMounter } from '../types';
6
- /**
7
- * Factory function to create an element mounter
8
- * Handles DOM mounting/unmounting of iframes
9
- */
10
- export declare const createMounter: () => ElementMounter;
11
- //# sourceMappingURL=create-mounter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-mounter.d.ts","sourceRoot":"","sources":["../../../../src/mounter/create-mounter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,cAkChC,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Default Theme
3
- * Provides sensible defaults for all theme tokens
4
- */
5
- import type { ThemeTokens } from '../types/theme';
6
- /**
7
- * Default light theme
8
- * Inspired by Tailwind CSS color system + Inter font
9
- */
10
- export declare const DEFAULT_THEME: ThemeTokens;
11
- /**
12
- * Default dark theme
13
- * Optimized for dark mode with high contrast
14
- */
15
- export declare const DEFAULT_DARK_THEME: ThemeTokens;
16
- /**
17
- * Merge user theme with default theme
18
- * User values take precedence, missing values use defaults
19
- * Handles nested color groups (text, background, border)
20
- */
21
- export declare const mergeWithDefaultTheme: (userTheme?: Partial<ThemeTokens>) => ThemeTokens;
22
- //# sourceMappingURL=default-theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/default-theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WA8E3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA6EhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,OAAO,CAAC,WAAW,CAAC,KAC/B,WAmDF,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Dark Theme Support Utilities
3
- * Generates theme CSS with light/dark mode support via prefers-color-scheme
4
- */
5
- import type { ThemeMode, ThemeTokens } from '../types/theme';
6
- /**
7
- * Generate complete CSS with light and dark theme support
8
- * @param lightTheme - Theme for light mode
9
- * @param darkTheme - Theme for dark mode (optional, uses adjusted light theme if not provided)
10
- * @param themeMode - 'light', 'dark', or 'auto' (uses prefers-color-scheme)
11
- */
12
- export declare const generateThemeCSS: (lightTheme?: ThemeTokens, darkTheme?: ThemeTokens, themeMode?: ThemeMode) => string;
13
- //# sourceMappingURL=inject-theme-dark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-theme-dark.d.ts","sourceRoot":"","sources":["../../../../src/theme/inject-theme-dark.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAY,WAA2B,EACvC,YAAY,WAAW,EACvB,YAAW,SAAkB,KAC5B,MA8KF,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Theme Injection Utilities
3
- * Injects CSS variables into iframe for theme support
4
- * Supports light/dark themes via prefers-color-scheme media query
5
- */
6
- import type { ThemeTokens } from '../types/theme';
7
- /**
8
- * Generate CSS variable declarations from theme tokens
9
- * Flattens nested structure (e.g., colors.text.primary → --bt-color-text-primary)
10
- */
11
- export declare const generateCSSVariables: (theme: ThemeTokens) => string;
12
- /**
13
- * Inject theme CSS variables into iframe
14
- */
15
- export declare const injectTheme: (iframe: HTMLIFrameElement, theme: ThemeTokens) => void;
16
- /**
17
- * Update theme dynamically (e.g., for dark mode)
18
- */
19
- export declare const updateTheme: (iframe: HTMLIFrameElement, updates: Partial<ThemeTokens>) => void;
20
- //# sourceMappingURL=inject-theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/inject-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,WAAW,KAAG,MAoLzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,iBAAiB,EACzB,OAAO,WAAW,KACjB,IAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,iBAAiB,EACzB,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,IAWF,CAAC"}
@@ -1,165 +0,0 @@
1
- /**
2
- * Event type definitions for Basis Theory Elements v3
3
- * All events follow a consistent contract with base metadata
4
- */
5
- /**
6
- * Element types
7
- */
8
- export type ElementType = 'cardNumber' | 'cvv' | 'expiry' | 'text' | 'card' | 'copyButton';
9
- /**
10
- * Base event detail - all element events include this metadata
11
- */
12
- export interface BaseEventDetail {
13
- /** Element type that fired this event */
14
- elementType: ElementType;
15
- /** Unique element ID (for distinguishing multiple elements) */
16
- elementId: string;
17
- /** Event timestamp (Unix milliseconds) */
18
- timestamp: number;
19
- }
20
- /**
21
- * Ready event - fired when element iframe loads and is ready for interaction
22
- */
23
- export interface ReadyEventDetail extends BaseEventDetail {
24
- }
25
- /**
26
- * Validation error structure
27
- */
28
- export interface ValidationError {
29
- /** Machine-readable error code */
30
- code: string;
31
- /** Human-readable error message */
32
- message: string;
33
- }
34
- /**
35
- * Base change event detail - common to all element types
36
- */
37
- export interface ChangeEventDetail extends BaseEventDetail {
38
- /** Whether the current value is valid */
39
- isValid: boolean;
40
- /** Whether the input is empty */
41
- isEmpty: boolean;
42
- /** Validation error (null if valid) */
43
- error: ValidationError | null;
44
- }
45
- /**
46
- * Card number specific change event detail
47
- * Extends base with card brand detection metadata
48
- */
49
- export interface CardNumberChangeEventDetail extends ChangeEventDetail {
50
- /** Detected card brand (Visa, Mastercard, etc.) */
51
- cardBrand?: string;
52
- /** Last 4 digits (PCI-safe, for display) */
53
- last4?: string | null;
54
- /** BIN (Bank Identification Number) - first 6-8 digits */
55
- bin?: string | null;
56
- /** CVV lengths for detected brand (for coordinating with CVV element) */
57
- cvvLengths?: number[] | null;
58
- /** All brands that could potentially match */
59
- potentialBrands?: string[];
60
- /** Match confidence (0-1, higher = more confident) */
61
- matchStrength?: number;
62
- /** Co-badge networks from BIN enrichment (multi-network cards only) */
63
- networks?: string[];
64
- /** Selected payment network (kebab-case, multi-network cards only) */
65
- selectedNetwork?: string;
66
- }
67
- /**
68
- * Fired when the selected payment network changes (co-badge)
69
- */
70
- export interface NetworkChangedEventDetail extends BaseEventDetail {
71
- network: string;
72
- previousNetwork?: string;
73
- availableNetworks: string[];
74
- selectionMode: 'auto' | 'manual' | 'user';
75
- }
76
- /**
77
- * Card element specific change event detail (unified card element)
78
- * Extends base with unified card state for all 3 sub-fields
79
- */
80
- export interface CardElementChangeEventDetail extends ChangeEventDetail {
81
- /** Detected card brand (Visa, Mastercard, etc.) */
82
- cardBrand?: string;
83
- /** Last 4 digits (PCI-safe, for display) */
84
- last4?: string | null;
85
- /** BIN (Bank Identification Number) - first 6-8 digits */
86
- bin?: string | null;
87
- /** Co-badge (when BIN enrichment returns multiple networks) */
88
- networks?: string[];
89
- selectedNetwork?: string;
90
- /** Validation errors from all sub-fields (cardNumber, expirationDate, cvc) */
91
- errors?: Array<{
92
- field: string;
93
- code: string;
94
- message: string;
95
- }> | null;
96
- }
97
- /**
98
- * Focus event - fired when element receives focus
99
- */
100
- export interface FocusEventDetail extends BaseEventDetail {
101
- }
102
- /**
103
- * Blur event - fired when element loses focus
104
- */
105
- export interface BlurEventDetail extends BaseEventDetail {
106
- }
107
- /**
108
- * Copy event - fired when copy button is clicked
109
- * Only available on copyButton element type
110
- */
111
- export interface CopyEventDetail extends BaseEventDetail {
112
- /** Whether the copy operation succeeded */
113
- success: boolean;
114
- /** Error message if copy failed (no sensitive data) */
115
- error?: string;
116
- }
117
- /**
118
- * Error codes
119
- */
120
- export type ErrorCode = 'MOUNT_ERROR' | 'POSTMESSAGE_TIMEOUT' | 'IFRAME_LOAD_ERROR' | 'INITIALIZATION_ERROR' | 'API_ERROR' | 'NETWORK_ERROR' | 'VALIDATION_ERROR' | 'INVALID_CONFIGURATION' | 'UNKNOWN_ERROR';
121
- /**
122
- * Error event detail - fired when errors occur during element operations
123
- */
124
- export interface ErrorEventDetail extends BaseEventDetail {
125
- /** Machine-readable error code */
126
- code: ErrorCode;
127
- /** Human-readable error message */
128
- message: string;
129
- /** HTTP status code (for API errors) */
130
- status?: number;
131
- /** Field-level validation errors from API */
132
- validationErrors?: Record<string, string[]>;
133
- /** Additional error context */
134
- metadata?: {
135
- /** Error source (e.g., 'tokenize', 'mount') */
136
- source?: string;
137
- /** Number of retry attempts */
138
- retryCount?: number;
139
- /** Full API response body (for debugging) */
140
- body?: unknown;
141
- /** Original error object */
142
- originalError?: Error;
143
- };
144
- }
145
- /**
146
- * Union of all event types
147
- */
148
- export type ElementEventType = 'ready' | 'change' | 'networkChanged' | 'focus' | 'blur' | 'error' | 'copy';
149
- /**
150
- * Map of event types to their detail types
151
- */
152
- export interface ElementEventDetailMap {
153
- ready: ReadyEventDetail;
154
- change: ChangeEventDetail | CardNumberChangeEventDetail | CardElementChangeEventDetail;
155
- networkChanged: NetworkChangedEventDetail;
156
- focus: FocusEventDetail;
157
- blur: BlurEventDetail;
158
- error: ErrorEventDetail;
159
- copy: CopyEventDetail;
160
- }
161
- /**
162
- * Type-safe event listener signature
163
- */
164
- export type ElementEventListener<T extends ElementEventType> = (event: CustomEvent<ElementEventDetailMap[T]>) => void;
165
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Theme System Types
3
- * Implements Hybrid approach: CSS variables for theming + property overrides
4
- *
5
- * Uses semantic nesting for better DX:
6
- * - Magnitude scales: fontSize.sm/base/lg
7
- * - State variants: border.default/hover/focus
8
- * - Semantic groups: text.primary/secondary/placeholder
9
- *
10
- * Supports light/dark themes via prefers-color-scheme or explicit theme prop
11
- */
12
- export type ThemeMode = 'light' | 'dark' | 'auto';
13
- export interface ThemeTokens {
14
- colors: {
15
- primary: string;
16
- error: string;
17
- success: string;
18
- text: {
19
- primary: string;
20
- secondary?: string;
21
- placeholder?: string;
22
- disabled?: string;
23
- };
24
- background: {
25
- default: string;
26
- hover?: string;
27
- focus?: string;
28
- disabled?: string;
29
- };
30
- border: {
31
- default: string;
32
- hover?: string;
33
- focus?: string;
34
- error?: string;
35
- };
36
- };
37
- typography: {
38
- fontFamily: string;
39
- fontSize: {
40
- sm?: string;
41
- base: string;
42
- lg?: string;
43
- };
44
- fontWeight: {
45
- normal: string;
46
- medium?: string;
47
- semibold?: string;
48
- };
49
- lineHeight?: {
50
- tight?: string;
51
- normal?: string;
52
- relaxed?: string;
53
- };
54
- };
55
- spacing: {
56
- xs?: string;
57
- sm: string;
58
- md: string;
59
- lg: string;
60
- xl?: string;
61
- };
62
- borders: {
63
- radius: {
64
- none?: string;
65
- sm?: string;
66
- base: string;
67
- md?: string;
68
- lg?: string;
69
- full?: string;
70
- };
71
- width: {
72
- thin?: string;
73
- base: string;
74
- thick?: string;
75
- };
76
- };
77
- shadows?: {
78
- none?: string;
79
- sm?: string;
80
- base?: string;
81
- md?: string;
82
- lg?: string;
83
- focus?: string;
84
- };
85
- transitions?: {
86
- fast?: string;
87
- base?: string;
88
- slow?: string;
89
- };
90
- }
91
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/types/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE;QAEN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAGhB,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;QAGF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;QAGF,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE;YACR,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,CAAC,EAAE,MAAM,CAAC;SACb,CAAC;QACF,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,UAAU,CAAC,EAAE;YACX,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE;YACN,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,KAAK,EAAE;YACL,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH"}