@abstraxn/signer-react 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 (178) hide show
  1. package/README.md +114 -0
  2. package/dist/src/AbstraxnProvider.d.ts +9 -0
  3. package/dist/src/AbstraxnProvider.js +21 -0
  4. package/dist/src/AbstraxnProvider.js.map +1 -0
  5. package/dist/src/ConnectButton.css +217 -0
  6. package/dist/src/ConnectButton.d.ts +71 -0
  7. package/dist/src/ConnectButton.js +102 -0
  8. package/dist/src/ConnectButton.js.map +1 -0
  9. package/dist/src/ExternalWalletButtons.css +319 -0
  10. package/dist/src/ExternalWalletButtons.d.ts +56 -0
  11. package/dist/src/ExternalWalletButtons.js +272 -0
  12. package/dist/src/ExternalWalletButtons.js.map +1 -0
  13. package/dist/src/OnboardingUI.d.ts +63 -0
  14. package/dist/src/OnboardingUI.js +66 -0
  15. package/dist/src/OnboardingUI.js.map +1 -0
  16. package/dist/src/WalletModal.css +2319 -0
  17. package/dist/src/WalletModal.d.ts +7 -0
  18. package/dist/src/WalletModal.js +322 -0
  19. package/dist/src/WalletModal.js.map +1 -0
  20. package/dist/src/chains.d.ts +56 -0
  21. package/dist/src/chains.js +291 -0
  22. package/dist/src/chains.js.map +1 -0
  23. package/dist/src/components/AbstraxnProvider/AbstraxnProvider.d.ts +12 -0
  24. package/dist/src/components/AbstraxnProvider/AbstraxnProvider.js +146 -0
  25. package/dist/src/components/AbstraxnProvider/AbstraxnProvider.js.map +1 -0
  26. package/dist/src/components/AbstraxnProvider/AbstraxnProviderInner.d.ts +25 -0
  27. package/dist/src/components/AbstraxnProvider/AbstraxnProviderInner.js +3086 -0
  28. package/dist/src/components/AbstraxnProvider/AbstraxnProviderInner.js.map +1 -0
  29. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithWagmi.d.ts +8 -0
  30. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithWagmi.js +46 -0
  31. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithWagmi.js.map +1 -0
  32. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithoutWagmi.d.ts +8 -0
  33. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithoutWagmi.js +12 -0
  34. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithoutWagmi.js.map +1 -0
  35. package/dist/src/components/AbstraxnProvider/context.d.ts +2 -0
  36. package/dist/src/components/AbstraxnProvider/context.js +6 -0
  37. package/dist/src/components/AbstraxnProvider/context.js.map +1 -0
  38. package/dist/src/components/AbstraxnProvider/index.d.ts +6 -0
  39. package/dist/src/components/AbstraxnProvider/index.js +7 -0
  40. package/dist/src/components/AbstraxnProvider/index.js.map +1 -0
  41. package/dist/src/components/AbstraxnProvider/useAbstraxnProviderBase.d.ts +30 -0
  42. package/dist/src/components/AbstraxnProvider/useAbstraxnProviderBase.js +49 -0
  43. package/dist/src/components/AbstraxnProvider/useAbstraxnProviderBase.js.map +1 -0
  44. package/dist/src/components/AbstraxnProvider/useAbstraxnWallet.d.ts +2 -0
  45. package/dist/src/components/AbstraxnProvider/useAbstraxnWallet.js +13 -0
  46. package/dist/src/components/AbstraxnProvider/useAbstraxnWallet.js.map +1 -0
  47. package/dist/src/components/AbstraxnProvider/useOAuthCallbacks.d.ts +22 -0
  48. package/dist/src/components/AbstraxnProvider/useOAuthCallbacks.js +242 -0
  49. package/dist/src/components/AbstraxnProvider/useOAuthCallbacks.js.map +1 -0
  50. package/dist/src/components/AbstraxnProvider/useWalletInitialization.d.ts +25 -0
  51. package/dist/src/components/AbstraxnProvider/useWalletInitialization.js +539 -0
  52. package/dist/src/components/AbstraxnProvider/useWalletInitialization.js.map +1 -0
  53. package/dist/src/components/AbstraxnProvider/utils.d.ts +41 -0
  54. package/dist/src/components/AbstraxnProvider/utils.js +139 -0
  55. package/dist/src/components/AbstraxnProvider/utils.js.map +1 -0
  56. package/dist/src/components/OnboardingUI/OnboardingUI.css +1062 -0
  57. package/dist/src/components/OnboardingUI/OnboardingUIReact.d.ts +15 -0
  58. package/dist/src/components/OnboardingUI/OnboardingUIReact.js +318 -0
  59. package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -0
  60. package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +265 -0
  61. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +3782 -0
  62. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -0
  63. package/dist/src/components/OnboardingUI/components/EmailForm.d.ts +16 -0
  64. package/dist/src/components/OnboardingUI/components/EmailForm.js +27 -0
  65. package/dist/src/components/OnboardingUI/components/EmailForm.js.map +1 -0
  66. package/dist/src/components/OnboardingUI/components/Modal.d.ts +14 -0
  67. package/dist/src/components/OnboardingUI/components/Modal.js +61 -0
  68. package/dist/src/components/OnboardingUI/components/Modal.js.map +1 -0
  69. package/dist/src/components/OnboardingUI/components/OtpForm.d.ts +20 -0
  70. package/dist/src/components/OnboardingUI/components/OtpForm.js +72 -0
  71. package/dist/src/components/OnboardingUI/components/OtpForm.js.map +1 -0
  72. package/dist/src/components/OnboardingUI/components/PasskeyButton.d.ts +14 -0
  73. package/dist/src/components/OnboardingUI/components/PasskeyButton.js +22 -0
  74. package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -0
  75. package/dist/src/components/OnboardingUI/components/SocialButtons.d.ts +15 -0
  76. package/dist/src/components/OnboardingUI/components/SocialButtons.js +20 -0
  77. package/dist/src/components/OnboardingUI/components/SocialButtons.js.map +1 -0
  78. package/dist/src/components/OnboardingUI/components/index.d.ts +13 -0
  79. package/dist/src/components/OnboardingUI/components/index.js +9 -0
  80. package/dist/src/components/OnboardingUI/components/index.js.map +1 -0
  81. package/dist/src/components/OnboardingUI/hooks/index.d.ts +7 -0
  82. package/dist/src/components/OnboardingUI/hooks/index.js +6 -0
  83. package/dist/src/components/OnboardingUI/hooks/index.js.map +1 -0
  84. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.d.ts +11 -0
  85. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js +243 -0
  86. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js.map +1 -0
  87. package/dist/src/components/OnboardingUI/hooks/useOnboarding.d.ts +21 -0
  88. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js +153 -0
  89. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +1 -0
  90. package/dist/src/components/OnboardingUI/index.d.ts +12 -0
  91. package/dist/src/components/OnboardingUI/index.js +15 -0
  92. package/dist/src/components/OnboardingUI/index.js.map +1 -0
  93. package/dist/src/components/QRCode.d.ts +13 -0
  94. package/dist/src/components/QRCode.js +6 -0
  95. package/dist/src/components/QRCode.js.map +1 -0
  96. package/dist/src/components/WalletModal/components/ChainSelector.css +327 -0
  97. package/dist/src/components/WalletModal/components/ChainSelector.d.ts +11 -0
  98. package/dist/src/components/WalletModal/components/ChainSelector.js +75 -0
  99. package/dist/src/components/WalletModal/components/ChainSelector.js.map +1 -0
  100. package/dist/src/components/WalletModal/components/ExportKeyModal.css +134 -0
  101. package/dist/src/components/WalletModal/components/ExportKeyModal.d.ts +14 -0
  102. package/dist/src/components/WalletModal/components/ExportKeyModal.js +26 -0
  103. package/dist/src/components/WalletModal/components/ExportKeyModal.js.map +1 -0
  104. package/dist/src/components/WalletModal/components/ExportWarningModal.css +107 -0
  105. package/dist/src/components/WalletModal/components/ExportWarningModal.d.ts +17 -0
  106. package/dist/src/components/WalletModal/components/ExportWarningModal.js +20 -0
  107. package/dist/src/components/WalletModal/components/ExportWarningModal.js.map +1 -0
  108. package/dist/src/components/WalletModal/components/ManageWalletModal.css +246 -0
  109. package/dist/src/components/WalletModal/components/ManageWalletModal.d.ts +12 -0
  110. package/dist/src/components/WalletModal/components/ManageWalletModal.js +36 -0
  111. package/dist/src/components/WalletModal/components/ManageWalletModal.js.map +1 -0
  112. package/dist/src/components/WalletModal/components/PreviewTransactionModal.css +127 -0
  113. package/dist/src/components/WalletModal/components/PreviewTransactionModal.d.ts +17 -0
  114. package/dist/src/components/WalletModal/components/PreviewTransactionModal.js +10 -0
  115. package/dist/src/components/WalletModal/components/PreviewTransactionModal.js.map +1 -0
  116. package/dist/src/components/WalletModal/components/ReceiveModal.css +136 -0
  117. package/dist/src/components/WalletModal/components/ReceiveModal.d.ts +8 -0
  118. package/dist/src/components/WalletModal/components/ReceiveModal.js +22 -0
  119. package/dist/src/components/WalletModal/components/ReceiveModal.js.map +1 -0
  120. package/dist/src/components/WalletModal/components/SendModal.css +277 -0
  121. package/dist/src/components/WalletModal/components/SendModal.d.ts +16 -0
  122. package/dist/src/components/WalletModal/components/SendModal.js +219 -0
  123. package/dist/src/components/WalletModal/components/SendModal.js.map +1 -0
  124. package/dist/src/components/WalletModal/components/SuccessModal.css +85 -0
  125. package/dist/src/components/WalletModal/components/SuccessModal.d.ts +13 -0
  126. package/dist/src/components/WalletModal/components/SuccessModal.js +8 -0
  127. package/dist/src/components/WalletModal/components/SuccessModal.js.map +1 -0
  128. package/dist/src/components/WalletModal/components/TokenSelectorModal.css +240 -0
  129. package/dist/src/components/WalletModal/components/TokenSelectorModal.d.ts +21 -0
  130. package/dist/src/components/WalletModal/components/TokenSelectorModal.js +44 -0
  131. package/dist/src/components/WalletModal/components/TokenSelectorModal.js.map +1 -0
  132. package/dist/src/components/WalletModal/components/UserAvatar.d.ts +9 -0
  133. package/dist/src/components/WalletModal/components/UserAvatar.js +31 -0
  134. package/dist/src/components/WalletModal/components/UserAvatar.js.map +1 -0
  135. package/dist/src/components/WalletModal/components/index.d.ts +23 -0
  136. package/dist/src/components/WalletModal/components/index.js +14 -0
  137. package/dist/src/components/WalletModal/components/index.js.map +1 -0
  138. package/dist/src/components/WalletModal/hooks/index.d.ts +6 -0
  139. package/dist/src/components/WalletModal/hooks/index.js +7 -0
  140. package/dist/src/components/WalletModal/hooks/index.js.map +1 -0
  141. package/dist/src/components/WalletModal/hooks/useAddressValidation.d.ts +4 -0
  142. package/dist/src/components/WalletModal/hooks/useAddressValidation.js +17 -0
  143. package/dist/src/components/WalletModal/hooks/useAddressValidation.js.map +1 -0
  144. package/dist/src/components/WalletModal/hooks/useAmountValidation.d.ts +4 -0
  145. package/dist/src/components/WalletModal/hooks/useAmountValidation.js +29 -0
  146. package/dist/src/components/WalletModal/hooks/useAmountValidation.js.map +1 -0
  147. package/dist/src/components/WalletModal/hooks/useSendTransaction.d.ts +20 -0
  148. package/dist/src/components/WalletModal/hooks/useSendTransaction.js +55 -0
  149. package/dist/src/components/WalletModal/hooks/useSendTransaction.js.map +1 -0
  150. package/dist/src/components/WalletModal/index.d.ts +5 -0
  151. package/dist/src/components/WalletModal/index.js +7 -0
  152. package/dist/src/components/WalletModal/index.js.map +1 -0
  153. package/dist/src/components/WalletModal/utils/addressUtils.d.ts +19 -0
  154. package/dist/src/components/WalletModal/utils/addressUtils.js +62 -0
  155. package/dist/src/components/WalletModal/utils/addressUtils.js.map +1 -0
  156. package/dist/src/components/WalletModal/utils/formatUtils.d.ts +20 -0
  157. package/dist/src/components/WalletModal/utils/formatUtils.js +47 -0
  158. package/dist/src/components/WalletModal/utils/formatUtils.js.map +1 -0
  159. package/dist/src/components/WalletModal/utils/index.d.ts +5 -0
  160. package/dist/src/components/WalletModal/utils/index.js +6 -0
  161. package/dist/src/components/WalletModal/utils/index.js.map +1 -0
  162. package/dist/src/connectors.d.ts +27 -0
  163. package/dist/src/connectors.js +70 -0
  164. package/dist/src/connectors.js.map +1 -0
  165. package/dist/src/hooks.d.ts +13136 -0
  166. package/dist/src/hooks.js +1358 -0
  167. package/dist/src/hooks.js.map +1 -0
  168. package/dist/src/index.d.ts +17 -0
  169. package/dist/src/index.js +14 -0
  170. package/dist/src/index.js.map +1 -0
  171. package/dist/src/types.d.ts +224 -0
  172. package/dist/src/types.js +2 -0
  173. package/dist/src/types.js.map +1 -0
  174. package/dist/src/wagmiConfig.d.ts +16 -0
  175. package/dist/src/wagmiConfig.js +103 -0
  176. package/dist/src/wagmiConfig.js.map +1 -0
  177. package/dist/tsconfig.tsbuildinfo +1 -0
  178. package/package.json +70 -0
@@ -0,0 +1,1062 @@
1
+ /**
2
+ * OnboardingUI Component Styles
3
+ */
4
+
5
+ .onboarding-container {
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ justify-content: center;
10
+ min-height: 100vh;
11
+ padding: 20px;
12
+ font-family: 'GeistSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
13
+ -webkit-font-smoothing: antialiased;
14
+ -moz-osx-font-smoothing: grayscale;
15
+ }
16
+
17
+ /* Inline mode - no extra height */
18
+ .onboarding-container.onboarding-inline {
19
+ min-height: auto;
20
+ padding: 0;
21
+ /* width: 100%; */
22
+ }
23
+
24
+ /* Modal Styles */
25
+ .onboarding-modal-overlay {
26
+ position: fixed;
27
+ top: 0;
28
+ left: 0;
29
+ right: 0;
30
+ bottom: 0;
31
+ background-color: rgba(0, 0, 0, 0.6);
32
+ backdrop-filter: blur(8px);
33
+ -webkit-backdrop-filter: blur(8px);
34
+ display: none; /* Start hidden by default to prevent flicker */
35
+ align-items: center;
36
+ justify-content: center;
37
+ z-index: 9999;
38
+ opacity: 0;
39
+ transition: opacity 0.3s ease-in-out;
40
+ padding: 16px;
41
+ overflow: hidden;
42
+ overscroll-behavior: contain;
43
+ }
44
+
45
+ .onboarding-modal-overlay::-webkit-scrollbar {
46
+ display: none;
47
+ }
48
+
49
+ .onboarding-modal-overlay {
50
+ -ms-overflow-style: none;
51
+ scrollbar-width: none;
52
+ }
53
+
54
+ .onboarding-modal-overlay.onboarding-modal-open {
55
+ display: flex; /* Show when explicitly opened */
56
+ opacity: 1;
57
+ }
58
+
59
+ .onboarding-modal-overlay.onboarding-modal-closing {
60
+ opacity: 0;
61
+ }
62
+
63
+ .onboarding-modal-content {
64
+ position: relative;
65
+ width: 100%;
66
+ max-width: 420px;
67
+ max-height: calc(100vh - 32px);
68
+ overflow: hidden;
69
+ transform: scale(0.95);
70
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
71
+ display: flex;
72
+ flex-direction: column;
73
+ }
74
+
75
+ @media (max-width: 480px) {
76
+ .onboarding-modal-content {
77
+ max-width: 100%;
78
+ max-height: 100vh;
79
+ border-radius: 0;
80
+ }
81
+
82
+ .onboarding-modal-overlay {
83
+ padding: 0;
84
+ }
85
+ }
86
+
87
+ .onboarding-modal-overlay.onboarding-modal-open .onboarding-modal-content {
88
+ transform: scale(1);
89
+ }
90
+
91
+ .onboarding-modal-overlay.onboarding-modal-closing .onboarding-modal-content {
92
+ transform: scale(0.95);
93
+ }
94
+
95
+ /* Modal container adjustments */
96
+ .onboarding-modal-content .onboarding-container {
97
+ min-height: auto;
98
+ padding: 0;
99
+ }
100
+
101
+ /* Light Theme */
102
+ .onboarding-theme-light {
103
+ color: #000000;
104
+ }
105
+
106
+ /* Dark Theme */
107
+ .onboarding-theme-dark {
108
+ color: #ffffff;
109
+ }
110
+
111
+ .onboarding-card {
112
+ width: 100%;
113
+ max-width: 420px;
114
+ padding: 20px;
115
+ border-radius: 16px;
116
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
117
+ background-color: inherit;
118
+ position: relative;
119
+ overflow-y: auto;
120
+ overflow-x: visible;
121
+ max-height: calc(100vh - 32px);
122
+ overscroll-behavior: contain;
123
+ }
124
+
125
+ .onboarding-card.onboarding-card-otp,
126
+ .onboarding-card.onboarding-otp-active {
127
+ overflow-x: visible;
128
+ overflow-y: visible;
129
+ }
130
+
131
+ .onboarding-card.onboarding-card-otp .onboarding-otp-back-button,
132
+ .onboarding-card.onboarding-otp-active .onboarding-otp-back-button {
133
+ position: absolute !important;
134
+ top: 0 !important;
135
+ left: 0 !important;
136
+ right: auto !important;
137
+ bottom: auto !important;
138
+ }
139
+
140
+ .onboarding-card::-webkit-scrollbar {
141
+ width: 6px;
142
+ }
143
+
144
+ .onboarding-card::-webkit-scrollbar-track {
145
+ background: transparent;
146
+ }
147
+
148
+ .onboarding-card::-webkit-scrollbar-thumb {
149
+ background: rgba(0, 0, 0, 0.2);
150
+ border-radius: 3px;
151
+ }
152
+
153
+ .onboarding-theme-dark .onboarding-card::-webkit-scrollbar-thumb {
154
+ background: rgba(255, 255, 255, 0.2);
155
+ }
156
+
157
+ @media (max-width: 480px) {
158
+ .onboarding-card {
159
+ padding: 24px 20px;
160
+ border-radius: 0;
161
+ max-height: 100vh;
162
+ }
163
+ }
164
+
165
+ .onboarding-theme-light .onboarding-card {
166
+ background-color: #ffffff;
167
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
168
+ border: 1px solid rgba(0, 0, 0, 0.06);
169
+ }
170
+
171
+ .onboarding-theme-dark .onboarding-card {
172
+ background-color: #1f2937;
173
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.1);
174
+ border: 1px solid rgba(255, 255, 255, 0.1);
175
+ }
176
+
177
+ .onboarding-header {
178
+ text-align: center;
179
+ margin-bottom: 20px;
180
+ }
181
+
182
+ .onboarding-logo-section {
183
+ display: flex;
184
+ flex-direction: column;
185
+ align-items: center;
186
+ margin-bottom: 12px;
187
+ }
188
+
189
+ .onboarding-logo-container {
190
+ display: flex;
191
+ justify-content: center;
192
+ align-items: center;
193
+ margin-bottom: 6px;
194
+ gap: 10px;
195
+ }
196
+
197
+ .onboarding-logo-img {
198
+ max-width: 120px;
199
+ max-height: 60px;
200
+ object-fit: contain;
201
+ }
202
+
203
+
204
+ .onboarding-title {
205
+ font-size: 24px;
206
+ font-weight: 500;
207
+ margin: 0;
208
+ color: inherit;
209
+ text-align: center;
210
+ margin-bottom: 4px;
211
+ letter-spacing: -0.01em;
212
+ line-height: 1.2;
213
+ }
214
+
215
+ @media (max-width: 480px) {
216
+ .onboarding-title {
217
+ font-size: 24px;
218
+ margin-bottom: 24px;
219
+ }
220
+ }
221
+
222
+ .onboarding-theme-light .onboarding-title {
223
+ color: #111827;
224
+ }
225
+
226
+ .onboarding-theme-dark .onboarding-title {
227
+ color: #ffffff;
228
+ }
229
+
230
+ .onboarding-form {
231
+ width: 100%;
232
+ }
233
+
234
+ .onboarding-input-group {
235
+ margin-bottom: 8px;
236
+ }
237
+
238
+ .onboarding-input-label {
239
+ display: block;
240
+ font-size: 14px;
241
+ font-weight: 500;
242
+ color: #374151;
243
+ margin-bottom: 4px;
244
+ letter-spacing: -0.01em;
245
+ line-height: 1.5;
246
+ text-align: left;
247
+ width: 100%;
248
+ }
249
+
250
+ .onboarding-theme-dark .onboarding-input-label {
251
+ color: #e5e7eb;
252
+ }
253
+
254
+ .onboarding-input-wrapper {
255
+ position: relative;
256
+ display: flex;
257
+ align-items: center;
258
+ }
259
+
260
+ .onboarding-input-icon {
261
+ position: absolute;
262
+ left: 14px;
263
+ color: #9ca3af;
264
+ pointer-events: none;
265
+ z-index: 1;
266
+ width: 18px;
267
+ height: 18px;
268
+ }
269
+
270
+ .onboarding-theme-dark .onboarding-input-icon {
271
+ color: #9ca3af;
272
+ }
273
+
274
+ .onboarding-input {
275
+ width: 100%;
276
+ padding: 10px 14px 10px 44px;
277
+ font-size: 14px;
278
+ border: 1.5px solid #e5e7eb;
279
+ border-radius: 8px;
280
+ background-color: inherit;
281
+ color: inherit;
282
+ transition: all 0.15s ease;
283
+ box-sizing: border-box;
284
+ font-weight: 400;
285
+ letter-spacing: 0;
286
+ line-height: 1.5;
287
+ }
288
+
289
+ .onboarding-theme-light .onboarding-input {
290
+ background-color: #ffffff;
291
+ border-color: #e5e7eb;
292
+ }
293
+
294
+ .onboarding-theme-light .onboarding-input:-webkit-autofill,
295
+ .onboarding-theme-light .onboarding-input:-webkit-autofill:hover,
296
+ .onboarding-theme-light .onboarding-input:-webkit-autofill:focus,
297
+ .onboarding-theme-light .onboarding-input:-webkit-autofill:active {
298
+ -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
299
+ -webkit-text-fill-color: #111827 !important;
300
+ transition: background-color 5000s ease-in-out 0s;
301
+ }
302
+
303
+ .onboarding-theme-dark .onboarding-input {
304
+ background-color: #374151;
305
+ color: #ffffff;
306
+ }
307
+
308
+ .onboarding-theme-dark .onboarding-input:-webkit-autofill,
309
+ .onboarding-theme-dark .onboarding-input:-webkit-autofill:hover,
310
+ .onboarding-theme-dark .onboarding-input:-webkit-autofill:focus,
311
+ .onboarding-theme-dark .onboarding-input:-webkit-autofill:active {
312
+ -webkit-box-shadow: 0 0 0 30px #374151 inset !important;
313
+ -webkit-text-fill-color: #ffffff !important;
314
+ color: #ffffff !important;
315
+ transition: background-color 5000s ease-in-out 0s;
316
+ }
317
+
318
+ .onboarding-input:focus {
319
+ outline: none;
320
+ }
321
+
322
+ .onboarding-theme-light .onboarding-input:focus {
323
+ border-color: #111827;
324
+ box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.1);
325
+ background-color: #ffffff;
326
+ }
327
+
328
+ .onboarding-theme-dark .onboarding-input {
329
+ border-color: #4b5563;
330
+ background-color: #374151;
331
+ }
332
+
333
+ .onboarding-theme-dark .onboarding-input:focus {
334
+ border-color: #9ca3af;
335
+ box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2);
336
+ background-color: #374151;
337
+ }
338
+
339
+ .onboarding-input-arrow-button {
340
+ position: absolute;
341
+ right: 8px;
342
+ top: 50%;
343
+ transform: translateY(-50%);
344
+ width: 32px;
345
+ height: 32px;
346
+ border: none;
347
+ background: transparent;
348
+ display: flex;
349
+ align-items: center;
350
+ justify-content: center;
351
+ cursor: pointer;
352
+ color: #9ca3af;
353
+ transition: all 0.2s ease;
354
+ border-radius: 6px;
355
+ padding: 0;
356
+ z-index: 2;
357
+ }
358
+
359
+ .onboarding-input-arrow-button:hover:not(:disabled) {
360
+ color: #111827;
361
+ background-color: rgba(0, 0, 0, 0.05);
362
+ }
363
+
364
+ .onboarding-theme-dark .onboarding-input-arrow-button:hover:not(:disabled) {
365
+ color: #ffffff;
366
+ background-color: rgba(255, 255, 255, 0.1);
367
+ }
368
+
369
+ .onboarding-input-arrow-button:disabled {
370
+ opacity: 0.3;
371
+ cursor: not-allowed;
372
+ }
373
+
374
+ .onboarding-input-arrow-icon {
375
+ width: 20px;
376
+ height: 20px;
377
+ }
378
+
379
+ .onboarding-input:disabled {
380
+ opacity: 0.6;
381
+ cursor: not-allowed;
382
+ }
383
+
384
+ .onboarding-error {
385
+ padding: 0;
386
+ margin-top: 8px;
387
+ margin-bottom: 12px;
388
+ background-color: transparent !important;
389
+ color: #dc2626;
390
+ font-size: 13px;
391
+ text-align: center;
392
+ width: 100%;
393
+ font-weight: 500;
394
+ line-height: 1.4;
395
+ word-break: break-word;
396
+ }
397
+
398
+ .onboarding-theme-dark .onboarding-error {
399
+ background-color: transparent !important;
400
+ color: #fca5a5;
401
+ }
402
+
403
+ .onboarding-button {
404
+ width: 100%;
405
+ padding: 11px 20px;
406
+ font-size: 14px;
407
+ font-weight: 600;
408
+ border: none;
409
+ border-radius: 8px;
410
+ cursor: pointer;
411
+ transition: all 0.15s ease;
412
+ display: flex;
413
+ align-items: center;
414
+ justify-content: center;
415
+ gap: 8px;
416
+ margin-bottom: 6px;
417
+ letter-spacing: 0;
418
+ line-height: 1.5;
419
+ box-shadow: none;
420
+ min-height: 42px;
421
+ }
422
+
423
+ .onboarding-button:disabled {
424
+ opacity: 0.6;
425
+ cursor: not-allowed;
426
+ }
427
+
428
+ .onboarding-button-primary {
429
+ font-weight: 600;
430
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
431
+ }
432
+
433
+ /* Light theme button */
434
+ .onboarding-theme-light .onboarding-button-primary {
435
+ background-color: #111827;
436
+ color: #ffffff;
437
+ }
438
+
439
+ .onboarding-theme-light .onboarding-button-primary:hover:not(:disabled) {
440
+ background-color: #1f2937;
441
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
442
+ transform: translateY(-1px);
443
+ }
444
+
445
+ .onboarding-theme-light .onboarding-button-primary:active:not(:disabled) {
446
+ background-color: #374151;
447
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
448
+ transform: translateY(0);
449
+ }
450
+
451
+ /* Dark theme button */
452
+ .onboarding-theme-dark .onboarding-button-primary {
453
+ background-color: #4b5563;
454
+ color: #ffffff;
455
+ }
456
+
457
+ .onboarding-theme-dark .onboarding-button-primary:hover:not(:disabled) {
458
+ background-color: #6b7280;
459
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
460
+ transform: translateY(-1px);
461
+ }
462
+
463
+ .onboarding-theme-dark .onboarding-button-primary:active:not(:disabled) {
464
+ background-color: #6b7280;
465
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
466
+ transform: translateY(0);
467
+ }
468
+
469
+ .onboarding-button-google {
470
+ background-color: #ffffff;
471
+ color: #1f2937;
472
+ border: 1.5px solid #e5e7eb;
473
+ font-weight: 500;
474
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
475
+ font-size: 14px;
476
+ }
477
+
478
+ .onboarding-theme-dark .onboarding-button-google {
479
+ background-color: #374151;
480
+ color: #ffffff;
481
+ border-color: #4b5563;
482
+ }
483
+
484
+ .onboarding-button-google:hover:not(:disabled) {
485
+ background-color: #f9fafb;
486
+ border-color: #d1d5db;
487
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
488
+ transform: translateY(-1px);
489
+ }
490
+
491
+ .onboarding-theme-dark .onboarding-button-google:hover:not(:disabled) {
492
+ background-color: #4b5563;
493
+ border-color: #6b7280;
494
+ }
495
+
496
+ .onboarding-google-icon {
497
+ width: 20px;
498
+ height: 20px;
499
+ }
500
+
501
+ .onboarding-button-google {
502
+ display: flex;
503
+ align-items: center;
504
+ justify-content: center;
505
+ gap: 8px;
506
+ }
507
+
508
+ .onboarding-social-grid {
509
+ display: grid;
510
+ grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
511
+ gap: 12px;
512
+ width: 100%;
513
+ }
514
+
515
+ .onboarding-button-social-icon {
516
+ display: flex;
517
+ align-items: center;
518
+ justify-content: center;
519
+ width: 48px;
520
+ height: 48px;
521
+ padding: 0;
522
+ border-radius: 12px;
523
+ border: 1.5px solid #e5e7eb;
524
+ background-color: #ffffff;
525
+ cursor: pointer;
526
+ transition: all 0.2s ease;
527
+ }
528
+
529
+ .onboarding-theme-dark .onboarding-button-social-icon {
530
+ background-color: #374151;
531
+ border-color: #4b5563;
532
+ }
533
+
534
+ .onboarding-button-social-icon:hover:not(:disabled) {
535
+ background-color: #f9fafb;
536
+ border-color: #d1d5db;
537
+ transform: translateY(-1px);
538
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
539
+ }
540
+
541
+ .onboarding-theme-dark .onboarding-button-social-icon:hover:not(:disabled) {
542
+ background-color: #4b5563;
543
+ border-color: #6b7280;
544
+ }
545
+
546
+ .onboarding-button-social-icon:disabled {
547
+ opacity: 0.6;
548
+ cursor: not-allowed;
549
+ }
550
+
551
+ .onboarding-social-icon {
552
+ width: 20px;
553
+ height: 20px;
554
+ }
555
+
556
+ .onboarding-divider {
557
+ display: flex;
558
+ align-items: center;
559
+ margin: 10px 0;
560
+ position: relative;
561
+ }
562
+
563
+ .onboarding-divider::before,
564
+ .onboarding-divider::after {
565
+ content: '';
566
+ flex: 1;
567
+ height: 1px;
568
+ background-color: #e5e7eb;
569
+ }
570
+
571
+ .onboarding-theme-dark .onboarding-divider::before,
572
+ .onboarding-theme-dark .onboarding-divider::after {
573
+ background-color: #4b5563;
574
+ }
575
+
576
+ .onboarding-divider-text {
577
+ padding: 0 14px;
578
+ font-size: 13px;
579
+ color: #9ca3af;
580
+ font-weight: 400;
581
+ }
582
+
583
+ .onboarding-theme-dark .onboarding-divider-text {
584
+ color: #9ca3af;
585
+ }
586
+
587
+
588
+ .onboarding-footer {
589
+ margin-top: 24px;
590
+ padding: 0;
591
+ text-align: center;
592
+ background: transparent;
593
+ border: none;
594
+ border-radius: 0;
595
+ width: 100%;
596
+ display: flex;
597
+ justify-content: center;
598
+ align-items: center;
599
+ }
600
+
601
+ .onboarding-footer-text {
602
+ font-size: 11px;
603
+ color: #9ca3af;
604
+ margin: 0;
605
+ line-height: 1.5;
606
+ font-weight: 400;
607
+ letter-spacing: 0.01em;
608
+ display: flex;
609
+ align-items: center;
610
+ justify-content: center;
611
+ gap: 6px;
612
+ flex-wrap: wrap;
613
+ }
614
+
615
+ .onboarding-theme-dark .onboarding-footer-text {
616
+ color: #6b7280;
617
+ }
618
+
619
+ .onboarding-footer-brand {
620
+ font-weight: 700;
621
+ text-decoration: none;
622
+ cursor: pointer;
623
+ transition: opacity 0.15s ease;
624
+ display: inline-flex;
625
+ align-items: center;
626
+ gap: 6px;
627
+ }
628
+
629
+ .onboarding-theme-light .onboarding-footer-brand {
630
+ color: #111827;
631
+ }
632
+
633
+ .onboarding-theme-dark .onboarding-footer-brand {
634
+ color: #9ca3af;
635
+ }
636
+
637
+ .onboarding-footer-brand:hover {
638
+ text-decoration: none;
639
+ opacity: 0.8;
640
+ }
641
+
642
+ /* Modal container adjustments */
643
+ .onboarding-modal-content .onboarding-container {
644
+ min-height: auto;
645
+ padding: 0;
646
+ }
647
+
648
+ .onboarding-modal-content .onboarding-card {
649
+ margin: 0;
650
+ }
651
+
652
+ /* OTP Verification Screen */
653
+ .onboarding-otp-verification {
654
+ display: flex !important;
655
+ flex-direction: column;
656
+ align-items: center;
657
+ text-align: center;
658
+ width: 100%;
659
+ visibility: visible;
660
+ opacity: 1;
661
+ position: relative;
662
+ padding-top: 0;
663
+ }
664
+
665
+ .onboarding-otp-back-button {
666
+ position: absolute;
667
+ top: 0;
668
+ left: 0;
669
+ width: 40px;
670
+ height: 40px;
671
+ min-width: 40px;
672
+ min-height: 40px;
673
+ display: flex !important;
674
+ align-items: center;
675
+ justify-content: center;
676
+ background-color: transparent !important;
677
+ border: none;
678
+ border-radius: 8px;
679
+ cursor: pointer;
680
+ transition: all 0.2s ease;
681
+ color: #6b7280 !important;
682
+ padding: 0;
683
+ margin: 0;
684
+ z-index: 100;
685
+ box-shadow: none !important;
686
+ visibility: visible !important;
687
+ opacity: 1 !important;
688
+ pointer-events: auto !important;
689
+ }
690
+
691
+ .onboarding-otp-back-button svg {
692
+ width: 20px;
693
+ height: 20px;
694
+ flex-shrink: 0;
695
+ }
696
+
697
+ @media (max-width: 480px) {
698
+ .onboarding-otp-back-button {
699
+ width: 36px;
700
+ height: 36px;
701
+ }
702
+
703
+ .onboarding-otp-back-button svg {
704
+ width: 18px;
705
+ height: 18px;
706
+ }
707
+ }
708
+
709
+ .onboarding-otp-back-button:hover:not(:disabled) {
710
+ background-color: #f3f4f6 !important;
711
+ color: #111827 !important;
712
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
713
+ }
714
+
715
+ .onboarding-otp-back-button:active:not(:disabled) {
716
+ background-color: #e5e7eb !important;
717
+ transform: scale(0.95);
718
+ }
719
+
720
+ .onboarding-otp-back-button:disabled {
721
+ opacity: 0.3;
722
+ cursor: not-allowed;
723
+ }
724
+
725
+ .onboarding-theme-dark .onboarding-otp-back-button {
726
+ background-color: transparent !important;
727
+ color: #9ca3af !important;
728
+ box-shadow: none !important;
729
+ }
730
+
731
+ .onboarding-theme-dark .onboarding-otp-back-button:hover:not(:disabled) {
732
+ background-color: rgba(255, 255, 255, 0.1) !important;
733
+ color: #ffffff !important;
734
+ }
735
+
736
+ .onboarding-theme-dark .onboarding-otp-back-button:active:not(:disabled) {
737
+ background-color: rgba(255, 255, 255, 0.15) !important;
738
+ }
739
+
740
+ .onboarding-otp-icon-container {
741
+ width: 64px;
742
+ height: 64px;
743
+ border-radius: 50%;
744
+ display: flex;
745
+ align-items: center;
746
+ justify-content: center;
747
+ margin-bottom: 24px;
748
+ position: relative;
749
+ background: transparent;
750
+ border: 3px solid #eef2ff;
751
+ }
752
+
753
+ .onboarding-otp-icon-container::after {
754
+ content: '';
755
+ position: absolute;
756
+ top: -3px;
757
+ left: -3px;
758
+ right: -3px;
759
+ bottom: -3px;
760
+ border-radius: 50%;
761
+ border: 3px solid transparent;
762
+ border-top-color: #363ff9;
763
+ animation: onboarding-spin 2s linear infinite;
764
+ }
765
+
766
+ @keyframes onboarding-spin {
767
+ 0% { transform: rotate(0deg); }
768
+ 100% { transform: rotate(360deg); }
769
+ }
770
+
771
+ .onboarding-theme-dark .onboarding-otp-icon-container {
772
+ border-color: rgba(156, 163, 175, 0.2);
773
+ }
774
+
775
+ .onboarding-otp-icon-inner {
776
+ width: 100%;
777
+ height: 100%;
778
+ background-color: transparent;
779
+ display: flex;
780
+ align-items: center;
781
+ justify-content: center;
782
+ z-index: 1;
783
+ }
784
+
785
+ .onboarding-otp-icon {
786
+ width: 28px;
787
+ height: 28px;
788
+ color: #363ff9;
789
+ }
790
+
791
+ .onboarding-otp-title {
792
+ font-size: 22px;
793
+ font-weight: 500;
794
+ margin: 0 0 16px 0;
795
+ color: inherit;
796
+ line-height: 1.4;
797
+ letter-spacing: -0.01em;
798
+ }
799
+
800
+ .onboarding-theme-light .onboarding-otp-title {
801
+ color: #111827;
802
+ }
803
+
804
+ .onboarding-theme-dark .onboarding-otp-title {
805
+ color: #ffffff;
806
+ }
807
+
808
+ .onboarding-otp-instruction {
809
+ font-size: 14px;
810
+ color: #6b7280;
811
+ margin: 0 0 8px 0;
812
+ line-height: 1.5;
813
+ font-weight: 400;
814
+ }
815
+
816
+ .onboarding-theme-dark .onboarding-otp-instruction {
817
+ color: #9ca3af;
818
+ }
819
+
820
+ .onboarding-otp-email {
821
+ font-size: 15px;
822
+ font-weight: 600;
823
+ color: inherit;
824
+ margin: 0 0 32px 0;
825
+ line-height: 1.5;
826
+ }
827
+
828
+ .onboarding-theme-light .onboarding-otp-email {
829
+ color: #111827;
830
+ }
831
+
832
+ .onboarding-theme-dark .onboarding-otp-email {
833
+ color: #ffffff;
834
+ }
835
+
836
+ .onboarding-otp-inputs-container {
837
+ display: flex !important;
838
+ gap: 10px;
839
+ justify-content: center;
840
+ align-items: center;
841
+ margin-bottom: 24px;
842
+ width: 100%;
843
+ visibility: visible !important;
844
+ opacity: 1 !important;
845
+ min-height: 60px;
846
+ flex-wrap: nowrap;
847
+ }
848
+
849
+ .onboarding-otp-verification .onboarding-form {
850
+ width: 100%;
851
+ margin-top: 0;
852
+ }
853
+
854
+ .onboarding-otp-verification .onboarding-button {
855
+ margin-top: 0;
856
+ margin-bottom: 0;
857
+ margin-left: auto;
858
+ margin-right: auto;
859
+ /* Match OTP inputs width: 6 inputs × 44px + 5 gaps × 10px = 314px */
860
+ width: 314px;
861
+ max-width: 314px;
862
+ }
863
+
864
+ .onboarding-otp-input {
865
+ width: 44px !important;
866
+ min-width: 44px !important;
867
+ height: 52px !important;
868
+ min-height: 52px !important;
869
+ display: inline-block !important;
870
+ visibility: visible !important;
871
+ opacity: 1 !important;
872
+ text-align: center;
873
+ font-size: 20px;
874
+ font-weight: 600;
875
+ border: 1.5px solid #e5e7eb;
876
+ border-radius: 8px;
877
+ background-color: inherit;
878
+ color: inherit;
879
+ transition: all 0.15s ease;
880
+ box-sizing: border-box;
881
+ line-height: 1;
882
+ flex-shrink: 0;
883
+ padding: 0;
884
+ margin: 0;
885
+ }
886
+
887
+ .onboarding-theme-light .onboarding-otp-input {
888
+ background-color: #ffffff !important;
889
+ border-color: #e5e7eb !important;
890
+ color: #000000 !important;
891
+ }
892
+
893
+ .onboarding-otp-input:focus {
894
+ outline: none;
895
+ }
896
+
897
+ .onboarding-theme-light .onboarding-otp-input:focus {
898
+ border-color: #111827 !important;
899
+ box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.1) !important;
900
+ background-color: #ffffff !important;
901
+ color: #000000 !important;
902
+ }
903
+
904
+ .onboarding-theme-dark .onboarding-otp-input {
905
+ border-color: #4b5563 !important;
906
+ background-color: #374151 !important;
907
+ color: #ffffff !important;
908
+ }
909
+
910
+ .onboarding-theme-dark .onboarding-otp-input:focus {
911
+ border-color: #9ca3af !important;
912
+ box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2) !important;
913
+ background-color: #4b5563 !important;
914
+ color: #ffffff !important;
915
+ }
916
+
917
+ .onboarding-otp-input:disabled {
918
+ opacity: 0.6;
919
+ cursor: not-allowed;
920
+ }
921
+
922
+ .onboarding-otp-resend {
923
+ text-align: center;
924
+ margin-top: 24px;
925
+ line-height: 1.5;
926
+ }
927
+
928
+ .onboarding-otp-resend-text {
929
+ font-size: 13px;
930
+ color: #6b7280;
931
+ margin: 0;
932
+ line-height: 1.5;
933
+ font-weight: 400;
934
+ }
935
+
936
+ .onboarding-theme-dark .onboarding-otp-resend-text {
937
+ color: #9ca3af;
938
+ }
939
+
940
+ .onboarding-otp-resend-link {
941
+ color: #dc2626;
942
+ text-decoration: underline;
943
+ cursor: pointer;
944
+ font-weight: 500;
945
+ transition: color 0.15s ease;
946
+ font-size: 13px;
947
+ background: none;
948
+ border: none;
949
+ padding: 0;
950
+ margin: 0;
951
+ font-family: inherit;
952
+ }
953
+
954
+ .onboarding-otp-resend-link:hover {
955
+ color: #b91c1c;
956
+ text-decoration: underline;
957
+ }
958
+
959
+ .onboarding-otp-resend-link:active {
960
+ color: #991b1b;
961
+ }
962
+
963
+ .onboarding-theme-dark .onboarding-otp-resend-link {
964
+ color: #ef4444;
965
+ }
966
+
967
+ .onboarding-theme-dark .onboarding-otp-resend-link:hover {
968
+ color: #dc2626;
969
+ }
970
+
971
+ .onboarding-otp-resend-cooldown {
972
+ color: #9ca3af;
973
+ font-size: 13px;
974
+ }
975
+
976
+ .onboarding-theme-dark .onboarding-otp-resend-cooldown {
977
+ color: #6b7280;
978
+ }
979
+
980
+ .onboarding-otp-verification .onboarding-error {
981
+ margin-bottom: 24px;
982
+ margin-top: 0;
983
+ text-align: center;
984
+ }
985
+
986
+ /* Additional Responsive Styles */
987
+ @media (max-width: 480px) {
988
+ .onboarding-container {
989
+ padding: 12px;
990
+ }
991
+
992
+ .onboarding-card {
993
+ padding: 24px 20px;
994
+ }
995
+
996
+ .onboarding-title {
997
+ font-size: 24px;
998
+ }
999
+
1000
+ .onboarding-input-group {
1001
+ margin-bottom: 16px;
1002
+ }
1003
+
1004
+ .onboarding-button {
1005
+ width: 100%;
1006
+ padding: 14px 20px;
1007
+ }
1008
+
1009
+ .onboarding-social-grid {
1010
+ grid-template-columns: 1fr;
1011
+ gap: 12px;
1012
+ }
1013
+
1014
+ .onboarding-button-social-icon {
1015
+ width: 100%;
1016
+ justify-content: center;
1017
+ }
1018
+
1019
+ .onboarding-otp-inputs-container {
1020
+ gap: 8px;
1021
+ }
1022
+
1023
+ .onboarding-otp-input {
1024
+ width: 44px;
1025
+ min-width: 44px;
1026
+ height: 56px;
1027
+ min-height: 56px;
1028
+ font-size: 20px;
1029
+ }
1030
+
1031
+ .onboarding-footer-text {
1032
+ font-size: 10px;
1033
+ }
1034
+
1035
+ .onboarding-footer-brand {
1036
+ font-size: 10px;
1037
+ }
1038
+
1039
+ .onboarding-footer-brand svg {
1040
+ width: 16px;
1041
+ height: 16px;
1042
+ }
1043
+ }
1044
+
1045
+ @media (max-width: 360px) {
1046
+ .onboarding-card {
1047
+ padding: 20px 16px;
1048
+ }
1049
+
1050
+ .onboarding-title {
1051
+ font-size: 22px;
1052
+ }
1053
+
1054
+ .onboarding-otp-input {
1055
+ width: 40px;
1056
+ min-width: 40px;
1057
+ height: 56px;
1058
+ min-height: 56px;
1059
+ font-size: 18px;
1060
+ }
1061
+ }
1062
+