@pelican-identity/react 2.0.23 → 2.0.25

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.js CHANGED
@@ -145,43 +145,85 @@ var StoreIcons = () => {
145
145
  justifyContent: "center",
146
146
  alignItems: "center",
147
147
  borderRadius: "1.2rem",
148
- gap: "0.5rem",
148
+ gap: "0.3rem",
149
149
  padding: "0.7rem 1rem",
150
150
  height: "1.4rem"
151
151
  },
152
152
  children: [
153
- /* @__PURE__ */ jsxRuntime.jsx(
154
- "div",
153
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
154
+ "p",
155
155
  {
156
156
  style: {
157
- gap: "0.1rem"
157
+ fontSize: "12px",
158
+ fontWeight: "500",
159
+ color: "#585858",
160
+ fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
158
161
  },
162
+ children: "Get Pelican Vault"
163
+ }
164
+ ) }),
165
+ /* @__PURE__ */ jsxRuntime.jsx(
166
+ "a",
167
+ {
168
+ href: "https://apps.apple.com/us/app/pelican-vault/id6755097751",
169
+ target: "_blank",
170
+ rel: "noopener noreferrer",
159
171
  children: /* @__PURE__ */ jsxRuntime.jsx(
160
- "p",
172
+ "div",
161
173
  {
162
174
  style: {
163
- fontSize: "14px",
164
- fontWeight: "500",
165
- color: "#585858",
166
- fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
175
+ display: "flex",
176
+ alignItems: "center",
177
+ justifyContent: "center",
178
+ gap: "0.4rem",
179
+ cursor: "pointer",
180
+ height: "28px",
181
+ width: "28px",
182
+ borderRadius: "0.7rem",
183
+ transition: "all 0.2s ease-in-out",
184
+ border: "1px solid #e5e7eb"
185
+ },
186
+ onMouseEnter: (e) => {
187
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
188
+ },
189
+ onMouseLeave: (e) => {
190
+ e.currentTarget.style.backgroundColor = "transparent";
167
191
  },
168
- children: "Available on"
192
+ children: /* @__PURE__ */ jsxRuntime.jsx(Apple, {})
169
193
  }
170
194
  )
171
195
  }
172
196
  ),
173
- /* @__PURE__ */ jsxRuntime.jsxs(
174
- "div",
197
+ /* @__PURE__ */ jsxRuntime.jsx(
198
+ "a",
175
199
  {
176
- style: {
177
- display: "flex",
178
- alignItems: "center",
179
- gap: "0.4rem"
180
- },
181
- children: [
182
- /* @__PURE__ */ jsxRuntime.jsx(Apple, {}),
183
- /* @__PURE__ */ jsxRuntime.jsx(PlayStore, {})
184
- ]
200
+ href: "https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican",
201
+ target: "_blank",
202
+ rel: "noopener noreferrer",
203
+ children: /* @__PURE__ */ jsxRuntime.jsx(
204
+ "div",
205
+ {
206
+ style: {
207
+ display: "flex",
208
+ alignItems: "center",
209
+ justifyContent: "center",
210
+ gap: "0.4rem",
211
+ cursor: "pointer",
212
+ height: "28px",
213
+ width: "28px",
214
+ borderRadius: "0.7rem",
215
+ transition: "all 0.2s ease-in-out",
216
+ border: "1px solid #e5e7eb"
217
+ },
218
+ onMouseEnter: (e) => {
219
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
220
+ },
221
+ onMouseLeave: (e) => {
222
+ e.currentTarget.style.backgroundColor = "transparent";
223
+ },
224
+ children: /* @__PURE__ */ jsxRuntime.jsx(PlayStore, {})
225
+ }
226
+ )
185
227
  }
186
228
  )
187
229
  ]
@@ -194,8 +236,8 @@ var Apple = () => {
194
236
  return /* @__PURE__ */ jsxRuntime.jsxs(
195
237
  "svg",
196
238
  {
197
- width: "16",
198
- height: "16",
239
+ width: "14",
240
+ height: "14",
199
241
  viewBox: "0 0 32 32",
200
242
  fill: "none",
201
243
  xmlns: "http://www.w3.org/2000/svg",
@@ -220,8 +262,8 @@ var PlayStore = () => {
220
262
  return /* @__PURE__ */ jsxRuntime.jsx(
221
263
  "svg",
222
264
  {
223
- width: "14",
224
- height: "14",
265
+ width: "12",
266
+ height: "12",
225
267
  viewBox: "0 0 26 26",
226
268
  fill: "none",
227
269
  xmlns: "http://www.w3.org/2000/svg",
@@ -344,6 +386,7 @@ var PelicanAuth = (config) => {
344
386
  justify-content: center !important;
345
387
  border-radius: 50% !important;
346
388
  box-sizing: border-box !important;
389
+ margin: 0 1rem !important;
347
390
  }
348
391
 
349
392
  .pelican-modal-close-btn:hover {
@@ -617,10 +660,10 @@ opacity: 0.8;
617
660
  "div",
618
661
  {
619
662
  style: {
620
- maxWidth: "275px",
663
+ width: "100%",
621
664
  justifyContent: "space-between",
622
665
  alignItems: "center",
623
- width: "100%"
666
+ maxWidth: "520px"
624
667
  },
625
668
  children: !config.continuousMode && /* @__PURE__ */ jsxRuntime.jsxs(
626
669
  "div",
@@ -700,108 +743,134 @@ opacity: 0.8;
700
743
  )
701
744
  }
702
745
  ),
703
- state !== "idle" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "auth-container", children: [
704
- successMessage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "success-message", style: { textAlign: "center" }, children: [
705
- successMessage,
706
- config.continuousMode && /* @__PURE__ */ jsxRuntime.jsx(
707
- "p",
708
- {
709
- style: {
710
- fontSize: "0.8rem",
711
- marginTop: "0.5rem",
712
- color: "#f3f3f3",
713
- textAlign: "center"
714
- },
715
- children: "Preparing next session..."
716
- }
717
- )
718
- ] }),
719
- error && state === "error" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "error-message", children: error.message }) }),
720
- isProcessing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "content-wrapper", children: [
721
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "one sec..." }),
722
- /* @__PURE__ */ jsxRuntime.jsx(
723
- "span",
724
- {
725
- className: "loader",
726
- style: { margin: "1rem auto", width: "252px" }
727
- }
728
- )
729
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "unpaired-container", children: [
730
- !deeplink && !config.forceQRCode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
731
- !config.forceQRCode && deeplink ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mobile-auth-container", children: [
732
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsxRuntime.jsx(
733
- "img",
734
- {
735
- src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
736
- alt: "Pelican Logo",
737
- style: { width: "80px", height: "80px" }
738
- }
739
- ) }),
740
- /* @__PURE__ */ jsxRuntime.jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
741
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "helper-text", children: [
742
- "Open the app to",
743
- " ",
744
- config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
745
- ] }),
746
- /* @__PURE__ */ jsxRuntime.jsxs(
746
+ /* @__PURE__ */ jsxRuntime.jsx(
747
+ "div",
748
+ {
749
+ style: {
750
+ width: "100%",
751
+ display: "flex",
752
+ justifyContent: "center",
753
+ alignItems: "center",
754
+ maxWidth: "520px"
755
+ },
756
+ children: state !== "idle" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "auth-container", children: [
757
+ successMessage && /* @__PURE__ */ jsxRuntime.jsxs(
747
758
  "div",
748
759
  {
749
- style: {
750
- display: "flex",
751
- alignItems: "center",
752
- gap: "0.5rem"
753
- },
760
+ className: "success-message",
761
+ style: { textAlign: "center" },
754
762
  children: [
755
- /* @__PURE__ */ jsxRuntime.jsx(
756
- "div",
757
- {
758
- style: {
759
- width: "100%",
760
- height: "1px",
761
- backgroundColor: "#e2e2e2ff"
762
- }
763
- }
764
- ),
765
- /* @__PURE__ */ jsxRuntime.jsx(
763
+ successMessage,
764
+ config.continuousMode && /* @__PURE__ */ jsxRuntime.jsx(
766
765
  "p",
767
766
  {
768
767
  style: {
769
768
  fontSize: "0.8rem",
770
- fontFamily: "system-ui, Avenir, Helvetica, Arial, sans-serif",
771
- color: "#a8a8a8ff"
769
+ marginTop: "0.5rem",
770
+ color: "#f3f3f3",
771
+ textAlign: "center"
772
772
  },
773
- children: "Or"
774
- }
775
- ),
776
- /* @__PURE__ */ jsxRuntime.jsx(
777
- "div",
778
- {
779
- style: {
780
- width: "100%",
781
- height: "1px",
782
- backgroundColor: "#e2e2e2ff"
783
- }
773
+ children: "Preparing next session..."
784
774
  }
785
775
  )
786
776
  ]
787
777
  }
788
778
  ),
789
- /* @__PURE__ */ jsxRuntime.jsx(
790
- "button",
791
- {
792
- type: "button",
793
- className: "scan-btn",
794
- onClick: useQrInstead,
795
- children: "Use QR Code"
796
- }
797
- )
798
- ] }) : config.forceQRCode && qr && state === "awaiting-pair" || !config.forceQRCode && qr && state === "awaiting-pair" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "qr-container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "qr-wrapper", children: [
799
- qr && /* @__PURE__ */ jsxRuntime.jsx("img", { src: qr, alt: "QR Code", className: "qr-image" }),
800
- !qr && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "loader" })
801
- ] }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "loader-container", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "loader" }) })
802
- ] }) }),
803
- /* @__PURE__ */ jsxRuntime.jsx(StoreIcons_default, {})
804
- ] })
779
+ error && state === "error" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "error-message", children: error.message }) }),
780
+ isProcessing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "content-wrapper", children: [
781
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "one sec..." }),
782
+ /* @__PURE__ */ jsxRuntime.jsx(
783
+ "span",
784
+ {
785
+ className: "loader",
786
+ style: { margin: "1rem auto", width: "252px" }
787
+ }
788
+ )
789
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "unpaired-container", children: [
790
+ !deeplink && !config.forceQRCode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
791
+ !config.forceQRCode && deeplink ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mobile-auth-container", children: [
792
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsxRuntime.jsx(
793
+ "img",
794
+ {
795
+ src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
796
+ alt: "Pelican Logo",
797
+ style: { width: "80px", height: "80px" }
798
+ }
799
+ ) }),
800
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
801
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "helper-text", children: [
802
+ "Open the app to",
803
+ " ",
804
+ config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
805
+ ] }),
806
+ /* @__PURE__ */ jsxRuntime.jsxs(
807
+ "div",
808
+ {
809
+ style: {
810
+ display: "flex",
811
+ alignItems: "center",
812
+ gap: "0.5rem"
813
+ },
814
+ children: [
815
+ /* @__PURE__ */ jsxRuntime.jsx(
816
+ "div",
817
+ {
818
+ style: {
819
+ width: "100%",
820
+ height: "1px",
821
+ backgroundColor: "#e2e2e2ff"
822
+ }
823
+ }
824
+ ),
825
+ /* @__PURE__ */ jsxRuntime.jsx(
826
+ "p",
827
+ {
828
+ style: {
829
+ fontSize: "0.8rem",
830
+ fontFamily: "system-ui, Avenir, Helvetica, Arial, sans-serif",
831
+ color: "#a8a8a8ff"
832
+ },
833
+ children: "Or"
834
+ }
835
+ ),
836
+ /* @__PURE__ */ jsxRuntime.jsx(
837
+ "div",
838
+ {
839
+ style: {
840
+ width: "100%",
841
+ height: "1px",
842
+ backgroundColor: "#e2e2e2ff"
843
+ }
844
+ }
845
+ )
846
+ ]
847
+ }
848
+ ),
849
+ /* @__PURE__ */ jsxRuntime.jsx(
850
+ "button",
851
+ {
852
+ type: "button",
853
+ className: "scan-btn",
854
+ onClick: useQrInstead,
855
+ children: "Use QR Code"
856
+ }
857
+ )
858
+ ] }) : config.forceQRCode && qr && state === "awaiting-pair" || !config.forceQRCode && qr && state === "awaiting-pair" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "qr-container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "qr-wrapper", children: [
859
+ qr && /* @__PURE__ */ jsxRuntime.jsx(
860
+ "img",
861
+ {
862
+ src: qr,
863
+ alt: "QR Code",
864
+ className: "qr-image"
865
+ }
866
+ ),
867
+ !qr && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "loader" })
868
+ ] }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "loader-container", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "loader" }) })
869
+ ] }) }),
870
+ /* @__PURE__ */ jsxRuntime.jsx(StoreIcons_default, {})
871
+ ] })
872
+ }
873
+ )
805
874
  ] })
806
875
  ] });
807
876
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsxs","Fragment","jsx","useState","useRef","useEffect","PelicanAuthentication","useCallback","error"],"mappings":"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","file":"index.js","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 16px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" 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 {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n };\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\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 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: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 320px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 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 1rem;\n background-color: #2b2b2bff;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\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 {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 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.scan-btn {\n all: unset;\n font-size: 0.8rem;\n color: #626262ff;\n font-weight: 600;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n 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=\"pelican-modal-close-btn\"\n aria-label=\"Close\"\n type=\"button\"\n style={{\n border: \"none !important\",\n padding: \"0.3rem !important\",\n cursor: \"pointer !important\",\n }}\n >\n <svg\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={3}\n d=\"M6 18L18 6M6 6l12 12\"\n height=\"24\"\n width=\"24\"\n fill=\"#fff\"\n stroke=\"#fff\"\n color=\"#fff\"\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 style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n }}\n >\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n <p\n style={{\n fontSize: \"0.8rem\",\n fontFamily:\n \"system-ui, Avenir, Helvetica, Arial, sans-serif\",\n color: \"#a8a8a8ff\",\n }}\n >\n Or\n </p>\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n Use QR Code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img 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};\n\nexport default PelicanAuth;\n"]}
1
+ {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsxs","Fragment","jsx","useState","useRef","useEffect","PelicanAuthentication","useCallback","error"],"mappings":"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","file":"index.js","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 16px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" 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 {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get Pelican Vault\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"28px\",\n width: \"28px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"28px\",\n width: \"28px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 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: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 320px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 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 1rem;\n background-color: #2b2b2bff;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\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 {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 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.scan-btn {\n all: unset;\n font-size: 0.8rem;\n color: #626262ff;\n font-weight: 600;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"520px\",\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=\"pelican-modal-close-btn\"\n aria-label=\"Close\"\n type=\"button\"\n style={{\n border: \"none !important\",\n padding: \"0.3rem !important\",\n cursor: \"pointer !important\",\n }}\n >\n <svg\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={3}\n d=\"M6 18L18 6M6 6l12 12\"\n height=\"24\"\n width=\"24\"\n fill=\"#fff\"\n stroke=\"#fff\"\n color=\"#fff\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"520px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">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 style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n }}\n >\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n <p\n style={{\n fontSize: \"0.8rem\",\n fontFamily:\n \"system-ui, Avenir, Helvetica, Arial, sans-serif\",\n color: \"#a8a8a8ff\",\n }}\n >\n Or\n </p>\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n Use QR Code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n </div>\n )}\n </div>\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
package/dist/index.mjs CHANGED
@@ -143,43 +143,85 @@ var StoreIcons = () => {
143
143
  justifyContent: "center",
144
144
  alignItems: "center",
145
145
  borderRadius: "1.2rem",
146
- gap: "0.5rem",
146
+ gap: "0.3rem",
147
147
  padding: "0.7rem 1rem",
148
148
  height: "1.4rem"
149
149
  },
150
150
  children: [
151
- /* @__PURE__ */ jsx(
152
- "div",
151
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
152
+ "p",
153
153
  {
154
154
  style: {
155
- gap: "0.1rem"
155
+ fontSize: "12px",
156
+ fontWeight: "500",
157
+ color: "#585858",
158
+ fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
156
159
  },
160
+ children: "Get Pelican Vault"
161
+ }
162
+ ) }),
163
+ /* @__PURE__ */ jsx(
164
+ "a",
165
+ {
166
+ href: "https://apps.apple.com/us/app/pelican-vault/id6755097751",
167
+ target: "_blank",
168
+ rel: "noopener noreferrer",
157
169
  children: /* @__PURE__ */ jsx(
158
- "p",
170
+ "div",
159
171
  {
160
172
  style: {
161
- fontSize: "14px",
162
- fontWeight: "500",
163
- color: "#585858",
164
- fontFamily: "Onest, system-ui, Avenir, Helvetica, Arial, sans-serif"
173
+ display: "flex",
174
+ alignItems: "center",
175
+ justifyContent: "center",
176
+ gap: "0.4rem",
177
+ cursor: "pointer",
178
+ height: "28px",
179
+ width: "28px",
180
+ borderRadius: "0.7rem",
181
+ transition: "all 0.2s ease-in-out",
182
+ border: "1px solid #e5e7eb"
183
+ },
184
+ onMouseEnter: (e) => {
185
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
186
+ },
187
+ onMouseLeave: (e) => {
188
+ e.currentTarget.style.backgroundColor = "transparent";
165
189
  },
166
- children: "Available on"
190
+ children: /* @__PURE__ */ jsx(Apple, {})
167
191
  }
168
192
  )
169
193
  }
170
194
  ),
171
- /* @__PURE__ */ jsxs(
172
- "div",
195
+ /* @__PURE__ */ jsx(
196
+ "a",
173
197
  {
174
- style: {
175
- display: "flex",
176
- alignItems: "center",
177
- gap: "0.4rem"
178
- },
179
- children: [
180
- /* @__PURE__ */ jsx(Apple, {}),
181
- /* @__PURE__ */ jsx(PlayStore, {})
182
- ]
198
+ href: "https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican",
199
+ target: "_blank",
200
+ rel: "noopener noreferrer",
201
+ children: /* @__PURE__ */ jsx(
202
+ "div",
203
+ {
204
+ style: {
205
+ display: "flex",
206
+ alignItems: "center",
207
+ justifyContent: "center",
208
+ gap: "0.4rem",
209
+ cursor: "pointer",
210
+ height: "28px",
211
+ width: "28px",
212
+ borderRadius: "0.7rem",
213
+ transition: "all 0.2s ease-in-out",
214
+ border: "1px solid #e5e7eb"
215
+ },
216
+ onMouseEnter: (e) => {
217
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
218
+ },
219
+ onMouseLeave: (e) => {
220
+ e.currentTarget.style.backgroundColor = "transparent";
221
+ },
222
+ children: /* @__PURE__ */ jsx(PlayStore, {})
223
+ }
224
+ )
183
225
  }
184
226
  )
185
227
  ]
@@ -192,8 +234,8 @@ var Apple = () => {
192
234
  return /* @__PURE__ */ jsxs(
193
235
  "svg",
194
236
  {
195
- width: "16",
196
- height: "16",
237
+ width: "14",
238
+ height: "14",
197
239
  viewBox: "0 0 32 32",
198
240
  fill: "none",
199
241
  xmlns: "http://www.w3.org/2000/svg",
@@ -218,8 +260,8 @@ var PlayStore = () => {
218
260
  return /* @__PURE__ */ jsx(
219
261
  "svg",
220
262
  {
221
- width: "14",
222
- height: "14",
263
+ width: "12",
264
+ height: "12",
223
265
  viewBox: "0 0 26 26",
224
266
  fill: "none",
225
267
  xmlns: "http://www.w3.org/2000/svg",
@@ -342,6 +384,7 @@ var PelicanAuth = (config) => {
342
384
  justify-content: center !important;
343
385
  border-radius: 50% !important;
344
386
  box-sizing: border-box !important;
387
+ margin: 0 1rem !important;
345
388
  }
346
389
 
347
390
  .pelican-modal-close-btn:hover {
@@ -615,10 +658,10 @@ opacity: 0.8;
615
658
  "div",
616
659
  {
617
660
  style: {
618
- maxWidth: "275px",
661
+ width: "100%",
619
662
  justifyContent: "space-between",
620
663
  alignItems: "center",
621
- width: "100%"
664
+ maxWidth: "520px"
622
665
  },
623
666
  children: !config.continuousMode && /* @__PURE__ */ jsxs(
624
667
  "div",
@@ -698,108 +741,134 @@ opacity: 0.8;
698
741
  )
699
742
  }
700
743
  ),
701
- state !== "idle" && /* @__PURE__ */ jsxs("div", { className: "auth-container", children: [
702
- successMessage && /* @__PURE__ */ jsxs("div", { className: "success-message", style: { textAlign: "center" }, children: [
703
- successMessage,
704
- config.continuousMode && /* @__PURE__ */ jsx(
705
- "p",
706
- {
707
- style: {
708
- fontSize: "0.8rem",
709
- marginTop: "0.5rem",
710
- color: "#f3f3f3",
711
- textAlign: "center"
712
- },
713
- children: "Preparing next session..."
714
- }
715
- )
716
- ] }),
717
- error && state === "error" && /* @__PURE__ */ jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsx("p", { className: "error-message", children: error.message }) }),
718
- isProcessing ? /* @__PURE__ */ jsxs("div", { className: "content-wrapper", children: [
719
- /* @__PURE__ */ jsx("h2", { className: "main-heading", children: "one sec..." }),
720
- /* @__PURE__ */ jsx(
721
- "span",
722
- {
723
- className: "loader",
724
- style: { margin: "1rem auto", width: "252px" }
725
- }
726
- )
727
- ] }) : /* @__PURE__ */ jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxs("div", { className: "unpaired-container", children: [
728
- !deeplink && !config.forceQRCode && /* @__PURE__ */ jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
729
- !config.forceQRCode && deeplink ? /* @__PURE__ */ jsxs("div", { className: "mobile-auth-container", children: [
730
- /* @__PURE__ */ jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsx(
731
- "img",
732
- {
733
- src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
734
- alt: "Pelican Logo",
735
- style: { width: "80px", height: "80px" }
736
- }
737
- ) }),
738
- /* @__PURE__ */ jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
739
- /* @__PURE__ */ jsxs("p", { className: "helper-text", children: [
740
- "Open the app to",
741
- " ",
742
- config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
743
- ] }),
744
- /* @__PURE__ */ jsxs(
744
+ /* @__PURE__ */ jsx(
745
+ "div",
746
+ {
747
+ style: {
748
+ width: "100%",
749
+ display: "flex",
750
+ justifyContent: "center",
751
+ alignItems: "center",
752
+ maxWidth: "520px"
753
+ },
754
+ children: state !== "idle" && /* @__PURE__ */ jsxs("div", { className: "auth-container", children: [
755
+ successMessage && /* @__PURE__ */ jsxs(
745
756
  "div",
746
757
  {
747
- style: {
748
- display: "flex",
749
- alignItems: "center",
750
- gap: "0.5rem"
751
- },
758
+ className: "success-message",
759
+ style: { textAlign: "center" },
752
760
  children: [
753
- /* @__PURE__ */ jsx(
754
- "div",
755
- {
756
- style: {
757
- width: "100%",
758
- height: "1px",
759
- backgroundColor: "#e2e2e2ff"
760
- }
761
- }
762
- ),
763
- /* @__PURE__ */ jsx(
761
+ successMessage,
762
+ config.continuousMode && /* @__PURE__ */ jsx(
764
763
  "p",
765
764
  {
766
765
  style: {
767
766
  fontSize: "0.8rem",
768
- fontFamily: "system-ui, Avenir, Helvetica, Arial, sans-serif",
769
- color: "#a8a8a8ff"
767
+ marginTop: "0.5rem",
768
+ color: "#f3f3f3",
769
+ textAlign: "center"
770
770
  },
771
- children: "Or"
772
- }
773
- ),
774
- /* @__PURE__ */ jsx(
775
- "div",
776
- {
777
- style: {
778
- width: "100%",
779
- height: "1px",
780
- backgroundColor: "#e2e2e2ff"
781
- }
771
+ children: "Preparing next session..."
782
772
  }
783
773
  )
784
774
  ]
785
775
  }
786
776
  ),
787
- /* @__PURE__ */ jsx(
788
- "button",
789
- {
790
- type: "button",
791
- className: "scan-btn",
792
- onClick: useQrInstead,
793
- children: "Use QR Code"
794
- }
795
- )
796
- ] }) : config.forceQRCode && qr && state === "awaiting-pair" || !config.forceQRCode && qr && state === "awaiting-pair" ? /* @__PURE__ */ jsx("div", { className: "qr-container", children: /* @__PURE__ */ jsxs("div", { className: "qr-wrapper", children: [
797
- qr && /* @__PURE__ */ jsx("img", { src: qr, alt: "QR Code", className: "qr-image" }),
798
- !qr && /* @__PURE__ */ jsx("span", { className: "loader" })
799
- ] }) }) : /* @__PURE__ */ jsx("div", { className: "loader-container", children: /* @__PURE__ */ jsx("span", { className: "loader" }) })
800
- ] }) }),
801
- /* @__PURE__ */ jsx(StoreIcons_default, {})
802
- ] })
777
+ error && state === "error" && /* @__PURE__ */ jsx("div", { className: "error-wrapper", children: /* @__PURE__ */ jsx("p", { className: "error-message", children: error.message }) }),
778
+ isProcessing ? /* @__PURE__ */ jsxs("div", { className: "content-wrapper", children: [
779
+ /* @__PURE__ */ jsx("h2", { className: "main-heading", children: "one sec..." }),
780
+ /* @__PURE__ */ jsx(
781
+ "span",
782
+ {
783
+ className: "loader",
784
+ style: { margin: "1rem auto", width: "252px" }
785
+ }
786
+ )
787
+ ] }) : /* @__PURE__ */ jsx("div", { className: "content-wrapper", children: state === "awaiting-pair" && !successMessage && /* @__PURE__ */ jsxs("div", { className: "unpaired-container", children: [
788
+ !deeplink && !config.forceQRCode && /* @__PURE__ */ jsx("h2", { className: "main-heading", children: "Open Pelican Vault" }),
789
+ !config.forceQRCode && deeplink ? /* @__PURE__ */ jsxs("div", { className: "mobile-auth-container", children: [
790
+ /* @__PURE__ */ jsx("div", { className: "logo-container", children: /* @__PURE__ */ jsx(
791
+ "img",
792
+ {
793
+ src: "https://res.cloudinary.com/de0jr8mcm/image/upload/v1765904735/pelican/pelican_icon_r9ghqw.png ",
794
+ alt: "Pelican Logo",
795
+ style: { width: "80px", height: "80px" }
796
+ }
797
+ ) }),
798
+ /* @__PURE__ */ jsx("a", { href: deeplink, className: "open-app-link", children: "Open Pelican Vault" }),
799
+ /* @__PURE__ */ jsxs("p", { className: "helper-text", children: [
800
+ "Open the app to",
801
+ " ",
802
+ config.authType === "login" ? "login" : config.authType === "signup" ? "signup" : config.authType === "id-verification" ? "verify identity" : "authenticate"
803
+ ] }),
804
+ /* @__PURE__ */ jsxs(
805
+ "div",
806
+ {
807
+ style: {
808
+ display: "flex",
809
+ alignItems: "center",
810
+ gap: "0.5rem"
811
+ },
812
+ children: [
813
+ /* @__PURE__ */ jsx(
814
+ "div",
815
+ {
816
+ style: {
817
+ width: "100%",
818
+ height: "1px",
819
+ backgroundColor: "#e2e2e2ff"
820
+ }
821
+ }
822
+ ),
823
+ /* @__PURE__ */ jsx(
824
+ "p",
825
+ {
826
+ style: {
827
+ fontSize: "0.8rem",
828
+ fontFamily: "system-ui, Avenir, Helvetica, Arial, sans-serif",
829
+ color: "#a8a8a8ff"
830
+ },
831
+ children: "Or"
832
+ }
833
+ ),
834
+ /* @__PURE__ */ jsx(
835
+ "div",
836
+ {
837
+ style: {
838
+ width: "100%",
839
+ height: "1px",
840
+ backgroundColor: "#e2e2e2ff"
841
+ }
842
+ }
843
+ )
844
+ ]
845
+ }
846
+ ),
847
+ /* @__PURE__ */ jsx(
848
+ "button",
849
+ {
850
+ type: "button",
851
+ className: "scan-btn",
852
+ onClick: useQrInstead,
853
+ children: "Use QR Code"
854
+ }
855
+ )
856
+ ] }) : config.forceQRCode && qr && state === "awaiting-pair" || !config.forceQRCode && qr && state === "awaiting-pair" ? /* @__PURE__ */ jsx("div", { className: "qr-container", children: /* @__PURE__ */ jsxs("div", { className: "qr-wrapper", children: [
857
+ qr && /* @__PURE__ */ jsx(
858
+ "img",
859
+ {
860
+ src: qr,
861
+ alt: "QR Code",
862
+ className: "qr-image"
863
+ }
864
+ ),
865
+ !qr && /* @__PURE__ */ jsx("span", { className: "loader" })
866
+ ] }) }) : /* @__PURE__ */ jsx("div", { className: "loader-container", children: /* @__PURE__ */ jsx("span", { className: "loader" }) })
867
+ ] }) }),
868
+ /* @__PURE__ */ jsx(StoreIcons_default, {})
869
+ ] })
870
+ }
871
+ )
803
872
  ] })
804
873
  ] });
805
874
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsx","jsxs","error","useEffect","Fragment"],"mappings":"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","file":"index.mjs","sourcesContent":["import { AuthType } from \"@pelican-identity/auth-core\";\n\nconst PelicanButton = ({\n authType,\n text,\n}: {\n authType: AuthType;\n text?: string;\n}) => {\n return (\n <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 16px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" 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 {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n };\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\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 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: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 320px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 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 1rem;\n background-color: #2b2b2bff;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\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 {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 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.scan-btn {\n all: unset;\n font-size: 0.8rem;\n color: #626262ff;\n font-weight: 600;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n 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=\"pelican-modal-close-btn\"\n aria-label=\"Close\"\n type=\"button\"\n style={{\n border: \"none !important\",\n padding: \"0.3rem !important\",\n cursor: \"pointer !important\",\n }}\n >\n <svg\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={3}\n d=\"M6 18L18 6M6 6l12 12\"\n height=\"24\"\n width=\"24\"\n fill=\"#fff\"\n stroke=\"#fff\"\n color=\"#fff\"\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 style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n }}\n >\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n <p\n style={{\n fontSize: \"0.8rem\",\n fontFamily:\n \"system-ui, Avenir, Helvetica, Arial, sans-serif\",\n color: \"#a8a8a8ff\",\n }}\n >\n Or\n </p>\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n Use QR Code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img 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};\n\nexport default PelicanAuth;\n"]}
1
+ {"version":3,"sources":["../src/components/PelicanButton.tsx","../src/hooks/usePelicanAuth.ts","../src/components/StoreIcons.tsx","../src/components/PelicanAuth.tsx"],"names":["jsx","jsxs","error","useEffect","Fragment"],"mappings":"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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 <>\n <style>\n {`\n .pelican-auth-btn-wrapper * {\n box-sizing: border-box;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn { \n all: initial;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 0.35rem !important;\n padding: 0.3rem 0.5rem !important;\n border-radius: 16px !important;\n cursor: pointer !important;\n background-color: #2b2b2b !important;\n border: 1px solid #353535 !important;\n\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn:hover {\n background-color: #313131 !important;\n cursor: pointer !important;\n }\n \n .pelican-auth-btn-wrapper .pelican-auth-btn p {\n all: initial;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #fff !important;\n font-family: Onest, system-ui, -apple-system, sans-serif !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n `}\n </style>\n <div className=\"pelican-auth-btn-wrapper\">\n <div className=\"pelican-auth-btn\">\n <div>\n <svg\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"Pelican logo\"\n >\n <rect width=\"100\" height=\"100\" rx=\"32\" 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 {text || (\n <span>\n {authType === \"login\"\n ? \"Login with Pelican\"\n : authType === \"signup\"\n ? \"Signup with Pelican\"\n : authType === \"id-verification\"\n ? \"Verify with Pelican\"\n : \"Authenticate with Pelican\"}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default PelicanButton;\n","import {\n PelicanAuthentication,\n PelicanAuthState,\n PelicanWebAuthProps,\n} from \"@pelican-identity/auth-core\";\nimport { useState, useRef, useEffect, useCallback } from \"react\";\n\nexport const usePelicanAuth = (config: PelicanWebAuthProps) => {\n const [qr, setQr] = useState<string | null>(null);\n const [deeplink, setDeeplink] = useState<string | null>(null);\n const [err, seterr] = useState<Error | null>(null);\n const [state, setState] = useState<PelicanAuthState>(\"idle\");\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const pelicanRef = useRef<PelicanAuthentication | null>(null);\n const success =\n config.authType === \"login\"\n ? \"login\"\n : config.authType === \"signup\"\n ? \"signup\"\n : config.authType === \"id-verification\"\n ? \"verification\"\n : \"authentication\";\n\n useEffect(() => {\n const pelican = new PelicanAuthentication(config);\n pelicanRef.current = pelican;\n\n // Subscriptions\n const unsub = [\n pelican.on(\"qr\", setQr),\n pelican.on(\"deeplink\", setDeeplink),\n pelican.on(\"success\", (identity) => {\n config.onSuccess(identity);\n if (config.continuousMode) {\n setSuccessMessage(`${success} complete!`);\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n }\n }),\n pelican.on(\"error\", (error) => {\n seterr(error);\n config.onError?.(error);\n }),\n pelican.on(\"state\", setState),\n ];\n\n return () => {\n unsub.forEach((fn) => fn());\n pelican.destroy();\n };\n }, [config.publicKey, config.projectId, config.authType]);\n\n const start = useCallback(() => {\n pelicanRef.current?.start();\n }, []);\n\n const stop = useCallback(() => {\n pelicanRef.current?.stop();\n }, []);\n return {\n start,\n stop,\n qr,\n deeplink,\n state,\n isProcessing: [\"initializing\", \"paired\", \"awaiting-auth\"].includes(state),\n isDone: state === \"confirmed\" || state === \"authenticated\",\n error: err,\n successMessage,\n useQrInstead: () => pelicanRef.current?.useQrInstead(),\n useDeepLinkInstead: () => pelicanRef.current?.useDeepLinkInstead(),\n };\n};\n","const StoreIcons = () => {\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n borderRadius: \"1.2rem\",\n gap: \"0.3rem\",\n padding: \"0.7rem 1rem\",\n height: \"1.4rem\",\n }}\n >\n <div>\n <p\n style={{\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#585858\",\n fontFamily:\n \"Onest, system-ui, Avenir, Helvetica, Arial, sans-serif\",\n }}\n >\n Get Pelican Vault\n </p>\n </div>\n <a\n href=\"https://apps.apple.com/us/app/pelican-vault/id6755097751\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"28px\",\n width: \"28px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <Apple />\n </div>\n </a>\n <a\n href=\"https://play.google.com/store/apps/details?id=com.HeraculesDesignTechLtd.pelican\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.4rem\",\n cursor: \"pointer\",\n height: \"28px\",\n width: \"28px\",\n borderRadius: \"0.7rem\",\n transition: \"all 0.2s ease-in-out\",\n border: \"1px solid #e5e7eb\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"#f5f5f5\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n >\n <PlayStore />\n </div>\n </a>\n </div>\n </div>\n );\n};\n\nconst Apple = () => {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"apple icon\"\n >\n <g clipPath=\"url(#clip0_10529_2674)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.0213 7.30124C24.1265 7.30124 26.358 8.45986 27.947 10.4637C22.7386 13.3501 23.5854 20.8709 28.8483 22.881C28.1232 24.5027 27.777 25.2278 26.8445 26.664C25.5424 28.6663 23.7101 31.1613 21.435 31.1831C19.4156 31.2018 18.8963 29.8529 16.155 29.8685C13.4136 29.8841 12.8413 31.2065 10.8219 31.1878C8.54832 31.1659 6.80962 28.9142 5.50754 26.9104C1.86795 21.3091 1.48746 14.7363 3.73297 11.2433C5.32821 8.7577 7.84348 7.3028 10.2106 7.3028C12.6199 7.3028 14.134 8.63919 16.1269 8.63919C18.0605 8.63919 19.2363 7.30124 22.0213 7.30124ZM21.4101 0.000244141C21.6907 1.89489 20.9204 3.75054 19.9084 5.06354C18.8246 6.4701 16.958 7.5601 15.1523 7.50396C14.8248 5.69041 15.67 3.82383 16.6961 2.56542C17.8235 1.17757 19.7571 0.115638 21.4101 0.000244141Z\"\n fill=\"#585858\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_10529_2674\">\n <rect width=\"31.1875\" height=\"31.1875\" fill=\"#585858\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nconst PlayStore = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"play icon\"\n >\n <path\n d=\"M0.015625 2.02546V24.3372C0.0157895 24.3856 0.0316774 24.4329 0.0612964 24.4731C0.0909154 24.5134 0.132947 24.5448 0.182121 24.5634C0.231294 24.582 0.285421 24.587 0.337713 24.5778C0.390006 24.5685 0.438136 24.5455 0.476069 24.5115L13.2604 13.1819L0.476069 1.85116C0.438136 1.81718 0.390006 1.79412 0.337713 1.7849C0.285421 1.77567 0.231294 1.78067 0.182121 1.79929C0.132947 1.8179 0.0909154 1.84929 0.0612964 1.88953C0.0316774 1.92976 0.0157895 1.97705 0.015625 2.02546ZM18.6208 8.52652L2.59086 0.501104L2.58086 0.495994C2.30472 0.359739 2.04233 0.699241 2.26849 0.896811L14.8342 11.8154L18.6208 8.52652ZM2.26974 25.467C2.04233 25.6645 2.30472 26.004 2.58211 25.8678L2.59211 25.8627L18.6208 17.8373L14.8342 14.5473L2.26974 25.467ZM25.092 11.7626L20.6156 9.52231L16.4067 13.1819L20.6156 16.8398L25.092 14.6012C26.3096 13.9898 26.3096 12.374 25.092 11.7626Z\"\n fill=\"#585858\"\n />\n </svg>\n );\n};\n\nexport default StoreIcons;\n","import { useEffect } from \"react\";\nimport PelicanButton from \"./PelicanButton\";\nimport { usePelicanAuth } from \"../hooks/usePelicanAuth\";\nimport StoreIcons from \"./StoreIcons\";\n\nimport { PelicanWebAuthProps } from \"@pelican-identity/auth-core\";\n\nconst PelicanAuth = (config: PelicanWebAuthProps) => {\n const {\n start,\n qr,\n state,\n deeplink,\n isProcessing,\n stop,\n error,\n successMessage,\n useQrInstead,\n } = usePelicanAuth({\n projectId: config.projectId,\n publicKey: config.publicKey,\n authType: config.authType,\n onClose: config.onClose,\n continuousMode: config.continuousMode,\n forceQRCode: config.forceQRCode,\n onSuccess: (identity) => {\n config.onSuccess(identity);\n },\n onError: (error) => {\n config.onError?.(error);\n },\n });\n useEffect(() => {\n if (config.continuousMode) {\n start();\n }\n }, [config.continuousMode]);\n return (\n <>\n <style>\n {`@keyframes fadeUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes successPulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.9;\n }\n}\n\n.auth-container {\n width: 300px;\n max-width: fit-content;\n padding: 1rem;\n margin-top: 0.3rem;\n position: relative;\n animation: fadeUp 0.5s ease-out;\n background-color: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 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: #f9fafb;\n border-radius: 2.5rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 320px;\n}\n\n.pelican-modal-close-btn {\n all: unset; /* Reset all inherited styles */\n background-color: #2b2b2b !important;\n border: none !important;\n padding: 0.3rem !important;\n cursor: pointer !important;\n transition: opacity 0.2s !important;\n height: 1.5rem !important;\n width: 1.5rem !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 50% !important;\n box-sizing: border-box !important;\n margin: 0 1rem !important;\n}\n\n.pelican-modal-close-btn:hover {\n opacity: 0.6 !important;\n}\n\n.pelican-modal-close-btn svg {\n display: block !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.retry-container {\n text-align: center;\n padding: 3rem 0;\n}\n\n.retry-container > div:first-child {\n margin-bottom: 1rem;\n}\n\n.retry-text {\n font-size: 1.125rem;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.content-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n}\n\n.unpaired-container {\n text-align: center;\n display: flex;\n flex-direction: column;\n}\n\n.main-heading {\n font-size: 0.75rem;\n font-weight: 600;\n color: #585858;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n@media (min-width: 768px) {\n .main-heading {\n font-size: 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 1rem;\n background-color: #2b2b2bff;\n width: fit-content;\n align-self: center;\n\n border-radius: 18px;\n color: #fff;\n font-weight: 500;\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 {\nopacity: 0.8;\n}\n\n.helper-text {\n font-size: 0.75rem;\n color: #6b7280;\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n}\n\n.qr-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n border-radius: 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.scan-btn {\n all: unset;\n font-size: 0.8rem;\n color: #626262ff;\n font-weight: 600;\n cursor: pointer;\n font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;\n}\n.error-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border-radius: 1.5rem;\n border: 1px solid rgb(255, 236, 236);\n background-color: rgb(255, 255, 255);\n width: 250px;\n height: 80px;\n}\n\n.error-message {\n font-size: 0.75rem;\n font-weight: 400;\n color: rgb(255, 139, 139);\n font-family: Onest, system-ui, Avenir, Helvetica, Arial, sans-serif;\n max-width: 70%;\n}\n\n.loader {\n width: 48px;\n height: 48px;\n position: relative;\n}\n.loader::before,\n.loader::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 48em;\n height: 48em;\n background-image: radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0),\n radial-gradient(circle 10px, #585858 100%, transparent 0);\n background-position: 0em -18em, 0em 18em, 18em 0em, -18em 0em, 13em -13em,\n -13em -13em, 13em 13em, -13em 13em;\n background-repeat: no-repeat;\n font-size: 0.5px;\n border-radius: 50%;\n animation: blast 1s ease-in infinite;\n}\n.loader::after {\n font-size: 1px;\n background: #585858;\n animation: bounce 1s ease-in infinite;\n}\n\n@keyframes bounce {\n 0%,\n 100% {\n font-size: 0.75px;\n }\n 50% {\n font-size: 1.5px;\n }\n}\n@keyframes blast {\n 0%,\n 40% {\n font-size: 0.5px;\n }\n 70% {\n opacity: 1;\n font-size: 4px;\n }\n 100% {\n font-size: 6px;\n opacity: 0;\n }\n}\n`}\n </style>\n <section>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"520px\",\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=\"pelican-modal-close-btn\"\n aria-label=\"Close\"\n type=\"button\"\n style={{\n border: \"none !important\",\n padding: \"0.3rem !important\",\n cursor: \"pointer !important\",\n }}\n >\n <svg\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={3}\n d=\"M6 18L18 6M6 6l12 12\"\n height=\"24\"\n width=\"24\"\n fill=\"#fff\"\n stroke=\"#fff\"\n color=\"#fff\"\n />\n </svg>\n </button>\n )}\n </div>\n )}\n </div>\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"520px\",\n }}\n >\n {state !== \"idle\" && (\n <div className=\"auth-container\">\n {successMessage && (\n <div\n className=\"success-message\"\n style={{ textAlign: \"center\" }}\n >\n {successMessage}\n {config.continuousMode && (\n <p\n style={{\n fontSize: \"0.8rem\",\n marginTop: \"0.5rem\",\n color: \"#f3f3f3\",\n textAlign: \"center\",\n }}\n >\n Preparing next session...\n </p>\n )}\n </div>\n )}\n {error && state === \"error\" && (\n <div className=\"error-wrapper\">\n <p className=\"error-message\">{error.message}</p>\n </div>\n )}\n\n {isProcessing ? (\n <div className=\"content-wrapper\">\n <h2 className=\"main-heading\">one sec...</h2>\n\n <span\n className=\"loader\"\n style={{ margin: \"1rem auto\", width: \"252px\" }}\n ></span>\n </div>\n ) : (\n <div className=\"content-wrapper\">\n {state === \"awaiting-pair\" && !successMessage && (\n <div className=\"unpaired-container\">\n {!deeplink && !config.forceQRCode && (\n <h2 className=\"main-heading\">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 style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n }}\n >\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n <p\n style={{\n fontSize: \"0.8rem\",\n fontFamily:\n \"system-ui, Avenir, Helvetica, Arial, sans-serif\",\n color: \"#a8a8a8ff\",\n }}\n >\n Or\n </p>\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n backgroundColor: \"#e2e2e2ff\",\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"scan-btn\"\n onClick={useQrInstead}\n >\n Use QR Code\n </button>\n </div>\n ) : (config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ||\n (!config.forceQRCode &&\n qr &&\n state === \"awaiting-pair\") ? (\n <div className=\"qr-container\">\n <div className=\"qr-wrapper\">\n {qr && (\n <img\n src={qr}\n alt=\"QR Code\"\n className=\"qr-image\"\n />\n )}\n {!qr && <span className=\"loader\"></span>}\n </div>\n </div>\n ) : (\n <div className=\"loader-container\">\n <span className=\"loader\"></span>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n <StoreIcons />\n </div>\n )}\n </div>\n </section>\n </>\n );\n};\n\nexport default PelicanAuth;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pelican-identity/react",
3
- "version": "2.0.23",
3
+ "version": "2.0.25",
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.21"
24
+ "@pelican-identity/auth-core": "1.2.22"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/react": "^19.0.4",