@ichaingo/with-login 1.4.58 → 1.4.59

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 CHANGED
@@ -15,8 +15,6 @@ export interface LoginContextValue {
15
15
  setLoginOpen: (open: boolean) => void;
16
16
  url: string | null;
17
17
  currentTheme: string;
18
- iframeLoaded: boolean;
19
- handleIframeLoad: () => void;
20
18
  mounted: boolean;
21
19
  Trigger: React.FC<React.HTMLAttributes<HTMLDivElement>>;
22
20
  registerLoginSuccessCallback: (callback: () => void | Promise<void>) => () => void;
@@ -1 +1 @@
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"}
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,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,2CAyH7G;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,64 +1,59 @@
1
1
  'use client';
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
- a(!1);
17
- }, []), I = s((o) => {
18
- a(o), o && c(!1);
2
+ import { jsx as m, jsxs as I } from "react/jsx-runtime";
3
+ import M, { createContext as N, useState as w, useRef as R, useCallback as c, useEffect as p, useContext as O } from "react";
4
+ import { useLocale as P } from "next-intl";
5
+ import { twMerge as $ } from "tailwind-merge";
6
+ import { useTheme as y } from "@ichaingo/next-themes";
7
+ import k from "js-cookie";
8
+ const q = () => !!k.get("id_token");
9
+ var A = /* @__PURE__ */ ((e) => (e.CLOSE_LOGIN_MODAL = "closeLoginModal", e.LOGIN_SUCCESS = "loginSuccess", e))(A || {}), B = /* @__PURE__ */ ((e) => (e.LOGIN = "login", e.REGISTER = "register", e))(B || {});
10
+ const C = N(void 0);
11
+ function F({ children: e, loginSuccessCallback: n = () => Promise.resolve() }) {
12
+ const [i, s] = w(!1), [l, h] = w(!1), [a, v] = w(null), _ = R(/* @__PURE__ */ new Set()), u = P(), { resolvedTheme: U } = y(), t = l && U ? U : "light", L = c((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}`, f = `${process.env.NEXT_PUBLIC_AUTH_URL}/${u}/register?mode=dialog&theme=${t}&redirect_uri=${r}`;
14
+ s(!0), v(o === "register" ? f : g);
15
+ }, [t, u]), d = c(() => {
16
+ s(!1);
17
+ }, []), E = c((o) => {
18
+ s(o);
19
19
  }, []);
20
20
  p(() => {
21
- n && i && c(!1);
22
- }, [v, n, i]), p(() => {
23
21
  if (t) {
24
22
  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);
23
+ v(r);
26
24
  }
27
25
  }, [t]), p(() => {
28
- $(!0);
26
+ h(!0);
29
27
  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());
28
+ var g, f;
29
+ ((g = r.data) == null ? void 0 : g.type) === "closeLoginModal" && d(), ((f = r.data) == null ? void 0 : f.type) === "loginSuccess" && (console.log("handleMessage", r.data.type), d(), window.location.reload());
32
30
  };
33
31
  return window.addEventListener("message", o), () => {
34
32
  window.removeEventListener("message", o);
35
33
  };
36
- }, [f, l]);
37
- const U = s(() => {
38
- console.log("iframe loaded"), c(!0);
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(
34
+ }, [d, n]);
35
+ const x = c((o) => (_.current.add(o), () => {
36
+ _.current.delete(o);
37
+ }), []), S = c(
38
+ ({ children: o, ...r }) => /* @__PURE__ */ m("div", { onClick: () => L(), style: { cursor: "pointer" }, ...r, children: o }),
39
+ [L]
40
+ ), T = M.useMemo(() => /* @__PURE__ */ m(
45
41
  "div",
46
42
  {
47
- className: x(
43
+ className: $(
48
44
  "fixed left-0 bottom-0 w-px h-px bg-[rgba(0,0,0,0.7)] z-1002",
49
45
  "transition-all duration-500 ease-in-out",
50
- n && "w-full h-full "
46
+ i && "w-full h-full "
51
47
  ),
52
- children: d && /* @__PURE__ */ w(
48
+ children: a && /* @__PURE__ */ m(
53
49
  "iframe",
54
50
  {
55
- src: d ?? "",
56
- className: x(
51
+ src: a ?? "",
52
+ className: $(
57
53
  "w-full h-full border-none relative z-10 transition-opacity duration-300",
58
- h ? "opacity-0" : "opacity-100"
54
+ "opacity-100"
59
55
  ),
60
56
  title: "Login",
61
- onLoad: U,
62
57
  sandbox: "allow-scripts allow-forms allow-same-origin"
63
58
  },
64
59
  `login-iframe-${t}`
@@ -66,47 +61,43 @@ function Q({ children: e, loginSuccessCallback: l = () => Promise.resolve() }) {
66
61
  }
67
62
  ), [
68
63
  t,
69
- U,
70
- h,
71
- n,
72
- d
73
- ]), N = {
74
- isOpen: n,
75
- openLogin: _,
76
- closeLogin: f,
77
- setLoginOpen: I,
78
- url: d,
64
+ i,
65
+ a
66
+ ]), b = {
67
+ isOpen: i,
68
+ openLogin: L,
69
+ closeLogin: d,
70
+ setLoginOpen: E,
71
+ url: a,
79
72
  currentTheme: t,
80
- iframeLoaded: h,
81
- handleIframeLoad: U,
82
- mounted: i,
83
- Trigger: b,
84
- registerLoginSuccessCallback: T
73
+ mounted: l,
74
+ Trigger: S,
75
+ registerLoginSuccessCallback: x
85
76
  };
86
- return /* @__PURE__ */ R(S.Provider, { value: N, children: [
77
+ return /* @__PURE__ */ I(C.Provider, { value: b, children: [
87
78
  e,
88
- M
79
+ T
89
80
  ] });
90
81
  }
91
- function j() {
92
- const e = k(S);
82
+ function G() {
83
+ const e = O(C);
93
84
  if (e === void 0)
94
85
  throw new Error("useLogin must be used within a LoginProvider");
95
86
  return e;
96
87
  }
97
- function V({ children: e, onClick: l, ...n }) {
98
- const { Trigger: a, registerLoginSuccessCallback: i } = j();
88
+ function J({ children: e, onClick: n, ...i }) {
89
+ const { Trigger: s, registerLoginSuccessCallback: l } = G();
99
90
  return p(() => {
100
- if (l)
101
- return i(l);
102
- }, [l, i]), e ? /* @__PURE__ */ w(a, { ...n, children: e }) : null;
91
+ if (n)
92
+ return l(n);
93
+ }, [n, l]), e ? /* @__PURE__ */ m(s, { ...i, children: e }) : null;
103
94
  }
104
95
  export {
105
- H as LoginMessageType,
106
- Q as LoginProvider,
107
- X as OpenLoginType,
108
- V as WithLogin,
109
- V as default,
110
- K as isLogin,
111
- j as useLogin
96
+ A as LoginMessageType,
97
+ F as LoginProvider,
98
+ B as OpenLoginType,
99
+ J as WithLogin,
100
+ J as default,
101
+ q as isLogin,
102
+ G as useLogin
112
103
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ichaingo/with-login",
3
- "version": "1.4.58",
3
+ "version": "1.4.59",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",