zudoku 0.17.0 → 0.18.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.
- package/dist/app/demo.js +0 -2
- package/dist/app/demo.js.map +1 -1
- package/dist/app/entry.client.js +14 -0
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/entry.server.js +5 -4
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/standalone.js +0 -2
- package/dist/app/standalone.js.map +1 -1
- package/dist/codegen.d.ts +3 -0
- package/dist/codegen.js +45 -0
- package/dist/codegen.js.map +1 -0
- package/dist/config/validators/InputSidebarSchema.d.ts +10 -10
- package/dist/config/validators/validate.d.ts +74 -74
- package/dist/lib/authentication/hook.d.ts +5 -4
- package/dist/lib/authentication/hook.js +1 -3
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.js +11 -11
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +0 -1
- package/dist/lib/authentication/providers/openid.js +11 -26
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/authentication/state.d.ts +25 -4
- package/dist/lib/authentication/state.js +28 -5
- package/dist/lib/authentication/state.js.map +1 -1
- package/dist/lib/components/Bootstrap.d.ts +3 -1
- package/dist/lib/components/Bootstrap.js +11 -3
- package/dist/lib/components/Bootstrap.js.map +1 -1
- package/dist/lib/components/DeveloperHint.js +2 -1
- package/dist/lib/components/DeveloperHint.js.map +1 -1
- package/dist/lib/components/Header.js +3 -7
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/Layout.js +11 -3
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +6 -7
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/SyntaxHighlight.js +16 -12
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/components/ThemeSwitch.d.ts +1 -0
- package/dist/lib/components/ThemeSwitch.js +13 -0
- package/dist/lib/components/ThemeSwitch.js.map +1 -0
- package/dist/lib/components/TopNavigation.d.ts +2 -0
- package/dist/lib/components/TopNavigation.js +13 -7
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Zudoku.js +4 -5
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +3 -3
- package/dist/lib/components/context/ZudokuContext.js +7 -12
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/index.d.ts +14 -3
- package/dist/lib/components/navigation/Sidebar.js +1 -1
- package/dist/lib/components/navigation/Sidebar.js.map +1 -1
- package/dist/lib/components/navigation/utils.js +2 -2
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +0 -4
- package/dist/lib/core/ZudokuContext.js +0 -5
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/errors/ErrorAlert.js +1 -1
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js +13 -9
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
- package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js +5 -9
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.d.ts +2 -2
- package/dist/lib/plugins/openapi/OperationList.js +6 -21
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/Route.d.ts +4 -4
- package/dist/lib/plugins/openapi/Route.js +2 -4
- package/dist/lib/plugins/openapi/Route.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.d.ts +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +8 -11
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
- package/dist/lib/plugins/openapi/client/GraphQLClient.js +102 -0
- package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -0
- package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
- package/dist/lib/plugins/openapi/client/GraphQLContext.js +5 -0
- package/dist/lib/plugins/openapi/client/GraphQLContext.js.map +1 -0
- package/dist/lib/plugins/openapi/client/createServer.d.ts +1 -0
- package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
- package/dist/lib/plugins/openapi/client/useCreateQuery.js +13 -0
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -0
- package/dist/lib/plugins/openapi/client/worker.d.ts +4 -1
- package/dist/lib/plugins/openapi/client/worker.js +23 -14
- package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +3 -3
- package/dist/lib/plugins/openapi/graphql/fragment-masking.js +3 -4
- package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +5 -52
- package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +134 -9
- package/dist/lib/plugins/openapi/graphql/graphql.js +194 -778
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +40 -53
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
- package/dist/lib/plugins/openapi-worker.d.ts +1 -1
- package/dist/lib/plugins/openapi-worker.js +7 -1
- package/dist/lib/plugins/openapi-worker.js.map +1 -1
- package/dist/lib/util/MdxComponents.d.ts +1 -1
- package/dist/vite/config.js +0 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/html.js +0 -2
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-component.js +1 -1
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-mdx.js +3 -2
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin.js +0 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/remarkStaticGeneration.d.ts +3 -0
- package/dist/vite/remarkStaticGeneration.js +125 -0
- package/dist/vite/remarkStaticGeneration.js.map +1 -0
- package/lib/{AnchorLink-DYbUOP9U.js → AnchorLink-CDlhr8gL.js} +11 -10
- package/lib/{AnchorLink-DYbUOP9U.js.map → AnchorLink-CDlhr8gL.js.map} +1 -1
- package/lib/{AuthenticationPlugin-bqGAKfot.js → AuthenticationPlugin-DeGDVa1r.js} +6 -5
- package/lib/{AuthenticationPlugin-bqGAKfot.js.map → AuthenticationPlugin-DeGDVa1r.js.map} +1 -1
- package/lib/{Spinner-ChOGyPls.js → Button-jK0EsymC.js} +12 -15
- package/lib/Button-jK0EsymC.js.map +1 -0
- package/lib/Markdown-ievDDhFT.js +15192 -0
- package/lib/Markdown-ievDDhFT.js.map +1 -0
- package/lib/{MdxPage-DRKqyn2b.js → MdxPage-Bwn-VSsH.js} +5 -5
- package/lib/{MdxPage-DRKqyn2b.js.map → MdxPage-Bwn-VSsH.js.map} +1 -1
- package/lib/OperationList-BwBl1xrD.js +4691 -0
- package/lib/OperationList-BwBl1xrD.js.map +1 -0
- package/lib/Route-DlG_HTMu.js +11 -0
- package/lib/Route-DlG_HTMu.js.map +1 -0
- package/lib/{Select-DYKDahHt.js → Select-O9ZM3ZgX.js} +7 -7
- package/lib/Select-O9ZM3ZgX.js.map +1 -0
- package/lib/SidebarBadge-DxFJcJ6V.js +51 -0
- package/lib/SidebarBadge-DxFJcJ6V.js.map +1 -0
- package/lib/SlotletProvider-DyomlzGx.js +252 -0
- package/lib/SlotletProvider-DyomlzGx.js.map +1 -0
- package/lib/Spinner-3cQDBVGr.js +7 -0
- package/lib/Spinner-3cQDBVGr.js.map +1 -0
- package/lib/SyntaxHighlight-DkLOsjHS.js +2983 -0
- package/lib/SyntaxHighlight-DkLOsjHS.js.map +1 -0
- package/lib/assets/{worker-YA-aCP3P.js → worker-CPsGZsve.js} +24 -22
- package/lib/assets/{worker-YA-aCP3P.js.map → worker-CPsGZsve.js.map} +1 -1
- package/lib/context-D1nXWxm7.js +22 -0
- package/lib/context-D1nXWxm7.js.map +1 -0
- package/lib/createServer-DK-g7kbB.js +16089 -0
- package/lib/createServer-DK-g7kbB.js.map +1 -0
- package/lib/{hook-CjQERPa7.js → hook-hEqe7fPB.js} +12 -14
- package/lib/hook-hEqe7fPB.js.map +1 -0
- package/lib/index-Czzd9rjU.js +899 -0
- package/lib/index-Czzd9rjU.js.map +1 -0
- package/lib/index-DNxQ_rCt.js +1273 -0
- package/lib/index-DNxQ_rCt.js.map +1 -0
- package/lib/index-Yn8c3UWE.js +921 -0
- package/lib/index-Yn8c3UWE.js.map +1 -0
- package/lib/{router-BsfSoK2j.js → router-lfyopgBI.js} +23 -23
- package/lib/{router-BsfSoK2j.js.map → router-lfyopgBI.js.map} +1 -1
- package/lib/state-tsXBLONe.js +203 -0
- package/lib/state-tsXBLONe.js.map +1 -0
- package/lib/ui/ActionButton.js +11 -10
- package/lib/ui/ActionButton.js.map +1 -1
- package/lib/useExposedProps-CTPtylCV.js +10 -0
- package/lib/{useExposedProps-BxyHjPNN.js.map → useExposedProps-CTPtylCV.js.map} +1 -1
- package/lib/{utils-DNAltzXc.js → utils-DcpDOncX.js} +197 -202
- package/lib/utils-DcpDOncX.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +24 -18
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +124 -138
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +1133 -992
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +10 -16346
- package/lib/zudoku.openapi-worker.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +18 -18
- package/lib/zudoku.plugin-custom-pages.js +2 -2
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +5 -9
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/package.json +14 -4
- package/src/app/demo.tsx +0 -3
- package/src/app/entry.client.tsx +14 -0
- package/src/app/entry.server.tsx +59 -57
- package/src/app/standalone.tsx +0 -3
- package/src/lib/authentication/hook.ts +1 -3
- package/src/lib/authentication/providers/auth0.tsx +16 -11
- package/src/lib/authentication/providers/openid.tsx +12 -30
- package/src/lib/authentication/state.ts +44 -10
- package/src/lib/components/Bootstrap.tsx +36 -9
- package/src/lib/components/DeveloperHint.tsx +6 -1
- package/src/lib/components/Header.tsx +31 -42
- package/src/lib/components/Layout.tsx +48 -36
- package/src/lib/components/MobileTopNavigation.tsx +15 -18
- package/src/lib/components/SyntaxHighlight.tsx +81 -46
- package/src/lib/components/ThemeSwitch.tsx +26 -0
- package/src/lib/components/TopNavigation.tsx +27 -19
- package/src/lib/components/Zudoku.tsx +5 -10
- package/src/lib/components/context/ZudokuContext.ts +8 -13
- package/src/lib/components/navigation/Sidebar.tsx +3 -3
- package/src/lib/components/navigation/utils.ts +2 -2
- package/src/lib/core/ZudokuContext.ts +0 -8
- package/src/lib/errors/ErrorAlert.tsx +2 -1
- package/src/lib/plugins/openapi/ColorizedParam.tsx +23 -14
- package/src/lib/plugins/openapi/Endpoint.tsx +5 -10
- package/src/lib/plugins/openapi/OperationList.tsx +5 -40
- package/src/lib/plugins/openapi/Route.tsx +11 -12
- package/src/lib/plugins/openapi/Sidecar.tsx +10 -13
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +140 -0
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
- package/src/lib/plugins/openapi/client/createServer.ts +2 -0
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +18 -0
- package/src/lib/plugins/openapi/client/worker.ts +38 -24
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +11 -18
- package/src/lib/plugins/openapi/graphql/gql.ts +7 -25
- package/src/lib/plugins/openapi/graphql/graphql.ts +351 -782
- package/src/lib/plugins/openapi/index.tsx +40 -63
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +1 -1
- package/src/lib/plugins/openapi-worker.ts +11 -1
- package/dist/lib/components/context/ThemeContext.d.ts +0 -2
- package/dist/lib/components/context/ThemeContext.js +0 -7
- package/dist/lib/components/context/ThemeContext.js.map +0 -1
- package/dist/lib/components/context/ThemeProvider.d.ts +0 -4
- package/dist/lib/components/context/ThemeProvider.js +0 -23
- package/dist/lib/components/context/ThemeProvider.js.map +0 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +0 -9
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +0 -54
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +0 -1
- package/dist/lib/plugins/openapi/client/createWorkerClient.d.ts +0 -10
- package/dist/lib/plugins/openapi/client/createWorkerClient.js +0 -62
- package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +0 -1
- package/dist/lib/plugins/openapi/client/interfaces.d.ts +0 -4
- package/dist/lib/plugins/openapi/client/interfaces.js +0 -2
- package/dist/lib/plugins/openapi/client/interfaces.js.map +0 -1
- package/dist/lib/themeToggle.d.ts +0 -1
- package/dist/lib/themeToggle.js +0 -7
- package/dist/lib/themeToggle.js.map +0 -1
- package/dist/lib/util/createWaitForNotify.d.ts +0 -1
- package/dist/lib/util/createWaitForNotify.js +0 -15
- package/dist/lib/util/createWaitForNotify.js.map +0 -1
- package/dist/vite/plugin-html-transform.d.ts +0 -2
- package/dist/vite/plugin-html-transform.js +0 -15
- package/dist/vite/plugin-html-transform.js.map +0 -1
- package/lib/DeveloperHint-DHdLXGHA.js +0 -16
- package/lib/DeveloperHint-DHdLXGHA.js.map +0 -1
- package/lib/Markdown-D6UxMbZm.js +0 -18059
- package/lib/Markdown-D6UxMbZm.js.map +0 -1
- package/lib/OperationList-BHUBGM0c.js +0 -621
- package/lib/OperationList-BHUBGM0c.js.map +0 -1
- package/lib/Route-B0XuN1oC.js +0 -13
- package/lib/Route-B0XuN1oC.js.map +0 -1
- package/lib/Select-DYKDahHt.js.map +0 -1
- package/lib/SidebarBadge-Bbt92M5K.js +0 -38
- package/lib/SidebarBadge-Bbt92M5K.js.map +0 -1
- package/lib/SlotletProvider-mhjLPG44.js +0 -241
- package/lib/SlotletProvider-mhjLPG44.js.map +0 -1
- package/lib/Spinner-ChOGyPls.js.map +0 -1
- package/lib/StaggeredRender-DDHSzQKE.js +0 -17
- package/lib/StaggeredRender-DDHSzQKE.js.map +0 -1
- package/lib/hook-CjQERPa7.js.map +0 -1
- package/lib/index-BRg5pi5D.js +0 -5902
- package/lib/index-BRg5pi5D.js.map +0 -1
- package/lib/index-DM9hrcCG.js +0 -1783
- package/lib/index-DM9hrcCG.js.map +0 -1
- package/lib/state-BsPrOUAh.js +0 -252
- package/lib/state-BsPrOUAh.js.map +0 -1
- package/lib/urql-core-35Qt_U4i.js +0 -1511
- package/lib/urql-core-35Qt_U4i.js.map +0 -1
- package/lib/useExposedProps-BxyHjPNN.js +0 -9
- package/lib/utils-DNAltzXc.js.map +0 -1
- package/src/lib/components/context/ThemeContext.tsx +0 -8
- package/src/lib/components/context/ThemeProvider.tsx +0 -27
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +0 -65
- package/src/lib/plugins/openapi/client/createWorkerClient.ts +0 -79
- package/src/lib/plugins/openapi/client/interfaces.ts +0 -5
- package/src/lib/themeToggle.ts +0 -7
- package/src/lib/util/createWaitForNotify.ts +0 -18
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import I from "react";
|
|
2
|
+
const w = (t) => {
|
|
3
|
+
let r;
|
|
4
|
+
const e = /* @__PURE__ */ new Set(), o = (i, S) => {
|
|
5
|
+
const f = typeof i == "function" ? i(r) : i;
|
|
6
|
+
if (!Object.is(f, r)) {
|
|
7
|
+
const m = r;
|
|
8
|
+
r = S ?? (typeof f != "object" || f === null) ? f : Object.assign({}, r, f), e.forEach((d) => d(r, m));
|
|
9
|
+
}
|
|
10
|
+
}, a = () => r, l = { setState: o, getState: a, getInitialState: () => u, subscribe: (i) => (e.add(i), () => e.delete(i)) }, u = r = t(o, a, l);
|
|
11
|
+
return l;
|
|
12
|
+
}, k = (t) => t ? w(t) : w, R = (t) => t;
|
|
13
|
+
function L(t, r = R) {
|
|
14
|
+
const e = I.useSyncExternalStore(
|
|
15
|
+
t.subscribe,
|
|
16
|
+
() => r(t.getState()),
|
|
17
|
+
() => r(t.getInitialState())
|
|
18
|
+
);
|
|
19
|
+
return I.useDebugValue(e), e;
|
|
20
|
+
}
|
|
21
|
+
const x = (t) => {
|
|
22
|
+
const r = k(t), e = (o) => L(r, o);
|
|
23
|
+
return Object.assign(e, r), e;
|
|
24
|
+
}, _ = (t) => x;
|
|
25
|
+
function E(t, r) {
|
|
26
|
+
let e;
|
|
27
|
+
try {
|
|
28
|
+
e = t();
|
|
29
|
+
} catch {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
getItem: (a) => {
|
|
34
|
+
var s;
|
|
35
|
+
const v = (u) => u === null ? null : JSON.parse(u, void 0), l = (s = e.getItem(a)) != null ? s : null;
|
|
36
|
+
return l instanceof Promise ? l.then(v) : v(l);
|
|
37
|
+
},
|
|
38
|
+
setItem: (a, s) => e.setItem(
|
|
39
|
+
a,
|
|
40
|
+
JSON.stringify(s, void 0)
|
|
41
|
+
),
|
|
42
|
+
removeItem: (a) => e.removeItem(a)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const y = (t) => (r) => {
|
|
46
|
+
try {
|
|
47
|
+
const e = t(r);
|
|
48
|
+
return e instanceof Promise ? e : {
|
|
49
|
+
then(o) {
|
|
50
|
+
return y(o)(e);
|
|
51
|
+
},
|
|
52
|
+
catch(o) {
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
} catch (e) {
|
|
57
|
+
return {
|
|
58
|
+
then(o) {
|
|
59
|
+
return this;
|
|
60
|
+
},
|
|
61
|
+
catch(o) {
|
|
62
|
+
return y(o)(e);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}, D = (t, r) => (e, o, a) => {
|
|
67
|
+
let s = {
|
|
68
|
+
storage: E(() => localStorage),
|
|
69
|
+
partialize: (n) => n,
|
|
70
|
+
version: 0,
|
|
71
|
+
merge: (n, g) => ({
|
|
72
|
+
...g,
|
|
73
|
+
...n
|
|
74
|
+
}),
|
|
75
|
+
...r
|
|
76
|
+
}, v = !1;
|
|
77
|
+
const l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
|
|
78
|
+
let i = s.storage;
|
|
79
|
+
if (!i)
|
|
80
|
+
return t(
|
|
81
|
+
(...n) => {
|
|
82
|
+
console.warn(
|
|
83
|
+
`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`
|
|
84
|
+
), e(...n);
|
|
85
|
+
},
|
|
86
|
+
o,
|
|
87
|
+
a
|
|
88
|
+
);
|
|
89
|
+
const S = () => {
|
|
90
|
+
const n = s.partialize({ ...o() });
|
|
91
|
+
return i.setItem(s.name, {
|
|
92
|
+
state: n,
|
|
93
|
+
version: s.version
|
|
94
|
+
});
|
|
95
|
+
}, f = a.setState;
|
|
96
|
+
a.setState = (n, g) => {
|
|
97
|
+
f(n, g), S();
|
|
98
|
+
};
|
|
99
|
+
const m = t(
|
|
100
|
+
(...n) => {
|
|
101
|
+
e(...n), S();
|
|
102
|
+
},
|
|
103
|
+
o,
|
|
104
|
+
a
|
|
105
|
+
);
|
|
106
|
+
a.getInitialState = () => m;
|
|
107
|
+
let d;
|
|
108
|
+
const b = () => {
|
|
109
|
+
var n, g;
|
|
110
|
+
if (!i) return;
|
|
111
|
+
v = !1, l.forEach((c) => {
|
|
112
|
+
var h;
|
|
113
|
+
return c((h = o()) != null ? h : m);
|
|
114
|
+
});
|
|
115
|
+
const p = ((g = s.onRehydrateStorage) == null ? void 0 : g.call(s, (n = o()) != null ? n : m)) || void 0;
|
|
116
|
+
return y(i.getItem.bind(i))(s.name).then((c) => {
|
|
117
|
+
if (c)
|
|
118
|
+
if (typeof c.version == "number" && c.version !== s.version) {
|
|
119
|
+
if (s.migrate)
|
|
120
|
+
return [
|
|
121
|
+
!0,
|
|
122
|
+
s.migrate(
|
|
123
|
+
c.state,
|
|
124
|
+
c.version
|
|
125
|
+
)
|
|
126
|
+
];
|
|
127
|
+
console.error(
|
|
128
|
+
"State loaded from storage couldn't be migrated since no migrate function was provided"
|
|
129
|
+
);
|
|
130
|
+
} else
|
|
131
|
+
return [!1, c.state];
|
|
132
|
+
return [!1, void 0];
|
|
133
|
+
}).then((c) => {
|
|
134
|
+
var h;
|
|
135
|
+
const [H, j] = c;
|
|
136
|
+
if (d = s.merge(
|
|
137
|
+
j,
|
|
138
|
+
(h = o()) != null ? h : m
|
|
139
|
+
), e(d, !0), H)
|
|
140
|
+
return S();
|
|
141
|
+
}).then(() => {
|
|
142
|
+
p == null || p(d, void 0), d = o(), v = !0, u.forEach((c) => c(d));
|
|
143
|
+
}).catch((c) => {
|
|
144
|
+
p == null || p(void 0, c);
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
return a.persist = {
|
|
148
|
+
setOptions: (n) => {
|
|
149
|
+
s = {
|
|
150
|
+
...s,
|
|
151
|
+
...n
|
|
152
|
+
}, n.storage && (i = n.storage);
|
|
153
|
+
},
|
|
154
|
+
clearStorage: () => {
|
|
155
|
+
i == null || i.removeItem(s.name);
|
|
156
|
+
},
|
|
157
|
+
getOptions: () => s,
|
|
158
|
+
rehydrate: () => b(),
|
|
159
|
+
hasHydrated: () => v,
|
|
160
|
+
onHydrate: (n) => (l.add(n), () => {
|
|
161
|
+
l.delete(n);
|
|
162
|
+
}),
|
|
163
|
+
onFinishHydration: (n) => (u.add(n), () => {
|
|
164
|
+
u.delete(n);
|
|
165
|
+
})
|
|
166
|
+
}, s.skipHydration || b(), d || m;
|
|
167
|
+
}, O = D, F = (t) => {
|
|
168
|
+
const r = (e) => {
|
|
169
|
+
e.key === t.persist.getOptions().name && e.newValue && t.persist.rehydrate();
|
|
170
|
+
};
|
|
171
|
+
return window.addEventListener("storage", r), () => {
|
|
172
|
+
window.removeEventListener("storage", r);
|
|
173
|
+
};
|
|
174
|
+
}, J = _()(
|
|
175
|
+
O(
|
|
176
|
+
(t) => ({
|
|
177
|
+
isAuthenticated: !1,
|
|
178
|
+
isPending: !1,
|
|
179
|
+
profile: null,
|
|
180
|
+
providerData: null
|
|
181
|
+
}),
|
|
182
|
+
{
|
|
183
|
+
name: "auth-state",
|
|
184
|
+
storage: E(() => localStorage)
|
|
185
|
+
// partialize: (s) => ({ state: s }),
|
|
186
|
+
}
|
|
187
|
+
)
|
|
188
|
+
);
|
|
189
|
+
typeof window < "u" && F(J);
|
|
190
|
+
const P = _()(
|
|
191
|
+
O(
|
|
192
|
+
(t) => ({
|
|
193
|
+
selectedServer: void 0,
|
|
194
|
+
setSelectedServer: (r) => t({ selectedServer: r })
|
|
195
|
+
}),
|
|
196
|
+
{ name: "zudoku-selected-server" }
|
|
197
|
+
)
|
|
198
|
+
);
|
|
199
|
+
export {
|
|
200
|
+
P as a,
|
|
201
|
+
J as u
|
|
202
|
+
};
|
|
203
|
+
//# sourceMappingURL=state-tsXBLONe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-tsXBLONe.js","sources":["../../../node_modules/.pnpm/zustand@5.0.0_@types+react@18.3.11_react@18.3.1_use-sync-external-store@1.2.2_react@18.3.1_/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.0_@types+react@18.3.11_react@18.3.1_use-sync-external-store@1.2.2_react@18.3.1_/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.0_@types+react@18.3.11_react@18.3.1_use-sync-external-store@1.2.2_react@18.3.1_/node_modules/zustand/esm/middleware.mjs","../src/lib/authentication/state.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { create, type Mutate, type StoreApi } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nexport interface AuthState<ProviderData = unknown> {\n isAuthenticated: boolean;\n isPending: boolean;\n profile: UserProfile | null;\n providerData: ProviderData | null;\n}\n\nexport class Authentication {\n async setLoggedIn(isLoggedIn: boolean) {}\n async setProfile() {}\n async setPersistentProviderData() {}\n}\n\nexport type StoreWithPersist<T> = Mutate<\n StoreApi<T>,\n [[\"zustand/persist\", unknown]]\n>;\n\nexport const withStorageDOMEvents = <T>(store: StoreWithPersist<T>) => {\n const storageEventCallback = (e: StorageEvent) => {\n if (e.key === store.persist.getOptions().name && e.newValue) {\n void store.persist.rehydrate();\n }\n };\n\n window.addEventListener(\"storage\", storageEventCallback);\n\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n};\n\nexport const useAuthState = create<AuthState>()(\n persist(\n (state) => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n }),\n {\n name: \"auth-state\",\n storage: createJSONStorage(() => localStorage),\n // partialize: (s) => ({ state: s }),\n },\n ),\n);\n\nif (typeof window !== \"undefined\") {\n withStorageDOMEvents(useAuthState);\n}\n\nexport interface UserProfile {\n sub: string;\n email: string | undefined;\n emailVerified: boolean;\n name: string | undefined;\n pictureUrl: string | undefined;\n [key: string]: string | boolean | undefined;\n}\n\ninterface SelectedServerState {\n selectedServer?: string;\n setSelectedServer: (newServer: string) => void;\n}\n\nexport const useSelectedServerStore = create<SelectedServerState>()(\n persist(\n (set) => ({\n selectedServer: undefined,\n setSelectedServer: (newServer: string) =>\n set({ selectedServer: newServer }),\n }),\n { name: \"zudoku-selected-server\" },\n ),\n);\n"],"names":["createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","React","createImpl","useBoundStore","create","createJSONStorage","getStorage","options","storage","name","_a","parse","str2","str","newValue","toThenable","fn","input","result","onFulfilled","_onRejected","_onFulfilled","onRejected","persistImpl","config","baseOptions","set","get","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","setItem","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","deserializedStorageValue","migrationResult","migrated","migratedState","e","newOptions","persist","withStorageDOMEvents","store","storageEventCallback","useAuthState","useSelectedServerStore","newServer"],"mappings":";AAAA,MAAMA,IAAkB,CAACC,MAAgB;AACvC,MAAIC;AACJ,QAAMC,IAA4B,oBAAI,OAChCC,IAAW,CAACC,GAASC,MAAY;AACrC,UAAMC,IAAY,OAAOF,KAAY,aAAaA,EAAQH,CAAK,IAAIG;AACnE,QAAI,CAAC,OAAO,GAAGE,GAAWL,CAAK,GAAG;AAChC,YAAMM,IAAgBN;AACtB,MAAAA,IAASI,MAA4B,OAAOC,KAAc,YAAYA,MAAc,QAAQA,IAAY,OAAO,OAAO,CAAA,GAAIL,GAAOK,CAAS,GAC1IJ,EAAU,QAAQ,CAACM,MAAaA,EAASP,GAAOM,CAAa,CAAC;AAAA,IAC/D;AAAA,EACL,GACQE,IAAW,MAAMR,GAMjBS,IAAM,EAAE,UAAAP,GAAU,UAAAM,GAAU,iBALV,MAAME,GAKqB,WAJjC,CAACH,OACjBN,EAAU,IAAIM,CAAQ,GACf,MAAMN,EAAU,OAAOM,CAAQ,GAEoB,GACtDG,IAAeV,IAAQD,EAAYG,GAAUM,GAAUC,CAAG;AAChE,SAAOA;AACT,GACME,IAAc,CAACZ,MAAgBA,IAAcD,EAAgBC,CAAW,IAAID,GClB5Ec,IAAW,CAACC,MAAQA;AAC1B,SAASC,EAASL,GAAKM,IAAWH,GAAU;AAC1C,QAAMI,IAAQC,EAAM;AAAA,IAClBR,EAAI;AAAA,IACJ,MAAMM,EAASN,EAAI,UAAU;AAAA,IAC7B,MAAMM,EAASN,EAAI,iBAAiB;AAAA,EACxC;AACEQ,SAAAA,EAAM,cAAcD,CAAK,GAClBA;AACT;AACA,MAAME,IAAa,CAACnB,MAAgB;AAClC,QAAMU,IAAME,EAAYZ,CAAW,GAC7BoB,IAAgB,CAACJ,MAAaD,EAASL,GAAKM,CAAQ;AAC1D,gBAAO,OAAOI,GAAeV,CAAG,GACzBU;AACT,GACMC,IAAS,CAACrB,MAAwDmB;AC+NxE,SAASG,EAAkBC,GAAYC,GAAS;AAC1C,MAAAC;AACA,MAAA;AACF,IAAAA,IAAUF,EAAW;AAAA,UACX;AACV;AAAA,EACF;AAsBO,SArBgB;AAAA,IACrB,SAAS,CAACG,MAAS;AACb,UAAAC;AACE,YAAAC,IAAQ,CAACC,MACTA,MAAS,OACJ,OAEF,KAAK,MAAMA,GAAwB,MAAwB,GAE9DC,KAAOH,IAAKF,EAAQ,QAAQC,CAAI,MAAM,OAAOC,IAAK;AACxD,aAAIG,aAAe,UACVA,EAAI,KAAKF,CAAK,IAEhBA,EAAME,CAAG;AAAA,IAClB;AAAA,IACA,SAAS,CAACJ,GAAMK,MAAaN,EAAQ;AAAA,MACnCC;AAAA,MACA,KAAK,UAAUK,GAA4B,MAAyB;AAAA,IACtE;AAAA,IACA,YAAY,CAACL,MAASD,EAAQ,WAAWC,CAAI;AAAA,EAAA;AAGjD;AACA,MAAMM,IAAa,CAACC,MAAO,CAACC,MAAU;AAChC,MAAA;AACI,UAAAC,IAASF,EAAGC,CAAK;AACvB,WAAIC,aAAkB,UACbA,IAEF;AAAA,MACL,KAAKC,GAAa;AACT,eAAAJ,EAAWI,CAAW,EAAED,CAAM;AAAA,MACvC;AAAA,MACA,MAAME,GAAa;AACV,eAAA;AAAA,MACT;AAAA,IAAA;AAAA,WAEK,GAAG;AACH,WAAA;AAAA,MACL,KAAKC,GAAc;AACV,eAAA;AAAA,MACT;AAAA,MACA,MAAMC,GAAY;AACT,eAAAP,EAAWO,CAAU,EAAE,CAAC;AAAA,MACjC;AAAA,IAAA;AAAA,EAEJ;AACF,GACMC,IAAc,CAACC,GAAQC,MAAgB,CAACC,GAAKC,GAAKlC,MAAQ;AAC9D,MAAIc,IAAU;AAAA,IACZ,SAASF,EAAkB,MAAM,YAAY;AAAA,IAC7C,YAAY,CAACrB,MAAUA;AAAA,IACvB,SAAS;AAAA,IACT,OAAO,CAAC4C,GAAgBC,OAAkB;AAAA,MACxC,GAAGA;AAAA,MACH,GAAGD;AAAA,IAAA;AAAA,IAEL,GAAGH;AAAA,EAAA,GAEDK,IAAc;AACZ,QAAAC,wBAAyC,OACzCC,wBAA+C;AACrD,MAAIxB,IAAUD,EAAQ;AACtB,MAAI,CAACC;AACI,WAAAgB;AAAA,MACL,IAAIS,MAAS;AACH,gBAAA;AAAA,UACN,uDAAuD1B,EAAQ,IAAI;AAAA,QAAA,GAErEmB,EAAI,GAAGO,CAAI;AAAA,MACb;AAAA,MACAN;AAAA,MACAlC;AAAA,IAAA;AAGJ,QAAMyC,IAAU,MAAM;AACpB,UAAMlD,IAAQuB,EAAQ,WAAW,EAAE,GAAGoB,KAAO;AACtC,WAAAnB,EAAQ,QAAQD,EAAQ,MAAM;AAAA,MACnC,OAAAvB;AAAA,MACA,SAASuB,EAAQ;AAAA,IAAA,CAClB;AAAA,EAAA,GAEG4B,IAAgB1C,EAAI;AACtB,EAAAA,EAAA,WAAW,CAACT,GAAOI,MAAY;AACjC,IAAA+C,EAAcnD,GAAOI,CAAO,GACvB8C,EAAQ;AAAA,EAAA;AAEf,QAAME,IAAeZ;AAAA,IACnB,IAAIS,MAAS;AACX,MAAAP,EAAI,GAAGO,CAAI,GACNC,EAAQ;AAAA,IACf;AAAA,IACAP;AAAA,IACAlC;AAAA,EAAA;AAEF,EAAAA,EAAI,kBAAkB,MAAM2C;AACxB,MAAAC;AACJ,QAAMC,IAAU,MAAM;AACpB,QAAI5B,GAAI6B;AACR,QAAI,CAAC/B,EAAS;AACA,IAAAsB,IAAA,IACKC,EAAA,QAAQ,CAACS,MAAO;AAC7B,UAAAC;AACJ,aAAOD,GAAIC,IAAMd,EAAU,MAAA,OAAOc,IAAML,CAAY;AAAA,IAAA,CACrD;AACD,UAAMM,MAA4BH,IAAKhC,EAAQ,uBAAuB,OAAO,SAASgC,EAAG,KAAKhC,IAAUG,IAAKiB,EAAI,MAAM,OAAOjB,IAAK0B,CAAY,MAAM;AACrJ,WAAOrB,EAAWP,EAAQ,QAAQ,KAAKA,CAAO,CAAC,EAAED,EAAQ,IAAI,EAAE,KAAK,CAACoC,MAA6B;AAChG,UAAIA;AACF,YAAI,OAAOA,EAAyB,WAAY,YAAYA,EAAyB,YAAYpC,EAAQ,SAAS;AAChH,cAAIA,EAAQ;AACH,mBAAA;AAAA,cACL;AAAA,cACAA,EAAQ;AAAA,gBACNoC,EAAyB;AAAA,gBACzBA,EAAyB;AAAA,cAC3B;AAAA,YAAA;AAGI,kBAAA;AAAA,YACN;AAAA,UAAA;AAAA,QACF;AAEO,iBAAA,CAAC,IAAOA,EAAyB,KAAK;AAG1C,aAAA,CAAC,IAAO,MAAM;AAAA,IAAA,CACtB,EAAE,KAAK,CAACC,MAAoB;AACvB,UAAAH;AACE,YAAA,CAACI,GAAUC,CAAa,IAAIF;AAMlC,UALAP,IAAmB9B,EAAQ;AAAA,QACzBuC;AAAA,SACCL,IAAMd,EAAA,MAAU,OAAOc,IAAML;AAAA,MAAA,GAEhCV,EAAIW,GAAkB,EAAI,GACtBQ;AACF,eAAOX,EAAQ;AAAA,IACjB,CACD,EAAE,KAAK,MAAM;AACZ,MAAAQ,KAA2B,QAAgBA,EAAwBL,GAAkB,MAAM,GAC3FA,IAAmBV,EAAI,GACTG,IAAA,IACdE,EAAyB,QAAQ,CAACQ,MAAOA,EAAGH,CAAgB,CAAC;AAAA,IAAA,CAC9D,EAAE,MAAM,CAACU,MAAM;AACd,MAAAL,KAA2B,QAAgBA,EAAwB,QAAQK,CAAC;AAAA,IAAA,CAC7E;AAAA,EAAA;AAEH,SAAAtD,EAAI,UAAU;AAAA,IACZ,YAAY,CAACuD,MAAe;AAChB,MAAAzC,IAAA;AAAA,QACR,GAAGA;AAAA,QACH,GAAGyC;AAAA,MAAA,GAEDA,EAAW,YACbxC,IAAUwC,EAAW;AAAA,IAEzB;AAAA,IACA,cAAc,MAAM;AAClB,MAAAxC,KAAW,QAAgBA,EAAQ,WAAWD,EAAQ,IAAI;AAAA,IAC5D;AAAA,IACA,YAAY,MAAMA;AAAA,IAClB,WAAW,MAAM+B,EAAQ;AAAA,IACzB,aAAa,MAAMR;AAAA,IACnB,WAAW,CAACU,OACVT,EAAmB,IAAIS,CAAE,GAClB,MAAM;AACX,MAAAT,EAAmB,OAAOS,CAAE;AAAA,IAAA;AAAA,IAGhC,mBAAmB,CAACA,OAClBR,EAAyB,IAAIQ,CAAE,GACxB,MAAM;AACX,MAAAR,EAAyB,OAAOQ,CAAE;AAAA,IAAA;AAAA,EAEtC,GAEGjC,EAAQ,iBACH+B,KAEHD,KAAoBD;AAC7B,GACMa,IAAU1B,GCxZH2B,IAAuB,CAAIC,MAA+B;AAC/D,QAAAC,IAAuB,CAAC,MAAoB;AAC5C,IAAA,EAAE,QAAQD,EAAM,QAAQ,aAAa,QAAQ,EAAE,YAC5CA,EAAM,QAAQ;EACrB;AAGK,gBAAA,iBAAiB,WAAWC,CAAoB,GAEhD,MAAM;AACJ,WAAA,oBAAoB,WAAWA,CAAoB;AAAA,EAAA;AAE9D,GAEaC,IAAejD,EAAkB;AAAA,EAC5C6C;AAAA,IACE,CAACjE,OAAW;AAAA,MACV,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,MAAM;AAAA,MACN,SAASqB,EAAkB,MAAM,YAAY;AAAA;AAAA,IAE/C;AAAA,EACF;AACF;AAEI,OAAO,SAAW,OACpB6C,EAAqBG,CAAY;AAiB5B,MAAMC,IAAyBlD,EAA4B;AAAA,EAChE6C;AAAA,IACE,CAACvB,OAAS;AAAA,MACR,gBAAgB;AAAA,MAChB,mBAAmB,CAAC6B,MAClB7B,EAAI,EAAE,gBAAgB6B,GAAW;AAAA,IAAA;AAAA,IAErC,EAAE,MAAM,yBAAyB;AAAA,EACnC;AACF;","x_google_ignoreList":[0,1,2]}
|
package/lib/ui/ActionButton.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { j as
|
|
1
|
+
import { j as t } from "../jsx-runtime-B6kdoens.js";
|
|
2
2
|
import { forwardRef as m } from "react";
|
|
3
|
-
import { B as c
|
|
4
|
-
import {
|
|
3
|
+
import { B as c } from "../Button-jK0EsymC.js";
|
|
4
|
+
import { S as n } from "../Spinner-3cQDBVGr.js";
|
|
5
|
+
import { c as s } from "../cn-BmFQLtkS.js";
|
|
5
6
|
const l = m(
|
|
6
|
-
({ isPending:
|
|
7
|
+
({ isPending: r, children: o, className: e, ...i }, a) => /* @__PURE__ */ t.jsxs(
|
|
7
8
|
c,
|
|
8
9
|
{
|
|
9
|
-
ref:
|
|
10
|
-
disabled:
|
|
11
|
-
...
|
|
12
|
-
className:
|
|
10
|
+
ref: a,
|
|
11
|
+
disabled: r,
|
|
12
|
+
...i,
|
|
13
|
+
className: s("relative", e),
|
|
13
14
|
children: [
|
|
14
|
-
|
|
15
|
-
/* @__PURE__ */
|
|
15
|
+
r && /* @__PURE__ */ t.jsx("div", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ t.jsx(n, {}) }),
|
|
16
|
+
/* @__PURE__ */ t.jsx("div", { className: s(r && "invisible"), children: o })
|
|
16
17
|
]
|
|
17
18
|
}
|
|
18
19
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButton.js","sources":["../../src/lib/ui/ActionButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { Button, type ButtonProps } from \"zudoku/ui/Button.js\";\nimport { Spinner } from \"../components/Spinner.js\";\nimport { cn } from \"../util/cn.js\";\n\ntype ActionButtonProps = ButtonProps & { isPending?: boolean };\n\nexport const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>(\n ({ isPending, children, className, ...props }: ActionButtonProps, ref) => {\n return (\n <Button\n ref={ref}\n disabled={isPending}\n {...props}\n className={cn(\"relative\", className)}\n >\n {isPending && (\n <div className=\"absolute inset-0 grid place-items-center\">\n <Spinner />\n </div>\n )}\n <div className={cn(isPending && \"invisible\")}>{children}</div>\n </Button>\n );\n },\n);\n\nActionButton.displayName = \"ActionButton\";\n"],"names":["ActionButton","forwardRef","isPending","children","className","props","ref","jsxs","Button","cn","jsx","Spinner"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionButton.js","sources":["../../src/lib/ui/ActionButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { Button, type ButtonProps } from \"zudoku/ui/Button.js\";\nimport { Spinner } from \"../components/Spinner.js\";\nimport { cn } from \"../util/cn.js\";\n\ntype ActionButtonProps = ButtonProps & { isPending?: boolean };\n\nexport const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>(\n ({ isPending, children, className, ...props }: ActionButtonProps, ref) => {\n return (\n <Button\n ref={ref}\n disabled={isPending}\n {...props}\n className={cn(\"relative\", className)}\n >\n {isPending && (\n <div className=\"absolute inset-0 grid place-items-center\">\n <Spinner />\n </div>\n )}\n <div className={cn(isPending && \"invisible\")}>{children}</div>\n </Button>\n );\n },\n);\n\nActionButton.displayName = \"ActionButton\";\n"],"names":["ActionButton","forwardRef","isPending","children","className","props","ref","jsxs","Button","cn","jsx","Spinner"],"mappings":";;;;;AAOO,MAAMA,IAAeC;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAA4BC,MAE9DC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,UAAUJ;AAAA,MACT,GAAGG;AAAA,MACJ,WAAWI,EAAG,YAAYL,CAAS;AAAA,MAElC,UAAA;AAAA,QAAAF,2BACE,OAAI,EAAA,WAAU,4CACb,UAAAQ,gBAAAA,MAACC,IAAQ,CAAA,GACX;AAAA,8BAED,OAAI,EAAA,WAAWF,EAAGP,KAAa,WAAW,GAAI,UAAAC,GAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIhE;AAEAH,EAAa,cAAc;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { u as t } from "./index-Yn8c3UWE.js";
|
|
2
|
+
import { u as c, a as m, b as n } from "./index-Czzd9rjU.js";
|
|
3
|
+
const p = () => {
|
|
4
|
+
const a = c(), s = m(), [o, r] = t(), e = n();
|
|
5
|
+
return { location: a, navigate: s, params: e, searchParams: o, setSearchParams: r };
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
p as u
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useExposedProps-CTPtylCV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExposedProps-
|
|
1
|
+
{"version":3,"file":"useExposedProps-CTPtylCV.js","sources":["../src/lib/util/useExposedProps.tsx"],"sourcesContent":["import {\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router-dom\";\nimport type { ExposedComponentProps } from \"../components/SlotletProvider.js\";\n\nexport const useExposedProps = (): ExposedComponentProps => {\n const location = useLocation();\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const params = useParams();\n\n return { location, navigate, params, searchParams, setSearchParams };\n};\n"],"names":["useExposedProps","location","useLocation","navigate","useNavigate","searchParams","setSearchParams","useSearchParams","params","useParams"],"mappings":";;AAQO,MAAMA,IAAkB,MAA6B;AAC1D,QAAMC,IAAWC,KACXC,IAAWC,KACX,CAACC,GAAcC,CAAe,IAAIC,EAAgB,GAClDC,IAASC;AAEf,SAAO,EAAE,UAAAR,GAAU,UAAAE,GAAU,QAAAK,GAAQ,cAAAH,GAAc,iBAAAC,EAAgB;AACrE;"}
|