@ichaingo/with-login 1.4.57 → 1.4.58

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAOnG,eAAO,MAAM,OAAO,eAEnB,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,iBAAiB,oBAAoB;IACrC,aAAa,iBAAiB;CAC/B;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,iBAAiB;IAEhC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,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;IAExD,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC;CACpF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAKD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,oBAA8C,EAAE,EAAE,kBAAkB,2CAkJ7G;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C;AAED,UAAU,cACR,SAAQ,KAAK,CAAC,iBAAiB,EAC7B,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,kDAevE;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAMnG,eAAO,MAAM,OAAO,eAEnB,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,iBAAiB,oBAAoB;IACrC,aAAa,iBAAiB;CAC/B;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,iBAAiB;IAEhC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,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;IAExD,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC;CACpF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAKD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,oBAA8C,EAAE,EAAE,kBAAkB,2CA8I7G;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C;AAED,UAAU,cACR,SAAQ,KAAK,CAAC,iBAAiB,EAC7B,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,kDAevE;AAED,eAAe,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,117 +1,112 @@
1
1
  'use client';
2
- import { jsx as m, jsxs as O } from "react/jsx-runtime";
3
- import P, { createContext as S, useState as g, useRef as b, useCallback as l, useEffect as L, useContext as A } from "react";
4
- import { useLocale as B } from "next-intl";
5
- import { twMerge as I } from "tailwind-merge";
6
- import { useTheme as G } from "@ichaingo/next-themes";
7
- import H from "js-cookie";
8
- const K = () => !!H.get("id_token");
9
- var X = /* @__PURE__ */ ((e) => (e.CLOSE_LOGIN_MODAL = "closeLoginModal", e.LOGIN_SUCCESS = "loginSuccess", e))(X || {}), j = /* @__PURE__ */ ((e) => (e.LOGIN = "login", e.REGISTER = "register", e))(j || {});
10
- const T = S(void 0);
11
- function Q({ children: e, loginSuccessCallback: n = () => Promise.resolve() }) {
12
- const [i, a] = g(!1), [s, $] = g(!1), [w, c] = g(!1), [d, x] = g(null), h = b(/* @__PURE__ */ new Set()), u = B(), { resolvedTheme: p } = G(), r = s && p ? p : "light", v = l((o) => {
13
- const t = typeof window < "u" ? window.location.href : "", U = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/login?mode=dialog&theme=${r}&redirect_uri=${t}`, E = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/register?mode=dialog&theme=${r}&redirect_uri=${t}`;
14
- a(!0), c(!1), x(o === "register" ? E : U);
15
- }, [r, u]), f = l(() => {
2
+ import { jsx as w, jsxs as R } from "react/jsx-runtime";
3
+ import y, { createContext as O, useState as L, useRef as P, useCallback as s, useEffect as p, useContext as k } from "react";
4
+ import { useLocale as A } from "next-intl";
5
+ import { twMerge as x } from "tailwind-merge";
6
+ import { useTheme as B } from "@ichaingo/next-themes";
7
+ import G from "js-cookie";
8
+ const K = () => !!G.get("id_token");
9
+ var H = /* @__PURE__ */ ((e) => (e.CLOSE_LOGIN_MODAL = "closeLoginModal", e.LOGIN_SUCCESS = "loginSuccess", e))(H || {}), X = /* @__PURE__ */ ((e) => (e.LOGIN = "login", e.REGISTER = "register", e))(X || {});
10
+ const S = O(void 0);
11
+ function Q({ children: e, loginSuccessCallback: l = () => Promise.resolve() }) {
12
+ const [n, a] = L(!1), [i, $] = L(!1), [h, c] = L(!1), [d, C] = L(null), E = P(/* @__PURE__ */ new Set()), u = A(), { resolvedTheme: v } = B(), t = i && v ? v : "light", _ = s((o) => {
13
+ const r = typeof window < "u" ? window.location.href : "", g = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/login?mode=dialog&theme=${t}&redirect_uri=${r}`, m = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/register?mode=dialog&theme=${t}&redirect_uri=${r}`;
14
+ a(!0), c(!1), C(o === "register" ? m : g);
15
+ }, [t, u]), f = s(() => {
16
16
  a(!1);
17
- }, []), N = l((o) => {
17
+ }, []), I = s((o) => {
18
18
  a(o), o && c(!1);
19
19
  }, []);
20
- L(() => {
21
- i && s && c(!1);
22
- }, [p, i, s]), L(() => {
23
- if (r) {
24
- const o = typeof window < "u" ? window.location.href : "", t = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/login?mode=dialog&theme=${r}&redirect_uri=${o}`;
25
- x(t);
20
+ p(() => {
21
+ n && i && c(!1);
22
+ }, [v, n, i]), p(() => {
23
+ if (t) {
24
+ const o = typeof window < "u" ? window.location.href : "", r = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/login?mode=dialog&theme=${t}&redirect_uri=${o}`;
25
+ C(r);
26
26
  }
27
- }, [r]), L(() => {
27
+ }, [t]), p(() => {
28
28
  $(!0);
29
- const o = (t) => {
30
- t.data.type === "closeLoginModal" && f(), t.data.type === "loginSuccess" && (f(), n == null || n(), h.current.forEach((U) => {
31
- try {
32
- U();
33
- } catch (E) {
34
- console.error("Login success callback error:", E);
35
- }
36
- }));
29
+ const o = (r) => {
30
+ var g, m;
31
+ ((g = r.data) == null ? void 0 : g.type) === "closeLoginModal" && f(), ((m = r.data) == null ? void 0 : m.type) === "loginSuccess" && (console.log("handleMessage", r.data.type), f(), window.location.reload());
37
32
  };
38
33
  return window.addEventListener("message", o), () => {
39
34
  window.removeEventListener("message", o);
40
35
  };
41
- }, [f, n]);
42
- const _ = l(() => {
36
+ }, [f, l]);
37
+ const U = s(() => {
43
38
  console.log("iframe loaded"), c(!0);
44
- }, []), R = l((o) => (h.current.add(o), () => {
45
- h.current.delete(o);
46
- }), []), y = l(
47
- ({ children: o, ...t }) => /* @__PURE__ */ m("div", { onClick: () => v(), style: { cursor: "pointer" }, ...t, children: o }),
48
- [v]
49
- ), C = P.useMemo(() => /* @__PURE__ */ m(
39
+ }, []), T = s((o) => (E.current.add(o), () => {
40
+ E.current.delete(o);
41
+ }), []), b = s(
42
+ ({ children: o, ...r }) => /* @__PURE__ */ w("div", { onClick: () => _(), style: { cursor: "pointer" }, ...r, children: o }),
43
+ [_]
44
+ ), M = y.useMemo(() => /* @__PURE__ */ w(
50
45
  "div",
51
46
  {
52
- className: I(
47
+ className: x(
53
48
  "fixed left-0 bottom-0 w-px h-px bg-[rgba(0,0,0,0.7)] z-1002",
54
49
  "transition-all duration-500 ease-in-out",
55
- i && "w-full h-full "
50
+ n && "w-full h-full "
56
51
  ),
57
- children: d && /* @__PURE__ */ m(
52
+ children: d && /* @__PURE__ */ w(
58
53
  "iframe",
59
54
  {
60
55
  src: d ?? "",
61
- className: I(
56
+ className: x(
62
57
  "w-full h-full border-none relative z-10 transition-opacity duration-300",
63
- w ? "opacity-0" : "opacity-100"
58
+ h ? "opacity-0" : "opacity-100"
64
59
  ),
65
60
  title: "Login",
66
- onLoad: _,
61
+ onLoad: U,
67
62
  sandbox: "allow-scripts allow-forms allow-same-origin"
68
63
  },
69
- `login-iframe-${r}`
64
+ `login-iframe-${t}`
70
65
  )
71
66
  }
72
67
  ), [
73
- r,
74
- _,
75
- w,
76
- i,
68
+ t,
69
+ U,
70
+ h,
71
+ n,
77
72
  d
78
- ]), M = {
79
- isOpen: i,
80
- openLogin: v,
73
+ ]), N = {
74
+ isOpen: n,
75
+ openLogin: _,
81
76
  closeLogin: f,
82
- setLoginOpen: N,
77
+ setLoginOpen: I,
83
78
  url: d,
84
- currentTheme: r,
85
- iframeLoaded: w,
86
- handleIframeLoad: _,
87
- mounted: s,
88
- Trigger: y,
89
- registerLoginSuccessCallback: R
79
+ currentTheme: t,
80
+ iframeLoaded: h,
81
+ handleIframeLoad: U,
82
+ mounted: i,
83
+ Trigger: b,
84
+ registerLoginSuccessCallback: T
90
85
  };
91
- return /* @__PURE__ */ O(T.Provider, { value: M, children: [
86
+ return /* @__PURE__ */ R(S.Provider, { value: N, children: [
92
87
  e,
93
- C
88
+ M
94
89
  ] });
95
90
  }
96
- function z() {
97
- const e = A(T);
91
+ function j() {
92
+ const e = k(S);
98
93
  if (e === void 0)
99
94
  throw new Error("useLogin must be used within a LoginProvider");
100
95
  return e;
101
96
  }
102
- function V({ children: e, onClick: n, ...i }) {
103
- const { Trigger: a, registerLoginSuccessCallback: s } = z();
104
- return L(() => {
105
- if (n)
106
- return s(n);
107
- }, [n, s]), e ? /* @__PURE__ */ m(a, { ...i, children: e }) : null;
97
+ function V({ children: e, onClick: l, ...n }) {
98
+ const { Trigger: a, registerLoginSuccessCallback: i } = j();
99
+ return p(() => {
100
+ if (l)
101
+ return i(l);
102
+ }, [l, i]), e ? /* @__PURE__ */ w(a, { ...n, children: e }) : null;
108
103
  }
109
104
  export {
110
- X as LoginMessageType,
105
+ H as LoginMessageType,
111
106
  Q as LoginProvider,
112
- j as OpenLoginType,
107
+ X as OpenLoginType,
113
108
  V as WithLogin,
114
109
  V as default,
115
110
  K as isLogin,
116
- z as useLogin
111
+ j as useLogin
117
112
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ichaingo/with-login",
3
- "version": "1.4.57",
3
+ "version": "1.4.58",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",