@pelican-identity/react 2.0.43 → 2.0.45

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PelicanAuth.d.ts","sourceRoot":"","sources":["../../src/components/PelicanAuth.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,QAAA,MAAM,WAAW,GAAI,QAAQ,mBAAmB,4CAmnB/C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,462 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
3
+ import PelicanButton from "./PelicanButton";
4
+ import { usePelicanAuth } from "../hooks/usePelicanAuth";
5
+ import StoreIcons from "./StoreIcons";
6
+ const PelicanAuth = (config) => {
7
+ const { start, qr, state, deeplink, isProcessing, stop, error, successMessage, useQrInstead, useWebAuth, openDeepLink, } = usePelicanAuth({
8
+ projectId: config.projectId,
9
+ publicKey: config.publicKey,
10
+ authType: config.authType,
11
+ onClose: config.onClose,
12
+ continuousMode: config.continuousMode,
13
+ forceQRCode: config.forceQRCode,
14
+ onSuccess: (identity) => {
15
+ config.onSuccess(identity);
16
+ },
17
+ onError: (error) => {
18
+ config.onError?.(error);
19
+ },
20
+ });
21
+ useEffect(() => {
22
+ if (config.continuousMode) {
23
+ start();
24
+ }
25
+ }, [config.continuousMode]);
26
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: `@keyframes fadeUp {
27
+ from {
28
+ opacity: 0;
29
+ transform: translateY(20px);
30
+ }
31
+ to {
32
+ opacity: 1;
33
+ transform: translateY(0);
34
+ }
35
+ }
36
+
37
+ @keyframes spin {
38
+ to {
39
+ transform: rotate(360deg);
40
+ }
41
+ }
42
+
43
+ @keyframes successPulse {
44
+ 0%,
45
+ 100% {
46
+ transform: scale(1);
47
+ opacity: 1;
48
+ }
49
+ 50% {
50
+ transform: scale(1.05);
51
+ opacity: 0.9;
52
+ }
53
+ }
54
+
55
+ .auth-container {
56
+ width: 300px;
57
+ max-width: fit-content;
58
+ padding: 1rem;
59
+ margin-top: 0.3rem;
60
+ position: relative;
61
+ border-radius: 10px;
62
+ animation: fadeUp 0.5s ease-out;
63
+ background-color: #f9fafb;
64
+ display: flex;
65
+ flex-direction: column;
66
+ justify-content: space-between;
67
+ align-items: center;
68
+ gap: 1rem;
69
+ min-height: 300px;
70
+ }
71
+ .js-auth-container {
72
+ width: 300px;
73
+ max-width: fit-content;
74
+ padding: 1rem;
75
+ margin-top: 0.3rem;
76
+ position: relative;
77
+ background-color: #f9fafb;
78
+ border-radius: 2.5rem;
79
+ display: flex;
80
+ flex-direction: column;
81
+ justify-content: space-between;
82
+ align-items: center;
83
+ gap: 1rem;
84
+ min-height: 300px;
85
+ }
86
+
87
+ .pelican-modal-close-btn {
88
+ all: unset; /* Reset all inherited styles */
89
+ background-color: #2b2b2b !important;
90
+ border: none !important;
91
+ padding: 0.3rem !important;
92
+ cursor: pointer !important;
93
+ transition: opacity 0.2s !important;
94
+ height: 1.5rem !important;
95
+ width: 1.5rem !important;
96
+ display: flex !important;
97
+ align-items: center !important;
98
+ justify-content: center !important;
99
+ border-radius: 50% !important;
100
+ box-sizing: border-box !important;
101
+ margin: 0 1rem !important;
102
+ }
103
+
104
+ .pelican-modal-close-btn:hover {
105
+ opacity: 0.6 !important;
106
+ }
107
+
108
+ .pelican-modal-close-btn svg {
109
+ display: block !important;
110
+ width: 100% !important;
111
+ height: 100% !important;
112
+ }
113
+
114
+ .retry-container {
115
+ text-align: center;
116
+ padding: 3rem 0;
117
+ }
118
+
119
+ .retry-container > div:first-child {
120
+ margin-bottom: 1rem;
121
+ }
122
+
123
+ .retry-text {
124
+ font-size: 1.125rem;
125
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
126
+ }
127
+
128
+ .content-wrapper {
129
+ display: flex;
130
+ flex-direction: column;
131
+ justify-content: center;
132
+ align-items: center;
133
+ gap: 2rem;
134
+ }
135
+
136
+ .unpaired-container {
137
+ text-align: center;
138
+ display: flex;
139
+ flex-direction: column;
140
+ }
141
+
142
+ .main-heading {
143
+ font-size: 0.75rem;
144
+ font-weight: 600;
145
+ color: #585858;
146
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
147
+ }
148
+
149
+ @media (min-width: 768px) {
150
+ .main-heading {
151
+ font-size: 0.8rem;
152
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
153
+ }
154
+ }
155
+
156
+ @media (min-width: 1024px) {
157
+ .main-heading {
158
+ font-size: 0.8rem;
159
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
160
+ }
161
+ }
162
+
163
+ .mobile-auth-container {
164
+ display: flex;
165
+ flex-direction: column;
166
+ gap: 0.7rem;
167
+ width: 253px;
168
+ background-color: #ffffff;
169
+ border-radius: 10px;
170
+ padding: 0 0 1rem 0;
171
+ }
172
+
173
+ .logo-container {
174
+ display: flex;
175
+ justify-content: center;
176
+ padding: 2rem 0;
177
+ }
178
+
179
+ .open-app-link {
180
+ display: inline-block;
181
+ padding: 0.7rem 1.25rem;
182
+ background-color: #101010ff;
183
+ width: 70%;
184
+ align-self: center;
185
+
186
+ border-radius: 18px;
187
+ color: #fff;
188
+ font-weight: 500;
189
+ font-size: 0.8rem;
190
+ text-decoration: none;
191
+ transition: background-color 0.2s;
192
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
193
+ }
194
+
195
+ .open-app-link:hover {
196
+ opacity: 0.8;
197
+ }
198
+
199
+ .helper-text {
200
+ font-size: 0.75rem;
201
+ color: #6b7280;
202
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
203
+ }
204
+
205
+ .qr-container {
206
+ display: flex;
207
+ justify-content: center;
208
+ }
209
+
210
+ .qr-wrapper {
211
+ display: flex;
212
+ justify-content: center;
213
+ align-items: center;
214
+ overflow: hidden;
215
+ border-radius: 10px;
216
+ background-color: #fff;
217
+ padding: 0.2rem;
218
+ height: 244px;
219
+ width: 244px;
220
+ }
221
+
222
+ .qr-image {
223
+ height: 90%;
224
+ width: 90%;
225
+ }
226
+
227
+ .loader-container {
228
+ display: flex;
229
+ justify-content: center;
230
+ }
231
+
232
+ .instruction-text {
233
+ font-size: 0.875rem;
234
+ color: #9ca3af;
235
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
236
+ }
237
+
238
+ .paired-container {
239
+ text-align: center;
240
+ display: flex;
241
+ flex-direction: column;
242
+ gap: 1rem;
243
+ max-width: 250px;
244
+ }
245
+
246
+ .web-auth-btn {
247
+ all: unset; /* Reset all inherited styles */
248
+ cursor: pointer;
249
+ margin-top: 1rem;
250
+ display: inline-block;
251
+ padding: 0.7rem 2rem;
252
+ background-color: #ffffff;
253
+ width: fit-content;
254
+ align-self: center;
255
+ border: 1px solid #e2e2e2ff;
256
+ border-radius: 28px;
257
+ color: #101010ff;
258
+ font-weight: 500;
259
+ font-size: 0.7rem;
260
+ text-decoration: none;
261
+ transition: background-color 0.2s;
262
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
263
+ }
264
+
265
+ .web-auth-btn:hover {
266
+ opacity: 0.9;
267
+ }
268
+
269
+ .paired-heading {
270
+ font-size: 1rem;
271
+ font-weight: 800;
272
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
273
+ }
274
+
275
+ @media (min-width: 768px) {
276
+ .paired-heading {
277
+ font-size: 1rem;
278
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
279
+ }
280
+ }
281
+
282
+ .success-message {
283
+ background-color: #121212;
284
+ color: #d9eb1b;
285
+ padding: 0.5rem 1rem;
286
+ border-radius: 1.3rem;
287
+ font-weight: 700;
288
+ font-size: 1rem;
289
+ animation: successPulse 0.2s ease-in-out;
290
+ margin: 0.5rem 0;
291
+ font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
292
+ width: 300px;
293
+ max-width: fit-content;
294
+ }
295
+
296
+ .auto-renew-badge {
297
+ display: inline-block;
298
+ background-color: rgba(217, 235, 27, 0.2);
299
+ border: 1px solid #d9eb1b;
300
+ color: #d9eb1b;
301
+ padding: 0.25rem 0.75rem;
302
+ border-radius: 9999px;
303
+ font-size: 0.75rem;
304
+ font-weight: 600;
305
+ margin-top: 0.5rem;
306
+ }
307
+
308
+ .scan-btn {
309
+ all: unset;
310
+ font-size: 0.7rem;
311
+ color: #626262ff;
312
+ background-color: #fafafaff;
313
+ padding: 0.5rem 1.5rem;
314
+ border-radius: 1.3rem;
315
+ font-weight: 500;
316
+ cursor: pointer;
317
+ font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
318
+ width: fit-content;
319
+ align-self: center;
320
+ }
321
+ .error-wrapper {
322
+ display: flex;
323
+ justify-content: center;
324
+ align-items: center;
325
+ text-align: center;
326
+ border-radius: 1.5rem;
327
+ border: 1px solid rgb(255, 236, 236);
328
+ background-color: rgb(255, 255, 255);
329
+ width: 250px;
330
+ height: 80px;
331
+ }
332
+
333
+ .error-message {
334
+ font-size: 0.75rem;
335
+ font-weight: 400;
336
+ color: rgb(255, 139, 139);
337
+ font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;
338
+ max-width: 70%;
339
+ }
340
+
341
+ .loader {
342
+ width: 48px;
343
+ height: 48px;
344
+ position: relative;
345
+ }
346
+ .loader::before,
347
+ .loader::after {
348
+ content: "";
349
+ position: absolute;
350
+ left: 50%;
351
+ top: 50%;
352
+ transform: translate(-50%, -50%);
353
+ width: 48em;
354
+ height: 48em;
355
+ background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),
356
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
357
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
358
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
359
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
360
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
361
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
362
+ radial-gradient(circle 10px, #585858 100%, transparent 0),
363
+ radial-gradient(circle 10px, #585858 100%, transparent 0);
364
+ background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,
365
+ -13em -13em, 13em 13em, -13em 13em;
366
+ background-repeat: no-repeat;
367
+ font-size: 0.5px;
368
+ border-radius: 50%;
369
+ animation: blast 1s ease-in infinite;
370
+ }
371
+ .loader::after {
372
+ font-size: 1px;
373
+ background: #585858;
374
+ animation: bounce 1s ease-in infinite;
375
+ }
376
+
377
+ @keyframes bounce {
378
+ 0%,
379
+ 100% {
380
+ font-size: 0.75px;
381
+ }
382
+ 50% {
383
+ font-size: 1.5px;
384
+ }
385
+ }
386
+ @keyframes blast {
387
+ 0%,
388
+ 40% {
389
+ font-size: 0.5px;
390
+ }
391
+ 70% {
392
+ opacity: 1;
393
+ font-size: 4px;
394
+ }
395
+ 100% {
396
+ font-size: 6px;
397
+ opacity: 0;
398
+ }
399
+ }
400
+ ` }), _jsxs("section", { children: [_jsx("div", { style: {
401
+ width: "100%",
402
+ justifyContent: "space-between",
403
+ alignItems: "center",
404
+ maxWidth: "300px",
405
+ }, children: !config.continuousMode && (_jsx("div", { style: {
406
+ width: "100%",
407
+ display: "flex",
408
+ justifyContent: "space-between",
409
+ alignItems: "center",
410
+ }, children: state === "idle" && (_jsx("button", { type: "button", style: {
411
+ border: "none",
412
+ background: "transparent",
413
+ cursor: "pointer",
414
+ width: "100%",
415
+ alignSelf: "center",
416
+ }, onClick: () => {
417
+ if (state !== "idle") {
418
+ stop();
419
+ config.onClose?.();
420
+ }
421
+ else {
422
+ start();
423
+ }
424
+ }, children: config.buttonComponent ? (config.buttonComponent) : (_jsx(PelicanButton, { authType: config.authType, text: config.buttonText, type: "idle" })) })) })) }), _jsx("div", { style: {
425
+ width: "100%",
426
+ display: "flex",
427
+ justifyContent: "center",
428
+ alignItems: "center",
429
+ maxWidth: "300px",
430
+ }, children: state !== "idle" && (_jsxs("div", { className: "auth-container", children: [successMessage && (_jsxs("div", { className: "success-message", style: { textAlign: "center" }, children: [successMessage, config.continuousMode && (_jsx("p", { style: {
431
+ fontSize: "0.8rem",
432
+ marginTop: "0.5rem",
433
+ color: "#f3f3f3",
434
+ textAlign: "center",
435
+ }, children: "Preparing next session..." }))] })), error && state === "error" && (_jsx("div", { className: "error-wrapper", children: _jsx("p", { className: "error-message", children: error.message }) })), isProcessing ? (_jsxs("div", { className: "content-wrapper", children: [_jsx("h2", { className: "main-heading", children: "one sec..." }), _jsx("span", { className: "loader", style: { margin: "1rem auto", width: "252px" } })] })) : (_jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && (_jsxs("div", { className: "unpaired-container", children: [!deeplink && !config.forceQRCode && (_jsxs("h2", { className: "main-heading", children: [" ", "Open Pelican Vault mobile app"] })), !config.forceQRCode && deeplink ? (_jsxs("div", { className: "mobile-auth-container", children: [_jsx("div", { className: "logo-container", children: _jsx("img", { src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ", alt: "Pelican Logo", style: { width: "54px", height: "54px" } }) }), _jsx("button", { onClick: () => openDeepLink(), className: "open-app-link", type: "button", children: "Launch Pelican Vault" }), _jsxs("p", { className: "helper-text", children: ["open app to", " ", config.authType === "login"
436
+ ? "login"
437
+ : config.authType === "signup"
438
+ ? "signup"
439
+ : config.authType === "id-verification"
440
+ ? "verify identity"
441
+ : "authenticate"] }), _jsx("button", { type: "button", className: "scan-btn", onClick: useQrInstead, children: "or scan QR code" })] })) : (config.forceQRCode &&
442
+ qr &&
443
+ state === "awaiting-pair") ||
444
+ (!config.forceQRCode &&
445
+ qr &&
446
+ state === "awaiting-pair") ? (_jsx("div", { className: "qr-container", children: _jsxs("div", { className: "qr-wrapper", children: [qr && (_jsx("img", { src: qr, alt: "QR Code", className: "qr-image" })), !qr && _jsx("span", { className: "loader" })] }) })) : (_jsx("div", { className: "loader-container", children: _jsx("span", { className: "loader" }) }))] })) })), _jsx(StoreIcons, {}), state === "awaiting-pair" && (_jsx("button", { type: "button", className: "web-auth-btn", onClick: useWebAuth, children: "Use web vault" }))] })) }), state !== "idle" && (_jsx("div", { style: {
447
+ width: "300px",
448
+ display: "flex",
449
+ justifyContent: "center",
450
+ alignItems: "center",
451
+ }, children: _jsx("button", { type: "button", style: {
452
+ border: "none",
453
+ background: "transparent",
454
+ cursor: "pointer",
455
+ alignSelf: "center",
456
+ }, onClick: () => {
457
+ stop();
458
+ config.onClose?.();
459
+ }, children: _jsx(PelicanButton, { authType: config.authType, text: `Cancel`, type: "cancel" }) }) }))] })] }));
460
+ };
461
+ export default PelicanAuth;
462
+ //# sourceMappingURL=PelicanAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PelicanAuth.js","sourceRoot":"","sources":["../../src/components/PelicanAuth.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,cAAc,CAAC;AAItC,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,EAAE;IAClD,MAAM,EACJ,KAAK,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,GACb,GAAG,cAAc,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5B,OAAO,CACL,8BACE,0BACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsXR,GACa,EACR,8BACE,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,cAAc,EAAE,eAAe;4BAC/B,UAAU,EAAE,QAAQ;4BACpB,QAAQ,EAAE,OAAO;yBAClB,YAEA,CAAC,MAAM,CAAC,cAAc,IAAI,CACzB,cACE,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,MAAM;gCACf,cAAc,EAAE,eAAe;gCAC/B,UAAU,EAAE,QAAQ;6BACrB,YAEA,KAAK,KAAK,MAAM,IAAI,CACnB,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;oCACL,MAAM,EAAE,MAAM;oCACd,UAAU,EAAE,aAAa;oCACzB,MAAM,EAAE,SAAS;oCACjB,KAAK,EAAE,MAAM;oCACb,SAAS,EAAE,QAAQ;iCACpB,EACD,OAAO,EAAE,GAAG,EAAE;oCACZ,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;wCACrB,IAAI,EAAE,CAAC;wCACP,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oCACrB,CAAC;yCAAM,CAAC;wCACN,KAAK,EAAE,CAAC;oCACV,CAAC;gCACH,CAAC,YAEA,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CACxB,MAAM,CAAC,eAAe,CACvB,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,IAAI,EAAE,MAAM,GACZ,CACH,GACM,CACV,GACG,CACP,GACG,EACN,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,MAAM;4BACf,cAAc,EAAE,QAAQ;4BACxB,UAAU,EAAE,QAAQ;4BACpB,QAAQ,EAAE,OAAO;yBAClB,YAEA,KAAK,KAAK,MAAM,IAAI,CACnB,eAAK,SAAS,EAAC,gBAAgB,aAC5B,cAAc,IAAI,CACjB,eACE,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAE7B,cAAc,EACd,MAAM,CAAC,cAAc,IAAI,CACxB,YACE,KAAK,EAAE;gDACL,QAAQ,EAAE,QAAQ;gDAClB,SAAS,EAAE,QAAQ;gDACnB,KAAK,EAAE,SAAS;gDAChB,SAAS,EAAE,QAAQ;6CACpB,0CAGC,CACL,IACG,CACP,EACA,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,CAC7B,cAAK,SAAS,EAAC,eAAe,YAC5B,YAAG,SAAS,EAAC,eAAe,YAAE,KAAK,CAAC,OAAO,GAAK,GAC5C,CACP,EAEA,YAAY,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAC,iBAAiB,aAC9B,aAAI,SAAS,EAAC,cAAc,2BAAgB,EAE5C,eACE,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GACxC,IACJ,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,iBAAiB,YAC7B,KAAK,KAAK,eAAe,IAAI,CAAC,cAAc,IAAI,CAC/C,eAAK,SAAS,EAAC,oBAAoB,aAChC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CACnC,cAAI,SAAS,EAAC,cAAc,aACzB,GAAG,qCAED,CACN,EACA,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC,eAAK,SAAS,EAAC,uBAAuB,aACpC,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cACE,GAAG,EAAC,gGAAgG,EACpG,GAAG,EAAC,cAAc,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GACxC,GACE,EACN,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,EAC7B,SAAS,EAAC,eAAe,EACzB,IAAI,EAAC,QAAQ,qCAGN,EACT,aAAG,SAAS,EAAC,aAAa,4BACZ,GAAG,EACd,MAAM,CAAC,QAAQ,KAAK,OAAO;gEAC1B,CAAC,CAAC,OAAO;gEACT,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oEAC5B,CAAC,CAAC,QAAQ;oEACV,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,iBAAiB;wEACrC,CAAC,CAAC,iBAAiB;wEACnB,CAAC,CAAC,cAAc,IACpB,EACJ,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,EACpB,OAAO,EAAE,YAAY,gCAGd,IACL,CACP,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW;gDACnB,EAAE;gDACF,KAAK,KAAK,eAAe,CAAC;gDAC5B,CAAC,CAAC,MAAM,CAAC,WAAW;oDAClB,EAAE;oDACF,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAC/B,cAAK,SAAS,EAAC,cAAc,YAC3B,eAAK,SAAS,EAAC,YAAY,aACxB,EAAE,IAAI,CACL,cACE,GAAG,EAAE,EAAE,EACP,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,UAAU,GACpB,CACH,EACA,CAAC,EAAE,IAAI,eAAM,SAAS,EAAC,QAAQ,GAAQ,IACpC,GACF,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,kBAAkB,YAC/B,eAAM,SAAS,EAAC,QAAQ,GAAQ,GAC5B,CACP,IACG,CACP,GACG,CACP,EACD,KAAC,UAAU,KAAG,EACb,KAAK,KAAK,eAAe,IAAI,CAC5B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,cAAc,EACxB,OAAO,EAAE,UAAU,8BAGZ,CACV,IACG,CACP,GACG,EAEL,KAAK,KAAK,MAAM,IAAI,CACnB,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,OAAO;4BACd,OAAO,EAAE,MAAM;4BACf,cAAc,EAAE,QAAQ;4BACxB,UAAU,EAAE,QAAQ;yBACrB,YAED,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gCACL,MAAM,EAAE,MAAM;gCACd,UAAU,EAAE,aAAa;gCACzB,MAAM,EAAE,SAAS;gCAEjB,SAAS,EAAE,QAAQ;6BACpB,EACD,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,EAAE,CAAC;gCACP,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;4BACrB,CAAC,YAED,KAAC,aAAa,IACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,QAAQ,GACd,GACK,GACL,CACP,IACO,IACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PelicanButton.d.ts","sourceRoot":"","sources":["../../src/components/PelicanButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,QAAA,MAAM,aAAa,GAAI,2BAIpB;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB,4CAwJA,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { PelicanAuthState, PelicanWebAuthProps } from "@pelican-identity/auth-core";
2
+ export declare const usePelicanAuth: (config: PelicanWebAuthProps) => {
3
+ start: () => void;
4
+ stop: () => void;
5
+ qr: string | null;
6
+ deeplink: string | null;
7
+ state: PelicanAuthState;
8
+ isProcessing: boolean;
9
+ isDone: boolean;
10
+ error: Error | null;
11
+ successMessage: string | null;
12
+ useQrInstead: () => void | undefined;
13
+ useDeepLinkInstead: () => void | undefined;
14
+ useWebAuth: () => void | undefined;
15
+ openDeepLink: () => void | undefined;
16
+ };
17
+ //# sourceMappingURL=usePelicanAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePelicanAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/usePelicanAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAGrC,eAAO,MAAM,cAAc,GAAI,QAAQ,mBAAmB;;;;;;;;;;;;;;CAoEzD,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { PelicanAuthentication, } from "@pelican-identity/auth-core";
2
+ import { useState, useRef, useEffect, useCallback } from "react";
3
+ export const usePelicanAuth = (config) => {
4
+ const [qr, setQr] = useState(null);
5
+ const [deeplink, setDeeplink] = useState(null);
6
+ const [err, seterr] = useState(null);
7
+ const [state, setState] = useState("idle");
8
+ const [successMessage, setSuccessMessage] = useState(null);
9
+ const pelicanRef = useRef(null);
10
+ const success = config.authType === "login"
11
+ ? "login"
12
+ : config.authType === "signup"
13
+ ? "signup"
14
+ : config.authType === "id-verification"
15
+ ? "verification"
16
+ : "authentication";
17
+ useEffect(() => {
18
+ const pelican = new PelicanAuthentication(config);
19
+ pelicanRef.current = pelican;
20
+ const unsub = [
21
+ pelican.on("qr", setQr),
22
+ pelican.on("deeplink", setDeeplink),
23
+ pelican.on("success", (identity) => {
24
+ config.onSuccess(identity);
25
+ if (config.continuousMode) {
26
+ setSuccessMessage(`${success} complete!`);
27
+ setTimeout(() => {
28
+ setSuccessMessage(null);
29
+ }, 2000);
30
+ }
31
+ }),
32
+ pelican.on("error", (error) => {
33
+ seterr(error);
34
+ config.onError?.(error);
35
+ }),
36
+ pelican.on("state", setState),
37
+ ];
38
+ return () => {
39
+ unsub.forEach((fn) => fn());
40
+ pelican.destroy();
41
+ };
42
+ }, [config.publicKey, config.projectId, config.authType]);
43
+ const start = useCallback(() => {
44
+ pelicanRef.current?.start();
45
+ }, []);
46
+ const stop = useCallback(() => {
47
+ pelicanRef.current?.stop();
48
+ }, []);
49
+ return {
50
+ start,
51
+ stop,
52
+ qr,
53
+ deeplink,
54
+ state,
55
+ isProcessing: ["initializing", "paired", "awaiting-auth"].includes(state),
56
+ isDone: state === "confirmed" || state === "authenticated",
57
+ error: err,
58
+ successMessage,
59
+ useQrInstead: () => pelicanRef.current?.useQrInstead(),
60
+ useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),
61
+ useWebAuth: () => pelicanRef.current?.openWebAuth(),
62
+ openDeepLink: () => pelicanRef.current?.openDeepLink(),
63
+ };
64
+ };
65
+ //# sourceMappingURL=usePelicanAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePelicanAuth.js","sourceRoot":"","sources":["../../src/hooks/usePelicanAuth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElE,mBAAmB,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -197,7 +197,8 @@ var usePelicanAuth = (config) => {
197
197
  successMessage,
198
198
  useQrInstead: () => pelicanRef.current?.useQrInstead(),
199
199
  useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),
200
- useWebAuth: () => pelicanRef.current?.openWebAuth()
200
+ useWebAuth: () => pelicanRef.current?.openWebAuth(),
201
+ openDeepLink: () => pelicanRef.current?.openDeepLink()
201
202
  };
202
203
  };
203
204
  var StoreIcons = () => {
@@ -362,7 +363,8 @@ var PelicanAuth = (config) => {
362
363
  error,
363
364
  successMessage,
364
365
  useQrInstead,
365
- useWebAuth
366
+ useWebAuth,
367
+ openDeepLink
366
368
  } = usePelicanAuth({
367
369
  projectId: config.projectId,
368
370
  publicKey: config.publicKey,
@@ -867,7 +869,15 @@ opacity: 0.9;
867
869
  style: { width: "54px", height: "54px" }
868
870
  }
869
871
  ) }),
870
- /* @__PURE__ */ jsxRuntime.jsx("a", { href: deeplink, className: "open-app-link", children: "Launch Pelican Vault" }),
872
+ /* @__PURE__ */ jsxRuntime.jsx(
873
+ "button",
874
+ {
875
+ onClick: () => openDeepLink(),
876
+ className: "open-app-link",
877
+ type: "button",
878
+ children: "Launch Pelican Vault"
879
+ }
880
+ ),
871
881
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "helper-text", children: [
872
882
  "open app to",
873
883
  " ",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsxs","Fragment","jsx","useState","useRef","useEffect","PelicanAuthentication","useCallback","error"],"mappings":"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","file":"index.js","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n type,\n}: {\n authType: AuthType;\n text?: string;\n type: \"idle\" | \"cancel\";\n}) => {\n if (type === \"idle\") {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n height: 36px !important;\n\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" />\n <path\n d=\"M56.5511 56.8089C56.5705 55.5878 57.5734 54.0696 58.7917 53.4254C60.0572 52.7596 61.0322 53.2324 61.0193 54.5099C60.9978 55.744 59.9754 57.2947 58.7572 57.9346C57.539 58.5744 56.5296 58.0777 56.5511 56.8089ZM70.0957 49.6364C70.2081 49.5555 70.2954 49.4442 70.3475 49.3154C70.369 48.6278 70.3626 47.9555 70.3626 47.2354C68.4083 48.5172 66.5142 49.7665 64.6202 51.0158V53.2389L65.1174 52.9114C66.7725 51.8183 68.4341 50.7338 70.0957 49.6364ZM69.7147 58.5592C68.4463 60.5076 66.7916 62.1705 64.8548 63.4436C63.1329 64.6039 61.4778 65.222 59.9389 65.1787C58.359 65.1375 57.2893 64.3957 56.6695 62.9686C57.2678 62.448 57.8059 61.9665 58.344 61.4937C58.5418 61.8163 58.7688 62.1198 59.022 62.4003C60.0572 63.3828 61.5488 63.3134 63.3546 62.4762C63.5698 62.3743 63.77 62.2593 63.9809 62.1401C64.8419 61.6607 65.2874 61.1033 65.5069 60.123C65.6834 59.3053 65.7932 58.5158 65.9374 57.7068C66.1135 56.6524 66.4412 55.6295 66.9102 54.6704C67.4634 53.5512 68.2382 52.7184 69.2412 52.3085C70.1323 51.9528 70.7048 52.2065 70.9911 52.8854C71.6432 54.4687 71.0965 56.425 69.7147 58.5592ZM69.3273 54.5923C69.2714 54.434 69.1013 54.2691 68.9528 54.3168C68.8043 54.3646 68.5632 54.6877 68.4341 54.9068C68.2881 55.1536 68.1759 55.4192 68.1005 55.6963C67.8293 56.8913 67.5775 58.082 67.3106 59.2641C67.356 59.263 67.4013 59.2586 67.4462 59.2511C68.1303 58.4928 68.6892 57.6287 69.1013 56.6918C69.4349 55.8741 69.5038 55.1757 69.3273 54.5923ZM80.7949 39.7072V60.2726C80.7942 62.6299 80.1786 64.9455 79.0098 66.9874C77.841 69.0293 76.1601 70.7257 74.1356 71.9066L56.4607 82.1785C54.4328 83.3608 52.1313 83.9834 49.7885 83.9834C47.4456 83.9834 45.1441 83.3608 43.1162 82.1785L25.4671 71.9001C23.4402 70.7208 21.7567 69.0251 20.5856 66.9831C19.4145 64.9411 18.7969 62.6246 18.7949 60.2661V39.7007C18.7969 37.3422 19.4145 35.0257 20.5856 32.9837C21.7567 30.9417 23.4402 29.246 25.4671 28.0667L43.1378 17.7883C45.1657 16.606 47.4671 15.9834 49.81 15.9834C52.1529 15.9834 54.4543 16.606 56.4822 17.7883L74.1356 28.0667C76.1601 29.2476 77.841 30.944 79.0098 32.9859C80.1786 35.0278 80.7942 37.3434 80.7949 39.7007V39.7072ZM77.8333 47.6887C77.8333 42.3077 73.5007 40.2624 68.1629 43.134L52.9287 51.2956C51.6739 51.9679 50.6602 53.5382 50.6602 54.8005V77.5956C50.6602 78.8644 51.6739 79.3307 52.9287 78.6649L58.5936 75.6284C59.1636 75.3055 59.6456 74.8458 59.997 74.2902C60.3517 73.7796 60.5547 73.1777 60.5824 72.5551C60.5824 71.9435 61.0731 71.1887 61.6779 70.8655L64.4975 69.3473C65.0291 69.0653 65.5414 68.7769 66.0299 68.4797L68.1629 67.3411C73.5007 64.4716 77.8333 57.7979 77.8333 52.4082V47.6887Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <div>\n <p>\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n } else {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.6rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #f8f8f8ff !important;\n height: 30px !important;\n margin: 8px 0 !important;\n width: fit-content !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #111827 !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <svg\n fill=\"#111827\"\n stroke=\"#111827\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n height=\"16\"\n width=\"16\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={3}\n d=\"M6 18L18 6M6 6l12 12\"\n fill=\"#e94e4eff\"\n stroke=\"#e94e4eff\"\n color=\"#e94e4eff\"\n />\n </svg>\n <div>\n <p>cancel</p>\n </div>\n </div>\n </div>\n </>\n );\n }\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n useWebAuth: () => pelicanRef.current?.openWebAuth(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get the app\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n useWebAuth,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n border-radius: 10px;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n.js-auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n@media (min-width: 1024px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.mobile-auth-container {\n display: flex;\n flex-direction: column;\n gap: 0.7rem;\n width: 253px;\n background-color: #ffffff;\n border-radius: 10px;\n padding: 0 0 1rem 0;\n}\n\n.logo-container {\n display: flex;\n justify-content: center;\n padding: 2rem 0;\n}\n\n.open-app-link {\n display: inline-block;\n padding: 0.7rem 1.25rem;\n background-color: #101010ff;\n width: 70%;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\n font-size: 0.8rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.open-app-link:hover {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 10px;\n background-color: #fff;\n padding: 0.2rem;\n height: 244px;\n width: 244px;\n}\n\n.qr-image {\n height: 90%;\n width: 90%;\n}\n\n.loader-container {\n display: flex;\n justify-content: center;\n}\n\n.instruction-text {\n font-size: 0.875rem;\n color: #9ca3af;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.paired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 250px;\n}\n\n.web-auth-btn {\n all: unset; /* Reset all inherited styles */\n cursor: pointer;\n margin-top: 1rem;\n display: inline-block;\n padding: 0.7rem 2rem;\n background-color: #ffffff;\n width: fit-content;\n align-self: center;\nborder: 1px solid #e2e2e2ff;\n border-radius: 28px;\n color: #101010ff;\n font-weight: 500;\n font-size: 0.7rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.web-auth-btn:hover {\nopacity: 0.9;\n}\n\n.paired-heading {\n font-size: 1rem;\n font-weight: 800;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .paired-heading {\n font-size: 1rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.success-message {\n background-color: #121212;\n color: #d9eb1b;\n padding: 0.5rem 1rem;\n border-radius: 1.3rem;\n font-weight: 700;\n font-size: 1rem;\n animation: successPulse 0.2s ease-in-out;\n margin: 0.5rem 0;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: 300px;\n max-width: fit-content;\n}\n\n.auto-renew-badge {\n display: inline-block;\n background-color: rgba(217, 235, 27, 0.2);\n border: 1px solid #d9eb1b;\n color: #d9eb1b;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n margin-top: 0.5rem;\n}\n\n.scan-btn {\n all: unset;\n font-size: 0.7rem;\n color: #626262ff;\n background-color: #fafafaff;\n padding: 0.5rem 1.5rem;\n border-radius: 1.3rem;\n font-weight: 500;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: fit-content;\n align-self: center;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {state === \"idle\" && (\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n width: \"100%\",\n alignSelf: \"center\",\n }}\n onClick={() => {\n if (state !== \"idle\") {\n stop();\n config.onClose?.();\n } else {\n start();\n }\n }}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n type={\"idle\"}\n />\n )}\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">\n {\" \"}\n Open Pelican Vault mobile app\n </h2>\n )}\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <img\n src=\"https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png \"\n alt=\"Pelican Logo\"\n style={{ width: \"54px\", height: \"54px\" }}\n />\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Launch Pelican Vault\n </a>\n <p className=\"helper-text\">\n open app to{\" \"}\n {config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verify identity\"\n : \"authenticate\"}\n </p>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n or scan QR code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n {state === \"awaiting-pair\" && (\n <button\n type=\"button\"\n className=\"web-auth-btn\"\n onClick={useWebAuth}\n >\n Use web vault\n </button>\n )}\n </div>\n )}\n </div>\n\n {state !== \"idle\" && (\n <div\n style={{\n width: \"300px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n\n alignSelf: \"center\",\n }}\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n >\n <PelicanButton\n authType={config.authType}\n text={`Cancel`}\n type={\"cancel\"}\n />\n </button>\n </div>\n )}\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
1
+ {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsxs","Fragment","jsx","useState","useRef","useEffect","PelicanAuthentication","useCallback","error"],"mappings":"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","file":"index.js","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n type,\n}: {\n authType: AuthType;\n text?: string;\n type: \"idle\" | \"cancel\";\n}) => {\n if (type === \"idle\") {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n height: 36px !important;\n\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" />\n <path\n d=\"M56.5511 56.8089C56.5705 55.5878 57.5734 54.0696 58.7917 53.4254C60.0572 52.7596 61.0322 53.2324 61.0193 54.5099C60.9978 55.744 59.9754 57.2947 58.7572 57.9346C57.539 58.5744 56.5296 58.0777 56.5511 56.8089ZM70.0957 49.6364C70.2081 49.5555 70.2954 49.4442 70.3475 49.3154C70.369 48.6278 70.3626 47.9555 70.3626 47.2354C68.4083 48.5172 66.5142 49.7665 64.6202 51.0158V53.2389L65.1174 52.9114C66.7725 51.8183 68.4341 50.7338 70.0957 49.6364ZM69.7147 58.5592C68.4463 60.5076 66.7916 62.1705 64.8548 63.4436C63.1329 64.6039 61.4778 65.222 59.9389 65.1787C58.359 65.1375 57.2893 64.3957 56.6695 62.9686C57.2678 62.448 57.8059 61.9665 58.344 61.4937C58.5418 61.8163 58.7688 62.1198 59.022 62.4003C60.0572 63.3828 61.5488 63.3134 63.3546 62.4762C63.5698 62.3743 63.77 62.2593 63.9809 62.1401C64.8419 61.6607 65.2874 61.1033 65.5069 60.123C65.6834 59.3053 65.7932 58.5158 65.9374 57.7068C66.1135 56.6524 66.4412 55.6295 66.9102 54.6704C67.4634 53.5512 68.2382 52.7184 69.2412 52.3085C70.1323 51.9528 70.7048 52.2065 70.9911 52.8854C71.6432 54.4687 71.0965 56.425 69.7147 58.5592ZM69.3273 54.5923C69.2714 54.434 69.1013 54.2691 68.9528 54.3168C68.8043 54.3646 68.5632 54.6877 68.4341 54.9068C68.2881 55.1536 68.1759 55.4192 68.1005 55.6963C67.8293 56.8913 67.5775 58.082 67.3106 59.2641C67.356 59.263 67.4013 59.2586 67.4462 59.2511C68.1303 58.4928 68.6892 57.6287 69.1013 56.6918C69.4349 55.8741 69.5038 55.1757 69.3273 54.5923ZM80.7949 39.7072V60.2726C80.7942 62.6299 80.1786 64.9455 79.0098 66.9874C77.841 69.0293 76.1601 70.7257 74.1356 71.9066L56.4607 82.1785C54.4328 83.3608 52.1313 83.9834 49.7885 83.9834C47.4456 83.9834 45.1441 83.3608 43.1162 82.1785L25.4671 71.9001C23.4402 70.7208 21.7567 69.0251 20.5856 66.9831C19.4145 64.9411 18.7969 62.6246 18.7949 60.2661V39.7007C18.7969 37.3422 19.4145 35.0257 20.5856 32.9837C21.7567 30.9417 23.4402 29.246 25.4671 28.0667L43.1378 17.7883C45.1657 16.606 47.4671 15.9834 49.81 15.9834C52.1529 15.9834 54.4543 16.606 56.4822 17.7883L74.1356 28.0667C76.1601 29.2476 77.841 30.944 79.0098 32.9859C80.1786 35.0278 80.7942 37.3434 80.7949 39.7007V39.7072ZM77.8333 47.6887C77.8333 42.3077 73.5007 40.2624 68.1629 43.134L52.9287 51.2956C51.6739 51.9679 50.6602 53.5382 50.6602 54.8005V77.5956C50.6602 78.8644 51.6739 79.3307 52.9287 78.6649L58.5936 75.6284C59.1636 75.3055 59.6456 74.8458 59.997 74.2902C60.3517 73.7796 60.5547 73.1777 60.5824 72.5551C60.5824 71.9435 61.0731 71.1887 61.6779 70.8655L64.4975 69.3473C65.0291 69.0653 65.5414 68.7769 66.0299 68.4797L68.1629 67.3411C73.5007 64.4716 77.8333 57.7979 77.8333 52.4082V47.6887Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <div>\n <p>\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n } else {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.6rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #f8f8f8ff !important;\n height: 30px !important;\n margin: 8px 0 !important;\n width: fit-content !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #111827 !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <svg\n fill=\"#111827\"\n stroke=\"#111827\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n height=\"16\"\n width=\"16\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={3}\n d=\"M6 18L18 6M6 6l12 12\"\n fill=\"#e94e4eff\"\n stroke=\"#e94e4eff\"\n color=\"#e94e4eff\"\n />\n </svg>\n <div>\n <p>cancel</p>\n </div>\n </div>\n </div>\n </>\n );\n }\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n useWebAuth: () => pelicanRef.current?.openWebAuth(),\n openDeepLink: () => pelicanRef.current?.openDeepLink(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get the app\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n useWebAuth,\n openDeepLink,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n border-radius: 10px;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n.js-auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n@media (min-width: 1024px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.mobile-auth-container {\n display: flex;\n flex-direction: column;\n gap: 0.7rem;\n width: 253px;\n background-color: #ffffff;\n border-radius: 10px;\n padding: 0 0 1rem 0;\n}\n\n.logo-container {\n display: flex;\n justify-content: center;\n padding: 2rem 0;\n}\n\n.open-app-link {\n display: inline-block;\n padding: 0.7rem 1.25rem;\n background-color: #101010ff;\n width: 70%;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\n font-size: 0.8rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.open-app-link:hover {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 10px;\n background-color: #fff;\n padding: 0.2rem;\n height: 244px;\n width: 244px;\n}\n\n.qr-image {\n height: 90%;\n width: 90%;\n}\n\n.loader-container {\n display: flex;\n justify-content: center;\n}\n\n.instruction-text {\n font-size: 0.875rem;\n color: #9ca3af;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.paired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 250px;\n}\n\n.web-auth-btn {\n all: unset; /* Reset all inherited styles */\n cursor: pointer;\n margin-top: 1rem;\n display: inline-block;\n padding: 0.7rem 2rem;\n background-color: #ffffff;\n width: fit-content;\n align-self: center;\nborder: 1px solid #e2e2e2ff;\n border-radius: 28px;\n color: #101010ff;\n font-weight: 500;\n font-size: 0.7rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.web-auth-btn:hover {\nopacity: 0.9;\n}\n\n.paired-heading {\n font-size: 1rem;\n font-weight: 800;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .paired-heading {\n font-size: 1rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.success-message {\n background-color: #121212;\n color: #d9eb1b;\n padding: 0.5rem 1rem;\n border-radius: 1.3rem;\n font-weight: 700;\n font-size: 1rem;\n animation: successPulse 0.2s ease-in-out;\n margin: 0.5rem 0;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: 300px;\n max-width: fit-content;\n}\n\n.auto-renew-badge {\n display: inline-block;\n background-color: rgba(217, 235, 27, 0.2);\n border: 1px solid #d9eb1b;\n color: #d9eb1b;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n margin-top: 0.5rem;\n}\n\n.scan-btn {\n all: unset;\n font-size: 0.7rem;\n color: #626262ff;\n background-color: #fafafaff;\n padding: 0.5rem 1.5rem;\n border-radius: 1.3rem;\n font-weight: 500;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: fit-content;\n align-self: center;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {state === \"idle\" && (\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n width: \"100%\",\n alignSelf: \"center\",\n }}\n onClick={() => {\n if (state !== \"idle\") {\n stop();\n config.onClose?.();\n } else {\n start();\n }\n }}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n type={\"idle\"}\n />\n )}\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">\n {\" \"}\n Open Pelican Vault mobile app\n </h2>\n )}\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <img\n src=\"https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png \"\n alt=\"Pelican Logo\"\n style={{ width: \"54px\", height: \"54px\" }}\n />\n </div>\n <button\n onClick={() => openDeepLink()}\n className=\"open-app-link\"\n type=\"button\"\n >\n Launch Pelican Vault\n </button>\n <p className=\"helper-text\">\n open app to{\" \"}\n {config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verify identity\"\n : \"authenticate\"}\n </p>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n or scan QR code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n {state === \"awaiting-pair\" && (\n <button\n type=\"button\"\n className=\"web-auth-btn\"\n onClick={useWebAuth}\n >\n Use web vault\n </button>\n )}\n </div>\n )}\n </div>\n\n {state !== \"idle\" && (\n <div\n style={{\n width: \"300px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n\n alignSelf: \"center\",\n }}\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n >\n <PelicanButton\n authType={config.authType}\n text={`Cancel`}\n type={\"cancel\"}\n />\n </button>\n </div>\n )}\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
package/dist/index.mjs CHANGED
@@ -195,7 +195,8 @@ var usePelicanAuth = (config) => {
195
195
  successMessage,
196
196
  useQrInstead: () => pelicanRef.current?.useQrInstead(),
197
197
  useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),
198
- useWebAuth: () => pelicanRef.current?.openWebAuth()
198
+ useWebAuth: () => pelicanRef.current?.openWebAuth(),
199
+ openDeepLink: () => pelicanRef.current?.openDeepLink()
199
200
  };
200
201
  };
201
202
  var StoreIcons = () => {
@@ -360,7 +361,8 @@ var PelicanAuth = (config) => {
360
361
  error,
361
362
  successMessage,
362
363
  useQrInstead,
363
- useWebAuth
364
+ useWebAuth,
365
+ openDeepLink
364
366
  } = usePelicanAuth({
365
367
  projectId: config.projectId,
366
368
  publicKey: config.publicKey,
@@ -865,7 +867,15 @@ opacity: 0.9;
865
867
  style: { width: "54px", height: "54px" }
866
868
  }
867
869
  ) }),
868
- /* @__PURE__ */ jsx("a", { href: deeplink, className: "open-app-link", children: "Launch Pelican Vault" }),
870
+ /* @__PURE__ */ jsx(
871
+ "button",
872
+ {
873
+ onClick: () => openDeepLink(),
874
+ className: "open-app-link",
875
+ type: "button",
876
+ children: "Launch Pelican Vault"
877
+ }
878
+ ),
869
879
  /* @__PURE__ */ jsxs("p", { className: "helper-text", children: [
870
880
  "open app to",
871
881
  " ",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsx","jsxs","error","useEffect","Fragment"],"mappings":"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","file":"index.mjs","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n type,\n}: {\n authType: AuthType;\n text?: string;\n type: \"idle\" | \"cancel\";\n}) => {\n if (type === \"idle\") {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n height: 36px !important;\n\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" />\n <path\n d=\"M56.5511 56.8089C56.5705 55.5878 57.5734 54.0696 58.7917 53.4254C60.0572 52.7596 61.0322 53.2324 61.0193 54.5099C60.9978 55.744 59.9754 57.2947 58.7572 57.9346C57.539 58.5744 56.5296 58.0777 56.5511 56.8089ZM70.0957 49.6364C70.2081 49.5555 70.2954 49.4442 70.3475 49.3154C70.369 48.6278 70.3626 47.9555 70.3626 47.2354C68.4083 48.5172 66.5142 49.7665 64.6202 51.0158V53.2389L65.1174 52.9114C66.7725 51.8183 68.4341 50.7338 70.0957 49.6364ZM69.7147 58.5592C68.4463 60.5076 66.7916 62.1705 64.8548 63.4436C63.1329 64.6039 61.4778 65.222 59.9389 65.1787C58.359 65.1375 57.2893 64.3957 56.6695 62.9686C57.2678 62.448 57.8059 61.9665 58.344 61.4937C58.5418 61.8163 58.7688 62.1198 59.022 62.4003C60.0572 63.3828 61.5488 63.3134 63.3546 62.4762C63.5698 62.3743 63.77 62.2593 63.9809 62.1401C64.8419 61.6607 65.2874 61.1033 65.5069 60.123C65.6834 59.3053 65.7932 58.5158 65.9374 57.7068C66.1135 56.6524 66.4412 55.6295 66.9102 54.6704C67.4634 53.5512 68.2382 52.7184 69.2412 52.3085C70.1323 51.9528 70.7048 52.2065 70.9911 52.8854C71.6432 54.4687 71.0965 56.425 69.7147 58.5592ZM69.3273 54.5923C69.2714 54.434 69.1013 54.2691 68.9528 54.3168C68.8043 54.3646 68.5632 54.6877 68.4341 54.9068C68.2881 55.1536 68.1759 55.4192 68.1005 55.6963C67.8293 56.8913 67.5775 58.082 67.3106 59.2641C67.356 59.263 67.4013 59.2586 67.4462 59.2511C68.1303 58.4928 68.6892 57.6287 69.1013 56.6918C69.4349 55.8741 69.5038 55.1757 69.3273 54.5923ZM80.7949 39.7072V60.2726C80.7942 62.6299 80.1786 64.9455 79.0098 66.9874C77.841 69.0293 76.1601 70.7257 74.1356 71.9066L56.4607 82.1785C54.4328 83.3608 52.1313 83.9834 49.7885 83.9834C47.4456 83.9834 45.1441 83.3608 43.1162 82.1785L25.4671 71.9001C23.4402 70.7208 21.7567 69.0251 20.5856 66.9831C19.4145 64.9411 18.7969 62.6246 18.7949 60.2661V39.7007C18.7969 37.3422 19.4145 35.0257 20.5856 32.9837C21.7567 30.9417 23.4402 29.246 25.4671 28.0667L43.1378 17.7883C45.1657 16.606 47.4671 15.9834 49.81 15.9834C52.1529 15.9834 54.4543 16.606 56.4822 17.7883L74.1356 28.0667C76.1601 29.2476 77.841 30.944 79.0098 32.9859C80.1786 35.0278 80.7942 37.3434 80.7949 39.7007V39.7072ZM77.8333 47.6887C77.8333 42.3077 73.5007 40.2624 68.1629 43.134L52.9287 51.2956C51.6739 51.9679 50.6602 53.5382 50.6602 54.8005V77.5956C50.6602 78.8644 51.6739 79.3307 52.9287 78.6649L58.5936 75.6284C59.1636 75.3055 59.6456 74.8458 59.997 74.2902C60.3517 73.7796 60.5547 73.1777 60.5824 72.5551C60.5824 71.9435 61.0731 71.1887 61.6779 70.8655L64.4975 69.3473C65.0291 69.0653 65.5414 68.7769 66.0299 68.4797L68.1629 67.3411C73.5007 64.4716 77.8333 57.7979 77.8333 52.4082V47.6887Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <div>\n <p>\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n } else {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.6rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #f8f8f8ff !important;\n height: 30px !important;\n margin: 8px 0 !important;\n width: fit-content !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #111827 !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <svg\n fill=\"#111827\"\n stroke=\"#111827\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n height=\"16\"\n width=\"16\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={3}\n d=\"M6 18L18 6M6 6l12 12\"\n fill=\"#e94e4eff\"\n stroke=\"#e94e4eff\"\n color=\"#e94e4eff\"\n />\n </svg>\n <div>\n <p>cancel</p>\n </div>\n </div>\n </div>\n </>\n );\n }\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n useWebAuth: () => pelicanRef.current?.openWebAuth(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get the app\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n useWebAuth,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n border-radius: 10px;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n.js-auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n@media (min-width: 1024px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.mobile-auth-container {\n display: flex;\n flex-direction: column;\n gap: 0.7rem;\n width: 253px;\n background-color: #ffffff;\n border-radius: 10px;\n padding: 0 0 1rem 0;\n}\n\n.logo-container {\n display: flex;\n justify-content: center;\n padding: 2rem 0;\n}\n\n.open-app-link {\n display: inline-block;\n padding: 0.7rem 1.25rem;\n background-color: #101010ff;\n width: 70%;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\n font-size: 0.8rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.open-app-link:hover {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 10px;\n background-color: #fff;\n padding: 0.2rem;\n height: 244px;\n width: 244px;\n}\n\n.qr-image {\n height: 90%;\n width: 90%;\n}\n\n.loader-container {\n display: flex;\n justify-content: center;\n}\n\n.instruction-text {\n font-size: 0.875rem;\n color: #9ca3af;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.paired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 250px;\n}\n\n.web-auth-btn {\n all: unset; /* Reset all inherited styles */\n cursor: pointer;\n margin-top: 1rem;\n display: inline-block;\n padding: 0.7rem 2rem;\n background-color: #ffffff;\n width: fit-content;\n align-self: center;\nborder: 1px solid #e2e2e2ff;\n border-radius: 28px;\n color: #101010ff;\n font-weight: 500;\n font-size: 0.7rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.web-auth-btn:hover {\nopacity: 0.9;\n}\n\n.paired-heading {\n font-size: 1rem;\n font-weight: 800;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .paired-heading {\n font-size: 1rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.success-message {\n background-color: #121212;\n color: #d9eb1b;\n padding: 0.5rem 1rem;\n border-radius: 1.3rem;\n font-weight: 700;\n font-size: 1rem;\n animation: successPulse 0.2s ease-in-out;\n margin: 0.5rem 0;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: 300px;\n max-width: fit-content;\n}\n\n.auto-renew-badge {\n display: inline-block;\n background-color: rgba(217, 235, 27, 0.2);\n border: 1px solid #d9eb1b;\n color: #d9eb1b;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n margin-top: 0.5rem;\n}\n\n.scan-btn {\n all: unset;\n font-size: 0.7rem;\n color: #626262ff;\n background-color: #fafafaff;\n padding: 0.5rem 1.5rem;\n border-radius: 1.3rem;\n font-weight: 500;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: fit-content;\n align-self: center;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {state === \"idle\" && (\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n width: \"100%\",\n alignSelf: \"center\",\n }}\n onClick={() => {\n if (state !== \"idle\") {\n stop();\n config.onClose?.();\n } else {\n start();\n }\n }}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n type={\"idle\"}\n />\n )}\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">\n {\" \"}\n Open Pelican Vault mobile app\n </h2>\n )}\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <img\n src=\"https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png \"\n alt=\"Pelican Logo\"\n style={{ width: \"54px\", height: \"54px\" }}\n />\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Launch Pelican Vault\n </a>\n <p className=\"helper-text\">\n open app to{\" \"}\n {config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verify identity\"\n : \"authenticate\"}\n </p>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n or scan QR code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n {state === \"awaiting-pair\" && (\n <button\n type=\"button\"\n className=\"web-auth-btn\"\n onClick={useWebAuth}\n >\n Use web vault\n </button>\n )}\n </div>\n )}\n </div>\n\n {state !== \"idle\" && (\n <div\n style={{\n width: \"300px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n\n alignSelf: \"center\",\n }}\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n >\n <PelicanButton\n authType={config.authType}\n text={`Cancel`}\n type={\"cancel\"}\n />\n </button>\n </div>\n )}\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
1
+ {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsx","jsxs","error","useEffect","Fragment"],"mappings":";;;;;AAEA,IAAM,gBAAgB,CAAC;AAAA,EACrB,QAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,IAAI,SAAS,MAAA,EAAQ;AACnB,IAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAA,EAAA,EACE,QAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA,EAsCH,CAAA;AAAA,0BACC,KAAA,EAAA,EAAI,SAAA,EAAU,4BACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAM,IAAA;AAAA,YACN,MAAA,EAAO,IAAA;AAAA,YACP,OAAA,EAAQ,aAAA;AAAA,YACR,IAAA,EAAK,MAAA;AAAA,YACL,KAAA,EAAM,4BAAA;AAAA,YACN,IAAA,EAAK,KAAA;AAAA,YACL,YAAA,EAAW,cAAA;AAAA,YAEX,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,UAAK,KAAA,EAAM,KAAA,EAAM,MAAA,EAAO,KAAA,EAAM,IAAG,IAAA,EAAK,CAAA;AAAA,8BACvC,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,CAAA,EAAE,8gFAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA;AACP;AAAA;AAAA,SACF,EACF,CAAA;AAAA,4BACC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,OACE,QAAA,EAAA,IAAA,oBACC,GAAA,CAAC,UACE,QAAA,EAAA,QAAA,KAAa,OAAA,GACV,oBAAA,GACA,QAAA,KAAa,WACX,qBAAA,GACA,QAAA,KAAa,oBACX,qBAAA,GACA,2BAAA,EACV,GAEJ,CAAA,EACF;AAAA,OAAA,EACF,CAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ,CAAA,MAAO;AACL,IAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAA,EAAA,EACE,QAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAAA,EAoCH,CAAA;AAAA,0BACC,KAAA,EAAA,EAAI,SAAA,EAAU,4BACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,SAAA;AAAA,YACL,MAAA,EAAO,SAAA;AAAA,YACP,OAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAK,KAAA;AAAA,YACL,YAAA,EAAW,YAAA;AAAA,YACX,MAAA,EAAO,IAAA;AAAA,YACP,KAAA,EAAM,IAAA;AAAA,YAEN,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,aAAA,EAAc,OAAA;AAAA,gBACd,cAAA,EAAe,OAAA;AAAA,gBACf,WAAA,EAAa,CAAA;AAAA,gBACb,CAAA,EAAE,sBAAA;AAAA,gBACF,IAAA,EAAK,WAAA;AAAA,gBACL,MAAA,EAAO,WAAA;AAAA,gBACP,KAAA,EAAM;AAAA;AAAA;AACR;AAAA,SACF;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,oBAAM,CAAA,EACX;AAAA,OAAA,EACF,CAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,IAAO,qBAAA,GAAQ,aAAA;AC7JR,IAAM,cAAA,GAAiB,CAAC,MAAA,KAAgC;AAC7D,EAAA,MAAM,CAAC,EAAA,EAAI,KAAK,CAAA,GAAI,SAAwB,IAAI,CAAA;AAChD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAwB,IAAI,CAAA;AAC5D,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAuB,IAAI,CAAA;AACjD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAA2B,MAAM,CAAA;AAC3D,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAwB,IAAI,CAAA;AACxE,EAAA,MAAM,UAAA,GAAa,OAAqC,IAAI,CAAA;AAC5D,EAAA,MAAM,OAAA,GACJ,MAAA,CAAO,QAAA,KAAa,OAAA,GAChB,OAAA,GACA,MAAA,CAAO,QAAA,KAAa,QAAA,GAClB,QAAA,GACA,MAAA,CAAO,QAAA,KAAa,iBAAA,GAClB,cAAA,GACA,gBAAA;AAEV,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAA,GAAU,IAAI,qBAAA,CAAsB,MAAM,CAAA;AAChD,IAAA,UAAA,CAAW,OAAA,GAAU,OAAA;AAGrB,IAAA,MAAM,KAAA,GAAQ;AAAA,MACZ,OAAA,CAAQ,EAAA,CAAG,IAAA,EAAM,KAAK,CAAA;AAAA,MACtB,OAAA,CAAQ,EAAA,CAAG,UAAA,EAAY,WAAW,CAAA;AAAA,MAClC,OAAA,CAAQ,EAAA,CAAG,SAAA,EAAW,CAAC,QAAA,KAAa;AAClC,QAAA,MAAA,CAAO,UAAU,QAAQ,CAAA;AACzB,QAAA,IAAI,OAAO,cAAA,EAAgB;AACzB,UAAA,iBAAA,CAAkB,CAAA,EAAG,OAAO,CAAA,UAAA,CAAY,CAAA;AACxC,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,UACxB,GAAG,GAAI,CAAA;AAAA,QACT;AAAA,MACF,CAAC,CAAA;AAAA,MACD,OAAA,CAAQ,EAAA,CAAG,OAAA,EAAS,CAAC,KAAA,KAAU;AAC7B,QAAA,MAAA,CAAO,KAAK,CAAA;AACZ,QAAA,MAAA,CAAO,UAAU,KAAK,CAAA;AAAA,MACxB,CAAC,CAAA;AAAA,MACD,OAAA,CAAQ,EAAA,CAAG,OAAA,EAAS,QAAQ;AAAA,KAC9B;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,EAAA,KAAO,EAAA,EAAI,CAAA;AAC1B,MAAA,OAAA,CAAQ,OAAA,EAAQ;AAAA,IAClB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,CAAO,SAAA,EAAW,OAAO,SAAA,EAAW,MAAA,CAAO,QAAQ,CAAC,CAAA;AAExD,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,UAAA,CAAW,SAAS,KAAA,EAAM;AAAA,EAC5B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,UAAA,CAAW,SAAS,IAAA,EAAK;AAAA,EAC3B,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,IAAA;AAAA,IACA,EAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAc,CAAC,cAAA,EAAgB,UAAU,eAAe,CAAA,CAAE,SAAS,KAAK,CAAA;AAAA,IACxE,MAAA,EAAQ,KAAA,KAAU,WAAA,IAAe,KAAA,KAAU,eAAA;AAAA,IAC3C,KAAA,EAAO,GAAA;AAAA,IACP,cAAA;AAAA,IACA,YAAA,EAAc,MAAM,UAAA,CAAW,OAAA,EAAS,YAAA,EAAa;AAAA,IACrD,kBAAA,EAAoB,MAAM,UAAA,CAAW,OAAA,EAAS,kBAAA,EAAmB;AAAA,IACjE,UAAA,EAAY,MAAM,UAAA,CAAW,OAAA,EAAS,WAAA,EAAY;AAAA,IAClD,YAAA,EAAc,MAAM,UAAA,CAAW,OAAA,EAAS,YAAA;AAAa,GACvD;AACF,CAAA;AC3EA,IAAM,aAAa,MAAM;AACvB,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,MAAA;AAAA,QACT,cAAA,EAAgB,QAAA;AAAA,QAChB,UAAA,EAAY;AAAA,OACd;AAAA,MAEA,QAAA,kBAAAC,IAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,OAAA,EAAS,MAAA;AAAA,YACT,cAAA,EAAgB,QAAA;AAAA,YAChB,UAAA,EAAY,QAAA;AAAA,YAEZ,YAAA,EAAc,QAAA;AAAA,YACd,GAAA,EAAK,QAAA;AAAA,YAEL,MAAA,EAAQ;AAAA,WACV;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAAD,GAAAA,CAAC,SACC,QAAA,kBAAAA,GAAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAO;AAAA,kBACL,QAAA,EAAU,MAAA;AAAA,kBACV,UAAA,EAAY,KAAA;AAAA,kBACZ,KAAA,EAAO,SAAA;AAAA,kBACP,UAAA,EACE;AAAA,iBACJ;AAAA,gBACD,QAAA,EAAA;AAAA;AAAA,aAED,EACF,CAAA;AAAA,4BACAA,GAAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,0DAAA;AAAA,gBACL,MAAA,EAAO,QAAA;AAAA,gBACP,GAAA,EAAI,qBAAA;AAAA,gBAEJ,QAAA,kBAAAA,GAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAO;AAAA,sBACL,OAAA,EAAS,MAAA;AAAA,sBACT,UAAA,EAAY,QAAA;AAAA,sBACZ,cAAA,EAAgB,QAAA;AAAA,sBAChB,GAAA,EAAK,QAAA;AAAA,sBACL,MAAA,EAAQ,SAAA;AAAA,sBACR,MAAA,EAAQ,MAAA;AAAA,sBACR,KAAA,EAAO,MAAA;AAAA,sBACP,YAAA,EAAc,QAAA;AAAA,sBACd,UAAA,EAAY,sBAAA;AAAA,sBACZ,MAAA,EAAQ;AAAA,qBACV;AAAA,oBACA,YAAA,EAAc,CAAC,CAAA,KAAM;AACnB,sBAAA,CAAA,CAAE,aAAA,CAAc,MAAM,eAAA,GAAkB,SAAA;AAAA,oBAC1C,CAAA;AAAA,oBACA,YAAA,EAAc,CAAC,CAAA,KAAM;AACnB,sBAAA,CAAA,CAAE,aAAA,CAAc,MAAM,eAAA,GAAkB,aAAA;AAAA,oBAC1C,CAAA;AAAA,oBAEA,QAAA,kBAAAA,IAAC,KAAA,EAAA,EAAM;AAAA;AAAA;AACT;AAAA,aACF;AAAA,4BACAA,GAAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,kFAAA;AAAA,gBACL,MAAA,EAAO,QAAA;AAAA,gBACP,GAAA,EAAI,qBAAA;AAAA,gBAEJ,QAAA,kBAAAA,GAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAO;AAAA,sBACL,OAAA,EAAS,MAAA;AAAA,sBACT,UAAA,EAAY,QAAA;AAAA,sBACZ,cAAA,EAAgB,QAAA;AAAA,sBAChB,GAAA,EAAK,QAAA;AAAA,sBACL,MAAA,EAAQ,SAAA;AAAA,sBACR,MAAA,EAAQ,MAAA;AAAA,sBACR,KAAA,EAAO,MAAA;AAAA,sBACP,YAAA,EAAc,QAAA;AAAA,sBACd,UAAA,EAAY,sBAAA;AAAA,sBACZ,MAAA,EAAQ;AAAA,qBACV;AAAA,oBACA,YAAA,EAAc,CAAC,CAAA,KAAM;AACnB,sBAAA,CAAA,CAAE,aAAA,CAAc,MAAM,eAAA,GAAkB,SAAA;AAAA,oBAC1C,CAAA;AAAA,oBACA,YAAA,EAAc,CAAC,CAAA,KAAM;AACnB,sBAAA,CAAA,CAAE,aAAA,CAAc,MAAM,eAAA,GAAkB,aAAA;AAAA,oBAC1C,CAAA;AAAA,oBAEA,QAAA,kBAAAA,IAAC,SAAA,EAAA,EAAU;AAAA;AAAA;AACb;AAAA;AACF;AAAA;AAAA;AACF;AAAA,GACF;AAEJ,CAAA;AAEA,IAAM,QAAQ,MAAM;AAClB,EAAA,uBACEC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAM,4BAAA;AAAA,MACN,IAAA,EAAK,KAAA;AAAA,MACL,YAAA,EAAW,YAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAD,GAAAA,CAAC,GAAA,EAAA,EAAE,QAAA,EAAS,wBAAA,EACV,QAAA,kBAAAA,GAAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAS,SAAA;AAAA,YACT,QAAA,EAAS,SAAA;AAAA,YACT,CAAA,EAAE,4uBAAA;AAAA,YACF,IAAA,EAAK;AAAA;AAAA,SACP,EACF,CAAA;AAAA,wBACAA,GAAAA,CAAC,MAAA,EAAA,EACC,0BAAAA,GAAAA,CAAC,UAAA,EAAA,EAAS,IAAG,kBAAA,EACX,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,OAAM,SAAA,EAAU,MAAA,EAAO,WAAU,IAAA,EAAK,SAAA,EAAU,GACxD,CAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ,CAAA;AAEA,IAAM,YAAY,MAAM;AACtB,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAM,4BAAA;AAAA,MACN,IAAA,EAAK,KAAA;AAAA,MACL,YAAA,EAAW,WAAA;AAAA,MAEX,QAAA,kBAAAA,GAAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,CAAA,EAAE,01BAAA;AAAA,UACF,IAAA,EAAK;AAAA;AAAA;AACP;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,kBAAA,GAAQ,UAAA;ACvIf,IAAM,WAAA,GAAc,CAAC,MAAA,KAAgC;AACnD,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,EAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,cAAA,CAAe;AAAA,IACjB,WAAW,MAAA,CAAO,SAAA;AAAA,IAClB,WAAW,MAAA,CAAO,SAAA;AAAA,IAClB,UAAU,MAAA,CAAO,QAAA;AAAA,IACjB,SAAS,MAAA,CAAO,OAAA;AAAA,IAChB,gBAAgB,MAAA,CAAO,cAAA;AAAA,IACvB,aAAa,MAAA,CAAO,WAAA;AAAA,IACpB,SAAA,EAAW,CAAC,QAAA,KAAa;AACvB,MAAA,MAAA,CAAO,UAAU,QAAQ,CAAA;AAAA,IAC3B,CAAA;AAAA,IACA,OAAA,EAAS,CAACE,MAAAA,KAAU;AAClB,MAAA,MAAA,CAAO,UAAUA,MAAK,CAAA;AAAA,IACxB;AAAA,GACD,CAAA;AACD,EAAAC,UAAU,MAAM;AACd,IAAA,IAAI,OAAO,cAAA,EAAgB;AACzB,MAAA,KAAA,EAAM;AAAA,IACR;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,CAAO,cAAc,CAAC,CAAA;AAC1B,EAAA,uBACEF,IAAAA,CAAAG,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAJ,IAAC,OAAA,EAAA,EACE,QAAA,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,EAuXH,CAAA;AAAA,oBACAC,KAAC,SAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAD,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,MAAA;AAAA,YACP,cAAA,EAAgB,eAAA;AAAA,YAChB,UAAA,EAAY,QAAA;AAAA,YACZ,QAAA,EAAU;AAAA,WACZ;AAAA,UAEC,QAAA,EAAA,CAAC,MAAA,CAAO,cAAA,oBACPA,GAAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAO;AAAA,gBACL,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,eAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEC,QAAA,EAAA,KAAA,KAAU,0BACTA,GAAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,QAAA;AAAA,kBACL,KAAA,EAAO;AAAA,oBACL,MAAA,EAAQ,MAAA;AAAA,oBACR,UAAA,EAAY,aAAA;AAAA,oBACZ,MAAA,EAAQ,SAAA;AAAA,oBACR,KAAA,EAAO,MAAA;AAAA,oBACP,SAAA,EAAW;AAAA,mBACb;AAAA,kBACA,SAAS,MAAM;AACb,oBAAA,IAAI,UAAU,MAAA,EAAQ;AACpB,sBAAA,IAAA,EAAK;AACL,sBAAA,MAAA,CAAO,OAAA,IAAU;AAAA,oBACnB,CAAA,MAAO;AACL,sBAAA,KAAA,EAAM;AAAA,oBACR;AAAA,kBACF,CAAA;AAAA,kBAEC,QAAA,EAAA,MAAA,CAAO,eAAA,GACN,MAAA,CAAO,eAAA,mBAEPA,GAAAA;AAAA,oBAAC,qBAAA;AAAA,oBAAA;AAAA,sBACC,UAAU,MAAA,CAAO,QAAA;AAAA,sBACjB,MAAM,MAAA,CAAO,UAAA;AAAA,sBACb,IAAA,EAAM;AAAA;AAAA;AACR;AAAA;AAEJ;AAAA;AAEJ;AAAA,OAEJ;AAAA,sBACAA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,MAAA;AAAA,YACP,OAAA,EAAS,MAAA;AAAA,YACT,cAAA,EAAgB,QAAA;AAAA,YAChB,UAAA,EAAY,QAAA;AAAA,YACZ,QAAA,EAAU;AAAA,WACZ;AAAA,UAEC,oBAAU,MAAA,oBACTC,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,gBAAA,EACZ,QAAA,EAAA;AAAA,YAAA,cAAA,oBACCA,IAAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,iBAAA;AAAA,gBACV,KAAA,EAAO,EAAE,SAAA,EAAW,QAAA,EAAS;AAAA,gBAE5B,QAAA,EAAA;AAAA,kBAAA,cAAA;AAAA,kBACA,MAAA,CAAO,kCACND,GAAAA;AAAA,oBAAC,GAAA;AAAA,oBAAA;AAAA,sBACC,KAAA,EAAO;AAAA,wBACL,QAAA,EAAU,QAAA;AAAA,wBACV,SAAA,EAAW,QAAA;AAAA,wBACX,KAAA,EAAO,SAAA;AAAA,wBACP,SAAA,EAAW;AAAA,uBACb;AAAA,sBACD,QAAA,EAAA;AAAA;AAAA;AAED;AAAA;AAAA,aAEJ;AAAA,YAED,KAAA,IAAS,KAAA,KAAU,OAAA,oBAClBA,IAAC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACb,QAAA,kBAAAA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,eAAA,EAAiB,QAAA,EAAA,KAAA,CAAM,SAAQ,CAAA,EAC9C,CAAA;AAAA,YAGD,YAAA,mBACCC,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iBAAA,EACb,QAAA,EAAA;AAAA,8BAAAD,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,YAAA,EAAU,CAAA;AAAA,8BAEvCA,GAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,QAAA;AAAA,kBACV,KAAA,EAAO,EAAE,MAAA,EAAQ,WAAA,EAAa,OAAO,OAAA;AAAQ;AAAA;AAC9C,aAAA,EACH,CAAA,mBAEAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iBAAA,EACZ,QAAA,EAAA,KAAA,KAAU,eAAA,IAAmB,CAAC,cAAA,oBAC7BC,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,oBAAA,EACZ,QAAA,EAAA;AAAA,cAAA,CAAC,QAAA,IAAY,CAAC,MAAA,CAAO,WAAA,oBACpBA,IAAAA,CAAC,IAAA,EAAA,EAAG,WAAU,cAAA,EACX,QAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,gBAAI;AAAA,eAAA,EAEP,CAAA;AAAA,cAED,CAAC,OAAO,WAAA,IAAe,QAAA,mBACtBA,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,uBAAA,EACb,QAAA,EAAA;AAAA,gCAAAD,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAAA,GAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,GAAA,EAAI,gGAAA;AAAA,oBACJ,GAAA,EAAI,cAAA;AAAA,oBACJ,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAQ,MAAA;AAAO;AAAA,iBACzC,EACF,CAAA;AAAA,gCACAA,GAAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,MAAM,YAAA,EAAa;AAAA,oBAC5B,SAAA,EAAU,eAAA;AAAA,oBACV,IAAA,EAAK,QAAA;AAAA,oBACN,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCACAC,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAc,QAAA,EAAA;AAAA,kBAAA,aAAA;AAAA,kBACb,GAAA;AAAA,kBACX,MAAA,CAAO,QAAA,KAAa,OAAA,GACjB,OAAA,GACA,MAAA,CAAO,QAAA,KAAa,QAAA,GAClB,QAAA,GACA,MAAA,CAAO,QAAA,KAAa,iBAAA,GAClB,iBAAA,GACA;AAAA,iBAAA,EACV,CAAA;AAAA,gCACAD,GAAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACC,IAAA,EAAK,QAAA;AAAA,oBACL,SAAA,EAAU,UAAA;AAAA,oBACV,OAAA,EAAS,YAAA;AAAA,oBACV,QAAA,EAAA;AAAA;AAAA;AAED,eAAA,EACF,CAAA,GACG,OAAO,WAAA,IACR,EAAA,IACA,UAAU,eAAA,IACX,CAAC,OAAO,WAAA,IACP,EAAA,IACA,UAAU,eAAA,mBACZA,IAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBACb,QAAA,kBAAAC,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACZ,QAAA,EAAA;AAAA,gBAAA,EAAA,oBACCD,GAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,GAAA,EAAK,EAAA;AAAA,oBACL,GAAA,EAAI,SAAA;AAAA,oBACJ,SAAA,EAAU;AAAA;AAAA,iBACZ;AAAA,gBAED,CAAC,EAAA,oBAAMA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,QAAA,EAAS;AAAA,eAAA,EACnC,CAAA,EACF,CAAA,mBAEAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBAAA,EACb,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,QAAA,EAAS,CAAA,EAC3B;AAAA,aAAA,EAEJ,CAAA,EAEJ,CAAA;AAAA,4BAEFA,IAAC,kBAAA,EAAA,EAAW,CAAA;AAAA,YACX,KAAA,KAAU,mCACTA,GAAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,SAAA,EAAU,cAAA;AAAA,gBACV,OAAA,EAAS,UAAA;AAAA,gBACV,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EAEJ;AAAA;AAAA,OAEJ;AAAA,MAEC,KAAA,KAAU,0BACTA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,OAAA;AAAA,YACP,OAAA,EAAS,MAAA;AAAA,YACT,cAAA,EAAgB,QAAA;AAAA,YAChB,UAAA,EAAY;AAAA,WACd;AAAA,UAEA,QAAA,kBAAAA,GAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,KAAA,EAAO;AAAA,gBACL,MAAA,EAAQ,MAAA;AAAA,gBACR,UAAA,EAAY,aAAA;AAAA,gBACZ,MAAA,EAAQ,SAAA;AAAA,gBAER,SAAA,EAAW;AAAA,eACb;AAAA,cACA,SAAS,MAAM;AACb,gBAAA,IAAA,EAAK;AACL,gBAAA,MAAA,CAAO,OAAA,IAAU;AAAA,cACnB,CAAA;AAAA,cAEA,QAAA,kBAAAA,GAAAA;AAAA,gBAAC,qBAAA;AAAA,gBAAA;AAAA,kBACC,UAAU,MAAA,CAAO,QAAA;AAAA,kBACjB,IAAA,EAAM,CAAA,MAAA,CAAA;AAAA,kBACN,IAAA,EAAM;AAAA;AAAA;AACR;AAAA;AACF;AAAA;AACF,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ","file":"index.mjs","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n type,\n}: {\n authType: AuthType;\n text?: string;\n type: \"idle\" | \"cancel\";\n}) => {\n if (type === \"idle\") {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n height: 36px !important;\n\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" />\n <path\n d=\"M56.5511 56.8089C56.5705 55.5878 57.5734 54.0696 58.7917 53.4254C60.0572 52.7596 61.0322 53.2324 61.0193 54.5099C60.9978 55.744 59.9754 57.2947 58.7572 57.9346C57.539 58.5744 56.5296 58.0777 56.5511 56.8089ZM70.0957 49.6364C70.2081 49.5555 70.2954 49.4442 70.3475 49.3154C70.369 48.6278 70.3626 47.9555 70.3626 47.2354C68.4083 48.5172 66.5142 49.7665 64.6202 51.0158V53.2389L65.1174 52.9114C66.7725 51.8183 68.4341 50.7338 70.0957 49.6364ZM69.7147 58.5592C68.4463 60.5076 66.7916 62.1705 64.8548 63.4436C63.1329 64.6039 61.4778 65.222 59.9389 65.1787C58.359 65.1375 57.2893 64.3957 56.6695 62.9686C57.2678 62.448 57.8059 61.9665 58.344 61.4937C58.5418 61.8163 58.7688 62.1198 59.022 62.4003C60.0572 63.3828 61.5488 63.3134 63.3546 62.4762C63.5698 62.3743 63.77 62.2593 63.9809 62.1401C64.8419 61.6607 65.2874 61.1033 65.5069 60.123C65.6834 59.3053 65.7932 58.5158 65.9374 57.7068C66.1135 56.6524 66.4412 55.6295 66.9102 54.6704C67.4634 53.5512 68.2382 52.7184 69.2412 52.3085C70.1323 51.9528 70.7048 52.2065 70.9911 52.8854C71.6432 54.4687 71.0965 56.425 69.7147 58.5592ZM69.3273 54.5923C69.2714 54.434 69.1013 54.2691 68.9528 54.3168C68.8043 54.3646 68.5632 54.6877 68.4341 54.9068C68.2881 55.1536 68.1759 55.4192 68.1005 55.6963C67.8293 56.8913 67.5775 58.082 67.3106 59.2641C67.356 59.263 67.4013 59.2586 67.4462 59.2511C68.1303 58.4928 68.6892 57.6287 69.1013 56.6918C69.4349 55.8741 69.5038 55.1757 69.3273 54.5923ZM80.7949 39.7072V60.2726C80.7942 62.6299 80.1786 64.9455 79.0098 66.9874C77.841 69.0293 76.1601 70.7257 74.1356 71.9066L56.4607 82.1785C54.4328 83.3608 52.1313 83.9834 49.7885 83.9834C47.4456 83.9834 45.1441 83.3608 43.1162 82.1785L25.4671 71.9001C23.4402 70.7208 21.7567 69.0251 20.5856 66.9831C19.4145 64.9411 18.7969 62.6246 18.7949 60.2661V39.7007C18.7969 37.3422 19.4145 35.0257 20.5856 32.9837C21.7567 30.9417 23.4402 29.246 25.4671 28.0667L43.1378 17.7883C45.1657 16.606 47.4671 15.9834 49.81 15.9834C52.1529 15.9834 54.4543 16.606 56.4822 17.7883L74.1356 28.0667C76.1601 29.2476 77.841 30.944 79.0098 32.9859C80.1786 35.0278 80.7942 37.3434 80.7949 39.7007V39.7072ZM77.8333 47.6887C77.8333 42.3077 73.5007 40.2624 68.1629 43.134L52.9287 51.2956C51.6739 51.9679 50.6602 53.5382 50.6602 54.8005V77.5956C50.6602 78.8644 51.6739 79.3307 52.9287 78.6649L58.5936 75.6284C59.1636 75.3055 59.6456 74.8458 59.997 74.2902C60.3517 73.7796 60.5547 73.1777 60.5824 72.5551C60.5824 71.9435 61.0731 71.1887 61.6779 70.8655L64.4975 69.3473C65.0291 69.0653 65.5414 68.7769 66.0299 68.4797L68.1629 67.3411C73.5007 64.4716 77.8333 57.7979 77.8333 52.4082V47.6887Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <div>\n <p>\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n } else {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.6rem !important;\n border-radius: 18px !important;\n cursor: pointer !important;\n background-color: #f8f8f8ff !important;\n height: 30px !important;\n margin: 8px 0 !important;\n width: fit-content !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #111827 !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <svg\n fill=\"#111827\"\n stroke=\"#111827\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n height=\"16\"\n width=\"16\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={3}\n d=\"M6 18L18 6M6 6l12 12\"\n fill=\"#e94e4eff\"\n stroke=\"#e94e4eff\"\n color=\"#e94e4eff\"\n />\n </svg>\n <div>\n <p>cancel</p>\n </div>\n </div>\n </div>\n </>\n );\n }\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n useWebAuth: () => pelicanRef.current?.openWebAuth(),\n openDeepLink: () => pelicanRef.current?.openDeepLink(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get the app\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"32px\",\n width: \"32px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n useWebAuth,\n openDeepLink,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n border-radius: 10px;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n.js-auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 300px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n@media (min-width: 1024px) {\n .main-heading {\n font-size: 0.8rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.mobile-auth-container {\n display: flex;\n flex-direction: column;\n gap: 0.7rem;\n width: 253px;\n background-color: #ffffff;\n border-radius: 10px;\n padding: 0 0 1rem 0;\n}\n\n.logo-container {\n display: flex;\n justify-content: center;\n padding: 2rem 0;\n}\n\n.open-app-link {\n display: inline-block;\n padding: 0.7rem 1.25rem;\n background-color: #101010ff;\n width: 70%;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\n font-size: 0.8rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.open-app-link:hover {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 10px;\n background-color: #fff;\n padding: 0.2rem;\n height: 244px;\n width: 244px;\n}\n\n.qr-image {\n height: 90%;\n width: 90%;\n}\n\n.loader-container {\n display: flex;\n justify-content: center;\n}\n\n.instruction-text {\n font-size: 0.875rem;\n color: #9ca3af;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.paired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 250px;\n}\n\n.web-auth-btn {\n all: unset; /* Reset all inherited styles */\n cursor: pointer;\n margin-top: 1rem;\n display: inline-block;\n padding: 0.7rem 2rem;\n background-color: #ffffff;\n width: fit-content;\n align-self: center;\nborder: 1px solid #e2e2e2ff;\n border-radius: 28px;\n color: #101010ff;\n font-weight: 500;\n font-size: 0.7rem;\n text-decoration: none;\n transition: background-color 0.2s;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.web-auth-btn:hover {\nopacity: 0.9;\n}\n\n.paired-heading {\n font-size: 1rem;\n font-weight: 800;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .paired-heading {\n font-size: 1rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n }\n}\n\n.success-message {\n background-color: #121212;\n color: #d9eb1b;\n padding: 0.5rem 1rem;\n border-radius: 1.3rem;\n font-weight: 700;\n font-size: 1rem;\n animation: successPulse 0.2s ease-in-out;\n margin: 0.5rem 0;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: 300px;\n max-width: fit-content;\n}\n\n.auto-renew-badge {\n display: inline-block;\n background-color: rgba(217, 235, 27, 0.2);\n border: 1px solid #d9eb1b;\n color: #d9eb1b;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n margin-top: 0.5rem;\n}\n\n.scan-btn {\n all: unset;\n font-size: 0.7rem;\n color: #626262ff;\n background-color: #fafafaff;\n padding: 0.5rem 1.5rem;\n border-radius: 1.3rem;\n font-weight: 500;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n width: fit-content;\n align-self: center;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {state === \"idle\" && (\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n width: \"100%\",\n alignSelf: \"center\",\n }}\n onClick={() => {\n if (state !== \"idle\") {\n stop();\n config.onClose?.();\n } else {\n start();\n }\n }}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n type={\"idle\"}\n />\n )}\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"300px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">\n {\" \"}\n Open Pelican Vault mobile app\n </h2>\n )}\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <img\n src=\"https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png \"\n alt=\"Pelican Logo\"\n style={{ width: \"54px\", height: \"54px\" }}\n />\n </div>\n <button\n onClick={() => openDeepLink()}\n className=\"open-app-link\"\n type=\"button\"\n >\n Launch Pelican Vault\n </button>\n <p className=\"helper-text\">\n open app to{\" \"}\n {config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verify identity\"\n : \"authenticate\"}\n </p>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n or scan QR code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n {state === \"awaiting-pair\" && (\n <button\n type=\"button\"\n className=\"web-auth-btn\"\n onClick={useWebAuth}\n >\n Use web vault\n </button>\n )}\n </div>\n )}\n </div>\n\n {state !== \"idle\" && (\n <div\n style={{\n width: \"300px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n\n alignSelf: \"center\",\n }}\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n >\n <PelicanButton\n authType={config.authType}\n text={`Cancel`}\n type={\"cancel\"}\n />\n </button>\n </div>\n )}\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pelican-identity/react",
3
- "version": "2.0.43",
3
+ "version": "2.0.45",
4
4
  "description": "React components for Pelican Identity authentication",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -21,7 +21,7 @@
21
21
  "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
22
22
  },
23
23
  "dependencies": {
24
- "@pelican-identity/auth-core": "1.2.40"
24
+ "@pelican-identity/auth-core": "1.2.42"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/react": "^19.0.4",