zudoku 0.3.0-dev.86 → 0.3.0-dev.88
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/config/validators/InputSidebarSchema.d.ts +176 -0
- package/dist/config/validators/InputSidebarSchema.js +71 -0
- package/dist/config/validators/InputSidebarSchema.js.map +1 -0
- package/dist/config/validators/SidebarSchema.d.ts +13 -173
- package/dist/config/validators/SidebarSchema.js +75 -70
- package/dist/config/validators/SidebarSchema.js.map +1 -1
- package/dist/config/validators/validate.d.ts +5 -5
- package/dist/config/validators/validate.js +4 -3
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/lib/authentication/components/SignIn.js +2 -2
- package/dist/lib/authentication/components/SignIn.js.map +1 -1
- package/dist/lib/authentication/components/SignOut.js +2 -2
- package/dist/lib/authentication/components/SignOut.js.map +1 -1
- package/dist/lib/authentication/components/SignUp.js +2 -2
- package/dist/lib/authentication/components/SignUp.js.map +1 -1
- package/dist/lib/authentication/hook.js +2 -2
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/components/DevPortal.d.ts +0 -4
- package/dist/lib/components/DevPortal.js +4 -23
- package/dist/lib/components/DevPortal.js.map +1 -1
- package/dist/lib/components/Header.js +2 -2
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Layout.js +2 -2
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/TopNavigation.js +2 -2
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/context/{DevPortalProvider.d.ts → ZudokuContext.d.ts} +3 -3
- package/dist/lib/components/context/{DevPortalProvider.js → ZudokuContext.js} +8 -9
- package/dist/lib/components/context/ZudokuContext.js.map +1 -0
- package/dist/lib/components/context/ZudokuProvider.d.ts +5 -0
- package/dist/lib/components/context/ZudokuProvider.js +16 -0
- package/dist/lib/components/context/ZudokuProvider.js.map +1 -0
- package/dist/lib/components/navigation/Sidebar.js +1 -1
- package/dist/lib/components/navigation/Sidebar.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
- package/dist/lib/components/navigation/SidebarCategory.js +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.d.ts +2 -2
- package/dist/lib/components/navigation/SidebarItem.js +2 -2
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/utils.d.ts +6 -6
- package/dist/lib/components/navigation/utils.js +3 -3
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/DevPortalContext.d.ts +3 -3
- package/dist/lib/core/DevPortalContext.js +2 -2
- package/dist/lib/core/DevPortalContext.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +2 -2
- package/dist/lib/plugins/api-keys/CreateApiKey.js +2 -2
- package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +2 -2
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +1 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/vite/plugin-sidebar.js +1 -1
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/lib/{AuthenticationPlugin-DgwV0hVu.js → AuthenticationPlugin-C3dzfGaA.js} +2 -2
- package/lib/AuthenticationPlugin-C3dzfGaA.js.map +1 -0
- package/lib/{Combination-DkycFHkm.js → Combination-Djh-LWhb.js} +93 -93
- package/lib/Combination-Djh-LWhb.js.map +1 -0
- package/lib/{Input-BclXSY0g.js → Input-SCGD-EvD.js} +3 -3
- package/lib/{Input-BclXSY0g.js.map → Input-SCGD-EvD.js.map} +1 -1
- package/lib/{MdxPage-Crlr0GmN.js → MdxPage-d02krMBw.js} +2 -2
- package/lib/{MdxPage-Crlr0GmN.js.map → MdxPage-d02krMBw.js.map} +1 -1
- package/lib/{OperationList-CMH3DPpj.js → OperationList-BQweX28o.js} +4 -4
- package/lib/{OperationList-CMH3DPpj.js.map → OperationList-BQweX28o.js.map} +1 -1
- package/lib/{Route-CwXfyIUw.js → Route-BPGW1TS_.js} +2 -2
- package/lib/{Route-CwXfyIUw.js.map → Route-BPGW1TS_.js.map} +1 -1
- package/lib/{Spinner-fF-Xv-gw.js → Spinner-DEgs-1Gu.js} +2 -2
- package/lib/{Spinner-fF-Xv-gw.js.map → Spinner-DEgs-1Gu.js.map} +1 -1
- package/lib/{DevPortalProvider-CTxoCHIT.js → ZudokuContext-C3JtXViU.js} +99 -99
- package/lib/ZudokuContext-C3JtXViU.js.map +1 -0
- package/lib/{index-DkuZvRNP.js → index-B8BCBPkc.js} +3 -3
- package/lib/{index-DkuZvRNP.js.map → index-B8BCBPkc.js.map} +1 -1
- package/lib/{index-DUrF63A6.js → index-DoIWqOG1.js} +8 -8
- package/lib/index-DoIWqOG1.js.map +1 -0
- package/lib/{utils-CzT_9Tsn.js → utils-D3fcGEot.js} +9 -9
- package/lib/{utils-CzT_9Tsn.js.map → utils-D3fcGEot.js.map} +1 -1
- package/lib/zudoku.auth-clerk.js +1 -1
- package/lib/zudoku.auth-openid.js +1 -1
- package/lib/zudoku.components.js +569 -566
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +16 -16
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/package.json +1 -1
- package/src/lib/authentication/components/SignIn.tsx +2 -2
- package/src/lib/authentication/components/SignOut.tsx +2 -2
- package/src/lib/authentication/components/SignUp.tsx +2 -2
- package/src/lib/authentication/hook.ts +2 -2
- package/src/lib/components/DevPortal.tsx +4 -30
- package/src/lib/components/Header.tsx +2 -2
- package/src/lib/components/Layout.tsx +2 -2
- package/src/lib/components/TopNavigation.tsx +2 -2
- package/src/lib/components/context/{DevPortalProvider.ts → ZudokuContext.ts} +7 -9
- package/src/lib/components/context/ZudokuProvider.tsx +26 -0
- package/src/lib/components/navigation/Sidebar.tsx +1 -1
- package/src/lib/components/navigation/SidebarCategory.tsx +3 -3
- package/src/lib/components/navigation/SidebarItem.tsx +8 -4
- package/src/lib/components/navigation/utils.ts +12 -15
- package/src/lib/core/DevPortalContext.ts +4 -4
- package/src/lib/core/plugins.ts +2 -2
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +2 -2
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +2 -2
- package/src/lib/plugins/openapi/index.tsx +3 -3
- package/src/lib/plugins/openapi/playground/Playground.tsx +1 -1
- package/dist/config/validators/ResolvedSidebarSchema.d.ts +0 -18
- package/dist/config/validators/ResolvedSidebarSchema.js +0 -76
- package/dist/config/validators/ResolvedSidebarSchema.js.map +0 -1
- package/dist/lib/components/context/DevPortalProvider.js.map +0 -1
- package/lib/AuthenticationPlugin-DgwV0hVu.js.map +0 -1
- package/lib/Combination-DkycFHkm.js.map +0 -1
- package/lib/DevPortalProvider-CTxoCHIT.js.map +0 -1
- package/lib/index-DUrF63A6.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
2
|
import { fromError } from "zod-validation-error";
|
|
3
|
-
import {
|
|
3
|
+
import { InputSidebarSchema } from "./InputSidebarSchema.js";
|
|
4
4
|
const ThemeSchema = z
|
|
5
5
|
.object({
|
|
6
6
|
background: z.string(),
|
|
@@ -80,7 +80,7 @@ const ConfigSchema = z
|
|
|
80
80
|
label: z.string(),
|
|
81
81
|
id: z.string(),
|
|
82
82
|
})),
|
|
83
|
-
sidebar: z.record(
|
|
83
|
+
sidebar: z.record(InputSidebarSchema),
|
|
84
84
|
slotlets: z.record(z.string(), z.custom()),
|
|
85
85
|
theme: z
|
|
86
86
|
.object({
|
|
@@ -164,9 +164,10 @@ Following IDs are available: ${topNavIds.join(", ")}`,
|
|
|
164
164
|
export function validateConfig(config) {
|
|
165
165
|
const validationResult = ConfigSchema.safeParse(config);
|
|
166
166
|
if (!validationResult.success) {
|
|
167
|
+
// eslint-disable-next-line no-console
|
|
168
|
+
console.log("Validation errors:");
|
|
167
169
|
// eslint-disable-next-line no-console
|
|
168
170
|
console.log(fromError(validationResult.error).toString());
|
|
169
|
-
process.exit(1);
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,OAAO,EAAE,CAAC;AAEb,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;SACtE,KAAK,CAAC,eAAe,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CACnC;QACD,OAAO,EAAE,CAAC;aACP,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,oBAAoB,EAAE,CAAC;aACpB,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;KACd,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,UAAU;KACjB,CAAC;SACD,OAAO,EAAE;IACZ,aAAa,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC,CACH;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAa,CAAC;IACrD,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;KAClB,CAAC;SACD,OAAO,EAAE;IACZ,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;SACD,OAAO,EAAE;IACZ,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAqB;KAC1C,CAAC;SACD,OAAO,EAAE;IACZ,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE;YACD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;KACH,CAAC;IACF,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;YAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;SAC1B,CAAC;aACD,OAAO,EAAE;KACb,CAAC;SACD,OAAO,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,KAAK,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAA0B;KAC5C,CAAC,CACH;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAGX;CACL,CAAC;KACD,OAAO,EAAE;KACT,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,mDAAmD;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO;IAErD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClC,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,eAAe,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;+BAChD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAIL,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export type { ZudokuConfig } from "./config/config.js";
|
|
2
|
-
export type { Sidebar } from "./config/validators/
|
|
2
|
+
export type { InputSidebar as Sidebar } from "./config/validators/InputSidebarSchema.js";
|
|
3
3
|
export type { MDXImport } from "./lib/plugins/markdown/index.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
2
|
import { useSearchParams } from "react-router-dom";
|
|
3
|
-
import {
|
|
3
|
+
import { useZudoku } from "../../components/context/ZudokuContext.js";
|
|
4
4
|
export const SignIn = () => {
|
|
5
|
-
const context =
|
|
5
|
+
const context = useZudoku();
|
|
6
6
|
const [search] = useSearchParams();
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
void context.authentication?.signIn({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignIn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignIn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;SAChD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
2
|
import { useNavigate } from "react-router-dom";
|
|
3
|
-
import {
|
|
3
|
+
import { useZudoku } from "../../components/context/ZudokuContext.js";
|
|
4
4
|
export const SignOut = () => {
|
|
5
|
-
const context =
|
|
5
|
+
const context = useZudoku();
|
|
6
6
|
const navigate = useNavigate();
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
void context.authentication?.signOut().then(() => navigate("/"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignOut.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignOut.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SignOut.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignOut.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { useZudoku } from "../../components/context/ZudokuContext.js";
|
|
3
3
|
export const SignUp = () => {
|
|
4
|
-
const context =
|
|
4
|
+
const context = useZudoku();
|
|
5
5
|
useEffect(() => {
|
|
6
6
|
void (context.authentication?.signUp() ?? context.authentication?.signIn());
|
|
7
7
|
}, [context.authentication]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignUp.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignUp.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useZudoku } from "../components/context/ZudokuContext.js";
|
|
2
2
|
import { useAuthState } from "./state.js";
|
|
3
3
|
export const useAuth = () => {
|
|
4
|
-
const { authentication } =
|
|
4
|
+
const { authentication } = useZudoku();
|
|
5
5
|
const authState = useAuthState();
|
|
6
6
|
const isAuthEnabled = typeof authentication !== "undefined";
|
|
7
7
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/lib/authentication/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/lib/authentication/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC;IAE5D,OAAO;QACL,aAAa;QACb,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,eAAe,EAAE,SAAS,CAAC,OAAO;QAElC,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,mCAAmC;YACnC,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,mCAAmC;YACnC,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;YAE/B,mBAAmB;YACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { ZudokuContextOptions } from "../core/DevPortalContext.js";
|
|
2
2
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
3
|
-
export declare const DevPortalSystemPaths: {
|
|
4
|
-
readonly Settings: "/settings";
|
|
5
|
-
};
|
|
6
|
-
export type DevPortalPath = string | (typeof DevPortalSystemPaths)[keyof typeof DevPortalSystemPaths];
|
|
7
3
|
declare const DevPortal: {
|
|
8
4
|
(props: ZudokuContextOptions): import("react/jsx-runtime").JSX.Element;
|
|
9
5
|
displayName: string;
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { MDXProvider } from "@mdx-js/react";
|
|
3
3
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
4
4
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
5
|
-
import { Fragment, memo, useContext, useEffect, useMemo,
|
|
5
|
+
import { Fragment, memo, useContext, useEffect, useMemo, useState, } from "react";
|
|
6
6
|
import { ErrorBoundary } from "react-error-boundary";
|
|
7
|
-
import { Outlet,
|
|
7
|
+
import { Outlet, useNavigation } from "react-router-dom";
|
|
8
8
|
import { DevPortalContext, queryClient, } from "../core/DevPortalContext.js";
|
|
9
9
|
import { hasHead, isMdxProviderPlugin } from "../core/plugins.js";
|
|
10
10
|
import { TopLevelError } from "../errors/TopLevelError.js";
|
|
@@ -12,13 +12,10 @@ import { StaggeredRenderContext } from "../plugins/openapi/StaggeredRender.js";
|
|
|
12
12
|
import { MdxComponents } from "../util/MdxComponents.js";
|
|
13
13
|
import "../util/requestIdleCallbackPolyfill.js";
|
|
14
14
|
import { ComponentsProvider, DEFAULT_COMPONENTS, } from "./context/ComponentsContext.js";
|
|
15
|
-
import { DevPortalProvider } from "./context/DevPortalProvider.js";
|
|
16
15
|
import { ThemeProvider } from "./context/ThemeProvider.js";
|
|
17
16
|
import { ViewportAnchorProvider } from "./context/ViewportAnchorContext.js";
|
|
17
|
+
import { ZudokuProvider } from "./context/ZudokuProvider.js";
|
|
18
18
|
import { SlotletProvider } from "./SlotletProvider.js";
|
|
19
|
-
export const DevPortalSystemPaths = {
|
|
20
|
-
Settings: "/settings",
|
|
21
|
-
};
|
|
22
19
|
const DevPortalInner = ({ children, ...props }) => {
|
|
23
20
|
const components = useMemo(() => ({ ...DEFAULT_COMPONENTS, ...props.overrides }), [props.overrides]);
|
|
24
21
|
const mdxComponents = useMemo(() => {
|
|
@@ -31,11 +28,8 @@ const DevPortalInner = ({ children, ...props }) => {
|
|
|
31
28
|
...props.mdx?.components,
|
|
32
29
|
};
|
|
33
30
|
}, [props.mdx?.components, props.plugins]);
|
|
34
|
-
const [isInitialized, setIsInitialized] = useState(false);
|
|
35
31
|
const { stagger } = useContext(StaggeredRenderContext);
|
|
36
32
|
const [didNavigate, setDidNavigate] = useState(false);
|
|
37
|
-
const navigate = useNavigate();
|
|
38
|
-
const initRef = useRef("idle");
|
|
39
33
|
const staggeredValue = useMemo(() => (didNavigate ? { stagger: true } : { stagger }), [stagger, didNavigate]);
|
|
40
34
|
const navigation = useNavigation();
|
|
41
35
|
useEffect(() => {
|
|
@@ -45,24 +39,11 @@ const DevPortalInner = ({ children, ...props }) => {
|
|
|
45
39
|
setDidNavigate(true);
|
|
46
40
|
}, [didNavigate, navigation.location]);
|
|
47
41
|
const [devPortalContext] = useState(() => new DevPortalContext(props));
|
|
48
|
-
// TODO could be handled more elegantly
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (initRef.current === "pending")
|
|
51
|
-
return;
|
|
52
|
-
initRef.current = "pending";
|
|
53
|
-
void devPortalContext.initialize({ navigate }).then(() => {
|
|
54
|
-
initRef.current = "done";
|
|
55
|
-
setIsInitialized(true);
|
|
56
|
-
});
|
|
57
|
-
}, [devPortalContext, navigate]);
|
|
58
42
|
const heads = props.plugins
|
|
59
43
|
?.filter(hasHead)
|
|
60
44
|
// eslint-disable-next-line react/no-array-index-key
|
|
61
45
|
.map((plugin, i) => _jsx(Fragment, { children: plugin.getHead?.() }, i));
|
|
62
|
-
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
return (_jsxs(QueryClientProvider, { client: queryClient, children: [_jsx(Helmet, { children: heads }), _jsx(StaggeredRenderContext.Provider, { value: staggeredValue, children: _jsx(DevPortalProvider, { value: devPortalContext, children: _jsx(MDXProvider, { components: mdxComponents, children: _jsx(ThemeProvider, { children: _jsx(ComponentsProvider, { value: components, children: _jsx(SlotletProvider, { slotlets: props.slotlets, children: _jsx(ViewportAnchorProvider, { children: children ?? _jsx(Outlet, {}) }) }) }) }) }) }) })] }));
|
|
46
|
+
return (_jsxs(QueryClientProvider, { client: queryClient, children: [_jsx(Helmet, { children: heads }), _jsx(StaggeredRenderContext.Provider, { value: staggeredValue, children: _jsx(ZudokuProvider, { context: devPortalContext, children: _jsx(MDXProvider, { components: mdxComponents, children: _jsx(ThemeProvider, { children: _jsx(ComponentsProvider, { value: components, children: _jsx(SlotletProvider, { slotlets: props.slotlets, children: _jsx(ViewportAnchorProvider, { children: children ?? _jsx(Outlet, {}) }) }) }) }) }) }) })] }));
|
|
66
47
|
};
|
|
67
48
|
const Inner = memo(DevPortalInner);
|
|
68
49
|
const DevPortal = (props) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevPortal.js","sourceRoot":"","sources":["../../../src/lib/components/DevPortal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,IAAI,EAEJ,UAAU,EACV,SAAS,EACT,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"DevPortal.js","sourceRoot":"","sources":["../../../src/lib/components/DevPortal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ import { Button } from "../ui/Button.js";
|
|
|
8
8
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "../ui/DropdownMenu.js";
|
|
9
9
|
import { cn } from "../util/cn.js";
|
|
10
10
|
import { TopNavigation } from "./TopNavigation.js";
|
|
11
|
-
import { useDevPortal } from "./context/DevPortalProvider.js";
|
|
12
11
|
import { useTheme } from "./context/ThemeContext.js";
|
|
12
|
+
import { useZudoku } from "./context/ZudokuContext.js";
|
|
13
13
|
const RecursiveMenu = ({ item }) => {
|
|
14
14
|
return item.children ? (_jsxs(DropdownMenuSub, { children: [_jsx(DropdownMenuSubTrigger, { children: item.label }), _jsx(DropdownMenuPortal, { children: _jsx(DropdownMenuSubContent, { children: item.children.map((item, i) => (
|
|
15
15
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -19,7 +19,7 @@ export const Header = memo(function HeaderInner() {
|
|
|
19
19
|
const [isDark, toggleTheme] = useTheme();
|
|
20
20
|
const { isAuthenticated, profile, isAuthEnabled } = useAuth();
|
|
21
21
|
const { pathname } = useLocation();
|
|
22
|
-
const context =
|
|
22
|
+
const context = useZudoku();
|
|
23
23
|
const { page, plugins } = context;
|
|
24
24
|
const accountItems = plugins
|
|
25
25
|
.filter((p) => isProfileMenuPlugin(p))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { Outlet, useLocation } from "react-router-dom";
|
|
|
5
5
|
import { cn } from "../util/cn.js";
|
|
6
6
|
import { useScrollToAnchor } from "../util/useScrollToAnchor.js";
|
|
7
7
|
import { useScrollToTop } from "../util/useScrollToTop.js";
|
|
8
|
-
import { useDevPortal } from "./context/DevPortalProvider.js";
|
|
9
8
|
import { useViewportAnchor } from "./context/ViewportAnchorContext.js";
|
|
9
|
+
import { useZudoku } from "./context/ZudokuContext.js";
|
|
10
10
|
import { Header } from "./Header.js";
|
|
11
11
|
import { Sidebar } from "./navigation/Sidebar.js";
|
|
12
12
|
import { Slotlet } from "./SlotletProvider.js";
|
|
@@ -14,7 +14,7 @@ import { Spinner } from "./Spinner.js";
|
|
|
14
14
|
export const Layout = ({ children }) => {
|
|
15
15
|
const location = useLocation();
|
|
16
16
|
const { setActiveAnchor } = useViewportAnchor();
|
|
17
|
-
const { meta } =
|
|
17
|
+
const { meta } = useZudoku();
|
|
18
18
|
useScrollToAnchor();
|
|
19
19
|
useScrollToTop();
|
|
20
20
|
const previousLocationPath = useRef(location.pathname);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAA4B,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAE7B,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IAEjB,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAEzC,OAAO,CACL,8BACE,MAAC,MAAM,IAAC,aAAa,EAAE,IAAI,EAAE,KAAK,aAC/B,IAAI,EAAE,WAAW,IAAI,CACpB,eAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAI,CACvD,EACA,IAAI,EAAE,OAAO,IAAI,eAAM,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAI,IAClD,EACT,KAAC,MAAM,KAAG,EAEV,cAAK,SAAS,EAAC,qEAAqE,YAClF,MAAC,QAAQ,IACP,QAAQ,EACN,cAAK,SAAS,EAAC,gCAAgC,YAC7C,KAAC,OAAO,KAAG,GACP,aAGR,KAAC,OAAO,KAAG,EACX,gBACE,SAAS,EAAE,EAAE,CACX,2CAA2C,EAC3C,qBAAqB,EACrB,qEAAqE,EACrE,oGAAoG,CACrG,aAED,KAAC,OAAO,IAAC,IAAI,EAAC,uBAAuB,GAAG,EACvC,QAAQ,IAAI,KAAC,MAAM,KAAG,EACvB,KAAC,OAAO,IAAC,IAAI,EAAC,sBAAsB,GAAG,IAClC,IACE,GACP,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cx } from "class-variance-authority";
|
|
3
3
|
import { NavLink } from "react-router-dom";
|
|
4
|
-
import {
|
|
4
|
+
import { useZudoku } from "./context/ZudokuContext.js";
|
|
5
5
|
export const TopNavigation = () => {
|
|
6
|
-
const { topNavigation } =
|
|
6
|
+
const { topNavigation } = useZudoku();
|
|
7
7
|
// Hide top nav if there is only one item
|
|
8
8
|
if (topNavigation.length <= 1) {
|
|
9
9
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IAEtC,yCAAyC;IACzC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,6CAA6C,YAC1D,aAAI,SAAS,EAAC,kCAAkC,YAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,uBACE,KAAC,OAAO,IACN,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1B,EAAE,CACA,4CAA4C,EAC5C,QAAQ;wBACN,CAAC,CAAC,gCAAgC;wBAClC,CAAC,CAAC,+FAA+F,CACpG,EAEH,EAAE,EAAE,IAAI,CAAC,EAAE,YAEV,IAAI,CAAC,KAAK,GACH,IAbH,IAAI,CAAC,KAAK,CAcd,CACN,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { DevPortalContext } from "../../core/DevPortalContext.js";
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const ZudokuReactContext: import("react").Context<DevPortalContext | undefined>;
|
|
3
|
+
export declare const useZudoku: () => DevPortalContext;
|
|
4
4
|
export declare const useApiIdentities: () => import("@tanstack/react-query").UseQueryResult<import("../../core/DevPortalContext.js").ApiIdentity[], Error>;
|
|
5
5
|
export declare const useTopNavigationItem: () => {
|
|
6
6
|
id: string;
|
|
7
7
|
label: string;
|
|
8
8
|
} | undefined;
|
|
9
9
|
export declare const useNavigation: () => import("@tanstack/react-query").UseSuspenseQueryResult<{
|
|
10
|
-
items: import("../../../config/validators/
|
|
10
|
+
items: import("../../../config/validators/SidebarSchema.js").SidebarItem[];
|
|
11
11
|
currentTopNavItem: {
|
|
12
12
|
id: string;
|
|
13
13
|
label: string;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
import { useLocation } from "react-router-dom";
|
|
4
|
-
const
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
const context = useContext(DevPortalReactContext);
|
|
4
|
+
export const ZudokuReactContext = createContext(undefined);
|
|
5
|
+
export const useZudoku = () => {
|
|
6
|
+
const context = useContext(ZudokuReactContext);
|
|
8
7
|
if (!context) {
|
|
9
8
|
throw new Error("useDevPortal must be used within a DevPortalProvider.");
|
|
10
9
|
}
|
|
11
10
|
return context;
|
|
12
11
|
};
|
|
13
12
|
export const useApiIdentities = () => {
|
|
14
|
-
const { getApiIdentities } =
|
|
13
|
+
const { getApiIdentities } = useZudoku();
|
|
15
14
|
return useQuery({
|
|
16
15
|
queryFn: getApiIdentities,
|
|
17
16
|
queryKey: ["api-identities"],
|
|
18
17
|
});
|
|
19
18
|
};
|
|
20
19
|
export const useTopNavigationItem = () => {
|
|
21
|
-
const { topNavigation } =
|
|
20
|
+
const { topNavigation } = useZudoku();
|
|
22
21
|
const location = useLocation();
|
|
23
22
|
const firstPart = location.pathname.split("/").at(1);
|
|
24
23
|
if (!firstPart)
|
|
@@ -26,13 +25,13 @@ export const useTopNavigationItem = () => {
|
|
|
26
25
|
return topNavigation.find((item) => item.id === firstPart);
|
|
27
26
|
};
|
|
28
27
|
export const useNavigation = () => {
|
|
29
|
-
const {
|
|
28
|
+
const { getPluginSidebar, sidebars } = useZudoku();
|
|
30
29
|
const navItem = useTopNavigationItem();
|
|
31
30
|
const path = navItem?.id;
|
|
32
31
|
const currentSidebar = path ? sidebars[path] ?? [] : [];
|
|
33
32
|
return useSuspenseQuery({
|
|
34
33
|
queryFn: async () => {
|
|
35
|
-
const pluginSidebar = path ? await
|
|
34
|
+
const pluginSidebar = path ? await getPluginSidebar(path) : [];
|
|
36
35
|
return {
|
|
37
36
|
items: [...currentSidebar, ...pluginSidebar],
|
|
38
37
|
currentTopNavItem: navItem,
|
|
@@ -41,4 +40,4 @@ export const useNavigation = () => {
|
|
|
41
40
|
queryKey: ["navigation", path],
|
|
42
41
|
});
|
|
43
42
|
};
|
|
44
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=ZudokuContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAC7C,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE/D,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC;gBAC5C,iBAAiB,EAAE,OAAO;aAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PropsWithChildren } from "react";
|
|
2
|
+
import { DevPortalContext } from "../../core/DevPortalContext.js";
|
|
3
|
+
export declare const ZudokuProvider: ({ children, context, }: PropsWithChildren<{
|
|
4
|
+
context: DevPortalContext;
|
|
5
|
+
}>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useNavigate } from "react-router-dom";
|
|
4
|
+
import { ZudokuReactContext } from "./ZudokuContext.js";
|
|
5
|
+
export const ZudokuProvider = ({ children, context, }) => {
|
|
6
|
+
const navigate = useNavigate();
|
|
7
|
+
useSuspenseQuery({
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
await context.initialize({ navigate });
|
|
10
|
+
return true;
|
|
11
|
+
},
|
|
12
|
+
queryKey: ["zudoku-initialize"],
|
|
13
|
+
});
|
|
14
|
+
return (_jsx(ZudokuReactContext.Provider, { value: context, children: children }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=ZudokuProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZudokuProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,OAAO,GAC0C,EAAE,EAAE;IACrD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,gBAAgB,CAAC;QACf,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,CAAC,mBAAmB,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACxC,QAAQ,GACmB,CAC/B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRef } from "react";
|
|
3
|
-
import { useNavigation } from "../context/
|
|
3
|
+
import { useNavigation } from "../context/ZudokuContext.js";
|
|
4
4
|
import { Slotlet } from "../SlotletProvider.js";
|
|
5
5
|
import { SidebarItem } from "./SidebarItem.js";
|
|
6
6
|
import { SidebarWrapper } from "./SidebarWrapper.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,OAAO,CACL,MAAC,cAAc,IACb,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,aAEjD,KAAC,OAAO,IAAC,IAAI,EAAC,0BAA0B,GAAG,EAC1C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,KAAC,WAAW,IAAkB,IAAI,EAAE,IAAI,IAAtB,IAAI,CAAC,KAAK,CAAgB,CAC7C,CAAC,EACF,KAAC,OAAO,IAAC,IAAI,EAAC,yBAAyB,GAAG,IAC3B,CAClB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SidebarItemCategory } from "../../../config/validators/SidebarSchema.js";
|
|
2
2
|
export declare const SidebarCategory: ({ category, level, }: {
|
|
3
|
-
category:
|
|
3
|
+
category: SidebarItemCategory;
|
|
4
4
|
level: number;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,7 +5,7 @@ import { useEffect, useState } from "react";
|
|
|
5
5
|
import { NavLink } from "react-router-dom";
|
|
6
6
|
import { cn } from "../../util/cn.js";
|
|
7
7
|
import { joinPath } from "../../util/joinPath.js";
|
|
8
|
-
import { useTopNavigationItem } from "../context/
|
|
8
|
+
import { useTopNavigationItem } from "../context/ZudokuContext.js";
|
|
9
9
|
import { navigationListItem, SidebarItem } from "./SidebarItem.js";
|
|
10
10
|
import { useIsCategoryOpen } from "./utils.js";
|
|
11
11
|
export const SidebarCategory = ({ category, level, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SidebarCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarCategory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SidebarItem as SidebarItemType } from "../../../config/validators/SidebarSchema.js";
|
|
2
2
|
export declare const navigationListItem: (props?: ({
|
|
3
3
|
isTopLevel?: boolean | null | undefined;
|
|
4
4
|
isActive?: boolean | null | undefined;
|
|
@@ -6,7 +6,7 @@ export declare const navigationListItem: (props?: ({
|
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export declare const DATA_ANCHOR_ATTR = "data-anchor";
|
|
8
8
|
export declare const SidebarItem: ({ item, level, }: {
|
|
9
|
-
item:
|
|
9
|
+
item: SidebarItemType;
|
|
10
10
|
basePath?: string;
|
|
11
11
|
level?: number;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,8 +5,8 @@ import { NavLink } from "react-router-dom";
|
|
|
5
5
|
import { cn } from "../../util/cn.js";
|
|
6
6
|
import { joinPath } from "../../util/joinPath.js";
|
|
7
7
|
import { AnchorLink } from "../AnchorLink.js";
|
|
8
|
-
import { useTopNavigationItem } from "../context/DevPortalProvider.js";
|
|
9
8
|
import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
|
|
9
|
+
import { useTopNavigationItem } from "../context/ZudokuContext.js";
|
|
10
10
|
import { SidebarBadge } from "./SidebarBadge.js";
|
|
11
11
|
import { SidebarCategory } from "./SidebarCategory.js";
|
|
12
12
|
export const navigationListItem = cva("flex px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent transition-colors duration-300", {
|
|
@@ -36,7 +36,7 @@ export const SidebarItem = ({ item, level = 0, }) => {
|
|
|
36
36
|
case "link":
|
|
37
37
|
return item.href.startsWith("#") ? (_jsxs(AnchorLink, { to: item.href, [DATA_ANCHOR_ATTR]: item.href.slice(1), className: cn("flex gap-2.5 justify-between", level === 0 && "-mx-[--padding-nav-item]", navigationListItem({
|
|
38
38
|
isActive: item.href.slice(1) === activeAnchor,
|
|
39
|
-
})), children: [item.label, item.badge && _jsx(SidebarBadge, { ...item.badge })] })) : (_jsxs("a", { className: cn(navigationListItem({ isTopLevel: level === 0 }), "block"), href: item.href, target: "_blank", rel: "noopener noreferrer", children: [_jsx("span", { className: "whitespace-normal", children: item.label }), _jsxs("span", { className: "whitespace-nowrap", children: ["\u00A0", _jsx(ExternalLinkIcon, { className: "inline ml-1", size: 12 })] })] }));
|
|
39
|
+
})), children: [item.label, item.badge && _jsx(SidebarBadge, { ...item.badge })] })) : item.href.startsWith("http") ? (_jsxs("a", { className: cn(navigationListItem({ isTopLevel: level === 0 }), "block"), href: item.href, target: "_blank", rel: "noopener noreferrer", children: [_jsx("span", { className: "whitespace-normal", children: item.label }), _jsxs("span", { className: "whitespace-nowrap", children: ["\u00A0", _jsx(ExternalLinkIcon, { className: "inline ml-1", size: 12 })] })] })) : (_jsx(NavLink, { className: cn(navigationListItem({}), "block"), to: item.href, children: item.label }));
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
//# sourceMappingURL=SidebarItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SidebarItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/SidebarItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type TraverseCallback<T> = (item:
|
|
3
|
-
export declare const traverseSidebar: <T>(sidebar:
|
|
4
|
-
export declare const traverseSidebarItem: <T>(item:
|
|
5
|
-
export declare const useCurrentItem: () => import("../../../config/validators/
|
|
6
|
-
export declare const useIsCategoryOpen: (category:
|
|
1
|
+
import type { SidebarItem, SidebarItemCategory } from "../../../config/validators/SidebarSchema.js";
|
|
2
|
+
export type TraverseCallback<T> = (item: SidebarItem, parentCategories: SidebarItem[]) => T | void;
|
|
3
|
+
export declare const traverseSidebar: <T>(sidebar: SidebarItem[], callback: TraverseCallback<T>) => T | undefined;
|
|
4
|
+
export declare const traverseSidebarItem: <T>(item: SidebarItem, callback: TraverseCallback<T>, parentCategories?: SidebarItem[]) => T | undefined;
|
|
5
|
+
export declare const useCurrentItem: () => import("../../../config/validators/SidebarSchema.js").SidebarItemDoc | undefined;
|
|
6
|
+
export declare const useIsCategoryOpen: (category: SidebarItemCategory) => true | undefined;
|
|
7
7
|
export declare const usePrevNext: () => {
|
|
8
8
|
prev?: {
|
|
9
9
|
label: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useLocation } from "react-router-dom";
|
|
2
2
|
import { joinPath } from "../../util/joinPath.js";
|
|
3
|
-
import {
|
|
3
|
+
import { useTopNavigationItem, useZudoku } from "../context/ZudokuContext.js";
|
|
4
4
|
export const traverseSidebar = (sidebar, callback) => {
|
|
5
5
|
for (const item of sidebar) {
|
|
6
6
|
const result = traverseSidebarItem(item, callback);
|
|
@@ -26,7 +26,7 @@ export const traverseSidebarItem = (item, callback, parentCategories = []) => {
|
|
|
26
26
|
export const useCurrentItem = () => {
|
|
27
27
|
const location = useLocation();
|
|
28
28
|
const topNavItem = useTopNavigationItem();
|
|
29
|
-
const { sidebars } =
|
|
29
|
+
const { sidebars } = useZudoku();
|
|
30
30
|
const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
|
|
31
31
|
return traverseSidebar(currentSidebar, (item) => {
|
|
32
32
|
if (item.type === "doc" &&
|
|
@@ -55,7 +55,7 @@ export const useIsCategoryOpen = (category) => {
|
|
|
55
55
|
};
|
|
56
56
|
export const usePrevNext = () => {
|
|
57
57
|
const currentId = useLocation().pathname;
|
|
58
|
-
const { sidebars } =
|
|
58
|
+
const { sidebars } = useZudoku();
|
|
59
59
|
const topNavItem = useTopNavigationItem();
|
|
60
60
|
const currentSidebar = topNavItem?.id ? sidebars[topNavItem.id] : [];
|
|
61
61
|
let prev;
|