@glideidentity/web-client-sdk 5.1.2 → 6.0.0-beta.1

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 (203) hide show
  1. package/README.md +337 -526
  2. package/dist/browser/web-client-sdk.min.js +1 -1
  3. package/dist/cjs/adapters/index.js +15 -0
  4. package/dist/cjs/adapters/react.js +192 -0
  5. package/dist/cjs/adapters/vanilla.js +38 -0
  6. package/dist/cjs/adapters/vue.js +187 -0
  7. package/dist/cjs/browser.js +58 -0
  8. package/dist/cjs/client/http.js +159 -0
  9. package/dist/cjs/client/index.js +19 -0
  10. package/dist/cjs/client/logger.js +135 -0
  11. package/dist/cjs/client/phone-auth-client.js +439 -0
  12. package/dist/cjs/client/strategies/polling.js +177 -0
  13. package/dist/cjs/core/errors.js +204 -0
  14. package/dist/cjs/core/index.js +83 -0
  15. package/dist/cjs/core/type-guards.js +196 -0
  16. package/dist/cjs/core/types.js +25 -0
  17. package/dist/{core/phone-auth/validation-utils.js → cjs/core/validators.js} +70 -23
  18. package/dist/cjs/index.js +81 -0
  19. package/dist/cjs/ui/index.js +11 -0
  20. package/dist/{core/phone-auth → cjs}/ui/mobile-debug-console.js +149 -78
  21. package/dist/cjs/ui/modal.js +1122 -0
  22. package/dist/esm/adapters/index.js +11 -0
  23. package/dist/esm/adapters/react.js +182 -0
  24. package/dist/esm/adapters/vanilla.js +29 -0
  25. package/dist/esm/adapters/vue.js +177 -0
  26. package/dist/esm/browser.js +30 -11
  27. package/dist/esm/client/http.js +156 -0
  28. package/dist/esm/client/index.js +11 -0
  29. package/dist/esm/client/logger.js +131 -0
  30. package/dist/esm/client/phone-auth-client.js +435 -0
  31. package/dist/esm/client/strategies/polling.js +174 -0
  32. package/dist/esm/core/errors.js +193 -0
  33. package/dist/esm/core/index.js +60 -0
  34. package/dist/esm/core/type-guards.js +181 -0
  35. package/dist/esm/core/types.js +22 -1
  36. package/dist/esm/core/{phone-auth/validation-utils.js → validators.js} +66 -21
  37. package/dist/esm/index.js +45 -17
  38. package/dist/esm/ui/index.js +5 -0
  39. package/dist/esm/{core/phone-auth/ui → ui}/mobile-debug-console.js +149 -78
  40. package/dist/esm/ui/modal.js +1117 -0
  41. package/dist/types/adapters/index.d.ts +10 -0
  42. package/dist/types/adapters/index.d.ts.map +1 -0
  43. package/dist/types/adapters/react.d.ts +70 -0
  44. package/dist/types/adapters/react.d.ts.map +1 -0
  45. package/dist/types/adapters/vanilla.d.ts +29 -0
  46. package/dist/types/adapters/vanilla.d.ts.map +1 -0
  47. package/dist/types/adapters/vue.d.ts +71 -0
  48. package/dist/types/adapters/vue.d.ts.map +1 -0
  49. package/dist/types/browser.d.ts +27 -0
  50. package/dist/types/browser.d.ts.map +1 -0
  51. package/dist/types/client/http.d.ts +41 -0
  52. package/dist/types/client/http.d.ts.map +1 -0
  53. package/dist/types/client/index.d.ts +10 -0
  54. package/dist/types/client/index.d.ts.map +1 -0
  55. package/dist/types/client/logger.d.ts +36 -0
  56. package/dist/types/client/logger.d.ts.map +1 -0
  57. package/dist/types/client/phone-auth-client.d.ts +91 -0
  58. package/dist/types/client/phone-auth-client.d.ts.map +1 -0
  59. package/dist/types/client/strategies/polling.d.ts +36 -0
  60. package/dist/types/client/strategies/polling.d.ts.map +1 -0
  61. package/dist/types/core/errors.d.ts +71 -0
  62. package/dist/types/core/errors.d.ts.map +1 -0
  63. package/dist/types/core/index.d.ts +38 -0
  64. package/dist/types/core/index.d.ts.map +1 -0
  65. package/dist/types/core/type-guards.d.ts +118 -0
  66. package/dist/types/core/type-guards.d.ts.map +1 -0
  67. package/dist/types/core/types.d.ts +534 -0
  68. package/dist/types/core/types.d.ts.map +1 -0
  69. package/dist/types/core/validators.d.ts +63 -0
  70. package/dist/types/core/validators.d.ts.map +1 -0
  71. package/dist/types/index.d.ts +40 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/ui/index.d.ts +6 -0
  74. package/dist/types/ui/index.d.ts.map +1 -0
  75. package/dist/{esm/core/phone-auth → types}/ui/mobile-debug-console.d.ts +1 -0
  76. package/dist/types/ui/mobile-debug-console.d.ts.map +1 -0
  77. package/dist/types/ui/modal.d.ts +87 -0
  78. package/dist/types/ui/modal.d.ts.map +1 -0
  79. package/package.json +48 -34
  80. package/dist/adapters/angular/client.service.d.ts +0 -7
  81. package/dist/adapters/angular/client.service.js +0 -30
  82. package/dist/adapters/angular/index.d.ts +0 -3
  83. package/dist/adapters/angular/index.js +0 -18
  84. package/dist/adapters/angular/phone-auth.service.d.ts +0 -38
  85. package/dist/adapters/angular/phone-auth.service.js +0 -130
  86. package/dist/adapters/react/index.d.ts +0 -9
  87. package/dist/adapters/react/index.js +0 -28
  88. package/dist/adapters/react/useClient.d.ts +0 -26
  89. package/dist/adapters/react/useClient.js +0 -121
  90. package/dist/adapters/react/usePhoneAuth.d.ts +0 -23
  91. package/dist/adapters/react/usePhoneAuth.js +0 -95
  92. package/dist/adapters/vanilla/client.d.ts +0 -8
  93. package/dist/adapters/vanilla/client.js +0 -33
  94. package/dist/adapters/vanilla/index.d.ts +0 -3
  95. package/dist/adapters/vanilla/index.js +0 -18
  96. package/dist/adapters/vanilla/phone-auth.d.ts +0 -46
  97. package/dist/adapters/vanilla/phone-auth.js +0 -138
  98. package/dist/adapters/vue/index.d.ts +0 -10
  99. package/dist/adapters/vue/index.js +0 -36
  100. package/dist/adapters/vue/useClient.d.ts +0 -115
  101. package/dist/adapters/vue/useClient.js +0 -131
  102. package/dist/adapters/vue/usePhoneAuth.d.ts +0 -94
  103. package/dist/adapters/vue/usePhoneAuth.js +0 -103
  104. package/dist/browser.d.ts +0 -7
  105. package/dist/browser.js +0 -31
  106. package/dist/core/client.d.ts +0 -22
  107. package/dist/core/client.js +0 -77
  108. package/dist/core/logger.d.ts +0 -130
  109. package/dist/core/logger.js +0 -370
  110. package/dist/core/phone-auth/api-types.d.ts +0 -593
  111. package/dist/core/phone-auth/api-types.js +0 -215
  112. package/dist/core/phone-auth/client.d.ts +0 -189
  113. package/dist/core/phone-auth/client.js +0 -1441
  114. package/dist/core/phone-auth/error-utils.d.ts +0 -110
  115. package/dist/core/phone-auth/error-utils.js +0 -350
  116. package/dist/core/phone-auth/index.d.ts +0 -7
  117. package/dist/core/phone-auth/index.js +0 -50
  118. package/dist/core/phone-auth/status-types.d.ts +0 -107
  119. package/dist/core/phone-auth/status-types.js +0 -31
  120. package/dist/core/phone-auth/strategies/desktop.d.ts +0 -122
  121. package/dist/core/phone-auth/strategies/desktop.js +0 -596
  122. package/dist/core/phone-auth/strategies/index.d.ts +0 -11
  123. package/dist/core/phone-auth/strategies/index.js +0 -15
  124. package/dist/core/phone-auth/strategies/link.d.ts +0 -89
  125. package/dist/core/phone-auth/strategies/link.js +0 -384
  126. package/dist/core/phone-auth/strategies/ts43.d.ts +0 -32
  127. package/dist/core/phone-auth/strategies/ts43.js +0 -151
  128. package/dist/core/phone-auth/strategies/types.d.ts +0 -18
  129. package/dist/core/phone-auth/strategies/types.js +0 -6
  130. package/dist/core/phone-auth/type-guards.d.ts +0 -143
  131. package/dist/core/phone-auth/type-guards.js +0 -198
  132. package/dist/core/phone-auth/types.d.ts +0 -237
  133. package/dist/core/phone-auth/types.js +0 -93
  134. package/dist/core/phone-auth/ui/mobile-debug-console.d.ts +0 -25
  135. package/dist/core/phone-auth/ui/modal.d.ts +0 -88
  136. package/dist/core/phone-auth/ui/modal.js +0 -598
  137. package/dist/core/phone-auth/validation-utils.d.ts +0 -44
  138. package/dist/core/types.d.ts +0 -62
  139. package/dist/core/types.js +0 -2
  140. package/dist/core/version.d.ts +0 -1
  141. package/dist/core/version.js +0 -5
  142. package/dist/esm/adapters/angular/client.service.d.ts +0 -7
  143. package/dist/esm/adapters/angular/client.service.js +0 -27
  144. package/dist/esm/adapters/angular/index.d.ts +0 -3
  145. package/dist/esm/adapters/angular/index.js +0 -4
  146. package/dist/esm/adapters/angular/phone-auth.service.d.ts +0 -38
  147. package/dist/esm/adapters/angular/phone-auth.service.js +0 -127
  148. package/dist/esm/adapters/react/index.d.ts +0 -9
  149. package/dist/esm/adapters/react/index.js +0 -8
  150. package/dist/esm/adapters/react/useClient.d.ts +0 -26
  151. package/dist/esm/adapters/react/useClient.js +0 -116
  152. package/dist/esm/adapters/react/usePhoneAuth.d.ts +0 -23
  153. package/dist/esm/adapters/react/usePhoneAuth.js +0 -92
  154. package/dist/esm/adapters/vanilla/client.d.ts +0 -8
  155. package/dist/esm/adapters/vanilla/client.js +0 -29
  156. package/dist/esm/adapters/vanilla/index.d.ts +0 -3
  157. package/dist/esm/adapters/vanilla/index.js +0 -4
  158. package/dist/esm/adapters/vanilla/phone-auth.d.ts +0 -46
  159. package/dist/esm/adapters/vanilla/phone-auth.js +0 -134
  160. package/dist/esm/adapters/vue/index.d.ts +0 -10
  161. package/dist/esm/adapters/vue/index.js +0 -11
  162. package/dist/esm/adapters/vue/useClient.d.ts +0 -115
  163. package/dist/esm/adapters/vue/useClient.js +0 -127
  164. package/dist/esm/adapters/vue/usePhoneAuth.d.ts +0 -94
  165. package/dist/esm/adapters/vue/usePhoneAuth.js +0 -100
  166. package/dist/esm/browser.d.ts +0 -7
  167. package/dist/esm/core/client.d.ts +0 -22
  168. package/dist/esm/core/client.js +0 -70
  169. package/dist/esm/core/logger.d.ts +0 -130
  170. package/dist/esm/core/logger.js +0 -359
  171. package/dist/esm/core/phone-auth/api-types.d.ts +0 -593
  172. package/dist/esm/core/phone-auth/api-types.js +0 -203
  173. package/dist/esm/core/phone-auth/client.d.ts +0 -189
  174. package/dist/esm/core/phone-auth/client.js +0 -1404
  175. package/dist/esm/core/phone-auth/error-utils.d.ts +0 -110
  176. package/dist/esm/core/phone-auth/error-utils.js +0 -338
  177. package/dist/esm/core/phone-auth/index.d.ts +0 -7
  178. package/dist/esm/core/phone-auth/index.js +0 -8
  179. package/dist/esm/core/phone-auth/status-types.d.ts +0 -107
  180. package/dist/esm/core/phone-auth/status-types.js +0 -26
  181. package/dist/esm/core/phone-auth/strategies/desktop.d.ts +0 -122
  182. package/dist/esm/core/phone-auth/strategies/desktop.js +0 -590
  183. package/dist/esm/core/phone-auth/strategies/index.d.ts +0 -11
  184. package/dist/esm/core/phone-auth/strategies/index.js +0 -7
  185. package/dist/esm/core/phone-auth/strategies/link.d.ts +0 -89
  186. package/dist/esm/core/phone-auth/strategies/link.js +0 -380
  187. package/dist/esm/core/phone-auth/strategies/ts43.d.ts +0 -32
  188. package/dist/esm/core/phone-auth/strategies/ts43.js +0 -147
  189. package/dist/esm/core/phone-auth/strategies/types.d.ts +0 -18
  190. package/dist/esm/core/phone-auth/strategies/types.js +0 -5
  191. package/dist/esm/core/phone-auth/type-guards.d.ts +0 -143
  192. package/dist/esm/core/phone-auth/type-guards.js +0 -185
  193. package/dist/esm/core/phone-auth/types.d.ts +0 -237
  194. package/dist/esm/core/phone-auth/types.js +0 -76
  195. package/dist/esm/core/phone-auth/ui/modal.d.ts +0 -88
  196. package/dist/esm/core/phone-auth/ui/modal.js +0 -594
  197. package/dist/esm/core/phone-auth/validation-utils.d.ts +0 -44
  198. package/dist/esm/core/types.d.ts +0 -62
  199. package/dist/esm/core/version.d.ts +0 -1
  200. package/dist/esm/core/version.js +0 -2
  201. package/dist/esm/index.d.ts +0 -12
  202. package/dist/index.d.ts +0 -12
  203. package/dist/index.js +0 -55
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Validation utilities for phone authentication.
3
+ *
4
+ * Pure functions with no runtime dependencies.
5
+ * All validators return { valid: boolean; error?: string }.
6
+ */
7
+ import type { PLMN, UseCase } from './types';
8
+ /** Validation result type */
9
+ export interface ValidationResult {
10
+ valid: boolean;
11
+ error?: string;
12
+ }
13
+ /** E.164 phone number regex */
14
+ export declare const E164_REGEX: RegExp;
15
+ /**
16
+ * Validates E.164 phone number format.
17
+ *
18
+ * @param phoneNumber - Phone number to validate
19
+ * @returns Validation result with error if invalid
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const result = validatePhoneNumber('+14155551234');
24
+ * if (!result.valid) {
25
+ * console.error(result.error);
26
+ * }
27
+ * ```
28
+ */
29
+ export declare function validatePhoneNumber(phoneNumber?: string): ValidationResult;
30
+ /**
31
+ * Validates PLMN (MCC/MNC) values.
32
+ *
33
+ * @deprecated PLMN validation will be removed with PLMN support.
34
+ * TODO: Remove in next major version
35
+ *
36
+ * @param plmn - PLMN object with MCC and MNC
37
+ * @returns Validation result
38
+ */
39
+ export declare function validatePlmn(plmn?: PLMN): ValidationResult;
40
+ /**
41
+ * Validates use case and required parameters combination.
42
+ *
43
+ * @param useCase - The use case
44
+ * @param phoneNumber - The phone number (required for VerifyPhoneNumber)
45
+ * @param hasParentSessionId - Whether parent_session_id is provided
46
+ * @returns Validation result
47
+ */
48
+ export declare function validateUseCaseRequirements(useCase: UseCase, phoneNumber?: string, hasParentSessionId?: boolean): ValidationResult;
49
+ /**
50
+ * Validates nonce format.
51
+ *
52
+ * @param nonce - Nonce string to validate
53
+ * @returns Validation result
54
+ */
55
+ export declare function validateNonce(nonce: string): ValidationResult;
56
+ /**
57
+ * Validates session key format.
58
+ *
59
+ * @param sessionKey - Session key to validate
60
+ * @returns Validation result
61
+ */
62
+ export declare function validateSessionKey(sessionKey?: string): ValidationResult;
63
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/core/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG7C,6BAA6B;AAC7B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+BAA+B;AAC/B,eAAO,MAAM,UAAU,QAAsB,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CA0C1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,gBAAgB,CAwB1D;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,gBAAgB,CAUlB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAyB7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CASxE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Glide Phone Authentication SDK
3
+ *
4
+ * @example Basic Usage
5
+ * ```typescript
6
+ * import { PhoneAuthClient } from '@glideidentity/web-client-sdk';
7
+ *
8
+ * const client = new PhoneAuthClient({ debug: true });
9
+ * const result = await client.authenticate({
10
+ * use_case: 'VerifyPhoneNumber',
11
+ * phone_number: '+14155551234'
12
+ * });
13
+ * ```
14
+ *
15
+ * @example React
16
+ * ```typescript
17
+ * import { usePhoneAuth } from '@glideidentity/web-client-sdk/react';
18
+ * ```
19
+ *
20
+ * @example Vue
21
+ * ```typescript
22
+ * import { usePhoneAuth } from '@glideidentity/web-client-sdk/vue';
23
+ * ```
24
+ *
25
+ * @example Core Types Only
26
+ * ```typescript
27
+ * import type { PrepareRequest } from '@glideidentity/web-client-sdk/core';
28
+ * ```
29
+ */
30
+ export { PhoneAuthClient } from './client/phone-auth-client';
31
+ export type { PhoneNumber, Timestamp, UUID, UseCase, AuthenticationStrategy, SessionInfo, PLMN, ClientInfo, PrepareOptions, PrepareRequest, PrepareResponse, TS43Data, LinkData, DesktopData, InvokeOptions, InvokeResult, AuthCredential, ModalViewMode, ModalTheme, ModalOptions, GetPhoneNumberRequest, GetPhoneNumberResponse, VerifyPhoneNumberRequest, VerifyPhoneNumberResponse, PhoneAuthResult, AuthConfig, HttpClient, HttpOptions, Logger, HeaderConfig, HeaderContext, AuthError, } from './core/types';
32
+ export { USE_CASE, AUTHENTICATION_STRATEGY } from './core/types';
33
+ export { ERROR_CODES, type ErrorCode } from './core/errors';
34
+ export { isAuthError, isClientError, isRetryableError, getUserMessage, createAuthError, parseBackendError, } from './core/errors';
35
+ export { isInvokeResult, isAuthCredential, isTS43Strategy, isLinkStrategy, isDesktopStrategy, isCancellable, isTS43Data, isLinkData, isDesktopData, isGetPhoneNumberResponse, isVerifyPhoneNumberResponse, isErrorResponse, } from './core/type-guards';
36
+ export { validatePhoneNumber, validatePlmn, validateUseCaseRequirements, validateNonce, validateSessionKey, E164_REGEX, type ValidationResult, } from './core/validators';
37
+ export { createHttpClient, type HttpClientConfig } from './client/http';
38
+ export { createLogger, createNoopLogger, type LoggerConfig } from './client/logger';
39
+ export { AuthModal, createQRCodeDataFromDesktop, type QRCodeData } from './ui/modal';
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,YAAY,EAEV,WAAW,EACX,SAAS,EACT,IAAI,EACJ,OAAO,EACP,sBAAsB,EAGtB,WAAW,EACX,IAAI,EACJ,UAAU,EAGV,cAAc,EACd,cAAc,EACd,eAAe,EAGf,QAAQ,EACR,QAAQ,EACR,WAAW,EAGX,aAAa,EACb,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,UAAU,EACV,YAAY,EAGZ,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EAGf,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,YAAY,EACZ,aAAa,EAGb,SAAS,GACV,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * UI Components for Phone Authentication SDK
3
+ */
4
+ export { AuthModal, createQRCodeDataFromDesktop, type QRCodeData } from './modal';
5
+ export { MobileDebugConsole } from './mobile-debug-console';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -23,3 +23,4 @@ export declare class MobileDebugConsole {
23
23
  private clear;
24
24
  private cleanup;
25
25
  }
26
+ //# sourceMappingURL=mobile-debug-console.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-debug-console.d.ts","sourceRoot":"","sources":["../../../src/ui/mobile-debug-console.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,eAAe,CAMrB;;IAOF,MAAM,CAAC,IAAI,IAAI,kBAAkB;IAOjC,MAAM,CAAC,OAAO,IAAI,IAAI;IAOtB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,MAAM;IAgDd,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,QAAQ;IAuOhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,OAAO;CAiBhB"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Modal UI Component for Phone Authentication
3
+ *
4
+ * This file creates the UI components (modals, buttons) that are shown
5
+ * for Desktop QR code authentication flow.
6
+ *
7
+ * Supports three view modes:
8
+ * - toggle: Single QR with iOS/Android toggle (default)
9
+ * - dual: Side-by-side QR codes for both platforms
10
+ * - pre-step: OS selection first, then QR
11
+ */
12
+ import type { ModalOptions } from '../core/types';
13
+ /**
14
+ * QR code data for the modal.
15
+ * Can be a simple string (same QR for both platforms) or separate QRs.
16
+ */
17
+ export interface QRCodeData {
18
+ iosQRCode: string;
19
+ androidQRCode?: string;
20
+ }
21
+ /**
22
+ * Creates and manages a modal dialog for authentication
23
+ */
24
+ export declare class AuthModal {
25
+ private container;
26
+ private backdrop;
27
+ private isOpen;
28
+ private options;
29
+ private closeCallback?;
30
+ private theme;
31
+ private currentStep;
32
+ private qrCodeData;
33
+ private statusMessage;
34
+ private originalBodyOverflow;
35
+ private isClosing;
36
+ private readonly iconApple;
37
+ private readonly iconAndroid;
38
+ private readonly iconBack;
39
+ constructor(options?: ModalOptions);
40
+ /**
41
+ * Determines if dark mode should be used based on theme setting
42
+ */
43
+ private shouldUseDarkMode;
44
+ private handleEscapeKey;
45
+ private escapeHtml;
46
+ /**
47
+ * Shows the modal with a QR code
48
+ * @param qrCodeData - Either a string (single QR) or QRCodeData (separate iOS/Android)
49
+ * @param statusMessage - Optional status message to display
50
+ */
51
+ showQRCode(qrCodeData: string | QRCodeData, statusMessage?: string): void;
52
+ /**
53
+ * Updates the status message shown in the modal
54
+ */
55
+ updateStatus(status: string, isError?: boolean): void;
56
+ setCloseCallback(callback: () => void): void;
57
+ private renderToggleMode;
58
+ private renderDualMode;
59
+ private renderPreStepMode;
60
+ private setupPreStepListeners;
61
+ private updatePreStepUI;
62
+ private setupBackButton;
63
+ private createModal;
64
+ private setupHelpInteraction;
65
+ private injectStyles;
66
+ show(): void;
67
+ private setupPlatformToggles;
68
+ private lockBodyScroll;
69
+ private unlockBodyScroll;
70
+ close(): void;
71
+ private cleanup;
72
+ /**
73
+ * Check if modal is currently open
74
+ */
75
+ isModalOpen(): boolean;
76
+ }
77
+ /**
78
+ * Helper to create QRCodeData from DesktopData
79
+ */
80
+ export declare function createQRCodeDataFromDesktop(desktopData: {
81
+ data: {
82
+ qr_code_image?: string;
83
+ ios_qr_image?: string;
84
+ android_qr_image?: string;
85
+ };
86
+ }): QRCodeData | string;
87
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../src/ui/modal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,eAAe,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,aAAa,CAAc;IAGnC,OAAO,CAAC,oBAAoB,CAAc;IAG1C,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2hB;IACrjB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqZ;IACjb,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2Q;gBAExR,OAAO,CAAC,EAAE,YAAY;IAMlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;IASlB;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,aAAa,SAAgC,GAAG,IAAI;IA4BhG;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI;IAe5D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAM5C,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,WAAW;IAyEnB,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,YAAY;IAqmBpB,IAAI,IAAI,IAAI;IA+BZ,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,gBAAgB;IAIxB,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,OAAO;IASf;;OAEG;IACH,WAAW,IAAI,OAAO;CAGvB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE;IACvD,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,GAAG,UAAU,GAAG,MAAM,CAiBtB"}
package/package.json CHANGED
@@ -1,71 +1,82 @@
1
1
  {
2
2
  "name": "@glideidentity/web-client-sdk",
3
- "version": "5.1.2",
4
- "main": "./dist/index.js",
3
+ "version": "6.0.0-beta.1",
4
+ "description": "Glide Phone Authentication SDK for web applications",
5
+ "main": "./dist/cjs/index.js",
5
6
  "module": "./dist/esm/index.js",
6
- "types": "./dist/index.d.ts",
7
+ "types": "./dist/types/index.d.ts",
7
8
  "browser": "./dist/browser/web-client-sdk.min.js",
9
+ "sideEffects": false,
8
10
  "files": [
9
11
  "dist"
10
12
  ],
11
13
  "exports": {
12
14
  ".": {
13
- "types": "./dist/index.d.ts",
15
+ "types": "./dist/types/index.d.ts",
14
16
  "import": "./dist/esm/index.js",
15
- "require": "./dist/index.js",
16
- "browser": "./dist/browser/web-client-sdk.min.js",
17
- "default": "./dist/index.js"
17
+ "require": "./dist/cjs/index.js",
18
+ "default": "./dist/cjs/index.js"
18
19
  },
19
- "./vue": {
20
- "types": "./dist/adapters/vue/index.d.ts",
21
- "import": "./dist/esm/adapters/vue/index.js",
22
- "require": "./dist/adapters/vue/index.js",
23
- "default": "./dist/adapters/vue/index.js"
20
+ "./core": {
21
+ "types": "./dist/types/core/index.d.ts",
22
+ "import": "./dist/esm/core/index.js",
23
+ "require": "./dist/cjs/core/index.js",
24
+ "default": "./dist/cjs/core/index.js"
24
25
  },
25
26
  "./react": {
26
- "types": "./dist/adapters/react/index.d.ts",
27
- "import": "./dist/esm/adapters/react/index.js",
28
- "require": "./dist/adapters/react/index.js",
29
- "default": "./dist/adapters/react/index.js"
27
+ "types": "./dist/types/adapters/react.d.ts",
28
+ "import": "./dist/esm/adapters/react.js",
29
+ "require": "./dist/cjs/adapters/react.js",
30
+ "default": "./dist/cjs/adapters/react.js"
31
+ },
32
+ "./vue": {
33
+ "types": "./dist/types/adapters/vue.d.ts",
34
+ "import": "./dist/esm/adapters/vue.js",
35
+ "require": "./dist/cjs/adapters/vue.js",
36
+ "default": "./dist/cjs/adapters/vue.js"
30
37
  },
31
- "./angular": {
32
- "types": "./dist/adapters/angular/index.d.ts",
33
- "import": "./dist/esm/adapters/angular/index.js",
34
- "require": "./dist/adapters/angular/index.js",
35
- "default": "./dist/adapters/angular/index.js"
38
+ "./vanilla": {
39
+ "types": "./dist/types/adapters/vanilla.d.ts",
40
+ "import": "./dist/esm/adapters/vanilla.js",
41
+ "require": "./dist/cjs/adapters/vanilla.js",
42
+ "default": "./dist/cjs/adapters/vanilla.js"
36
43
  }
37
44
  },
38
45
  "scripts": {
39
- "build": "npm run clean && npm run build:cjs && npm run build:esm && npm run build:browser && npm run inject-version",
40
- "build:cjs": "tsc -p tsconfig.build.json",
46
+ "build": "npm run clean && npm run build:cjs && npm run build:esm && npm run build:types && npm run build:browser",
47
+ "build:cjs": "tsc -p tsconfig.cjs.json",
41
48
  "build:esm": "tsc -p tsconfig.esm.json",
49
+ "build:types": "tsc -p tsconfig.types.json",
42
50
  "build:browser": "webpack",
43
51
  "clean": "rm -rf dist",
44
- "inject-version": "node scripts/inject-version.js",
45
52
  "prepublishOnly": "npm run build",
46
- "test": "jest"
53
+ "test": "jest",
54
+ "typecheck": "tsc --noEmit -p tsconfig.json"
47
55
  },
48
56
  "publishConfig": {
49
57
  "access": "public"
50
58
  },
51
59
  "keywords": [
52
60
  "sdk",
53
- "authentication",
54
- "api",
61
+ "phone-authentication",
62
+ "glide",
55
63
  "react",
56
64
  "vue",
57
- "angular"
65
+ "typescript"
58
66
  ],
59
67
  "peerDependencies": {
60
- "@angular/core": "^15.0.0",
61
- "react": "^18.0.0",
68
+ "react": "^17.0.0 || ^18.0.0",
62
69
  "vue": "^3.0.0"
63
70
  },
64
- "dependencies": {
65
- "axios": "^1.13.2"
71
+ "peerDependenciesMeta": {
72
+ "react": {
73
+ "optional": true
74
+ },
75
+ "vue": {
76
+ "optional": true
77
+ }
66
78
  },
67
79
  "devDependencies": {
68
- "@angular/core": "^19.0.6",
69
80
  "@testing-library/jest-dom": "^6.0.0",
70
81
  "@testing-library/react": "^14.0.0",
71
82
  "@types/jest": "^29.5.14",
@@ -81,12 +92,15 @@
81
92
  "jest-environment-jsdom": "^29.0.0",
82
93
  "react": "^18.2.0",
83
94
  "react-dom": "^18.2.0",
84
- "rxjs": "^7.8.1",
85
95
  "ts-jest": "^29.2.5",
86
96
  "ts-loader": "^9.5.1",
87
97
  "typescript": "^5.9.2",
88
98
  "vue": "^3.3.0",
89
99
  "webpack": "^5.89.0",
90
100
  "webpack-cli": "^5.1.4"
101
+ },
102
+ "dependencies": {
103
+ "-": "^0.0.1",
104
+ "baseline-browser-mapping": "^2.9.7"
91
105
  }
92
106
  }
@@ -1,7 +0,0 @@
1
- import type { ClientConfig, ClientResponse } from '../../core/types';
2
- import { Observable } from 'rxjs';
3
- export declare class ClientService {
4
- private client;
5
- constructor(config: ClientConfig);
6
- query<T>(path: string): Observable<ClientResponse<T>>;
7
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ClientService = void 0;
13
- const core_1 = require("@angular/core");
14
- const client_1 = require("../../core/client");
15
- const rxjs_1 = require("rxjs");
16
- let ClientService = class ClientService {
17
- constructor(config) {
18
- this.client = new client_1.SDKClient(config);
19
- }
20
- query(path) {
21
- return (0, rxjs_1.from)(this.client.get(path));
22
- }
23
- };
24
- exports.ClientService = ClientService;
25
- exports.ClientService = ClientService = __decorate([
26
- (0, core_1.Injectable)({
27
- providedIn: 'root',
28
- }),
29
- __metadata("design:paramtypes", [Object])
30
- ], ClientService);
@@ -1,3 +0,0 @@
1
- export { ClientService } from './client.service';
2
- export { PhoneAuthService } from './phone-auth.service';
3
- export { PhoneAuthErrorCode, isPhoneAuthError, isUserError, getUserMessage, isErrorCode, getRetryDelay, isRetryableError, serializeError, createErrorBreadcrumb } from '../../core/phone-auth';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createErrorBreadcrumb = exports.serializeError = exports.isRetryableError = exports.getRetryDelay = exports.isErrorCode = exports.getUserMessage = exports.isUserError = exports.isPhoneAuthError = exports.PhoneAuthErrorCode = exports.PhoneAuthService = exports.ClientService = void 0;
4
- var client_service_1 = require("./client.service");
5
- Object.defineProperty(exports, "ClientService", { enumerable: true, get: function () { return client_service_1.ClientService; } });
6
- var phone_auth_service_1 = require("./phone-auth.service");
7
- Object.defineProperty(exports, "PhoneAuthService", { enumerable: true, get: function () { return phone_auth_service_1.PhoneAuthService; } });
8
- // Export error utilities
9
- var phone_auth_1 = require("../../core/phone-auth");
10
- Object.defineProperty(exports, "PhoneAuthErrorCode", { enumerable: true, get: function () { return phone_auth_1.PhoneAuthErrorCode; } });
11
- Object.defineProperty(exports, "isPhoneAuthError", { enumerable: true, get: function () { return phone_auth_1.isPhoneAuthError; } });
12
- Object.defineProperty(exports, "isUserError", { enumerable: true, get: function () { return phone_auth_1.isUserError; } });
13
- Object.defineProperty(exports, "getUserMessage", { enumerable: true, get: function () { return phone_auth_1.getUserMessage; } });
14
- Object.defineProperty(exports, "isErrorCode", { enumerable: true, get: function () { return phone_auth_1.isErrorCode; } });
15
- Object.defineProperty(exports, "getRetryDelay", { enumerable: true, get: function () { return phone_auth_1.getRetryDelay; } });
16
- Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return phone_auth_1.isRetryableError; } });
17
- Object.defineProperty(exports, "serializeError", { enumerable: true, get: function () { return phone_auth_1.serializeError; } });
18
- Object.defineProperty(exports, "createErrorBreadcrumb", { enumerable: true, get: function () { return phone_auth_1.createErrorBreadcrumb; } });
@@ -1,38 +0,0 @@
1
- import type { AuthConfig, PhoneAuthResult, AuthError, AuthStep, PhoneAuthOptions } from '../../core/phone-auth';
2
- import { Observable } from 'rxjs';
3
- export declare class PhoneAuthService {
4
- private client;
5
- private isLoadingSubject;
6
- private errorSubject;
7
- private resultSubject;
8
- private currentStepSubject;
9
- isLoading$: Observable<boolean>;
10
- error$: Observable<AuthError | null>;
11
- result$: Observable<PhoneAuthResult | null>;
12
- currentStep$: Observable<AuthStep>;
13
- constructor();
14
- /**
15
- * Configure the phone auth client
16
- */
17
- configure(config: AuthConfig): void;
18
- /**
19
- * Check if browser supports secure phone authentication
20
- */
21
- isSupported(): boolean;
22
- /**
23
- * Verify phone number
24
- */
25
- verify(options: PhoneAuthOptions): Promise<PhoneAuthResult>;
26
- /**
27
- * Get phone number
28
- */
29
- getPhoneNumber(options?: Omit<PhoneAuthOptions, 'use_case' | 'phone_number'>): Promise<PhoneAuthResult>;
30
- /**
31
- * Verify specific phone number
32
- */
33
- verifyPhoneNumber(phoneNumber: string, options?: Omit<PhoneAuthOptions, 'use_case' | 'phone_number'>): Promise<PhoneAuthResult>;
34
- /**
35
- * Reset state
36
- */
37
- reset(): void;
38
- }
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
- return new (P || (P = Promise))(function (resolve, reject) {
14
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
- step((generator = generator.apply(thisArg, _arguments || [])).next());
18
- });
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.PhoneAuthService = void 0;
22
- const core_1 = require("@angular/core");
23
- const phone_auth_1 = require("../../core/phone-auth");
24
- const rxjs_1 = require("rxjs");
25
- let PhoneAuthService = class PhoneAuthService {
26
- constructor() {
27
- // State subjects
28
- this.isLoadingSubject = new rxjs_1.BehaviorSubject(false);
29
- this.errorSubject = new rxjs_1.BehaviorSubject(null);
30
- this.resultSubject = new rxjs_1.BehaviorSubject(null);
31
- this.currentStepSubject = new rxjs_1.BehaviorSubject('idle');
32
- // Public observables
33
- this.isLoading$ = this.isLoadingSubject.asObservable();
34
- this.error$ = this.errorSubject.asObservable();
35
- this.result$ = this.resultSubject.asObservable();
36
- this.currentStep$ = this.currentStepSubject.asObservable();
37
- this.client = new phone_auth_1.PhoneAuthClient();
38
- }
39
- /**
40
- * Configure the phone auth client
41
- */
42
- configure(config) {
43
- this.client = new phone_auth_1.PhoneAuthClient(config);
44
- }
45
- /**
46
- * Check if browser supports secure phone authentication
47
- */
48
- isSupported() {
49
- return this.client.isSupported();
50
- }
51
- /**
52
- * Verify phone number
53
- */
54
- verify(options) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- this.isLoadingSubject.next(true);
57
- this.errorSubject.next(null);
58
- this.resultSubject.next(null);
59
- this.currentStepSubject.next('requesting');
60
- try {
61
- // Step 1: Prepare request
62
- const preparedRequest = yield this.client.preparePhoneRequest(options);
63
- // Step 2: Show authenticating state
64
- this.currentStepSubject.next('authenticating');
65
- const credentialResponse = yield this.client.invokeSecurePrompt(preparedRequest);
66
- // Step 3: Process response through appropriate endpoint
67
- this.currentStepSubject.next('processing');
68
- // Cast to credential type - adapters never use headless mode
69
- const credential = credentialResponse;
70
- const processedResult = options.use_case === 'GetPhoneNumber'
71
- ? yield this.client.getPhoneNumber(credential, preparedRequest.session)
72
- : yield this.client.verifyPhoneNumber(credential, preparedRequest.session);
73
- // Create final result
74
- const isVerifyResponse = 'verified' in processedResult;
75
- const result = processedResult;
76
- this.resultSubject.next(result);
77
- this.currentStepSubject.next('complete');
78
- return result;
79
- }
80
- catch (error) {
81
- // Enhance error with context
82
- const authError = error;
83
- const enhancedError = Object.assign(Object.assign({}, authError), { context: authError.context || {
84
- useCase: options.use_case,
85
- timestamp: new Date().toISOString(),
86
- userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : undefined,
87
- url: typeof window !== 'undefined' ? window.location.href : undefined
88
- } });
89
- this.errorSubject.next(enhancedError);
90
- this.currentStepSubject.next('idle');
91
- throw enhancedError;
92
- }
93
- finally {
94
- this.isLoadingSubject.next(false);
95
- }
96
- });
97
- }
98
- /**
99
- * Get phone number
100
- */
101
- getPhoneNumber(options) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- return this.verify(Object.assign({ use_case: 'GetPhoneNumber' }, options));
104
- });
105
- }
106
- /**
107
- * Verify specific phone number
108
- */
109
- verifyPhoneNumber(phoneNumber, options) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- return this.verify(Object.assign({ use_case: 'VerifyPhoneNumber', phone_number: phoneNumber }, options));
112
- });
113
- }
114
- /**
115
- * Reset state
116
- */
117
- reset() {
118
- this.isLoadingSubject.next(false);
119
- this.errorSubject.next(null);
120
- this.resultSubject.next(null);
121
- this.currentStepSubject.next('idle');
122
- }
123
- };
124
- exports.PhoneAuthService = PhoneAuthService;
125
- exports.PhoneAuthService = PhoneAuthService = __decorate([
126
- (0, core_1.Injectable)({
127
- providedIn: 'root'
128
- }),
129
- __metadata("design:paramtypes", [])
130
- ], PhoneAuthService);
@@ -1,9 +0,0 @@
1
- export { usePhoneAuth } from './usePhoneAuth';
2
- export { useClient } from './useClient';
3
- export type { UsePhoneAuthOptions } from './usePhoneAuth';
4
- export type { ClientConfig, ClientResponse, RequestOptions } from '../../core/types';
5
- export type { AuthConfig as PhoneAuthConfig, PhoneAuthOptions, PhoneAuthResult, AuthError, AuthStep } from '../../core/phone-auth';
6
- export { PhoneAuthErrorCode, isPhoneAuthError, isUserError, getUserMessage, isErrorCode, getRetryDelay, isRetryableError, serializeError, createErrorBreadcrumb } from '../../core/phone-auth';
7
- export type { PhoneAuthCallbacks, PLMN, SessionInfo, PrepareRequest, PrepareResponse, GetPhoneNumberRequest, GetPhoneNumberResponse, VerifyPhoneNumberRequest, VerifyPhoneNumberResponse, SecureCredentialRequest, SecureCredentialResponse, DigitalCredential, TS43Data, LinkData, ClientInfo, BrowserErrorType, BrowserErrorCodeType, BrowserNameType } from '../../core/phone-auth/types';
8
- export { USE_CASE as UseCase, AUTHENTICATION_STRATEGY as AuthenticationStrategy, BrowserError, BrowserErrorCode, BrowserName } from '../../core/phone-auth/types';
9
- export { PhoneAuthClient } from '../../core/phone-auth';
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PhoneAuthClient = exports.BrowserName = exports.BrowserErrorCode = exports.BrowserError = exports.AuthenticationStrategy = exports.UseCase = exports.createErrorBreadcrumb = exports.serializeError = exports.isRetryableError = exports.getRetryDelay = exports.isErrorCode = exports.getUserMessage = exports.isUserError = exports.isPhoneAuthError = exports.PhoneAuthErrorCode = exports.useClient = exports.usePhoneAuth = void 0;
4
- var usePhoneAuth_1 = require("./usePhoneAuth");
5
- Object.defineProperty(exports, "usePhoneAuth", { enumerable: true, get: function () { return usePhoneAuth_1.usePhoneAuth; } });
6
- var useClient_1 = require("./useClient");
7
- Object.defineProperty(exports, "useClient", { enumerable: true, get: function () { return useClient_1.useClient; } });
8
- // Export error utilities
9
- var phone_auth_1 = require("../../core/phone-auth");
10
- Object.defineProperty(exports, "PhoneAuthErrorCode", { enumerable: true, get: function () { return phone_auth_1.PhoneAuthErrorCode; } });
11
- Object.defineProperty(exports, "isPhoneAuthError", { enumerable: true, get: function () { return phone_auth_1.isPhoneAuthError; } });
12
- Object.defineProperty(exports, "isUserError", { enumerable: true, get: function () { return phone_auth_1.isUserError; } });
13
- Object.defineProperty(exports, "getUserMessage", { enumerable: true, get: function () { return phone_auth_1.getUserMessage; } });
14
- Object.defineProperty(exports, "isErrorCode", { enumerable: true, get: function () { return phone_auth_1.isErrorCode; } });
15
- Object.defineProperty(exports, "getRetryDelay", { enumerable: true, get: function () { return phone_auth_1.getRetryDelay; } });
16
- Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return phone_auth_1.isRetryableError; } });
17
- Object.defineProperty(exports, "serializeError", { enumerable: true, get: function () { return phone_auth_1.serializeError; } });
18
- Object.defineProperty(exports, "createErrorBreadcrumb", { enumerable: true, get: function () { return phone_auth_1.createErrorBreadcrumb; } });
19
- // Export constants for use case and strategy
20
- var types_1 = require("../../core/phone-auth/types");
21
- Object.defineProperty(exports, "UseCase", { enumerable: true, get: function () { return types_1.USE_CASE; } });
22
- Object.defineProperty(exports, "AuthenticationStrategy", { enumerable: true, get: function () { return types_1.AUTHENTICATION_STRATEGY; } });
23
- Object.defineProperty(exports, "BrowserError", { enumerable: true, get: function () { return types_1.BrowserError; } });
24
- Object.defineProperty(exports, "BrowserErrorCode", { enumerable: true, get: function () { return types_1.BrowserErrorCode; } });
25
- Object.defineProperty(exports, "BrowserName", { enumerable: true, get: function () { return types_1.BrowserName; } });
26
- // Export the PhoneAuthClient class for direct use
27
- var phone_auth_2 = require("../../core/phone-auth");
28
- Object.defineProperty(exports, "PhoneAuthClient", { enumerable: true, get: function () { return phone_auth_2.PhoneAuthClient; } });