@rytass/bpm-core-react 0.3.7 → 0.4.0

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.
Files changed (231) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +69 -4
  3. package/dist/chunks/approval-instance-list-page-BtEc8Cs3.js +278 -0
  4. package/dist/chunks/approval-instance-list-page-BtEc8Cs3.js.map +1 -0
  5. package/dist/chunks/approval-instance-list-page-UNIIgUZy.cjs +2 -0
  6. package/dist/chunks/approval-instance-list-page-UNIIgUZy.cjs.map +1 -0
  7. package/dist/chunks/auth-provider-D2P-qWmY.cjs +2 -0
  8. package/dist/chunks/auth-provider-D2P-qWmY.cjs.map +1 -0
  9. package/dist/chunks/auth-provider-TTO9eNZV.js +83 -0
  10. package/dist/chunks/auth-provider-TTO9eNZV.js.map +1 -0
  11. package/dist/chunks/{builder-D950gct_.js → builder-C3E-8OJu.js} +474 -478
  12. package/dist/chunks/builder-C3E-8OJu.js.map +1 -0
  13. package/dist/chunks/builder-f-Q_0NUs.cjs +3 -0
  14. package/dist/chunks/builder-f-Q_0NUs.cjs.map +1 -0
  15. package/dist/chunks/categories-B6QZKZRt.cjs +2 -0
  16. package/dist/chunks/categories-B6QZKZRt.cjs.map +1 -0
  17. package/dist/chunks/categories-DBPoSrsi.js +382 -0
  18. package/dist/chunks/categories-DBPoSrsi.js.map +1 -0
  19. package/dist/chunks/chunk-CMqjfN_6.cjs +1 -0
  20. package/dist/chunks/dashboard-page-CQRBJxze.js +119 -0
  21. package/dist/chunks/dashboard-page-CQRBJxze.js.map +1 -0
  22. package/dist/chunks/dashboard-page-DrDChhg1.cjs +2 -0
  23. package/dist/chunks/dashboard-page-DrDChhg1.cjs.map +1 -0
  24. package/dist/chunks/delegations-CFXaJrdX.cjs +2 -0
  25. package/dist/chunks/delegations-CFXaJrdX.cjs.map +1 -0
  26. package/dist/chunks/delegations-D5pPEWsP.js +641 -0
  27. package/dist/chunks/delegations-D5pPEWsP.js.map +1 -0
  28. package/dist/chunks/delegations-DwbYkNUg.cjs +2 -0
  29. package/dist/chunks/delegations-DwbYkNUg.cjs.map +1 -0
  30. package/dist/chunks/delegations-FTLaWo1Y.js +568 -0
  31. package/dist/chunks/delegations-FTLaWo1Y.js.map +1 -0
  32. package/dist/chunks/detail-B9JkYNHc.cjs +2 -0
  33. package/dist/chunks/detail-B9JkYNHc.cjs.map +1 -0
  34. package/dist/chunks/detail-CSxI04gB.js +1518 -0
  35. package/dist/chunks/detail-CSxI04gB.js.map +1 -0
  36. package/dist/chunks/format-date-time-XxBzF0F5.cjs +2 -0
  37. package/dist/chunks/{format-date-time-26_pFvv4.cjs.map → format-date-time-XxBzF0F5.cjs.map} +1 -1
  38. package/dist/chunks/login-BfmfCclF.cjs +2 -0
  39. package/dist/chunks/{login-CQ9MfwcC.cjs.map → login-BfmfCclF.cjs.map} +1 -1
  40. package/dist/chunks/{login-C20yVxbc.js → login-xgI4wLHe.js} +3 -2
  41. package/dist/chunks/{login-C20yVxbc.js.map → login-xgI4wLHe.js.map} +1 -1
  42. package/dist/chunks/notifications-BoNa1BXD.js +193 -0
  43. package/dist/chunks/notifications-BoNa1BXD.js.map +1 -0
  44. package/dist/chunks/notifications-a-FCxV02.cjs +2 -0
  45. package/dist/chunks/notifications-a-FCxV02.cjs.map +1 -0
  46. package/dist/chunks/orgs-BIiqzHvb.cjs +2 -0
  47. package/dist/chunks/orgs-BIiqzHvb.cjs.map +1 -0
  48. package/dist/chunks/orgs-Cc18umVt.js +1944 -0
  49. package/dist/chunks/orgs-Cc18umVt.js.map +1 -0
  50. package/dist/chunks/router-adapter-BdHZXLS3.js +23 -0
  51. package/dist/chunks/router-adapter-BdHZXLS3.js.map +1 -0
  52. package/dist/chunks/router-adapter-BybHrCNP.cjs +2 -0
  53. package/dist/chunks/router-adapter-BybHrCNP.cjs.map +1 -0
  54. package/dist/chunks/routes-config-2aKbWq2H.cjs.map +1 -1
  55. package/dist/chunks/routes-config-dxahImVe.js.map +1 -1
  56. package/dist/chunks/templates-CL8bPvgn.cjs +2 -0
  57. package/dist/chunks/templates-CL8bPvgn.cjs.map +1 -0
  58. package/dist/chunks/templates-DNfDOPGm.js +380 -0
  59. package/dist/chunks/templates-DNfDOPGm.js.map +1 -0
  60. package/dist/chunks/users-CUY139DF.js +214 -0
  61. package/dist/chunks/users-CUY139DF.js.map +1 -0
  62. package/dist/chunks/users-qghSMtLn.cjs +2 -0
  63. package/dist/chunks/users-qghSMtLn.cjs.map +1 -0
  64. package/dist/components/approval-instance-list-page.d.ts +1 -2
  65. package/dist/components/bpm-notification-bell-button.d.ts +22 -0
  66. package/dist/components/dashboard-page.d.ts +1 -4
  67. package/dist/index.cjs +1 -1
  68. package/dist/index.cjs.map +1 -1
  69. package/dist/index.css +1 -0
  70. package/dist/index.d.ts +3 -1
  71. package/dist/index.js +206 -97
  72. package/dist/index.js.map +1 -1
  73. package/dist/lib/notification-drawer-provider.d.ts +3 -2
  74. package/dist/lib/notification-unread-provider.d.ts +6 -5
  75. package/dist/lib/providers.d.ts +3 -2
  76. package/dist/lib/router-adapter.d.ts +2 -2
  77. package/dist/lib/routes-config.d.ts +11 -3
  78. package/dist/lib/use-bpm-logout.d.ts +12 -0
  79. package/dist/lib/use-bpm-member.d.ts +11 -0
  80. package/dist/pages/admin/delegations/index.cjs +1 -1
  81. package/dist/pages/admin/delegations/index.js +1 -1
  82. package/dist/pages/admin/orgs/index.cjs +1 -1
  83. package/dist/pages/admin/orgs/index.js +1 -1
  84. package/dist/pages/admin/users/index.cjs +1 -1
  85. package/dist/pages/admin/users/index.js +1 -1
  86. package/dist/pages/delegations/index.cjs +1 -1
  87. package/dist/pages/delegations/index.js +1 -1
  88. package/dist/pages/forms/builder/index.cjs +1 -1
  89. package/dist/pages/forms/builder/index.js +1 -1
  90. package/dist/pages/instances/detail/index.cjs +1 -1
  91. package/dist/pages/instances/detail/index.js +1 -1
  92. package/dist/pages/login/index.cjs +1 -1
  93. package/dist/pages/login/index.js +1 -1
  94. package/dist/pages/settings/notifications/index.cjs +1 -1
  95. package/dist/pages/settings/notifications/index.js +1 -1
  96. package/dist/pages/templates/categories/index.cjs +1 -1
  97. package/dist/pages/templates/categories/index.js +1 -1
  98. package/dist/pages/templates/index.cjs +1 -1
  99. package/dist/pages/templates/index.js +1 -1
  100. package/dist/views/admin/delegations/AdminDelegationsView.d.ts +1 -4
  101. package/dist/views/admin/delegations/index.cjs +1 -1
  102. package/dist/views/admin/delegations/index.js +1 -1
  103. package/dist/views/admin/index.cjs +1 -1
  104. package/dist/views/admin/index.js +3 -3
  105. package/dist/views/admin/orgs/AdminOrgsView.d.ts +1 -4
  106. package/dist/views/admin/orgs/index.cjs +1 -1
  107. package/dist/views/admin/orgs/index.js +1 -1
  108. package/dist/views/admin/users/AdminUsersView.d.ts +1 -4
  109. package/dist/views/admin/users/index.cjs +1 -1
  110. package/dist/views/admin/users/index.js +1 -1
  111. package/dist/views/cc/CcView.d.ts +1 -3
  112. package/dist/views/cc/index.cjs +1 -1
  113. package/dist/views/cc/index.cjs.map +1 -1
  114. package/dist/views/cc/index.js +2 -3
  115. package/dist/views/cc/index.js.map +1 -1
  116. package/dist/views/dashboard/DashboardView.d.ts +1 -3
  117. package/dist/views/dashboard/index.cjs +1 -1
  118. package/dist/views/dashboard/index.cjs.map +1 -1
  119. package/dist/views/dashboard/index.js +3 -3
  120. package/dist/views/dashboard/index.js.map +1 -1
  121. package/dist/views/delegations/DelegationsView.d.ts +1 -4
  122. package/dist/views/delegations/index.cjs +1 -1
  123. package/dist/views/delegations/index.js +1 -1
  124. package/dist/views/forms/FormsView.d.ts +1 -3
  125. package/dist/views/forms/builder/index.cjs +1 -1
  126. package/dist/views/forms/builder/index.js +1 -1
  127. package/dist/views/forms/index.cjs +1 -1
  128. package/dist/views/forms/index.cjs.map +1 -1
  129. package/dist/views/forms/index.js +95 -99
  130. package/dist/views/forms/index.js.map +1 -1
  131. package/dist/views/inbox/InboxView.d.ts +1 -3
  132. package/dist/views/inbox/index.cjs +1 -1
  133. package/dist/views/inbox/index.cjs.map +1 -1
  134. package/dist/views/inbox/index.js +91 -94
  135. package/dist/views/inbox/index.js.map +1 -1
  136. package/dist/views/instances/detail/index.cjs +1 -1
  137. package/dist/views/instances/detail/index.js +1 -1
  138. package/dist/views/instances/new/index.cjs +1 -1
  139. package/dist/views/instances/new/index.cjs.map +1 -1
  140. package/dist/views/instances/new/index.js +71 -77
  141. package/dist/views/instances/new/index.js.map +1 -1
  142. package/dist/views/login/index.cjs +1 -1
  143. package/dist/views/login/index.js +1 -1
  144. package/dist/views/root/RootView.d.ts +1 -3
  145. package/dist/views/search/SearchView.d.ts +1 -3
  146. package/dist/views/search/index.cjs +1 -1
  147. package/dist/views/search/index.cjs.map +1 -1
  148. package/dist/views/search/index.js +2 -3
  149. package/dist/views/search/index.js.map +1 -1
  150. package/dist/views/sent/SentView.d.ts +1 -3
  151. package/dist/views/sent/index.cjs +1 -1
  152. package/dist/views/sent/index.cjs.map +1 -1
  153. package/dist/views/sent/index.js +2 -3
  154. package/dist/views/sent/index.js.map +1 -1
  155. package/dist/views/settings/index.cjs +1 -1
  156. package/dist/views/settings/index.js +1 -1
  157. package/dist/views/settings/notifications/SettingsNotificationsView.d.ts +1 -4
  158. package/dist/views/settings/notifications/index.cjs +1 -1
  159. package/dist/views/settings/notifications/index.js +1 -1
  160. package/dist/views/templates/TemplatesView.d.ts +1 -4
  161. package/dist/views/templates/categories/TemplateCategoriesView.d.ts +1 -4
  162. package/dist/views/templates/categories/index.cjs +1 -1
  163. package/dist/views/templates/categories/index.js +1 -1
  164. package/dist/views/templates/designer/TemplateDesignerView.d.ts +1 -2
  165. package/dist/views/templates/designer/index.cjs +7 -7
  166. package/dist/views/templates/designer/index.cjs.map +1 -1
  167. package/dist/views/templates/designer/index.js +707 -711
  168. package/dist/views/templates/designer/index.js.map +1 -1
  169. package/dist/views/templates/index.cjs +1 -1
  170. package/dist/views/templates/index.js +2 -2
  171. package/dist/views/templates/versions/TemplateVersionsView.d.ts +1 -2
  172. package/dist/views/templates/versions/index.cjs +1 -1
  173. package/dist/views/templates/versions/index.cjs.map +1 -1
  174. package/dist/views/templates/versions/index.js +45 -49
  175. package/dist/views/templates/versions/index.js.map +1 -1
  176. package/package.json +2 -2
  177. package/dist/app-navigation.css +0 -1
  178. package/dist/chunks/app-navigation-BSkMsEhy.js +0 -268
  179. package/dist/chunks/app-navigation-BSkMsEhy.js.map +0 -1
  180. package/dist/chunks/app-navigation-KnlJCUp1.cjs +0 -2
  181. package/dist/chunks/app-navigation-KnlJCUp1.cjs.map +0 -1
  182. package/dist/chunks/approval-instance-list-page-CVXgE2K3.cjs +0 -2
  183. package/dist/chunks/approval-instance-list-page-CVXgE2K3.cjs.map +0 -1
  184. package/dist/chunks/approval-instance-list-page-CqNdoZqx.js +0 -282
  185. package/dist/chunks/approval-instance-list-page-CqNdoZqx.js.map +0 -1
  186. package/dist/chunks/auth-provider-BV8Iiwfb.cjs +0 -2
  187. package/dist/chunks/auth-provider-BV8Iiwfb.cjs.map +0 -1
  188. package/dist/chunks/auth-provider-Bnox5gsx.js +0 -98
  189. package/dist/chunks/auth-provider-Bnox5gsx.js.map +0 -1
  190. package/dist/chunks/builder-CMlJfQHE.cjs +0 -3
  191. package/dist/chunks/builder-CMlJfQHE.cjs.map +0 -1
  192. package/dist/chunks/builder-D950gct_.js.map +0 -1
  193. package/dist/chunks/categories-5yEM3p3N.cjs +0 -2
  194. package/dist/chunks/categories-5yEM3p3N.cjs.map +0 -1
  195. package/dist/chunks/categories-BIpOG451.js +0 -387
  196. package/dist/chunks/categories-BIpOG451.js.map +0 -1
  197. package/dist/chunks/dashboard-page-1K_jQXQk.cjs +0 -2
  198. package/dist/chunks/dashboard-page-1K_jQXQk.cjs.map +0 -1
  199. package/dist/chunks/dashboard-page-R_T2OEiE.js +0 -122
  200. package/dist/chunks/dashboard-page-R_T2OEiE.js.map +0 -1
  201. package/dist/chunks/delegations-B2j-wNEO.js +0 -646
  202. package/dist/chunks/delegations-B2j-wNEO.js.map +0 -1
  203. package/dist/chunks/delegations-CsB9ozLu.cjs +0 -2
  204. package/dist/chunks/delegations-CsB9ozLu.cjs.map +0 -1
  205. package/dist/chunks/delegations-CvtwTXNP.cjs +0 -2
  206. package/dist/chunks/delegations-CvtwTXNP.cjs.map +0 -1
  207. package/dist/chunks/delegations-dKodb0WW.js +0 -573
  208. package/dist/chunks/delegations-dKodb0WW.js.map +0 -1
  209. package/dist/chunks/detail-BcGAqJ_R.js +0 -1523
  210. package/dist/chunks/detail-BcGAqJ_R.js.map +0 -1
  211. package/dist/chunks/detail-CqjqLd65.cjs +0 -2
  212. package/dist/chunks/detail-CqjqLd65.cjs.map +0 -1
  213. package/dist/chunks/format-date-time-26_pFvv4.cjs +0 -2
  214. package/dist/chunks/login-CQ9MfwcC.cjs +0 -2
  215. package/dist/chunks/notifications-2swRqDPF.js +0 -198
  216. package/dist/chunks/notifications-2swRqDPF.js.map +0 -1
  217. package/dist/chunks/notifications-BaYDebFt.cjs +0 -2
  218. package/dist/chunks/notifications-BaYDebFt.cjs.map +0 -1
  219. package/dist/chunks/orgs-CuHxxd_n.js +0 -1949
  220. package/dist/chunks/orgs-CuHxxd_n.js.map +0 -1
  221. package/dist/chunks/orgs-YMiVLNvL.cjs +0 -2
  222. package/dist/chunks/orgs-YMiVLNvL.cjs.map +0 -1
  223. package/dist/chunks/templates-DTkbSgFY.cjs +0 -2
  224. package/dist/chunks/templates-DTkbSgFY.cjs.map +0 -1
  225. package/dist/chunks/templates-DoDWM68t.js +0 -384
  226. package/dist/chunks/templates-DoDWM68t.js.map +0 -1
  227. package/dist/chunks/users-3ySyUW4u.cjs +0 -2
  228. package/dist/chunks/users-3ySyUW4u.cjs.map +0 -1
  229. package/dist/chunks/users-sMfrSjRQ.js +0 -219
  230. package/dist/chunks/users-sMfrSjRQ.js.map +0 -1
  231. package/dist/components/app-navigation.d.ts +0 -41
@@ -0,0 +1,83 @@
1
+ "use client";
2
+ import { r as e } from "./router-adapter-BdHZXLS3.js";
3
+ import { createContext as t, useCallback as n, useContext as r, useEffect as i, useMemo as a, useState as o } from "react";
4
+ import { Typography as s } from "@mezzanine-ui/react";
5
+ import { loginApi as c, logoutApi as l, readApiCurrentMember as u } from "@rytass/bpm-core-client";
6
+ import { jsx as d } from "react/jsx-runtime";
7
+ import '../auth-provider.css';var f = { authLoading: "bpm_authLoading_GiBnf" }, p = t(null);
8
+ function m({ children: t, publicPaths: r = ["/login"], loginPath: s = "/login" }) {
9
+ let f = e(), [m, h] = o(!0), [y, b] = o(null), x = n(async () => {
10
+ let e = await u();
11
+ return b(e), e;
12
+ }, []), S = n(async (e) => {
13
+ let t = await c(e);
14
+ return b(t), t;
15
+ }, []), C = n(async () => {
16
+ await l(), b(null), f.replace(s);
17
+ }, [s, f]);
18
+ i(() => {
19
+ let e = !0;
20
+ return h(!0), (async () => {
21
+ try {
22
+ let t = await u();
23
+ e && b(t);
24
+ } catch {
25
+ e && b(null);
26
+ } finally {
27
+ e && h(!1);
28
+ }
29
+ })(), () => {
30
+ e = !1;
31
+ };
32
+ }, []), i(() => {
33
+ m || _(f.pathname, r) || y || f.replace(`${s}?next=${encodeURIComponent(v(f.pathname))}`);
34
+ }, [
35
+ m,
36
+ s,
37
+ y,
38
+ r,
39
+ f
40
+ ]);
41
+ let w = a(() => ({
42
+ loading: m,
43
+ login: S,
44
+ logout: C,
45
+ member: y,
46
+ refresh: x
47
+ }), [
48
+ m,
49
+ S,
50
+ C,
51
+ y,
52
+ x
53
+ ]);
54
+ return m && !_(f.pathname, r) ? /* @__PURE__ */ d(g, { label: "確認登入狀態" }) : !m && !y && !_(f.pathname, r) ? /* @__PURE__ */ d(g, { label: "前往登入頁" }) : /* @__PURE__ */ d(p.Provider, {
55
+ value: w,
56
+ children: t
57
+ });
58
+ }
59
+ function h() {
60
+ let e = r(p);
61
+ if (!e) throw Error("useAuth must be used inside <AuthProvider>");
62
+ return e;
63
+ }
64
+ function g({ label: e }) {
65
+ return /* @__PURE__ */ d("main", {
66
+ className: f.authLoading,
67
+ children: /* @__PURE__ */ d(s, {
68
+ color: "text-neutral",
69
+ variant: "body",
70
+ children: e
71
+ })
72
+ });
73
+ }
74
+ function _(e, t) {
75
+ return t.some((t) => t === e);
76
+ }
77
+ function v(e) {
78
+ return typeof window > "u" ? e ?? "/" : `${window.location.pathname}${window.location.search}`;
79
+ }
80
+ //#endregion
81
+ export { h as n, m as t };
82
+
83
+ //# sourceMappingURL=auth-provider-TTO9eNZV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider-TTO9eNZV.js","names":[],"sources":["../../src/lib/auth-provider.module.scss","../../src/lib/auth-provider.tsx"],"sourcesContent":[".authLoading {\n align-items: center;\n background: var(--mzn-color-bg-body);\n display: flex;\n min-height: 100vh;\n justify-content: center;\n padding: 32px;\n}\n","'use client';\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Typography } from '@mezzanine-ui/react';\nimport {\n loginApi,\n logoutApi,\n readApiCurrentMember,\n type ApiMember,\n} from '@rytass/bpm-core-client';\nimport { useRouterAdapter } from './router-adapter';\nimport styles from './auth-provider.module.scss';\n\ninterface AuthContextValue {\n readonly loading: boolean;\n readonly member: ApiMember | null;\n readonly login: (input: {\n readonly identifier: string;\n readonly password: string;\n }) => Promise<ApiMember>;\n readonly logout: () => Promise<void>;\n readonly refresh: () => Promise<ApiMember | null>;\n}\n\nconst AuthContext = createContext<AuthContextValue | null>(null);\n\nexport interface AuthProviderProps {\n readonly children: ReactNode;\n /**\n * Paths that should not redirect to `/login` when there is no session.\n * Defaults to `['/login']`. Override when your host runs the login UI\n * under a different path.\n */\n readonly publicPaths?: readonly string[];\n /**\n * Where to send unauthenticated users. Defaults to `'/login'`.\n */\n readonly loginPath?: string;\n}\n\n/**\n * BPM auth context provider. Reads / writes the host BPM API session via\n * `@rytass/bpm-core-client` (`loginApi` / `logoutApi` / `readApiCurrentMember`)\n * and uses the host-supplied {@link useRouterAdapter} to redirect\n * unauthenticated users.\n */\nexport function AuthProvider({\n children,\n publicPaths = ['/login'],\n loginPath = '/login',\n}: AuthProviderProps): ReactElement {\n const router = useRouterAdapter();\n const [loading, setLoading] = useState(true);\n const [member, setMember] = useState<ApiMember | null>(null);\n\n const refresh = useCallback(async (): Promise<ApiMember | null> => {\n const current = await readApiCurrentMember();\n setMember(current);\n return current;\n }, []);\n\n const login = useCallback(\n async (input: {\n readonly identifier: string;\n readonly password: string;\n }): Promise<ApiMember> => {\n const next = await loginApi(input);\n setMember(next);\n return next;\n },\n [],\n );\n\n const logout = useCallback(async (): Promise<void> => {\n await logoutApi();\n setMember(null);\n router.replace(loginPath);\n }, [loginPath, router]);\n\n useEffect((): (() => void) => {\n let active = true;\n setLoading(true);\n void (async () => {\n try {\n const current = await readApiCurrentMember();\n if (active) setMember(current);\n } catch {\n if (active) setMember(null);\n } finally {\n if (active) setLoading(false);\n }\n })();\n return (): void => {\n active = false;\n };\n }, []);\n\n useEffect((): void => {\n if (loading || isPublicPath(router.pathname, publicPaths) || member) return;\n router.replace(\n `${loginPath}?next=${encodeURIComponent(readCurrentPath(router.pathname))}`,\n );\n }, [loading, loginPath, member, publicPaths, router]);\n\n const value = useMemo<AuthContextValue>(\n () => ({ loading, login, logout, member, refresh }),\n [loading, login, logout, member, refresh],\n );\n\n if (loading && !isPublicPath(router.pathname, publicPaths)) {\n return <AuthLoadingState label=\"確認登入狀態\" />;\n }\n if (!loading && !member && !isPublicPath(router.pathname, publicPaths)) {\n return <AuthLoadingState label=\"前往登入頁\" />;\n }\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\n}\n\n/**\n * Access the BPM auth context. Throws when used outside `<AuthProvider>`.\n */\nexport function useAuth(): AuthContextValue {\n const ctx = useContext(AuthContext);\n if (!ctx) throw new Error('useAuth must be used inside <AuthProvider>');\n return ctx;\n}\n\nfunction AuthLoadingState({\n label,\n}: {\n readonly label: string;\n}): ReactElement {\n return (\n <main className={styles.authLoading}>\n <Typography color=\"text-neutral\" variant=\"body\">\n {label}\n </Typography>\n </main>\n );\n}\n\nfunction isPublicPath(\n pathname: string | null,\n publicPaths: readonly string[],\n): boolean {\n return publicPaths.some((p) => p === pathname);\n}\n\nfunction readCurrentPath(pathname: string | null): string {\n if (typeof window === 'undefined') return pathname ?? '/';\n return `${window.location.pathname}${window.location.search}`;\n}\n"],"mappings":";;;;;;kDCiCM,IAAc,EAAuC,IAAI;AAsB/D,SAAgB,EAAa,EAC3B,aACA,iBAAc,CAAC,QAAQ,GACvB,eAAY,YACsB;CAClC,IAAM,IAAS,EAAiB,GAC1B,CAAC,GAAS,KAAc,EAAS,EAAI,GACrC,CAAC,GAAQ,KAAa,EAA2B,IAAI,GAErD,IAAU,EAAY,YAAuC;EACjE,IAAM,IAAU,MAAM,EAAqB;EAE3C,OADA,EAAU,CAAO,GACV;CACT,GAAG,CAAC,CAAC,GAEC,IAAQ,EACZ,OAAO,MAGmB;EACxB,IAAM,IAAO,MAAM,EAAS,CAAK;EAEjC,OADA,EAAU,CAAI,GACP;CACT,GACA,CAAC,CACH,GAEM,IAAS,EAAY,YAA2B;EAGpD,AAFA,MAAM,EAAU,GAChB,EAAU,IAAI,GACd,EAAO,QAAQ,CAAS;CAC1B,GAAG,CAAC,GAAW,CAAM,CAAC;CAoBtB,AAlBA,QAA8B;EAC5B,IAAI,IAAS;EAYb,OAXA,EAAW,EAAI,IACT,YAAY;GAChB,IAAI;IACF,IAAM,IAAU,MAAM,EAAqB;IAC3C,AAAI,KAAQ,EAAU,CAAO;GAC/B,QAAQ;IACN,AAAI,KAAQ,EAAU,IAAI;GAC5B,UAAU;IACR,AAAI,KAAQ,EAAW,EAAK;GAC9B;EACF,GAAG,SACgB;GACjB,IAAS;EACX;CACF,GAAG,CAAC,CAAC,GAEL,QAAsB;EAChB,KAAW,EAAa,EAAO,UAAU,CAAW,KAAK,KAC7D,EAAO,QACL,GAAG,EAAU,QAAQ,mBAAmB,EAAgB,EAAO,QAAQ,CAAC,GAC1E;CACF,GAAG;EAAC;EAAS;EAAW;EAAQ;EAAa;CAAM,CAAC;CAEpD,IAAM,IAAQ,SACL;EAAE;EAAS;EAAO;EAAQ;EAAQ;CAAQ,IACjD;EAAC;EAAS;EAAO;EAAQ;EAAQ;CAAO,CAC1C;CAQA,OANI,KAAW,CAAC,EAAa,EAAO,UAAU,CAAW,IAChD,kBAAC,GAAD,EAAkB,OAAM,SAAU,CAAA,IAEvC,CAAC,KAAW,CAAC,KAAU,CAAC,EAAa,EAAO,UAAU,CAAW,IAC5D,kBAAC,GAAD,EAAkB,OAAM,QAAS,CAAA,IAEnC,kBAAC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC7E;AAKA,SAAgB,IAA4B;CAC1C,IAAM,IAAM,EAAW,CAAW;CAClC,IAAI,CAAC,GAAK,MAAU,MAAM,4CAA4C;CACtE,OAAO;AACT;AAEA,SAAS,EAAiB,EACxB,YAGe;CACf,OACE,kBAAC,QAAD;EAAM,WAAW,EAAO;YACtB,kBAAC,GAAD;GAAY,OAAM;GAAe,SAAQ;aACtC;EACS,CAAA;CACR,CAAA;AAEV;AAEA,SAAS,EACP,GACA,GACS;CACT,OAAO,EAAY,MAAM,MAAM,MAAM,CAAQ;AAC/C;AAEA,SAAS,EAAgB,GAAiC;CAExD,OADI,OAAO,SAAW,MAAoB,KAAY,MAC/C,GAAG,OAAO,SAAS,WAAW,OAAO,SAAS;AACvD"}