@ichaingo/with-login 1.4.32 → 1.4.33
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.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -134
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
export declare const isLogin: () => boolean;
|
|
3
|
+
export declare enum LoginMessageType {
|
|
4
|
+
CLOSE_LOGIN_MODAL = "closeLoginModal",
|
|
5
|
+
LOGIN_SUCCESS = "loginSuccess"
|
|
6
|
+
}
|
|
7
|
+
export declare enum OpenLoginType {
|
|
8
|
+
LOGIN = "login",
|
|
9
|
+
REGISTER = "register"
|
|
10
|
+
}
|
|
3
11
|
export interface UseLoginResult {
|
|
4
12
|
isOpen: boolean;
|
|
5
13
|
openLogin: () => void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,OAAO,eAEnB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,OAAO,eAEnB,CAAC;AACF,oBAAY,gBAAgB;IAC1B,iBAAiB,oBAAoB;IACrC,aAAa,iBAAiB;CAC/B;AACD,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AACD,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;CACtB;AACD,UAAU,aAAa;IACrB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAC,oBAA8C,EAAC,EAAE,aAAa,GAAG,cAAc,CAgIxG;AAED,UAAU,cACR,SAAQ,KAAK,CAAC,iBAAiB,EAC7B,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CAS9D;AAED,eAAe,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,137 +1,69 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { createPortal as
|
|
5
|
-
import { useLocale as
|
|
6
|
-
import { twMerge as
|
|
7
|
-
import { useTheme as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return o[0] === '"' && (o = o.slice(1, -1)), o.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
|
|
20
|
-
},
|
|
21
|
-
write: function(o) {
|
|
22
|
-
return encodeURIComponent(o).replace(
|
|
23
|
-
/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
|
|
24
|
-
decodeURIComponent
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
function y(o, r) {
|
|
29
|
-
function t(n, s, e) {
|
|
30
|
-
if (!(typeof document > "u")) {
|
|
31
|
-
e = h({}, r, e), typeof e.expires == "number" && (e.expires = new Date(Date.now() + e.expires * 864e5)), e.expires && (e.expires = e.expires.toUTCString()), n = encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
|
|
32
|
-
var a = "";
|
|
33
|
-
for (var c in e)
|
|
34
|
-
e[c] && (a += "; " + c, e[c] !== !0 && (a += "=" + e[c].split(";")[0]));
|
|
35
|
-
return document.cookie = n + "=" + o.write(s, n) + a;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function i(n) {
|
|
39
|
-
if (!(typeof document > "u" || arguments.length && !n)) {
|
|
40
|
-
for (var s = document.cookie ? document.cookie.split("; ") : [], e = {}, a = 0; a < s.length; a++) {
|
|
41
|
-
var c = s[a].split("="), d = c.slice(1).join("=");
|
|
42
|
-
try {
|
|
43
|
-
var l = decodeURIComponent(c[0]);
|
|
44
|
-
if (e[l] = o.read(d, l), n === l)
|
|
45
|
-
break;
|
|
46
|
-
} catch {
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return n ? e[n] : e;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return Object.create(
|
|
53
|
-
{
|
|
54
|
-
set: t,
|
|
55
|
-
get: i,
|
|
56
|
-
remove: function(n, s) {
|
|
57
|
-
t(
|
|
58
|
-
n,
|
|
59
|
-
"",
|
|
60
|
-
h({}, s, {
|
|
61
|
-
expires: -1
|
|
62
|
-
})
|
|
63
|
-
);
|
|
64
|
-
},
|
|
65
|
-
withAttributes: function(n) {
|
|
66
|
-
return y(this.converter, h({}, this.attributes, n));
|
|
67
|
-
},
|
|
68
|
-
withConverter: function(n) {
|
|
69
|
-
return y(h({}, this.converter, n), this.attributes);
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
attributes: { value: Object.freeze(r) },
|
|
74
|
-
converter: { value: Object.freeze(o) }
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
var O = y(M, { path: "/" });
|
|
79
|
-
const S = () => !!O.get("id_token");
|
|
80
|
-
function z({ loginSuccessCallback: o = () => Promise.resolve() }) {
|
|
81
|
-
const [r, t] = w(!1), [i, n] = w(!1), [s, e] = w(!1), a = B(), { resolvedTheme: c } = E(), d = i && c ? c : "light", l = `${process.env.NEXT_PUBLIC_AUTH_URL}/${a}/login?mode=dialog&theme=${d}`, g = u(() => {
|
|
82
|
-
t(!0), e(!1);
|
|
83
|
-
}, []), m = u(() => {
|
|
84
|
-
t(!1);
|
|
85
|
-
}, []), I = u((f) => {
|
|
86
|
-
t(f), f && e(!1);
|
|
2
|
+
import { jsx as a, jsxs as U, Fragment as T } from "react/jsx-runtime";
|
|
3
|
+
import { useState as f, useCallback as i, useEffect as h } from "react";
|
|
4
|
+
import { createPortal as C } from "react-dom";
|
|
5
|
+
import { useLocale as M } from "next-intl";
|
|
6
|
+
import { twMerge as v } from "tailwind-merge";
|
|
7
|
+
import { useTheme as O } from "@ichaingo/next-themes";
|
|
8
|
+
import S from "js-cookie";
|
|
9
|
+
const H = () => !!S.get("id_token");
|
|
10
|
+
var $ = /* @__PURE__ */ ((e) => (e.CLOSE_LOGIN_MODAL = "closeLoginModal", e.LOGIN_SUCCESS = "loginSuccess", e))($ || {}), b = /* @__PURE__ */ ((e) => (e.LOGIN = "login", e.REGISTER = "register", e))(b || {});
|
|
11
|
+
function x({ loginSuccessCallback: e = () => Promise.resolve() }) {
|
|
12
|
+
const [t, l] = f(!1), [r, w] = f(!1), [c, d] = f(!1), [G, _] = f(null), g = M(), { resolvedTheme: u } = O(), n = r && u ? u : "light", L = i((o) => {
|
|
13
|
+
const s = `${process.env.NEXT_PUBLIC_AUTH_URL}/${g}/login?mode=dialog&theme=${n}`, N = `${process.env.NEXT_PUBLIC_AUTH_URL}/${g}/register?mode=dialog&theme=${n}`;
|
|
14
|
+
l(!0), d(!1), _(o === "register" ? N : s);
|
|
15
|
+
}, [n, g]), m = i(() => {
|
|
16
|
+
l(!1);
|
|
17
|
+
}, []), E = i((o) => {
|
|
18
|
+
l(o), o && d(!1);
|
|
87
19
|
}, []);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}, [
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
20
|
+
h(() => {
|
|
21
|
+
t && r && d(!1);
|
|
22
|
+
}, [u, t, r]), h(() => {
|
|
23
|
+
w(!0);
|
|
24
|
+
const o = (s) => {
|
|
25
|
+
s.data.type === "closeLoginModal" && m(), s.data.type === "loginSuccess" && (m(), e && e());
|
|
94
26
|
};
|
|
95
|
-
return window.addEventListener("message",
|
|
96
|
-
window.removeEventListener("message",
|
|
27
|
+
return window.addEventListener("message", o), () => {
|
|
28
|
+
window.removeEventListener("message", o);
|
|
97
29
|
};
|
|
98
30
|
}, []);
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
}, []),
|
|
102
|
-
({ children:
|
|
103
|
-
[
|
|
104
|
-
),
|
|
31
|
+
const p = i(() => {
|
|
32
|
+
d(!0);
|
|
33
|
+
}, []), I = i(
|
|
34
|
+
({ children: o, ...s }) => /* @__PURE__ */ a("div", { onClick: L, style: { cursor: "pointer" }, ...s, children: o }),
|
|
35
|
+
[L]
|
|
36
|
+
), y = i(() => t ? C(
|
|
105
37
|
/* @__PURE__ */ U(
|
|
106
38
|
"div",
|
|
107
39
|
{
|
|
108
|
-
className:
|
|
40
|
+
className: v(
|
|
109
41
|
"fixed w-0 h-9 bg-[rgba(0,0,0,0.7)] z-1000",
|
|
110
|
-
|
|
42
|
+
t && "top-0 left-0 w-full h-full"
|
|
111
43
|
),
|
|
112
44
|
children: [
|
|
113
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ a(
|
|
114
46
|
"div",
|
|
115
47
|
{
|
|
116
|
-
className:
|
|
48
|
+
className: v(
|
|
117
49
|
"absolute inset-0 transition-opacity duration-300",
|
|
118
|
-
|
|
50
|
+
c ? "opacity-0 pointer-events-none" : "opacity-100 z-30"
|
|
119
51
|
)
|
|
120
52
|
}
|
|
121
53
|
),
|
|
122
|
-
/* @__PURE__ */
|
|
54
|
+
/* @__PURE__ */ a(
|
|
123
55
|
"iframe",
|
|
124
56
|
{
|
|
125
|
-
src:
|
|
126
|
-
className:
|
|
57
|
+
src: loginUrl,
|
|
58
|
+
className: v(
|
|
127
59
|
"w-full h-full border-none relative z-10 transition-opacity duration-300",
|
|
128
|
-
|
|
60
|
+
c ? "opacity-100" : "opacity-0"
|
|
129
61
|
),
|
|
130
62
|
title: "Login",
|
|
131
|
-
onLoad:
|
|
63
|
+
onLoad: p,
|
|
132
64
|
sandbox: "allow-scripts allow-forms allow-same-origin"
|
|
133
65
|
},
|
|
134
|
-
`login-iframe-${
|
|
66
|
+
`login-iframe-${n}`
|
|
135
67
|
)
|
|
136
68
|
]
|
|
137
69
|
}
|
|
@@ -139,36 +71,38 @@ function z({ loginSuccessCallback: o = () => Promise.resolve() }) {
|
|
|
139
71
|
document.body
|
|
140
72
|
) : null, [
|
|
141
73
|
m,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
74
|
+
n,
|
|
75
|
+
p,
|
|
76
|
+
c,
|
|
77
|
+
t,
|
|
78
|
+
loginUrl
|
|
147
79
|
]);
|
|
148
80
|
return {
|
|
149
|
-
isOpen:
|
|
150
|
-
openLogin:
|
|
81
|
+
isOpen: t,
|
|
82
|
+
openLogin: L,
|
|
151
83
|
closeLogin: m,
|
|
152
|
-
setLoginOpen:
|
|
153
|
-
loginUrl
|
|
154
|
-
currentTheme:
|
|
155
|
-
iframeLoaded:
|
|
156
|
-
handleIframeLoad:
|
|
157
|
-
mounted:
|
|
158
|
-
Trigger:
|
|
159
|
-
LoginModal:
|
|
84
|
+
setLoginOpen: E,
|
|
85
|
+
loginUrl,
|
|
86
|
+
currentTheme: n,
|
|
87
|
+
iframeLoaded: c,
|
|
88
|
+
handleIframeLoad: p,
|
|
89
|
+
mounted: r,
|
|
90
|
+
Trigger: I,
|
|
91
|
+
LoginModal: y
|
|
160
92
|
};
|
|
161
93
|
}
|
|
162
|
-
function
|
|
163
|
-
const { Trigger:
|
|
164
|
-
return /* @__PURE__ */ U(
|
|
165
|
-
|
|
166
|
-
/* @__PURE__ */
|
|
94
|
+
function X({ children: e, ...t }) {
|
|
95
|
+
const { Trigger: l, LoginModal: r } = x();
|
|
96
|
+
return /* @__PURE__ */ U(T, { children: [
|
|
97
|
+
e && /* @__PURE__ */ a(l, { ...t, children: e }),
|
|
98
|
+
/* @__PURE__ */ a(r, {})
|
|
167
99
|
] });
|
|
168
100
|
}
|
|
169
101
|
export {
|
|
170
|
-
|
|
171
|
-
b as
|
|
172
|
-
|
|
173
|
-
|
|
102
|
+
$ as LoginMessageType,
|
|
103
|
+
b as OpenLoginType,
|
|
104
|
+
X as WithLogin,
|
|
105
|
+
X as default,
|
|
106
|
+
H as isLogin,
|
|
107
|
+
x as useLogin
|
|
174
108
|
};
|