@vpdev2/metakyc 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +114 -0
  2. package/dist/client/config.d.ts +143 -0
  3. package/dist/client/config.d.ts.map +1 -0
  4. package/dist/client/endpoint-builder.d.ts +21 -0
  5. package/dist/client/endpoint-builder.d.ts.map +1 -0
  6. package/dist/client/error-handler.d.ts +36 -0
  7. package/dist/client/error-handler.d.ts.map +1 -0
  8. package/dist/client/http-client.d.ts +43 -0
  9. package/dist/client/http-client.d.ts.map +1 -0
  10. package/dist/client/index.d.ts +5 -0
  11. package/dist/client/index.d.ts.map +1 -0
  12. package/dist/components/CreateApplicantForm.d.ts +10 -0
  13. package/dist/components/CreateApplicantForm.d.ts.map +1 -0
  14. package/dist/components/CreateCompanyApplicantForm.d.ts +10 -0
  15. package/dist/components/CreateCompanyApplicantForm.d.ts.map +1 -0
  16. package/dist/components/Header.d.ts +16 -0
  17. package/dist/components/Header.d.ts.map +1 -0
  18. package/dist/components/KycWorkflow.d.ts +17 -0
  19. package/dist/components/KycWorkflow.d.ts.map +1 -0
  20. package/dist/components/Logo.d.ts +13 -0
  21. package/dist/components/Logo.d.ts.map +1 -0
  22. package/dist/components/core/Badge.d.ts +11 -0
  23. package/dist/components/core/Badge.d.ts.map +1 -0
  24. package/dist/components/core/Button.d.ts +12 -0
  25. package/dist/components/core/Button.d.ts.map +1 -0
  26. package/dist/components/core/Card.d.ts +22 -0
  27. package/dist/components/core/Card.d.ts.map +1 -0
  28. package/dist/components/core/FileUpload.d.ts +16 -0
  29. package/dist/components/core/FileUpload.d.ts.map +1 -0
  30. package/dist/components/core/Input.d.ts +14 -0
  31. package/dist/components/core/Input.d.ts.map +1 -0
  32. package/dist/components/core/MultiSelect.d.ts +18 -0
  33. package/dist/components/core/MultiSelect.d.ts.map +1 -0
  34. package/dist/components/core/PhoneInput.d.ts +11 -0
  35. package/dist/components/core/PhoneInput.d.ts.map +1 -0
  36. package/dist/components/core/SearchableSelect.d.ts +27 -0
  37. package/dist/components/core/SearchableSelect.d.ts.map +1 -0
  38. package/dist/components/core/Select.d.ts +19 -0
  39. package/dist/components/core/Select.d.ts.map +1 -0
  40. package/dist/components/core/Spinner.d.ts +10 -0
  41. package/dist/components/core/Spinner.d.ts.map +1 -0
  42. package/dist/components/core/index.d.ts +11 -0
  43. package/dist/components/core/index.d.ts.map +1 -0
  44. package/dist/components/identity/IdentityVerificationStep.d.ts +13 -0
  45. package/dist/components/identity/IdentityVerificationStep.d.ts.map +1 -0
  46. package/dist/components/identity/index.d.ts +2 -0
  47. package/dist/components/identity/index.d.ts.map +1 -0
  48. package/dist/components/index.d.ts +10 -0
  49. package/dist/components/index.d.ts.map +1 -0
  50. package/dist/components/status/KycStatusDisplay.d.ts +17 -0
  51. package/dist/components/status/KycStatusDisplay.d.ts.map +1 -0
  52. package/dist/components/status/index.d.ts +2 -0
  53. package/dist/components/status/index.d.ts.map +1 -0
  54. package/dist/components/steps/AppropriatenessTestStep.d.ts +9 -0
  55. package/dist/components/steps/AppropriatenessTestStep.d.ts.map +1 -0
  56. package/dist/components/steps/InvestorCategorizationStep.d.ts +13 -0
  57. package/dist/components/steps/InvestorCategorizationStep.d.ts.map +1 -0
  58. package/dist/components/steps/OverviewStep.d.ts +12 -0
  59. package/dist/components/steps/OverviewStep.d.ts.map +1 -0
  60. package/dist/components/steps/QuestionnaireStep.d.ts +9 -0
  61. package/dist/components/steps/QuestionnaireStep.d.ts.map +1 -0
  62. package/dist/components/steps/RiskScoringStep.d.ts +9 -0
  63. package/dist/components/steps/RiskScoringStep.d.ts.map +1 -0
  64. package/dist/components/steps/UploadDocumentStep.d.ts +9 -0
  65. package/dist/components/steps/UploadDocumentStep.d.ts.map +1 -0
  66. package/dist/components/steps/index.d.ts +7 -0
  67. package/dist/components/steps/index.d.ts.map +1 -0
  68. package/dist/context/MetaKYCContext.d.ts +32 -0
  69. package/dist/context/MetaKYCContext.d.ts.map +1 -0
  70. package/dist/context/MetaKYCProvider.d.ts +16 -0
  71. package/dist/context/MetaKYCProvider.d.ts.map +1 -0
  72. package/dist/context/index.d.ts +4 -0
  73. package/dist/context/index.d.ts.map +1 -0
  74. package/dist/context/useMetaKYC.d.ts +8 -0
  75. package/dist/context/useMetaKYC.d.ts.map +1 -0
  76. package/dist/hooks/index.d.ts +9 -0
  77. package/dist/hooks/index.d.ts.map +1 -0
  78. package/dist/hooks/useApplicant.d.ts +14 -0
  79. package/dist/hooks/useApplicant.d.ts.map +1 -0
  80. package/dist/hooks/useAppropriatenessTest.d.ts +15 -0
  81. package/dist/hooks/useAppropriatenessTest.d.ts.map +1 -0
  82. package/dist/hooks/useIdentityVerification.d.ts +16 -0
  83. package/dist/hooks/useIdentityVerification.d.ts.map +1 -0
  84. package/dist/hooks/useKycWorkflow.d.ts +27 -0
  85. package/dist/hooks/useKycWorkflow.d.ts.map +1 -0
  86. package/dist/hooks/useOverview.d.ts +14 -0
  87. package/dist/hooks/useOverview.d.ts.map +1 -0
  88. package/dist/hooks/useQuestionnaire.d.ts +17 -0
  89. package/dist/hooks/useQuestionnaire.d.ts.map +1 -0
  90. package/dist/hooks/useRiskScoring.d.ts +18 -0
  91. package/dist/hooks/useRiskScoring.d.ts.map +1 -0
  92. package/dist/hooks/useUploadDocument.d.ts +15 -0
  93. package/dist/hooks/useUploadDocument.d.ts.map +1 -0
  94. package/dist/identity/index.d.ts +6 -0
  95. package/dist/identity/index.d.ts.map +1 -0
  96. package/dist/identity/load-script.d.ts +13 -0
  97. package/dist/identity/load-script.d.ts.map +1 -0
  98. package/dist/identity/provider-manager.d.ts +20 -0
  99. package/dist/identity/provider-manager.d.ts.map +1 -0
  100. package/dist/identity/providers/onfido.d.ts +28 -0
  101. package/dist/identity/providers/onfido.d.ts.map +1 -0
  102. package/dist/identity/providers/sardin-ai.d.ts +56 -0
  103. package/dist/identity/providers/sardin-ai.d.ts.map +1 -0
  104. package/dist/identity/providers/sumsub.d.ts +31 -0
  105. package/dist/identity/providers/sumsub.d.ts.map +1 -0
  106. package/dist/index.cjs +103 -0
  107. package/dist/index.cjs.map +1 -0
  108. package/dist/index.d.ts +12 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +8166 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/services/applicant.service.d.ts +64 -0
  113. package/dist/services/applicant.service.d.ts.map +1 -0
  114. package/dist/services/appropriateness-test.service.d.ts +20 -0
  115. package/dist/services/appropriateness-test.service.d.ts.map +1 -0
  116. package/dist/services/base-information.service.d.ts +27 -0
  117. package/dist/services/base-information.service.d.ts.map +1 -0
  118. package/dist/services/identity.service.d.ts +35 -0
  119. package/dist/services/identity.service.d.ts.map +1 -0
  120. package/dist/services/index.d.ts +11 -0
  121. package/dist/services/index.d.ts.map +1 -0
  122. package/dist/services/investor-categorization.service.d.ts +20 -0
  123. package/dist/services/investor-categorization.service.d.ts.map +1 -0
  124. package/dist/services/overview.service.d.ts +20 -0
  125. package/dist/services/overview.service.d.ts.map +1 -0
  126. package/dist/services/questionnaire.service.d.ts +20 -0
  127. package/dist/services/questionnaire.service.d.ts.map +1 -0
  128. package/dist/services/risk-scoring.service.d.ts +25 -0
  129. package/dist/services/risk-scoring.service.d.ts.map +1 -0
  130. package/dist/services/theme.service.d.ts +31 -0
  131. package/dist/services/theme.service.d.ts.map +1 -0
  132. package/dist/services/upload-document.service.d.ts +24 -0
  133. package/dist/services/upload-document.service.d.ts.map +1 -0
  134. package/dist/state/event-emitter.d.ts +27 -0
  135. package/dist/state/event-emitter.d.ts.map +1 -0
  136. package/dist/state/index.d.ts +5 -0
  137. package/dist/state/index.d.ts.map +1 -0
  138. package/dist/state/step-router.d.ts +45 -0
  139. package/dist/state/step-router.d.ts.map +1 -0
  140. package/dist/state/workflow-orchestrator.d.ts +58 -0
  141. package/dist/state/workflow-orchestrator.d.ts.map +1 -0
  142. package/dist/state/workflow-state.d.ts +108 -0
  143. package/dist/state/workflow-state.d.ts.map +1 -0
  144. package/dist/styles.css +1 -0
  145. package/dist/test/setup.d.ts +2 -0
  146. package/dist/test/setup.d.ts.map +1 -0
  147. package/dist/theme/index.d.ts +3 -0
  148. package/dist/theme/index.d.ts.map +1 -0
  149. package/dist/theme/presets.d.ts +35 -0
  150. package/dist/theme/presets.d.ts.map +1 -0
  151. package/dist/theme/theme-manager.d.ts +63 -0
  152. package/dist/theme/theme-manager.d.ts.map +1 -0
  153. package/dist/types/applicant.d.ts +167 -0
  154. package/dist/types/applicant.d.ts.map +1 -0
  155. package/dist/types/appropriateness-test.d.ts +71 -0
  156. package/dist/types/appropriateness-test.d.ts.map +1 -0
  157. package/dist/types/common.d.ts +78 -0
  158. package/dist/types/common.d.ts.map +1 -0
  159. package/dist/types/enums.d.ts +118 -0
  160. package/dist/types/enums.d.ts.map +1 -0
  161. package/dist/types/form-config.d.ts +113 -0
  162. package/dist/types/form-config.d.ts.map +1 -0
  163. package/dist/types/identity.d.ts +72 -0
  164. package/dist/types/identity.d.ts.map +1 -0
  165. package/dist/types/index.d.ts +14 -0
  166. package/dist/types/index.d.ts.map +1 -0
  167. package/dist/types/investor-categorization.d.ts +34 -0
  168. package/dist/types/investor-categorization.d.ts.map +1 -0
  169. package/dist/types/overview.d.ts +26 -0
  170. package/dist/types/overview.d.ts.map +1 -0
  171. package/dist/types/questionnaire.d.ts +83 -0
  172. package/dist/types/questionnaire.d.ts.map +1 -0
  173. package/dist/types/risk-scoring.d.ts +107 -0
  174. package/dist/types/risk-scoring.d.ts.map +1 -0
  175. package/dist/types/theme.d.ts +158 -0
  176. package/dist/types/theme.d.ts.map +1 -0
  177. package/dist/types/upload-document.d.ts +78 -0
  178. package/dist/types/upload-document.d.ts.map +1 -0
  179. package/dist/types/workflow.d.ts +71 -0
  180. package/dist/types/workflow.d.ts.map +1 -0
  181. package/dist/utils/cn.d.ts +6 -0
  182. package/dist/utils/cn.d.ts.map +1 -0
  183. package/dist/utils/file.d.ts +21 -0
  184. package/dist/utils/file.d.ts.map +1 -0
  185. package/dist/utils/index.d.ts +4 -0
  186. package/dist/utils/index.d.ts.map +1 -0
  187. package/dist/utils/storage.d.ts +43 -0
  188. package/dist/utils/storage.d.ts.map +1 -0
  189. package/dist/validation/appropriateness-schema.d.ts +13 -0
  190. package/dist/validation/appropriateness-schema.d.ts.map +1 -0
  191. package/dist/validation/index.d.ts +5 -0
  192. package/dist/validation/index.d.ts.map +1 -0
  193. package/dist/validation/questionnaire-schema.d.ts +17 -0
  194. package/dist/validation/questionnaire-schema.d.ts.map +1 -0
  195. package/dist/validation/risk-scoring-schema.d.ts +12 -0
  196. package/dist/validation/risk-scoring-schema.d.ts.map +1 -0
  197. package/dist/validation/upload-document-schema.d.ts +12 -0
  198. package/dist/validation/upload-document-schema.d.ts.map +1 -0
  199. package/package.json +88 -0
package/README.md ADDED
@@ -0,0 +1,114 @@
1
+ # MetaKYC SDK
2
+
3
+ A comprehensive React SDK for MetaKYC due diligence workflows with configurable API endpoints, dynamic form generation, and complete workflow step coverage.
4
+
5
+ ## Features
6
+
7
+ - ✅ **Configurable API Endpoints** - Support for both Host Controller and Application Service patterns
8
+ - ✅ **Complete Workflow Coverage** - All 9 workflow step types supported
9
+ - ✅ **Dynamic Applicant Form** - 23 configurable form fields for applicant creation
10
+ - 🎨 **Backend-Driven Theming** - Multi-tenant theme customization with 6 presets, custom logo, colors, and CSS (NEW v1.2.0)
11
+ - ✅ **React Hooks** - Clean API with hooks for each workflow step
12
+ - ✅ **Pre-built Components** - Ready-to-use UI components with Tailwind CSS
13
+ - ✅ **Dynamic Form Validation** - Automatic zod schema generation from API rules
14
+ - ✅ **Identity Provider Integration** - Sumsub, Onfido, and SardinAI support
15
+ - ✅ **TypeScript** - Full type safety with types generated from C# DTOs
16
+ - ✅ **Dark Mode** - Built-in dark mode support
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install @metakyc/sdk
22
+ # or
23
+ yarn add @metakyc/sdk
24
+ # or
25
+ pnpm add @metakyc/sdk
26
+ ```
27
+
28
+ ## Quick Start
29
+
30
+ ### 1. Wrap your app with MetaKYCProvider
31
+
32
+ ```tsx
33
+ import { MetaKYCProvider } from '@metakyc/sdk';
34
+ import '@metakyc/sdk/styles';
35
+
36
+ function App() {
37
+ return (
38
+ <MetaKYCProvider
39
+ config={{
40
+ apiKey: process.env.METAKYC_API_KEY,
41
+ tenantId: parseInt(process.env.TENANT_ID),
42
+ baseUrl: process.env.METAKYC_BASE_URL,
43
+ endpoints: { pattern: 'host-controller' },
44
+ // Optional: Configure identity providers (e.g., SardinAI)
45
+ identityProviders: {
46
+ sardinai: process.env.SARDINAI_CLIENT_ID ? {
47
+ clientId: process.env.SARDINAI_CLIENT_ID,
48
+ environment: 'sandbox', // or 'production'
49
+ region: 'us', // 'us', 'eu', 'ca', or 'au'
50
+ enableBiometrics: true,
51
+ enablePortScanning: false,
52
+ } : undefined,
53
+ },
54
+ }}
55
+ >
56
+ <YourApp />
57
+ </MetaKYCProvider>
58
+ );
59
+ }
60
+ ```
61
+
62
+ ### 2. Use the complete workflow component
63
+
64
+ ```tsx
65
+ import { KycWorkflow } from '@metakyc/sdk';
66
+
67
+ function KYCPage() {
68
+ return (
69
+ <KycWorkflow
70
+ applicantId={applicantId}
71
+ onComplete={(result) => console.log('Complete:', result)}
72
+ onError={(error) => console.error('Error:', error)}
73
+ />
74
+ );
75
+ }
76
+ ```
77
+
78
+ ### 3. Or build custom UI with hooks
79
+
80
+ ```tsx
81
+ import { useKycWorkflow, useQuestionnaire } from '@metakyc/sdk';
82
+
83
+ function CustomKYC() {
84
+ const { progress, currentStep, moveToNext } = useKycWorkflow(applicantId);
85
+ const questionnaire = useQuestionnaire(applicantId);
86
+
87
+ // Build your custom UI...
88
+ }
89
+ ```
90
+
91
+ ## Documentation
92
+
93
+ ### Core Features
94
+ - 🎨 **[Theming System](./THEMING_SYSTEM.md)** - Multi-tenant theme customization (NEW v1.2.0)
95
+ - **[Dynamic Form Configuration](./DYNAMIC_FORM_CONFIG.md)** - Configure visible fields in applicant creation form
96
+ - **[Workflow Key Management](./WORKFLOW_KEY_MANAGEMENT.md)** - Configure and handle workflow keys and transitions
97
+ - **[External Reference ID](./EXTERNAL_REF_ID.md)** - Required field for system integration
98
+ - [Step Visibility](./STEP_VISIBILITY.md) - Configure which workflow steps appear in the UI
99
+ - [Appropriateness Test](./APPROPRIATENESS_TEST.md) - Quiz system with timer and retry logic
100
+ - [Identity Expiration Handling](./IDENTITY_EXPIRATION_HANDLING.md) - Managing expired identity verification sessions
101
+ - [KYC Status Display](./KYC_STATUS_DISPLAY.md) - Rich status UI for completed/rejected/pending states
102
+ - [SardinAI Integration](./SARDINAI_INTEGRATION.md) - Automatic sessionKey generation for SardinAI Risk SDK
103
+
104
+ ### Backend Integration
105
+ - 🔧 **[Backend Theme Integration](./BACKEND_THEME_INTEGRATION.md)** - Database schema, API endpoints, DTOs (NEW v1.2.0)
106
+ - 🎨 **[Panel Theme UI](./PANEL_THEME_UI.md)** - Complete Panel UI implementation guide (NEW v1.2.0)
107
+
108
+ ### Migration & Changes
109
+ - [Migration Guide](./MIGRATION_GUIDE.md) - Migrate from custom form to dynamic configuration (v1.0.0 → v1.1.0)
110
+ - [Changelog](./CHANGELOG.md) - Version history and changes
111
+
112
+ ## License
113
+
114
+ MIT
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Endpoint pattern types
3
+ * - host-controller: /api/[Controller]/[Action]
4
+ * - application-service: /services/app/[Service]/[Method]
5
+ */
6
+ export type EndpointPattern = 'host-controller' | 'application-service' | 'custom';
7
+ /**
8
+ * Custom endpoint paths configuration
9
+ */
10
+ export interface CustomEndpointPaths {
11
+ [key: string]: string;
12
+ }
13
+ /**
14
+ * Endpoint configuration
15
+ */
16
+ export interface EndpointConfig {
17
+ pattern: EndpointPattern;
18
+ customPaths?: CustomEndpointPaths;
19
+ }
20
+ /**
21
+ * SardinAI provider configuration
22
+ */
23
+ export interface SardinAIProviderConfig {
24
+ clientId: string;
25
+ clientSecret?: string;
26
+ environment: 'sandbox' | 'production';
27
+ region?: 'us' | 'eu' | 'ca' | 'au';
28
+ enableBiometrics?: boolean;
29
+ enablePortScanning?: boolean;
30
+ flow?: string;
31
+ }
32
+ /**
33
+ * Sumsub provider configuration (frontend-only settings).
34
+ * Server-side API keys are never exposed — only UI/SDK behavior config.
35
+ */
36
+ export interface SumsubProviderConfig {
37
+ /** Theme for Sumsub UI: 'light' or 'dark'. Follows device theme if omitted. */
38
+ theme?: 'light' | 'dark';
39
+ /** Language override (ISO 639-1). Falls back to SDK locale. */
40
+ lang?: string;
41
+ /**
42
+ * WebSDK 2.0: name of a customization created in the Sumsub Dashboard.
43
+ * This is the recommended way to style the Sumsub widget.
44
+ */
45
+ customizationName?: string;
46
+ /** WebSDK 1.0 fallback: URL to an external CSS file. */
47
+ customCss?: string;
48
+ /** Whether to adapt Sumsub iframe height automatically (default: true). */
49
+ adaptIframeHeight?: boolean;
50
+ }
51
+ /**
52
+ * Identity provider configurations
53
+ */
54
+ export interface IdentityProviderConfigs {
55
+ sardinai?: SardinAIProviderConfig;
56
+ sumsub?: SumsubProviderConfig;
57
+ onfido?: Record<string, any>;
58
+ }
59
+ /**
60
+ * Applicant form field name type
61
+ */
62
+ export type ApplicantFormField = 'firstName' | 'lastName' | 'title' | 'email' | 'dateOfBirth' | 'phonenumber' | 'mobileCountryCode' | 'street' | 'streetNumber' | 'zip' | 'city' | 'country' | 'nationality' | 'otherNationality' | 'defaultLanguage' | 'taxCountry' | 'placeOfBirth' | 'countryOfBirth' | 'salutation' | 'educationLevel' | 'occupation' | 'taxNumber' | 'externalRefId';
63
+ /**
64
+ * Company applicant form field name type
65
+ */
66
+ export type CompanyApplicantFormField = 'companyName' | 'registrationNumber' | 'email' | 'phone' | 'countryResidence' | 'legalAddress' | 'incorporatedOn' | 'controlScheme' | 'taxId' | 'registrationLocation' | 'website' | 'postalAddress' | 'street' | 'city' | 'state' | 'postalCode' | 'addressCountry' | 'lei' | 'streetNumber' | 'externalRefId';
67
+ /**
68
+ * Applicant form configuration
69
+ */
70
+ export interface ApplicantFormConfig {
71
+ /**
72
+ * Whether this form collects data for an individual or a company.
73
+ * - 'individual' (default): uses ApplicantRequestData fields
74
+ * - 'company': uses CompanyApplicantRequestData fields
75
+ */
76
+ applicantType?: 'individual' | 'company';
77
+ /** List of fields to show in the form. If not specified, shows default fields */
78
+ visibleFields?: ApplicantFormField[];
79
+ /** Default workflow key for applicant creation. Can be overridden per component instance */
80
+ workflowKey?: string;
81
+ /** Default external reference ID. Required if not shown in visible fields. */
82
+ externalRefId?: string;
83
+ /** Pre-fill the email field in the applicant form (e.g. for testing or SSO flows). */
84
+ email?: string;
85
+ /**
86
+ * Hidden pre-filled values that are submitted with the form but never shown in the UI.
87
+ * Built-in fields (e.g. 'country', 'firstName') are sent as top-level request fields.
88
+ * Custom param names (any other key) are sent as applicantAdditionalDatas entries.
89
+ * Example: { country: 'AUT', no_marketing: 'yes' }
90
+ */
91
+ hiddenValues?: Record<string, string>;
92
+ /**
93
+ * Controls how field labels are displayed.
94
+ * - 'label' (default): a label element is shown above each input.
95
+ * - 'placeholder' : no label element; the label text is used as the input placeholder instead.
96
+ */
97
+ fieldLabelMode?: 'label' | 'placeholder';
98
+ /**
99
+ * Pre-filled field values that are shown as **read-only** in the form.
100
+ * If a field listed here is also in the visible fields, it appears filled and disabled.
101
+ * The values are always included in the submission payload.
102
+ * Works for both individual and company applicant forms.
103
+ * Example: { firstName: 'John', lastName: 'Doe', email: 'john@example.com' }
104
+ */
105
+ initialValues?: Record<string, string>;
106
+ }
107
+ /**
108
+ * MetaKYC client configuration
109
+ */
110
+ export interface MetaKYCClientConfig {
111
+ /** API key for authentication. Required unless getAccessToken is provided. */
112
+ apiKey?: string;
113
+ /** Tenant ID */
114
+ tenantId: number;
115
+ /** Base URL of the MetaKYC API */
116
+ baseUrl: string;
117
+ /**
118
+ * Callback that returns a Bearer token for session-based authentication.
119
+ * When provided, the SDK sends `Authorization: Bearer <token>` instead of API Key headers.
120
+ * Useful for first-party apps where the user is already authenticated.
121
+ * Can return null/undefined to skip the header for that request.
122
+ */
123
+ getAccessToken?: () => string | null | undefined;
124
+ /** Endpoint configuration */
125
+ endpoints?: EndpointConfig;
126
+ /** Request timeout in milliseconds (default: 30000) */
127
+ timeout?: number;
128
+ /** Number of retry attempts for failed requests (default: 3) */
129
+ retries?: number;
130
+ /** Locale/language code (default: 'en') */
131
+ locale?: string;
132
+ /** Identity provider configurations */
133
+ identityProviders?: IdentityProviderConfigs;
134
+ /** Applicant form configuration */
135
+ applicantForm?: ApplicantFormConfig;
136
+ /** Theme configuration (optional - will fetch from backend if not provided) */
137
+ theme?: any;
138
+ }
139
+ /**
140
+ * Default configuration values
141
+ */
142
+ export declare const defaultConfig: Partial<MetaKYCClientConfig>;
143
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { EndpointConfig } from './config';
2
+
3
+ /**
4
+ * Builds API endpoint URLs based on the configured pattern
5
+ */
6
+ export declare class EndpointBuilder {
7
+ private config;
8
+ constructor(config: EndpointConfig);
9
+ /**
10
+ * Build an endpoint URL
11
+ * @param controller - Controller name (e.g., 'Applicant')
12
+ * @param action - Action/method name (e.g., 'GetApplicantProgress')
13
+ * @returns The full endpoint path
14
+ */
15
+ build(controller: string, action: string): string;
16
+ /**
17
+ * Convert controller name to service name for application-service pattern
18
+ */
19
+ private getServiceName;
20
+ }
21
+ //# sourceMappingURL=endpoint-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-builder.d.ts","sourceRoot":"","sources":["../../src/client/endpoint-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IA2BjD;;OAEG;IACH,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1,36 @@
1
+ import { ApiError } from '../types';
2
+
3
+ /**
4
+ * Custom error class for MetaKYC API errors
5
+ */
6
+ export declare class MetaKYCError extends Error {
7
+ code?: number | undefined;
8
+ details?: string | undefined;
9
+ validationErrors?: Array<{
10
+ message: string;
11
+ members: string[];
12
+ }> | undefined;
13
+ response?: any;
14
+ constructor(message: string, code?: number | undefined, details?: string | undefined, validationErrors?: Array<{
15
+ message: string;
16
+ members: string[];
17
+ }> | undefined, response?: any);
18
+ }
19
+ /**
20
+ * Handles API errors and converts them to MetaKYCError
21
+ */
22
+ export declare class ErrorHandler {
23
+ /**
24
+ * Process an error from the API response
25
+ */
26
+ static handleApiError(error: ApiError): MetaKYCError;
27
+ /**
28
+ * Process an Axios error
29
+ */
30
+ static handleAxiosError(error: any): MetaKYCError;
31
+ /**
32
+ * Check if an error is a MetaKYCError
33
+ */
34
+ static isMetaKYCError(error: any): error is MetaKYCError;
35
+ }
36
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/client/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAK5B,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM;IAChB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IANlE,QAAQ,CAAC,EAAE,GAAG,CAAC;gBAGpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,YAAA,EACvE,QAAQ,CAAC,EAAE,GAAG;CAOjB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY;IASpD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,YAAY;IA8CjD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY;CAGzD"}
@@ -0,0 +1,43 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { MetaKYCClientConfig } from './config';
3
+ import { ApiResponse } from '../types';
4
+
5
+ /**
6
+ * HTTP client for MetaKYC API
7
+ * Handles all HTTP communication with configurable endpoints
8
+ */
9
+ export declare class HttpClient {
10
+ private axiosInstance;
11
+ private endpointBuilder;
12
+ private config;
13
+ constructor(config: MetaKYCClientConfig);
14
+ /**
15
+ * Build endpoint URL
16
+ */
17
+ buildEndpoint(controller: string, action: string): string;
18
+ /**
19
+ * Make a GET request
20
+ */
21
+ get<T>(controller: string, action: string, params?: any): Promise<ApiResponse<T>>;
22
+ /**
23
+ * Make a POST request
24
+ */
25
+ post<T>(controller: string, action: string, data?: any): Promise<ApiResponse<T>>;
26
+ /**
27
+ * Make a PUT request
28
+ */
29
+ put<T>(controller: string, action: string, data?: any): Promise<ApiResponse<T>>;
30
+ /**
31
+ * Make a DELETE request
32
+ */
33
+ delete<T>(controller: string, action: string, params?: any): Promise<ApiResponse<T>>;
34
+ /**
35
+ * Handle API response
36
+ */
37
+ private handleResponse;
38
+ /**
39
+ * Get the underlying axios instance for advanced usage
40
+ */
41
+ getAxiosInstance(): AxiosInstance;
42
+ }
43
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/client/http-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAiB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAiB,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAkEvC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAIzD;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAYvF;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAUtF;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAUrF;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAY1F;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,gBAAgB,IAAI,aAAa;CAGlC"}
@@ -0,0 +1,5 @@
1
+ export * from './config';
2
+ export * from './http-client';
3
+ export * from './endpoint-builder';
4
+ export * from './error-handler';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CreateApplicantFormProps {
4
+ workflowKey?: string;
5
+ externalRefId?: string;
6
+ onSuccess: (applicantId: number) => void;
7
+ onCancel?: () => void;
8
+ }
9
+ export declare const CreateApplicantForm: React.FC<CreateApplicantFormProps>;
10
+ //# sourceMappingURL=CreateApplicantForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateApplicantForm.d.ts","sourceRoot":"","sources":["../../src/components/CreateApplicantForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAapE,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAsJD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgkClE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CreateCompanyApplicantFormProps {
4
+ workflowKey?: string;
5
+ externalRefId?: string;
6
+ onSuccess: (applicantId: number) => void;
7
+ onCancel?: () => void;
8
+ }
9
+ export declare const CreateCompanyApplicantForm: React.FC<CreateCompanyApplicantFormProps>;
10
+ //# sourceMappingURL=CreateCompanyApplicantForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateCompanyApplicantForm.d.ts","sourceRoot":"","sources":["../../src/components/CreateCompanyApplicantForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAYpE,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAQD,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAgnBhF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface HeaderProps {
4
+ /** Override the default title from theme */
5
+ title?: string;
6
+ /** Optional subtitle */
7
+ subtitle?: string;
8
+ /** Additional CSS classes */
9
+ className?: string;
10
+ }
11
+ /**
12
+ * Header Component
13
+ * Displays logo and title inline, separated by | when both are present
14
+ */
15
+ export declare const Header: React.FC<HeaderProps>;
16
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwCxC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { WorkflowResultType } from '../types';
3
+
4
+ export interface KycWorkflowProps {
5
+ applicantId: number;
6
+ onComplete?: (result: WorkflowResultType) => void;
7
+ onError?: (error: Error) => void;
8
+ theme?: 'light' | 'dark';
9
+ locale?: string;
10
+ className?: string;
11
+ }
12
+ /**
13
+ * Main KYC workflow component
14
+ * Automatically renders the current step and handles progression
15
+ */
16
+ export declare const KycWorkflow: React.FC<KycWorkflowProps>;
17
+ //# sourceMappingURL=KycWorkflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KycWorkflow.d.ts","sourceRoot":"","sources":["../../src/components/KycWorkflow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAsB,kBAAkB,EAA2B,MAAM,UAAU,CAAC;AAO3F,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoUlD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { LogoConfig } from '../types/theme';
3
+
4
+ export interface LogoProps {
5
+ config?: LogoConfig;
6
+ className?: string;
7
+ }
8
+ /**
9
+ * Logo Component
10
+ * Displays the configured logo in the top-left position
11
+ */
12
+ export declare const Logo: React.FC<LogoProps>;
13
+ //# sourceMappingURL=Logo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAyBpC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
4
+ variant?: 'default' | 'success' | 'danger' | 'warning' | 'info';
5
+ children: React.ReactNode;
6
+ }
7
+ /**
8
+ * Badge component
9
+ */
10
+ export declare const Badge: React.FC<BadgeProps>;
11
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/core/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACvE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAChE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA2BD;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAatC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
+ variant?: 'primary' | 'secondary' | 'outline' | 'danger' | 'ghost';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ isLoading?: boolean;
7
+ }
8
+ /**
9
+ * Button component
10
+ */
11
+ export declare const Button: React.FC<ButtonProps>;
12
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/core/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA8BD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmDxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ children: React.ReactNode;
5
+ }
6
+ /**
7
+ * Card component
8
+ */
9
+ export declare const Card: React.FC<CardProps>;
10
+ /**
11
+ * Card header component
12
+ */
13
+ export declare const CardHeader: React.FC<CardProps>;
14
+ /**
15
+ * Card content component
16
+ */
17
+ export declare const CardContent: React.FC<CardProps>;
18
+ /**
19
+ * Card footer component
20
+ */
21
+ export declare const CardFooter: React.FC<CardProps>;
22
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/core/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAgBpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAY1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAM3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAY1C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface FileUploadProps {
4
+ label?: string;
5
+ subtitle?: string;
6
+ error?: string;
7
+ accept?: string;
8
+ multiple?: boolean;
9
+ maxSize?: number;
10
+ required?: boolean;
11
+ onChange?: (files: File[]) => void;
12
+ value?: File[];
13
+ className?: string;
14
+ }
15
+ export declare const FileUpload: React.FC<FileUploadProps>;
16
+ //# sourceMappingURL=FileUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/core/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqShD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
+ label?: string;
5
+ error?: string;
6
+ helperText?: string;
7
+ leftIcon?: React.ReactNode;
8
+ rightIcon?: React.ReactNode;
9
+ }
10
+ /**
11
+ * Input component — uses CSS variables so it follows the SDK theme.
12
+ */
13
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
14
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/core/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,qFAkEjB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface MultiSelectOption {
4
+ value: string;
5
+ label: string;
6
+ }
7
+ export interface MultiSelectProps {
8
+ label?: string;
9
+ value: string[];
10
+ onChange: (values: string[]) => void;
11
+ options: MultiSelectOption[];
12
+ placeholder?: string;
13
+ disabled?: boolean;
14
+ readOnly?: boolean;
15
+ required?: boolean;
16
+ }
17
+ export declare const MultiSelect: React.FC<MultiSelectProps>;
18
+ //# sourceMappingURL=MultiSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/core/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAIxE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAWD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0SlD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { InputProps } from './Input';
2
+
3
+ export interface PhoneInputProps extends Omit<InputProps, 'type' | 'leftIcon'> {
4
+ countryCode?: string;
5
+ onCountryCodeChange?: (code: string) => void;
6
+ }
7
+ /**
8
+ * Phone input component with country code
9
+ */
10
+ export declare const PhoneInput: import('react').ForwardRefExoticComponent<PhoneInputProps & import('react').RefAttributes<HTMLInputElement>>;
11
+ //# sourceMappingURL=PhoneInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../src/components/core/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,8GA4CtB,CAAC"}