@pelican-identity/react 2.0.5 → 2.0.7
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.
- package/dist/index.css +71 -34
- package/dist/index.css.map +1 -1
- package/dist/index.js +58 -56
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -57
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* src/
|
|
1
|
+
/* src/pelican.css */
|
|
2
2
|
@keyframes fadeUp {
|
|
3
3
|
from {
|
|
4
4
|
opacity: 0;
|
|
@@ -31,20 +31,41 @@
|
|
|
31
31
|
margin-top: 0.3rem;
|
|
32
32
|
position: relative;
|
|
33
33
|
animation: fadeUp 0.5s ease-out;
|
|
34
|
-
background-color:
|
|
34
|
+
background-color: #fcfcfc;
|
|
35
35
|
border-radius: 2.5rem;
|
|
36
36
|
display: flex;
|
|
37
37
|
flex-direction: column;
|
|
38
38
|
justify-content: space-between;
|
|
39
39
|
align-items: center;
|
|
40
40
|
gap: 1rem;
|
|
41
|
-
height:
|
|
41
|
+
min-height: 320px;
|
|
42
|
+
}
|
|
43
|
+
.js-auth-container {
|
|
44
|
+
width: 300px;
|
|
45
|
+
max-width: fit-content;
|
|
46
|
+
padding: 1rem;
|
|
47
|
+
margin-top: 0.3rem;
|
|
48
|
+
position: relative;
|
|
49
|
+
background-color: #fcfcfc;
|
|
50
|
+
border-radius: 2.5rem;
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
justify-content: space-between;
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: 1rem;
|
|
56
|
+
min-height: 320px;
|
|
42
57
|
}
|
|
43
58
|
.close-button {
|
|
44
|
-
background:
|
|
59
|
+
background-color: #2b2b2bff;
|
|
45
60
|
border: none;
|
|
46
61
|
cursor: pointer;
|
|
47
62
|
transition: opacity 0.2s;
|
|
63
|
+
height: 1.5rem;
|
|
64
|
+
width: 1.5rem;
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
border-radius: 50%;
|
|
48
69
|
}
|
|
49
70
|
.close-button:hover {
|
|
50
71
|
opacity: 0.6;
|
|
@@ -85,8 +106,8 @@
|
|
|
85
106
|
}
|
|
86
107
|
.main-heading {
|
|
87
108
|
font-size: 0.75rem;
|
|
88
|
-
font-weight:
|
|
89
|
-
color: #
|
|
109
|
+
font-weight: 600;
|
|
110
|
+
color: #585858;
|
|
90
111
|
font-family:
|
|
91
112
|
Onest,
|
|
92
113
|
system-ui,
|
|
@@ -122,8 +143,8 @@
|
|
|
122
143
|
.mobile-auth-container {
|
|
123
144
|
display: flex;
|
|
124
145
|
flex-direction: column;
|
|
125
|
-
gap:
|
|
126
|
-
width:
|
|
146
|
+
gap: 0.7rem;
|
|
147
|
+
width: 253px;
|
|
127
148
|
}
|
|
128
149
|
.logo-container {
|
|
129
150
|
display: flex;
|
|
@@ -133,11 +154,11 @@
|
|
|
133
154
|
.open-app-link {
|
|
134
155
|
display: inline-block;
|
|
135
156
|
padding: 0.75rem 2rem;
|
|
136
|
-
background-color: #
|
|
157
|
+
background-color: #2b2b2bff;
|
|
137
158
|
width: fit-content;
|
|
138
159
|
align-self: center;
|
|
139
160
|
border-radius: 18px;
|
|
140
|
-
color: #
|
|
161
|
+
color: #fff;
|
|
141
162
|
font-weight: 600;
|
|
142
163
|
font-size: 1rem;
|
|
143
164
|
text-decoration: none;
|
|
@@ -175,26 +196,14 @@
|
|
|
175
196
|
align-items: center;
|
|
176
197
|
overflow: hidden;
|
|
177
198
|
border-radius: 2rem;
|
|
178
|
-
|
|
179
|
-
background-color: #fffff5;
|
|
199
|
+
background-color: #fff;
|
|
180
200
|
padding: 0.2rem;
|
|
181
201
|
height: 244px;
|
|
182
202
|
width: 244px;
|
|
183
203
|
}
|
|
184
|
-
.error-text {
|
|
185
|
-
font-weight: 500;
|
|
186
|
-
color: red;
|
|
187
|
-
font-family:
|
|
188
|
-
Onest,
|
|
189
|
-
system-ui,
|
|
190
|
-
Avenir,
|
|
191
|
-
Helvetica,
|
|
192
|
-
Arial,
|
|
193
|
-
sans-serif;
|
|
194
|
-
}
|
|
195
204
|
.qr-image {
|
|
196
|
-
height:
|
|
197
|
-
width:
|
|
205
|
+
height: 90%;
|
|
206
|
+
width: 90%;
|
|
198
207
|
}
|
|
199
208
|
.loader-container {
|
|
200
209
|
display: flex;
|
|
@@ -270,6 +279,30 @@
|
|
|
270
279
|
font-weight: 600;
|
|
271
280
|
margin-top: 0.5rem;
|
|
272
281
|
}
|
|
282
|
+
.error-wrapper {
|
|
283
|
+
display: flex;
|
|
284
|
+
justify-content: center;
|
|
285
|
+
align-items: center;
|
|
286
|
+
text-align: center;
|
|
287
|
+
border-radius: 1.5rem;
|
|
288
|
+
border: 1px solid rgb(255, 236, 236);
|
|
289
|
+
background-color: rgb(255, 255, 255);
|
|
290
|
+
width: 250px;
|
|
291
|
+
height: 80px;
|
|
292
|
+
}
|
|
293
|
+
.error-message {
|
|
294
|
+
font-size: 0.75rem;
|
|
295
|
+
font-weight: 400;
|
|
296
|
+
color: rgb(255, 139, 139);
|
|
297
|
+
font-family:
|
|
298
|
+
Onest,
|
|
299
|
+
system-ui,
|
|
300
|
+
Avenir,
|
|
301
|
+
Helvetica,
|
|
302
|
+
Arial,
|
|
303
|
+
sans-serif;
|
|
304
|
+
max-width: 70%;
|
|
305
|
+
}
|
|
273
306
|
.loader {
|
|
274
307
|
width: 48px;
|
|
275
308
|
height: 48px;
|
|
@@ -287,35 +320,39 @@
|
|
|
287
320
|
background-image:
|
|
288
321
|
radial-gradient(
|
|
289
322
|
circle 10px,
|
|
290
|
-
#
|
|
323
|
+
#585858 100%,
|
|
324
|
+
transparent 0),
|
|
325
|
+
radial-gradient(
|
|
326
|
+
circle 10px,
|
|
327
|
+
#585858 100%,
|
|
291
328
|
transparent 0),
|
|
292
329
|
radial-gradient(
|
|
293
330
|
circle 10px,
|
|
294
|
-
#
|
|
331
|
+
#585858 100%,
|
|
295
332
|
transparent 0),
|
|
296
333
|
radial-gradient(
|
|
297
334
|
circle 10px,
|
|
298
|
-
#
|
|
335
|
+
#585858 100%,
|
|
299
336
|
transparent 0),
|
|
300
337
|
radial-gradient(
|
|
301
338
|
circle 10px,
|
|
302
|
-
#
|
|
339
|
+
#585858 100%,
|
|
303
340
|
transparent 0),
|
|
304
341
|
radial-gradient(
|
|
305
342
|
circle 10px,
|
|
306
|
-
#
|
|
343
|
+
#585858 100%,
|
|
307
344
|
transparent 0),
|
|
308
345
|
radial-gradient(
|
|
309
346
|
circle 10px,
|
|
310
|
-
#
|
|
347
|
+
#585858 100%,
|
|
311
348
|
transparent 0),
|
|
312
349
|
radial-gradient(
|
|
313
350
|
circle 10px,
|
|
314
|
-
#
|
|
351
|
+
#585858 100%,
|
|
315
352
|
transparent 0),
|
|
316
353
|
radial-gradient(
|
|
317
354
|
circle 10px,
|
|
318
|
-
#
|
|
355
|
+
#585858 100%,
|
|
319
356
|
transparent 0);
|
|
320
357
|
background-position:
|
|
321
358
|
0em -18em,
|
|
@@ -333,7 +370,7 @@
|
|
|
333
370
|
}
|
|
334
371
|
.loader::after {
|
|
335
372
|
font-size: 1px;
|
|
336
|
-
background: #
|
|
373
|
+
background: #585858;
|
|
337
374
|
animation: bounce 1s ease-in infinite;
|
|
338
375
|
}
|
|
339
376
|
@keyframes bounce {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/pelican.css"],"sourcesContent":["@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 animation: fadeUp 0.5s ease-out;\n background-color: rgb(253, 253, 253);\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 height: 400px;\n}\n\n.close-button {\n background: none;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n.close-button:hover {\n opacity: 0.6;\n}\n\n.close-icon {\n width: 1.5rem;\n height: 1.5rem;\n fill: #000000;\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: 700;\n color: #121212;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 1rem;\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: 1rem;\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: 1rem;\n width: 300px;\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.75rem 2rem;\n background-color: #000000;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #d9eb1b;\n font-weight: 600;\n font-size: 1rem;\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 {\n background-color: rgba(217, 235, 27, 0.9);\n color: #000;\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: 2rem;\n border: 1px solid #d9eb1b;\n background-color: #fffff5;\n padding: 0.2rem;\n height: 244px;\n width: 244px;\n}\n\n.error-text {\n font-weight: 500;\n color: red;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-image {\n height: 100%;\n width: 100%;\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.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.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, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 100%, transparent 0),\n radial-gradient(circle 10px, #d9eb1b 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: #d9eb1b;\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"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/pelican.css"],"sourcesContent":["@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 animation: fadeUp 0.5s ease-out;\n background-color: #fcfcfc;\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: 320px;\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: #fcfcfc;\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: 320px;\n}\n\n.close-button {\n background-color: #2b2b2bff;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s;\n height: 1.5rem;\n width: 1.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n}\n\n.close-button:hover {\n opacity: 0.6;\n}\n\n.close-icon {\n width: 1.5rem;\n height: 1.5rem;\n fill: #000000;\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: 1rem;\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: 1rem;\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}\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.75rem 2rem;\n background-color: #2b2b2bff;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 600;\n font-size: 1rem;\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 {\n background-color: rgba(217, 235, 27, 0.9);\n color: #000;\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: 2rem;\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.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.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"],"mappings":"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","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -17,12 +17,12 @@ var PelicanButton = ({
|
|
|
17
17
|
flexDirection: "row",
|
|
18
18
|
alignItems: "center",
|
|
19
19
|
justifyContent: "center",
|
|
20
|
-
gap: "0.
|
|
21
|
-
padding: "0.
|
|
20
|
+
gap: "0.35rem",
|
|
21
|
+
padding: "0.05rem 0.7rem",
|
|
22
22
|
borderRadius: "20px",
|
|
23
23
|
cursor: "pointer",
|
|
24
|
-
backgroundColor: "#
|
|
25
|
-
border: "1px solid #
|
|
24
|
+
backgroundColor: "#2b2b2bff",
|
|
25
|
+
border: "1px solid #353535ff"
|
|
26
26
|
},
|
|
27
27
|
children: [
|
|
28
28
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -52,11 +52,11 @@ var PelicanButton = ({
|
|
|
52
52
|
{
|
|
53
53
|
style: {
|
|
54
54
|
fontSize: "14px",
|
|
55
|
-
fontWeight: "
|
|
55
|
+
fontWeight: "500",
|
|
56
56
|
color: "#fff",
|
|
57
57
|
fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
|
|
58
58
|
},
|
|
59
|
-
children: text || /* @__PURE__ */ jsxRuntime.jsx("span", { children: authType === "login" ? "Login with Pelican" : authType === "signup" ? "Signup with Pelican" : authType === "id-verification" ? "Verify
|
|
59
|
+
children: text || /* @__PURE__ */ jsxRuntime.jsx("span", { children: authType === "login" ? "Login with Pelican" : authType === "signup" ? "Signup with Pelican" : authType === "id-verification" ? "Verify with Pelican" : "Authenticate with Pelican" })
|
|
60
60
|
}
|
|
61
61
|
) })
|
|
62
62
|
]
|
|
@@ -67,16 +67,30 @@ var PelicanButton_default = PelicanButton;
|
|
|
67
67
|
var usePelicanAuth = (config) => {
|
|
68
68
|
const [qr, setQr] = react.useState(null);
|
|
69
69
|
const [deeplink, setDeeplink] = react.useState(null);
|
|
70
|
+
const [err, seterr] = react.useState(null);
|
|
70
71
|
const [state, setState] = react.useState("idle");
|
|
72
|
+
const [successMessage, setSuccessMessage] = react.useState(null);
|
|
71
73
|
const pelicanRef = react.useRef(null);
|
|
74
|
+
const success = config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verification" : "authentication";
|
|
72
75
|
react.useEffect(() => {
|
|
73
76
|
const pelican = new authCore.PelicanAuthentication(config);
|
|
74
77
|
pelicanRef.current = pelican;
|
|
75
78
|
const unsub = [
|
|
76
79
|
pelican.on("qr", setQr),
|
|
77
80
|
pelican.on("deeplink", setDeeplink),
|
|
78
|
-
pelican.on("success", (identity) =>
|
|
79
|
-
|
|
81
|
+
pelican.on("success", (identity) => {
|
|
82
|
+
config.onSuccess(identity);
|
|
83
|
+
if (config.continuousMode) {
|
|
84
|
+
setSuccessMessage(`${success} complete!`);
|
|
85
|
+
setTimeout(() => {
|
|
86
|
+
setSuccessMessage(null);
|
|
87
|
+
}, 2e3);
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
pelican.on("error", (error) => {
|
|
91
|
+
seterr(error);
|
|
92
|
+
config.onError?.(error);
|
|
93
|
+
}),
|
|
80
94
|
pelican.on("state", setState)
|
|
81
95
|
];
|
|
82
96
|
return () => {
|
|
@@ -97,7 +111,9 @@ var usePelicanAuth = (config) => {
|
|
|
97
111
|
deeplink,
|
|
98
112
|
state,
|
|
99
113
|
isProcessing: ["initializing", "paired", "awaiting-auth"].includes(state),
|
|
100
|
-
isDone: state === "confirmed" || state === "authenticated"
|
|
114
|
+
isDone: state === "confirmed" || state === "authenticated",
|
|
115
|
+
error: err,
|
|
116
|
+
successMessage
|
|
101
117
|
};
|
|
102
118
|
};
|
|
103
119
|
var StoreIcons = () => {
|
|
@@ -116,7 +132,6 @@ var StoreIcons = () => {
|
|
|
116
132
|
display: "flex",
|
|
117
133
|
justifyContent: "center",
|
|
118
134
|
alignItems: "center",
|
|
119
|
-
backgroundColor: "#000000",
|
|
120
135
|
borderRadius: "1.2rem",
|
|
121
136
|
gap: "0.5rem",
|
|
122
137
|
padding: "0.7rem 1rem",
|
|
@@ -135,7 +150,7 @@ var StoreIcons = () => {
|
|
|
135
150
|
style: {
|
|
136
151
|
fontSize: "14px",
|
|
137
152
|
fontWeight: "500",
|
|
138
|
-
color: "#
|
|
153
|
+
color: "#585858",
|
|
139
154
|
fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
|
|
140
155
|
},
|
|
141
156
|
children: "Available on"
|
|
@@ -149,7 +164,7 @@ var StoreIcons = () => {
|
|
|
149
164
|
style: {
|
|
150
165
|
display: "flex",
|
|
151
166
|
alignItems: "center",
|
|
152
|
-
gap: "0.
|
|
167
|
+
gap: "0.4rem"
|
|
153
168
|
},
|
|
154
169
|
children: [
|
|
155
170
|
/* @__PURE__ */ jsxRuntime.jsx(Apple, {}),
|
|
@@ -167,8 +182,8 @@ var Apple = () => {
|
|
|
167
182
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
168
183
|
"svg",
|
|
169
184
|
{
|
|
170
|
-
width: "
|
|
171
|
-
height: "
|
|
185
|
+
width: "16",
|
|
186
|
+
height: "16",
|
|
172
187
|
viewBox: "0 0 32 32",
|
|
173
188
|
fill: "none",
|
|
174
189
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -181,10 +196,10 @@ var Apple = () => {
|
|
|
181
196
|
fillRule: "evenodd",
|
|
182
197
|
clipRule: "evenodd",
|
|
183
198
|
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",
|
|
184
|
-
fill: "
|
|
199
|
+
fill: "#585858"
|
|
185
200
|
}
|
|
186
201
|
) }),
|
|
187
|
-
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "clip0_10529_2674", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "31.1875", height: "31.1875", fill: "
|
|
202
|
+
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "clip0_10529_2674", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "31.1875", height: "31.1875", fill: "#585858" }) }) })
|
|
188
203
|
]
|
|
189
204
|
}
|
|
190
205
|
);
|
|
@@ -193,8 +208,8 @@ var PlayStore = () => {
|
|
|
193
208
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
194
209
|
"svg",
|
|
195
210
|
{
|
|
196
|
-
width: "
|
|
197
|
-
height: "
|
|
211
|
+
width: "14",
|
|
212
|
+
height: "14",
|
|
198
213
|
viewBox: "0 0 26 26",
|
|
199
214
|
fill: "none",
|
|
200
215
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -204,7 +219,7 @@ var PlayStore = () => {
|
|
|
204
219
|
"path",
|
|
205
220
|
{
|
|
206
221
|
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",
|
|
207
|
-
fill: "
|
|
222
|
+
fill: "#585858"
|
|
208
223
|
}
|
|
209
224
|
)
|
|
210
225
|
}
|
|
@@ -212,9 +227,16 @@ var PlayStore = () => {
|
|
|
212
227
|
};
|
|
213
228
|
var StoreIcons_default = StoreIcons;
|
|
214
229
|
var PelicanAuth = (config) => {
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
|
|
230
|
+
const {
|
|
231
|
+
start,
|
|
232
|
+
qr,
|
|
233
|
+
state,
|
|
234
|
+
deeplink,
|
|
235
|
+
isProcessing,
|
|
236
|
+
stop,
|
|
237
|
+
error,
|
|
238
|
+
successMessage
|
|
239
|
+
} = usePelicanAuth({
|
|
218
240
|
projectId: config.projectId,
|
|
219
241
|
publicKey: config.publicKey,
|
|
220
242
|
authType: config.authType,
|
|
@@ -223,17 +245,9 @@ var PelicanAuth = (config) => {
|
|
|
223
245
|
forceQRCode: config.forceQRCode,
|
|
224
246
|
onSuccess: (identity) => {
|
|
225
247
|
config.onSuccess(identity);
|
|
226
|
-
if (config.continuousMode) {
|
|
227
|
-
setSuccessMessage("Authentication complete!");
|
|
228
|
-
setTimeout(() => {
|
|
229
|
-
setSuccessMessage(null);
|
|
230
|
-
}, 2e3);
|
|
231
|
-
} else {
|
|
232
|
-
setIsOpen(false);
|
|
233
|
-
}
|
|
234
248
|
},
|
|
235
|
-
onError: (
|
|
236
|
-
config.onError?.(
|
|
249
|
+
onError: (error2) => {
|
|
250
|
+
config.onError?.(error2);
|
|
237
251
|
}
|
|
238
252
|
});
|
|
239
253
|
react.useEffect(() => {
|
|
@@ -246,7 +260,7 @@ var PelicanAuth = (config) => {
|
|
|
246
260
|
"div",
|
|
247
261
|
{
|
|
248
262
|
style: {
|
|
249
|
-
maxWidth: "
|
|
263
|
+
maxWidth: "275px",
|
|
250
264
|
justifyContent: "space-between",
|
|
251
265
|
alignItems: "center",
|
|
252
266
|
width: "100%"
|
|
@@ -256,7 +270,6 @@ var PelicanAuth = (config) => {
|
|
|
256
270
|
{
|
|
257
271
|
style: {
|
|
258
272
|
width: "100%",
|
|
259
|
-
gap: "40px",
|
|
260
273
|
display: "flex",
|
|
261
274
|
justifyContent: "space-between",
|
|
262
275
|
alignItems: "center"
|
|
@@ -273,9 +286,8 @@ var PelicanAuth = (config) => {
|
|
|
273
286
|
},
|
|
274
287
|
onClick: () => {
|
|
275
288
|
start();
|
|
276
|
-
setIsOpen(true);
|
|
277
289
|
},
|
|
278
|
-
disabled:
|
|
290
|
+
disabled: config.continuousMode,
|
|
279
291
|
children: config.buttonComponent ? config.buttonComponent : /* @__PURE__ */ jsxRuntime.jsx(
|
|
280
292
|
PelicanButton_default,
|
|
281
293
|
{
|
|
@@ -285,13 +297,12 @@ var PelicanAuth = (config) => {
|
|
|
285
297
|
)
|
|
286
298
|
}
|
|
287
299
|
),
|
|
288
|
-
|
|
300
|
+
state !== "idle" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
289
301
|
"button",
|
|
290
302
|
{
|
|
291
303
|
onClick: () => {
|
|
292
304
|
stop();
|
|
293
305
|
config.onClose?.();
|
|
294
|
-
setIsOpen(false);
|
|
295
306
|
},
|
|
296
307
|
className: "close-button",
|
|
297
308
|
"aria-label": "Close",
|
|
@@ -323,7 +334,7 @@ var PelicanAuth = (config) => {
|
|
|
323
334
|
)
|
|
324
335
|
}
|
|
325
336
|
),
|
|
326
|
-
|
|
337
|
+
state !== "idle" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "auth-container", children: [
|
|
327
338
|
successMessage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "success-message", style: { textAlign: "center" }, children: [
|
|
328
339
|
successMessage,
|
|
329
340
|
config.continuousMode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -339,6 +350,7 @@ var PelicanAuth = (config) => {
|
|
|
339
350
|
}
|
|
340
351
|
)
|
|
341
352
|
] }),
|
|
353
|
+
error && state === "error" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "error-message", children: error.message }) }),
|
|
342
354
|
isProcessing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "content-wrapper", children: [
|
|
343
355
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "one sec..." }),
|
|
344
356
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -349,29 +361,19 @@ var PelicanAuth = (config) => {
|
|
|
349
361
|
}
|
|
350
362
|
)
|
|
351
363
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "unpaired-container", children: [
|
|
352
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
|
|
364
|
+
!deeplink && !config.forceQRCode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
|
|
353
365
|
!config.forceQRCode && deeplink ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mobile-auth-container", children: [
|
|
354
366
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
355
|
-
"
|
|
367
|
+
"img",
|
|
356
368
|
{
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
fill: "none",
|
|
361
|
-
role: "img",
|
|
362
|
-
"aria-label": "Pelican Logo",
|
|
363
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
364
|
-
"path",
|
|
365
|
-
{
|
|
366
|
-
d: "M357.79 383.899C357.99 372.409 367.47 358.149 379.03 352.079C391.03 345.819 400.26 350.269 400.13 362.279C399.94 373.899 390.26 388.479 378.7 394.479C367.14 400.479 357.6 395.839 357.79 383.899ZM486.16 316.459C487.06 315.809 488.55 314.069 488.55 313.459C488.74 307.009 488.67 300.689 488.67 293.909C470.15 305.979 452.21 317.719 434.27 329.469V350.379C436.01 349.219 437.5 348.249 438.98 347.279C454.66 336.999 470.41 326.779 486.16 316.459ZM482.54 400.359C470.529 418.676 454.87 434.318 436.54 446.309C420.21 457.209 404.54 463.019 389.94 462.699C374.94 462.309 364.84 455.339 358.94 441.919C364.62 437.009 369.72 432.489 374.82 428.039C377.02 431.039 378.76 434.169 381.21 436.429C391.02 445.659 405.15 445.009 422.21 437.139C424.21 436.139 426.14 435.079 428.14 433.979C436.34 429.459 440.53 424.229 442.6 414.979C444.28 407.299 445.31 399.869 446.66 392.259C448.387 382.382 451.533 372.806 456 363.829C461.23 353.309 468.59 345.369 478.08 341.629C486.53 338.269 491.95 340.629 494.66 347.049C500.81 361.889 495.64 380.279 482.54 400.359ZM478.87 362.999C478.35 361.509 476.73 359.999 475.32 360.419C473.91 360.839 471.64 363.899 470.41 365.969C469.016 368.283 467.953 370.781 467.25 373.389C464.67 384.619 462.25 395.779 459.76 406.949C460.192 406.935 460.623 406.892 461.05 406.819C467.51 399.399 473.05 391.519 476.73 382.749C479.9 375.119 480.54 368.539 478.87 362.999ZM587.54 222.999V416.419C587.537 438.587 581.704 460.364 570.627 479.566C559.55 498.767 543.618 514.719 524.43 525.819L357 622.489C337.794 633.588 316.003 639.432 293.82 639.432C271.637 639.432 249.846 633.588 230.64 622.489L63.12 525.819C43.9293 514.721 27.995 498.77 16.9161 479.568C5.83724 460.366 0.00339985 438.588 0 416.419L0 222.999C0.006907 200.834 5.84241 179.06 16.9211 159.861C27.9999 140.663 43.9322 124.716 63.12 113.619L230.59 16.9391C249.796 5.83984 271.587 -0.00390625 293.77 -0.00390625C315.953 -0.00390625 337.744 5.83984 356.95 16.9391L524.43 113.619C543.615 124.718 559.545 140.666 570.622 159.864C581.699 179.062 587.533 200.835 587.54 222.999ZM559.47 298.119C559.47 247.519 518.47 228.289 467.83 255.199L323.46 331.999C311.58 338.319 301.97 353.099 301.97 364.999V579.379C301.97 591.319 311.58 595.769 323.46 589.449L377.15 560.919C382.557 557.892 387.127 553.569 390.45 548.339C393.87 543.109 396 537.339 396 532.079C396 526.329 400.65 519.229 406.39 516.199L433.11 501.939C438.137 499.272 442.977 496.559 447.63 493.799L467.83 483.089C518.43 456.089 559.47 393.259 559.47 342.659V298.119Z",
|
|
367
|
-
fill: "#D9EB1B"
|
|
368
|
-
}
|
|
369
|
-
)
|
|
369
|
+
src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
|
|
370
|
+
alt: "Pelican Logo",
|
|
371
|
+
style: { width: "80px", height: "80px" }
|
|
370
372
|
}
|
|
371
373
|
) }),
|
|
372
|
-
/* @__PURE__ */ jsxRuntime.jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican
|
|
374
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
|
|
373
375
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "helper-text", children: [
|
|
374
|
-
"
|
|
376
|
+
"Open the app to",
|
|
375
377
|
" ",
|
|
376
378
|
config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
|
|
377
379
|
] })
|
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","jsx","useState","useRef","useEffect","PelicanAuthentication","useCallback"],"mappings":"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","file":"index.js","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.5rem\",\n padding: \"0.1rem 0.7rem\",\n borderRadius: \"20px\",\n cursor: \"pointer\",\n backgroundColor: \"#232323ff\",\n border: \"1px solid #d9eb1b\",\n }}\n >\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\" fill=\"#121212\" />\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 style={{\n fontSize: \"14px\",\n fontWeight: \"600\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify identity with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\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\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\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) => config.onSuccess(identity)),\n pelican.on(\"error\", (error) => config.onError?.(error)),\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 };\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 backgroundColor: \"#000000\",\n borderRadius: \"1.2rem\",\n gap: \"0.5rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div\n style={{\n gap: \"0.1rem\",\n }}\n >\n <p\n style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Available on\n </p>\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.6rem\",\n }}\n >\n <Apple />\n <PlayStore />\n </div>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\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=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\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=\"white\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect, useState } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\nimport \"./pelican.css\";\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const [isOpen, setIsOpen] = useState(config.continuousMode || false);\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const { start, qr, state, deeplink, isProcessing, stop } = 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 if (config.continuousMode) {\n setSuccessMessage(\"Authentication complete!\");\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } else {\n setIsOpen(false);\n }\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 <section>\n <div\n style={{\n maxWidth: \"290px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n\n width: \"100%\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n gap: \"40px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n start();\n setIsOpen(true);\n }}\n disabled={isOpen || config.continuousMode}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n />\n )}\n </button>\n\n {isOpen && !config.continuousMode && (\n <button\n onClick={() => {\n stop();\n config.onClose?.();\n setIsOpen(false);\n }}\n className=\"close-button\"\n aria-label=\"Close\"\n type=\"button\"\n >\n <svg\n className=\"close-icon\"\n fill=\"#fff\"\n stroke=\"#fff\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={4}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n {isOpen && (\n <div className=\"auth-container\">\n {successMessage && (\n <div className=\"success-message\" style={{ textAlign: \"center\" }}>\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\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 <h2 className=\"main-heading\">Open Pelican Vault</h2>\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <svg\n width={82}\n height={96}\n viewBox=\"0 0 588 640\"\n fill=\"none\"\n role=\"img\"\n aria-label=\"Pelican Logo\"\n >\n <path\n d=\"M357.79 383.899C357.99 372.409 367.47 358.149 379.03 352.079C391.03 345.819 400.26 350.269 400.13 362.279C399.94 373.899 390.26 388.479 378.7 394.479C367.14 400.479 357.6 395.839 357.79 383.899ZM486.16 316.459C487.06 315.809 488.55 314.069 488.55 313.459C488.74 307.009 488.67 300.689 488.67 293.909C470.15 305.979 452.21 317.719 434.27 329.469V350.379C436.01 349.219 437.5 348.249 438.98 347.279C454.66 336.999 470.41 326.779 486.16 316.459ZM482.54 400.359C470.529 418.676 454.87 434.318 436.54 446.309C420.21 457.209 404.54 463.019 389.94 462.699C374.94 462.309 364.84 455.339 358.94 441.919C364.62 437.009 369.72 432.489 374.82 428.039C377.02 431.039 378.76 434.169 381.21 436.429C391.02 445.659 405.15 445.009 422.21 437.139C424.21 436.139 426.14 435.079 428.14 433.979C436.34 429.459 440.53 424.229 442.6 414.979C444.28 407.299 445.31 399.869 446.66 392.259C448.387 382.382 451.533 372.806 456 363.829C461.23 353.309 468.59 345.369 478.08 341.629C486.53 338.269 491.95 340.629 494.66 347.049C500.81 361.889 495.64 380.279 482.54 400.359ZM478.87 362.999C478.35 361.509 476.73 359.999 475.32 360.419C473.91 360.839 471.64 363.899 470.41 365.969C469.016 368.283 467.953 370.781 467.25 373.389C464.67 384.619 462.25 395.779 459.76 406.949C460.192 406.935 460.623 406.892 461.05 406.819C467.51 399.399 473.05 391.519 476.73 382.749C479.9 375.119 480.54 368.539 478.87 362.999ZM587.54 222.999V416.419C587.537 438.587 581.704 460.364 570.627 479.566C559.55 498.767 543.618 514.719 524.43 525.819L357 622.489C337.794 633.588 316.003 639.432 293.82 639.432C271.637 639.432 249.846 633.588 230.64 622.489L63.12 525.819C43.9293 514.721 27.995 498.77 16.9161 479.568C5.83724 460.366 0.00339985 438.588 0 416.419L0 222.999C0.006907 200.834 5.84241 179.06 16.9211 159.861C27.9999 140.663 43.9322 124.716 63.12 113.619L230.59 16.9391C249.796 5.83984 271.587 -0.00390625 293.77 -0.00390625C315.953 -0.00390625 337.744 5.83984 356.95 16.9391L524.43 113.619C543.615 124.718 559.545 140.666 570.622 159.864C581.699 179.062 587.533 200.835 587.54 222.999ZM559.47 298.119C559.47 247.519 518.47 228.289 467.83 255.199L323.46 331.999C311.58 338.319 301.97 353.099 301.97 364.999V579.379C301.97 591.319 311.58 595.769 323.46 589.449L377.15 560.919C382.557 557.892 387.127 553.569 390.45 548.339C393.87 543.109 396 537.339 396 532.079C396 526.329 400.65 519.229 406.39 516.199L433.11 501.939C438.137 499.272 442.977 496.559 447.63 493.799L467.83 483.089C518.43 456.089 559.47 393.259 559.47 342.659V298.119Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Open Pelican App\n </a>\n <p className=\"helper-text\">\n Tap the button to open the app and{\" \"}\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 </div>\n ) : (config.forceQRCode && qr && state === \"awaiting-pair\") ||\n (!config.forceQRCode && qr && state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img src={qr} alt=\"QR Code\" className=\"qr-image\" />\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 </div>\n )}\n </section>\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","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}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.35rem\",\n padding: \"0.05rem 0.7rem\",\n borderRadius: \"20px\",\n cursor: \"pointer\",\n backgroundColor: \"#2b2b2bff\",\n border: \"1px solid #353535ff\",\n }}\n >\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\" fill=\"#121212\" />\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 style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\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 );\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 };\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.5rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div\n style={{\n gap: \"0.1rem\",\n }}\n >\n <p\n style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Available on\n </p>\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.4rem\",\n }}\n >\n <Apple />\n <PlayStore />\n </div>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\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=\"14\"\n height=\"14\"\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\";\nimport \"../pelican.css\";\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 } = 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 <section>\n <div\n style={{\n maxWidth: \"275px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n\n width: \"100%\",\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 <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n start();\n }}\n disabled={config.continuousMode}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n />\n )}\n </button>\n\n {state !== \"idle\" && (\n <button\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n className=\"close-button\"\n aria-label=\"Close\"\n type=\"button\"\n >\n <svg\n className=\"close-icon\"\n fill=\"#fff\"\n stroke=\"#fff\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={4}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div className=\"success-message\" style={{ textAlign: \"center\" }}>\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\">Open Pelican Vault</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: \"80px\", height: \"80px\" }}\n />\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Open Pelican Vault\n </a>\n <p className=\"helper-text\">\n Open the 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 </div>\n ) : (config.forceQRCode && qr && state === \"awaiting-pair\") ||\n (!config.forceQRCode && qr && state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img src={qr} alt=\"QR Code\" className=\"qr-image\" />\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 </div>\n )}\n </section>\n );\n};\n\nexport default PelicanAuth;\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useEffect, useState, useRef, useCallback } from 'react';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { PelicanAuthentication } from '@pelican-identity/auth-core';
|
|
4
4
|
|
|
@@ -15,12 +15,12 @@ var PelicanButton = ({
|
|
|
15
15
|
flexDirection: "row",
|
|
16
16
|
alignItems: "center",
|
|
17
17
|
justifyContent: "center",
|
|
18
|
-
gap: "0.
|
|
19
|
-
padding: "0.
|
|
18
|
+
gap: "0.35rem",
|
|
19
|
+
padding: "0.05rem 0.7rem",
|
|
20
20
|
borderRadius: "20px",
|
|
21
21
|
cursor: "pointer",
|
|
22
|
-
backgroundColor: "#
|
|
23
|
-
border: "1px solid #
|
|
22
|
+
backgroundColor: "#2b2b2bff",
|
|
23
|
+
border: "1px solid #353535ff"
|
|
24
24
|
},
|
|
25
25
|
children: [
|
|
26
26
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
|
|
@@ -50,11 +50,11 @@ var PelicanButton = ({
|
|
|
50
50
|
{
|
|
51
51
|
style: {
|
|
52
52
|
fontSize: "14px",
|
|
53
|
-
fontWeight: "
|
|
53
|
+
fontWeight: "500",
|
|
54
54
|
color: "#fff",
|
|
55
55
|
fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
|
|
56
56
|
},
|
|
57
|
-
children: text || /* @__PURE__ */ jsx("span", { children: authType === "login" ? "Login with Pelican" : authType === "signup" ? "Signup with Pelican" : authType === "id-verification" ? "Verify
|
|
57
|
+
children: text || /* @__PURE__ */ jsx("span", { children: authType === "login" ? "Login with Pelican" : authType === "signup" ? "Signup with Pelican" : authType === "id-verification" ? "Verify with Pelican" : "Authenticate with Pelican" })
|
|
58
58
|
}
|
|
59
59
|
) })
|
|
60
60
|
]
|
|
@@ -65,16 +65,30 @@ var PelicanButton_default = PelicanButton;
|
|
|
65
65
|
var usePelicanAuth = (config) => {
|
|
66
66
|
const [qr, setQr] = useState(null);
|
|
67
67
|
const [deeplink, setDeeplink] = useState(null);
|
|
68
|
+
const [err, seterr] = useState(null);
|
|
68
69
|
const [state, setState] = useState("idle");
|
|
70
|
+
const [successMessage, setSuccessMessage] = useState(null);
|
|
69
71
|
const pelicanRef = useRef(null);
|
|
72
|
+
const success = config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verification" : "authentication";
|
|
70
73
|
useEffect(() => {
|
|
71
74
|
const pelican = new PelicanAuthentication(config);
|
|
72
75
|
pelicanRef.current = pelican;
|
|
73
76
|
const unsub = [
|
|
74
77
|
pelican.on("qr", setQr),
|
|
75
78
|
pelican.on("deeplink", setDeeplink),
|
|
76
|
-
pelican.on("success", (identity) =>
|
|
77
|
-
|
|
79
|
+
pelican.on("success", (identity) => {
|
|
80
|
+
config.onSuccess(identity);
|
|
81
|
+
if (config.continuousMode) {
|
|
82
|
+
setSuccessMessage(`${success} complete!`);
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
setSuccessMessage(null);
|
|
85
|
+
}, 2e3);
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
88
|
+
pelican.on("error", (error) => {
|
|
89
|
+
seterr(error);
|
|
90
|
+
config.onError?.(error);
|
|
91
|
+
}),
|
|
78
92
|
pelican.on("state", setState)
|
|
79
93
|
];
|
|
80
94
|
return () => {
|
|
@@ -95,7 +109,9 @@ var usePelicanAuth = (config) => {
|
|
|
95
109
|
deeplink,
|
|
96
110
|
state,
|
|
97
111
|
isProcessing: ["initializing", "paired", "awaiting-auth"].includes(state),
|
|
98
|
-
isDone: state === "confirmed" || state === "authenticated"
|
|
112
|
+
isDone: state === "confirmed" || state === "authenticated",
|
|
113
|
+
error: err,
|
|
114
|
+
successMessage
|
|
99
115
|
};
|
|
100
116
|
};
|
|
101
117
|
var StoreIcons = () => {
|
|
@@ -114,7 +130,6 @@ var StoreIcons = () => {
|
|
|
114
130
|
display: "flex",
|
|
115
131
|
justifyContent: "center",
|
|
116
132
|
alignItems: "center",
|
|
117
|
-
backgroundColor: "#000000",
|
|
118
133
|
borderRadius: "1.2rem",
|
|
119
134
|
gap: "0.5rem",
|
|
120
135
|
padding: "0.7rem 1rem",
|
|
@@ -133,7 +148,7 @@ var StoreIcons = () => {
|
|
|
133
148
|
style: {
|
|
134
149
|
fontSize: "14px",
|
|
135
150
|
fontWeight: "500",
|
|
136
|
-
color: "#
|
|
151
|
+
color: "#585858",
|
|
137
152
|
fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
|
|
138
153
|
},
|
|
139
154
|
children: "Available on"
|
|
@@ -147,7 +162,7 @@ var StoreIcons = () => {
|
|
|
147
162
|
style: {
|
|
148
163
|
display: "flex",
|
|
149
164
|
alignItems: "center",
|
|
150
|
-
gap: "0.
|
|
165
|
+
gap: "0.4rem"
|
|
151
166
|
},
|
|
152
167
|
children: [
|
|
153
168
|
/* @__PURE__ */ jsx(Apple, {}),
|
|
@@ -165,8 +180,8 @@ var Apple = () => {
|
|
|
165
180
|
return /* @__PURE__ */ jsxs(
|
|
166
181
|
"svg",
|
|
167
182
|
{
|
|
168
|
-
width: "
|
|
169
|
-
height: "
|
|
183
|
+
width: "16",
|
|
184
|
+
height: "16",
|
|
170
185
|
viewBox: "0 0 32 32",
|
|
171
186
|
fill: "none",
|
|
172
187
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -179,10 +194,10 @@ var Apple = () => {
|
|
|
179
194
|
fillRule: "evenodd",
|
|
180
195
|
clipRule: "evenodd",
|
|
181
196
|
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",
|
|
182
|
-
fill: "
|
|
197
|
+
fill: "#585858"
|
|
183
198
|
}
|
|
184
199
|
) }),
|
|
185
|
-
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_10529_2674", children: /* @__PURE__ */ jsx("rect", { width: "31.1875", height: "31.1875", fill: "
|
|
200
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_10529_2674", children: /* @__PURE__ */ jsx("rect", { width: "31.1875", height: "31.1875", fill: "#585858" }) }) })
|
|
186
201
|
]
|
|
187
202
|
}
|
|
188
203
|
);
|
|
@@ -191,8 +206,8 @@ var PlayStore = () => {
|
|
|
191
206
|
return /* @__PURE__ */ jsx(
|
|
192
207
|
"svg",
|
|
193
208
|
{
|
|
194
|
-
width: "
|
|
195
|
-
height: "
|
|
209
|
+
width: "14",
|
|
210
|
+
height: "14",
|
|
196
211
|
viewBox: "0 0 26 26",
|
|
197
212
|
fill: "none",
|
|
198
213
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -202,7 +217,7 @@ var PlayStore = () => {
|
|
|
202
217
|
"path",
|
|
203
218
|
{
|
|
204
219
|
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",
|
|
205
|
-
fill: "
|
|
220
|
+
fill: "#585858"
|
|
206
221
|
}
|
|
207
222
|
)
|
|
208
223
|
}
|
|
@@ -210,9 +225,16 @@ var PlayStore = () => {
|
|
|
210
225
|
};
|
|
211
226
|
var StoreIcons_default = StoreIcons;
|
|
212
227
|
var PelicanAuth = (config) => {
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
228
|
+
const {
|
|
229
|
+
start,
|
|
230
|
+
qr,
|
|
231
|
+
state,
|
|
232
|
+
deeplink,
|
|
233
|
+
isProcessing,
|
|
234
|
+
stop,
|
|
235
|
+
error,
|
|
236
|
+
successMessage
|
|
237
|
+
} = usePelicanAuth({
|
|
216
238
|
projectId: config.projectId,
|
|
217
239
|
publicKey: config.publicKey,
|
|
218
240
|
authType: config.authType,
|
|
@@ -221,17 +243,9 @@ var PelicanAuth = (config) => {
|
|
|
221
243
|
forceQRCode: config.forceQRCode,
|
|
222
244
|
onSuccess: (identity) => {
|
|
223
245
|
config.onSuccess(identity);
|
|
224
|
-
if (config.continuousMode) {
|
|
225
|
-
setSuccessMessage("Authentication complete!");
|
|
226
|
-
setTimeout(() => {
|
|
227
|
-
setSuccessMessage(null);
|
|
228
|
-
}, 2e3);
|
|
229
|
-
} else {
|
|
230
|
-
setIsOpen(false);
|
|
231
|
-
}
|
|
232
246
|
},
|
|
233
|
-
onError: (
|
|
234
|
-
config.onError?.(
|
|
247
|
+
onError: (error2) => {
|
|
248
|
+
config.onError?.(error2);
|
|
235
249
|
}
|
|
236
250
|
});
|
|
237
251
|
useEffect(() => {
|
|
@@ -244,7 +258,7 @@ var PelicanAuth = (config) => {
|
|
|
244
258
|
"div",
|
|
245
259
|
{
|
|
246
260
|
style: {
|
|
247
|
-
maxWidth: "
|
|
261
|
+
maxWidth: "275px",
|
|
248
262
|
justifyContent: "space-between",
|
|
249
263
|
alignItems: "center",
|
|
250
264
|
width: "100%"
|
|
@@ -254,7 +268,6 @@ var PelicanAuth = (config) => {
|
|
|
254
268
|
{
|
|
255
269
|
style: {
|
|
256
270
|
width: "100%",
|
|
257
|
-
gap: "40px",
|
|
258
271
|
display: "flex",
|
|
259
272
|
justifyContent: "space-between",
|
|
260
273
|
alignItems: "center"
|
|
@@ -271,9 +284,8 @@ var PelicanAuth = (config) => {
|
|
|
271
284
|
},
|
|
272
285
|
onClick: () => {
|
|
273
286
|
start();
|
|
274
|
-
setIsOpen(true);
|
|
275
287
|
},
|
|
276
|
-
disabled:
|
|
288
|
+
disabled: config.continuousMode,
|
|
277
289
|
children: config.buttonComponent ? config.buttonComponent : /* @__PURE__ */ jsx(
|
|
278
290
|
PelicanButton_default,
|
|
279
291
|
{
|
|
@@ -283,13 +295,12 @@ var PelicanAuth = (config) => {
|
|
|
283
295
|
)
|
|
284
296
|
}
|
|
285
297
|
),
|
|
286
|
-
|
|
298
|
+
state !== "idle" && /* @__PURE__ */ jsx(
|
|
287
299
|
"button",
|
|
288
300
|
{
|
|
289
301
|
onClick: () => {
|
|
290
302
|
stop();
|
|
291
303
|
config.onClose?.();
|
|
292
|
-
setIsOpen(false);
|
|
293
304
|
},
|
|
294
305
|
className: "close-button",
|
|
295
306
|
"aria-label": "Close",
|
|
@@ -321,7 +332,7 @@ var PelicanAuth = (config) => {
|
|
|
321
332
|
)
|
|
322
333
|
}
|
|
323
334
|
),
|
|
324
|
-
|
|
335
|
+
state !== "idle" && /* @__PURE__ */ jsxs("div", { className: "auth-container", children: [
|
|
325
336
|
successMessage && /* @__PURE__ */ jsxs("div", { className: "success-message", style: { textAlign: "center" }, children: [
|
|
326
337
|
successMessage,
|
|
327
338
|
config.continuousMode && /* @__PURE__ */ jsx(
|
|
@@ -337,6 +348,7 @@ var PelicanAuth = (config) => {
|
|
|
337
348
|
}
|
|
338
349
|
)
|
|
339
350
|
] }),
|
|
351
|
+
error && state === "error" && /* @__PURE__ */ jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsx("p", { className: "error-message", children: error.message }) }),
|
|
340
352
|
isProcessing ? /* @__PURE__ */ jsxs("div", { className: "content-wrapper", children: [
|
|
341
353
|
/* @__PURE__ */ jsx("h2", { className: "main-heading", children: "one sec..." }),
|
|
342
354
|
/* @__PURE__ */ jsx(
|
|
@@ -347,29 +359,19 @@ var PelicanAuth = (config) => {
|
|
|
347
359
|
}
|
|
348
360
|
)
|
|
349
361
|
] }) : /* @__PURE__ */ jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxs("div", { className: "unpaired-container", children: [
|
|
350
|
-
/* @__PURE__ */ jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
|
|
362
|
+
!deeplink && !config.forceQRCode && /* @__PURE__ */ jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
|
|
351
363
|
!config.forceQRCode && deeplink ? /* @__PURE__ */ jsxs("div", { className: "mobile-auth-container", children: [
|
|
352
364
|
/* @__PURE__ */ jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsx(
|
|
353
|
-
"
|
|
365
|
+
"img",
|
|
354
366
|
{
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
fill: "none",
|
|
359
|
-
role: "img",
|
|
360
|
-
"aria-label": "Pelican Logo",
|
|
361
|
-
children: /* @__PURE__ */ jsx(
|
|
362
|
-
"path",
|
|
363
|
-
{
|
|
364
|
-
d: "M357.79 383.899C357.99 372.409 367.47 358.149 379.03 352.079C391.03 345.819 400.26 350.269 400.13 362.279C399.94 373.899 390.26 388.479 378.7 394.479C367.14 400.479 357.6 395.839 357.79 383.899ZM486.16 316.459C487.06 315.809 488.55 314.069 488.55 313.459C488.74 307.009 488.67 300.689 488.67 293.909C470.15 305.979 452.21 317.719 434.27 329.469V350.379C436.01 349.219 437.5 348.249 438.98 347.279C454.66 336.999 470.41 326.779 486.16 316.459ZM482.54 400.359C470.529 418.676 454.87 434.318 436.54 446.309C420.21 457.209 404.54 463.019 389.94 462.699C374.94 462.309 364.84 455.339 358.94 441.919C364.62 437.009 369.72 432.489 374.82 428.039C377.02 431.039 378.76 434.169 381.21 436.429C391.02 445.659 405.15 445.009 422.21 437.139C424.21 436.139 426.14 435.079 428.14 433.979C436.34 429.459 440.53 424.229 442.6 414.979C444.28 407.299 445.31 399.869 446.66 392.259C448.387 382.382 451.533 372.806 456 363.829C461.23 353.309 468.59 345.369 478.08 341.629C486.53 338.269 491.95 340.629 494.66 347.049C500.81 361.889 495.64 380.279 482.54 400.359ZM478.87 362.999C478.35 361.509 476.73 359.999 475.32 360.419C473.91 360.839 471.64 363.899 470.41 365.969C469.016 368.283 467.953 370.781 467.25 373.389C464.67 384.619 462.25 395.779 459.76 406.949C460.192 406.935 460.623 406.892 461.05 406.819C467.51 399.399 473.05 391.519 476.73 382.749C479.9 375.119 480.54 368.539 478.87 362.999ZM587.54 222.999V416.419C587.537 438.587 581.704 460.364 570.627 479.566C559.55 498.767 543.618 514.719 524.43 525.819L357 622.489C337.794 633.588 316.003 639.432 293.82 639.432C271.637 639.432 249.846 633.588 230.64 622.489L63.12 525.819C43.9293 514.721 27.995 498.77 16.9161 479.568C5.83724 460.366 0.00339985 438.588 0 416.419L0 222.999C0.006907 200.834 5.84241 179.06 16.9211 159.861C27.9999 140.663 43.9322 124.716 63.12 113.619L230.59 16.9391C249.796 5.83984 271.587 -0.00390625 293.77 -0.00390625C315.953 -0.00390625 337.744 5.83984 356.95 16.9391L524.43 113.619C543.615 124.718 559.545 140.666 570.622 159.864C581.699 179.062 587.533 200.835 587.54 222.999ZM559.47 298.119C559.47 247.519 518.47 228.289 467.83 255.199L323.46 331.999C311.58 338.319 301.97 353.099 301.97 364.999V579.379C301.97 591.319 311.58 595.769 323.46 589.449L377.15 560.919C382.557 557.892 387.127 553.569 390.45 548.339C393.87 543.109 396 537.339 396 532.079C396 526.329 400.65 519.229 406.39 516.199L433.11 501.939C438.137 499.272 442.977 496.559 447.63 493.799L467.83 483.089C518.43 456.089 559.47 393.259 559.47 342.659V298.119Z",
|
|
365
|
-
fill: "#D9EB1B"
|
|
366
|
-
}
|
|
367
|
-
)
|
|
367
|
+
src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
|
|
368
|
+
alt: "Pelican Logo",
|
|
369
|
+
style: { width: "80px", height: "80px" }
|
|
368
370
|
}
|
|
369
371
|
) }),
|
|
370
|
-
/* @__PURE__ */ jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican
|
|
372
|
+
/* @__PURE__ */ jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
|
|
371
373
|
/* @__PURE__ */ jsxs("p", { className: "helper-text", children: [
|
|
372
|
-
"
|
|
374
|
+
"Open the app to",
|
|
373
375
|
" ",
|
|
374
376
|
config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
|
|
375
377
|
] })
|
package/dist/index.mjs.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":["jsx","jsxs","useState","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.5rem\",\n padding: \"0.1rem 0.7rem\",\n borderRadius: \"20px\",\n cursor: \"pointer\",\n backgroundColor: \"#232323ff\",\n border: \"1px solid #d9eb1b\",\n }}\n >\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\" fill=\"#121212\" />\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 style={{\n fontSize: \"14px\",\n fontWeight: \"600\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify identity with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\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\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\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) => config.onSuccess(identity)),\n pelican.on(\"error\", (error) => config.onError?.(error)),\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 };\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 backgroundColor: \"#000000\",\n borderRadius: \"1.2rem\",\n gap: \"0.5rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div\n style={{\n gap: \"0.1rem\",\n }}\n >\n <p\n style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Available on\n </p>\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.6rem\",\n }}\n >\n <Apple />\n <PlayStore />\n </div>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\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=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\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=\"white\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect, useState } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\nimport \"./pelican.css\";\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const [isOpen, setIsOpen] = useState(config.continuousMode || false);\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const { start, qr, state, deeplink, isProcessing, stop } = 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 if (config.continuousMode) {\n setSuccessMessage(\"Authentication complete!\");\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } else {\n setIsOpen(false);\n }\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 <section>\n <div\n style={{\n maxWidth: \"290px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n\n width: \"100%\",\n }}\n >\n {!config.continuousMode && (\n <div\n style={{\n width: \"100%\",\n gap: \"40px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n start();\n setIsOpen(true);\n }}\n disabled={isOpen || config.continuousMode}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n />\n )}\n </button>\n\n {isOpen && !config.continuousMode && (\n <button\n onClick={() => {\n stop();\n config.onClose?.();\n setIsOpen(false);\n }}\n className=\"close-button\"\n aria-label=\"Close\"\n type=\"button\"\n >\n <svg\n className=\"close-icon\"\n fill=\"#fff\"\n stroke=\"#fff\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={4}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n {isOpen && (\n <div className=\"auth-container\">\n {successMessage && (\n <div className=\"success-message\" style={{ textAlign: \"center\" }}>\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\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 <h2 className=\"main-heading\">Open Pelican Vault</h2>\n {!config.forceQRCode && deeplink ? (\n <div className=\"mobile-auth-container\">\n <div className=\"logo-container\">\n <svg\n width={82}\n height={96}\n viewBox=\"0 0 588 640\"\n fill=\"none\"\n role=\"img\"\n aria-label=\"Pelican Logo\"\n >\n <path\n d=\"M357.79 383.899C357.99 372.409 367.47 358.149 379.03 352.079C391.03 345.819 400.26 350.269 400.13 362.279C399.94 373.899 390.26 388.479 378.7 394.479C367.14 400.479 357.6 395.839 357.79 383.899ZM486.16 316.459C487.06 315.809 488.55 314.069 488.55 313.459C488.74 307.009 488.67 300.689 488.67 293.909C470.15 305.979 452.21 317.719 434.27 329.469V350.379C436.01 349.219 437.5 348.249 438.98 347.279C454.66 336.999 470.41 326.779 486.16 316.459ZM482.54 400.359C470.529 418.676 454.87 434.318 436.54 446.309C420.21 457.209 404.54 463.019 389.94 462.699C374.94 462.309 364.84 455.339 358.94 441.919C364.62 437.009 369.72 432.489 374.82 428.039C377.02 431.039 378.76 434.169 381.21 436.429C391.02 445.659 405.15 445.009 422.21 437.139C424.21 436.139 426.14 435.079 428.14 433.979C436.34 429.459 440.53 424.229 442.6 414.979C444.28 407.299 445.31 399.869 446.66 392.259C448.387 382.382 451.533 372.806 456 363.829C461.23 353.309 468.59 345.369 478.08 341.629C486.53 338.269 491.95 340.629 494.66 347.049C500.81 361.889 495.64 380.279 482.54 400.359ZM478.87 362.999C478.35 361.509 476.73 359.999 475.32 360.419C473.91 360.839 471.64 363.899 470.41 365.969C469.016 368.283 467.953 370.781 467.25 373.389C464.67 384.619 462.25 395.779 459.76 406.949C460.192 406.935 460.623 406.892 461.05 406.819C467.51 399.399 473.05 391.519 476.73 382.749C479.9 375.119 480.54 368.539 478.87 362.999ZM587.54 222.999V416.419C587.537 438.587 581.704 460.364 570.627 479.566C559.55 498.767 543.618 514.719 524.43 525.819L357 622.489C337.794 633.588 316.003 639.432 293.82 639.432C271.637 639.432 249.846 633.588 230.64 622.489L63.12 525.819C43.9293 514.721 27.995 498.77 16.9161 479.568C5.83724 460.366 0.00339985 438.588 0 416.419L0 222.999C0.006907 200.834 5.84241 179.06 16.9211 159.861C27.9999 140.663 43.9322 124.716 63.12 113.619L230.59 16.9391C249.796 5.83984 271.587 -0.00390625 293.77 -0.00390625C315.953 -0.00390625 337.744 5.83984 356.95 16.9391L524.43 113.619C543.615 124.718 559.545 140.666 570.622 159.864C581.699 179.062 587.533 200.835 587.54 222.999ZM559.47 298.119C559.47 247.519 518.47 228.289 467.83 255.199L323.46 331.999C311.58 338.319 301.97 353.099 301.97 364.999V579.379C301.97 591.319 311.58 595.769 323.46 589.449L377.15 560.919C382.557 557.892 387.127 553.569 390.45 548.339C393.87 543.109 396 537.339 396 532.079C396 526.329 400.65 519.229 406.39 516.199L433.11 501.939C438.137 499.272 442.977 496.559 447.63 493.799L467.83 483.089C518.43 456.089 559.47 393.259 559.47 342.659V298.119Z\"\n fill=\"#D9EB1B\"\n />\n </svg>\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Open Pelican App\n </a>\n <p className=\"helper-text\">\n Tap the button to open the app and{\" \"}\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 </div>\n ) : (config.forceQRCode && qr && state === \"awaiting-pair\") ||\n (!config.forceQRCode && qr && state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img src={qr} alt=\"QR Code\" className=\"qr-image\" />\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 </div>\n )}\n </section>\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"],"mappings":"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","file":"index.mjs","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.35rem\",\n padding: \"0.05rem 0.7rem\",\n borderRadius: \"20px\",\n cursor: \"pointer\",\n backgroundColor: \"#2b2b2bff\",\n border: \"1px solid #353535ff\",\n }}\n >\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\" fill=\"#121212\" />\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 style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#fff\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\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 );\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 };\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.5rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div\n style={{\n gap: \"0.1rem\",\n }}\n >\n <p\n style={{\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Available on\n </p>\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.4rem\",\n }}\n >\n <Apple />\n <PlayStore />\n </div>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\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=\"14\"\n height=\"14\"\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\";\nimport \"../pelican.css\";\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 } = 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 <section>\n <div\n style={{\n maxWidth: \"275px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n\n width: \"100%\",\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 <button\n type=\"button\"\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n start();\n }}\n disabled={config.continuousMode}\n >\n {config.buttonComponent ? (\n config.buttonComponent\n ) : (\n <PelicanButton\n authType={config.authType}\n text={config.buttonText}\n />\n )}\n </button>\n\n {state !== \"idle\" && (\n <button\n onClick={() => {\n stop();\n config.onClose?.();\n }}\n className=\"close-button\"\n aria-label=\"Close\"\n type=\"button\"\n >\n <svg\n className=\"close-icon\"\n fill=\"#fff\"\n stroke=\"#fff\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-label=\"close icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={4}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div className=\"success-message\" style={{ textAlign: \"center\" }}>\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\">Open Pelican Vault</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: \"80px\", height: \"80px\" }}\n />\n </div>\n <a href={deeplink} className=\"open-app-link\">\n Open Pelican Vault\n </a>\n <p className=\"helper-text\">\n Open the 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 </div>\n ) : (config.forceQRCode && qr && state === \"awaiting-pair\") ||\n (!config.forceQRCode && qr && state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img src={qr} alt=\"QR Code\" className=\"qr-image\" />\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 </div>\n )}\n </section>\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.
|
|
3
|
+
"version": "2.0.7",
|
|
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.
|
|
24
|
+
"@pelican-identity/auth-core": "1.2.8"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/react": "^19.0.4",
|