@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 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;
@@ -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;AAEF,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;AACD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAC,oBAA8C,EAAC,EAAE,aAAa,GAAG,cAAc,CA8HxG;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"}
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 p, jsxs as U, Fragment as R } from "react/jsx-runtime";
3
- import { useState as w, useCallback as u, useEffect as x } from "react";
4
- import { createPortal as k } from "react-dom";
5
- import { useLocale as B } from "next-intl";
6
- import { twMerge as C } from "tailwind-merge";
7
- import { useTheme as E } from "@ichaingo/next-themes";
8
- /*! js-cookie v3.0.5 | MIT */
9
- function h(o) {
10
- for (var r = 1; r < arguments.length; r++) {
11
- var t = arguments[r];
12
- for (var i in t)
13
- o[i] = t[i];
14
- }
15
- return o;
16
- }
17
- var M = {
18
- read: function(o) {
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
- x(() => {
89
- r && i && e(!1);
90
- }, [c, r, i]), x(() => {
91
- n(!0);
92
- const f = (v) => {
93
- v.data.type === "closeLoginModal" && m(), v.data.type === "loginSuccess" && (m(), o && o());
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", f), () => {
96
- window.removeEventListener("message", f);
27
+ return window.addEventListener("message", o), () => {
28
+ window.removeEventListener("message", o);
97
29
  };
98
30
  }, []);
99
- const L = u(() => {
100
- e(!0);
101
- }, []), T = u(
102
- ({ children: f, ...v }) => /* @__PURE__ */ p("div", { onClick: g, style: { cursor: "pointer" }, ...v, children: f }),
103
- [g]
104
- ), j = u(() => r ? k(
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: C(
40
+ className: v(
109
41
  "fixed w-0 h-9 bg-[rgba(0,0,0,0.7)] z-1000",
110
- r && "top-0 left-0 w-full h-full"
42
+ t && "top-0 left-0 w-full h-full"
111
43
  ),
112
44
  children: [
113
- /* @__PURE__ */ p(
45
+ /* @__PURE__ */ a(
114
46
  "div",
115
47
  {
116
- className: C(
48
+ className: v(
117
49
  "absolute inset-0 transition-opacity duration-300",
118
- s ? "opacity-0 pointer-events-none" : "opacity-100 z-30"
50
+ c ? "opacity-0 pointer-events-none" : "opacity-100 z-30"
119
51
  )
120
52
  }
121
53
  ),
122
- /* @__PURE__ */ p(
54
+ /* @__PURE__ */ a(
123
55
  "iframe",
124
56
  {
125
- src: l,
126
- className: C(
57
+ src: loginUrl,
58
+ className: v(
127
59
  "w-full h-full border-none relative z-10 transition-opacity duration-300",
128
- s ? "opacity-100" : "opacity-0"
60
+ c ? "opacity-100" : "opacity-0"
129
61
  ),
130
62
  title: "Login",
131
- onLoad: L,
63
+ onLoad: p,
132
64
  sandbox: "allow-scripts allow-forms allow-same-origin"
133
65
  },
134
- `login-iframe-${d}`
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
- d,
143
- L,
144
- s,
145
- r,
146
- l
74
+ n,
75
+ p,
76
+ c,
77
+ t,
78
+ loginUrl
147
79
  ]);
148
80
  return {
149
- isOpen: r,
150
- openLogin: g,
81
+ isOpen: t,
82
+ openLogin: L,
151
83
  closeLogin: m,
152
- setLoginOpen: I,
153
- loginUrl: l,
154
- currentTheme: d,
155
- iframeLoaded: s,
156
- handleIframeLoad: L,
157
- mounted: i,
158
- Trigger: T,
159
- LoginModal: j
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 b({ children: o, ...r }) {
163
- const { Trigger: t, LoginModal: i } = z();
164
- return /* @__PURE__ */ U(R, { children: [
165
- o && /* @__PURE__ */ p(t, { ...r, children: o }),
166
- /* @__PURE__ */ p(i, {})
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
- b as WithLogin,
171
- b as default,
172
- S as isLogin,
173
- z as useLogin
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ichaingo/with-login",
3
- "version": "1.4.32",
3
+ "version": "1.4.33",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",