zudoku 0.43.0 → 0.43.2
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/common.d.ts +193 -0
- package/dist/config/validators/common.js +2 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +70 -0
- package/dist/lib/components/Banner.js +1 -1
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +2 -2
- package/dist/lib/components/Heading.js +1 -1
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/Layout.js +1 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/Main.js +3 -2
- package/dist/lib/components/Main.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +1 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/Pagination.js +2 -2
- package/dist/lib/components/Pagination.js.map +1 -1
- package/dist/lib/components/Search.js +1 -1
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/TopNavigation.js +1 -1
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/navigation/PoweredByZudoku.js +1 -1
- package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -1
- 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.js +9 -5
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.js +2 -3
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/Toc.js +2 -2
- package/dist/lib/components/navigation/Toc.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +2 -1
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.d.ts +1 -0
- package/dist/lib/oas/parser/upgrade/index.js +76 -24
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/openapi/CollapsibleCode.js +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +4 -2
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaList.js +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
- package/dist/lib/plugins/openapi/client/useCreateQuery.js +10 -4
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/index.d.ts +3 -4
- package/dist/lib/plugins/openapi/index.js +6 -4
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +4 -3
- package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +2 -2
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
- package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/SubmitButton.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +2 -2
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/util/getRoutes.js +33 -3
- package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
- package/dist/lib/ui/SyntaxHighlight.js +1 -1
- package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
- package/dist/lib/util/traverse.d.ts +1 -1
- package/dist/lib/util/traverse.js +6 -5
- package/dist/lib/util/traverse.js.map +1 -1
- package/dist/vite/build.js +1 -0
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/dev-server.js +5 -2
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.d.ts +6 -2
- package/dist/vite/html.js +11 -8
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-api.js +2 -2
- package/dist/vite/plugin-api.js.map +1 -1
- package/lib/{AuthenticationPlugin-ByDF051g.js → AuthenticationPlugin-BxoEZCSJ.js} +4 -4
- package/lib/{AuthenticationPlugin-ByDF051g.js.map → AuthenticationPlugin-BxoEZCSJ.js.map} +1 -1
- package/lib/{Markdown-mFpg_n9p.js → Markdown-DvdVn1O7.js} +1839 -1836
- package/lib/Markdown-DvdVn1O7.js.map +1 -0
- package/lib/{MdxPage-Cm7atiW3.js → MdxPage-DUcuusMU.js} +7 -7
- package/lib/{MdxPage-Cm7atiW3.js.map → MdxPage-DUcuusMU.js.map} +1 -1
- package/lib/{OasProvider-DOs0v9u7.js → OasProvider-CjMm8pB7.js} +8 -9
- package/lib/{OasProvider-DOs0v9u7.js.map → OasProvider-CjMm8pB7.js.map} +1 -1
- package/lib/{OperationList-CKac6iap.js → OperationList-BhJcPgGi.js} +1269 -1261
- package/lib/{OperationList-CKac6iap.js.map → OperationList-BhJcPgGi.js.map} +1 -1
- package/lib/Pagination-BgQxwq5j.js +48 -0
- package/lib/Pagination-BgQxwq5j.js.map +1 -0
- package/lib/{RouteGuard-DRtEu9nh.js → RouteGuard-D2gX29iI.js} +3 -3
- package/lib/{RouteGuard-DRtEu9nh.js.map → RouteGuard-D2gX29iI.js.map} +1 -1
- package/lib/{SchemaList-BTX2mRMW.js → SchemaList-BexhT_Z0.js} +22 -23
- package/lib/{SchemaList-BTX2mRMW.js.map → SchemaList-BexhT_Z0.js.map} +1 -1
- package/lib/{SchemaView-BYRn_-2l.js → SchemaView-Dt_-u8rW.js} +123 -146
- package/lib/SchemaView-Dt_-u8rW.js.map +1 -0
- package/lib/{Select-CT64Ou40.js → Select-CYaEBIYK.js} +3 -3
- package/lib/{Select-CT64Ou40.js.map → Select-CYaEBIYK.js.map} +1 -1
- package/lib/{SlotletProvider-CS_nO-XT.js → SlotletProvider-wWbHYqWf.js} +7 -7
- package/lib/SlotletProvider-wWbHYqWf.js.map +1 -0
- package/lib/{SyntaxHighlight-CxhyyMkF.js → SyntaxHighlight-o7q0acut.js} +81 -81
- package/lib/{SyntaxHighlight-CxhyyMkF.js.map → SyntaxHighlight-o7q0acut.js.map} +1 -1
- package/lib/{Toc-D_tV8_Ri.js → Toc-BnN4zBb3.js} +17 -17
- package/lib/Toc-BnN4zBb3.js.map +1 -0
- package/lib/{chunk-BAXFHI7N-BVBOl9s0.js → chunk-BAXFHI7N-BLTsN6tl.js} +679 -659
- package/lib/{chunk-BAXFHI7N-BVBOl9s0.js.map → chunk-BAXFHI7N-BLTsN6tl.js.map} +1 -1
- package/lib/{circular-ByJI6Mci.js → circular-BWEIet3w.js} +4616 -5567
- package/lib/circular-BWEIet3w.js.map +1 -0
- package/lib/{createServer-IW7v5hWm.js → createServer-BQD3Eeqb.js} +1998 -1970
- package/lib/createServer-BQD3Eeqb.js.map +1 -0
- package/lib/{hook-CldJlP5c.js → hook-8GM2HXNM.js} +24 -24
- package/lib/{hook-CldJlP5c.js.map → hook-8GM2HXNM.js.map} +1 -1
- package/lib/index-CFf9AN-y.js +3208 -0
- package/lib/index-CFf9AN-y.js.map +1 -0
- package/lib/{index-DnQftvP4.js → index-DGNSSXgR.js} +77 -69
- package/lib/{index-DnQftvP4.js.map → index-DGNSSXgR.js.map} +1 -1
- package/lib/{mutation-DBQh7AOZ.js → mutation-Bq5bn7Hf.js} +2 -2
- package/lib/{mutation-DBQh7AOZ.js.map → mutation-Bq5bn7Hf.js.map} +1 -1
- package/lib/processors/traverse.js +9 -7
- package/lib/processors/traverse.js.map +1 -1
- package/lib/ui/SyntaxHighlight.js +1 -1
- package/lib/{useExposedProps-DbIZXspi.js → useExposedProps-DmTJxEXG.js} +2 -2
- package/lib/{useExposedProps-DbIZXspi.js.map → useExposedProps-DmTJxEXG.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +3 -3
- package/lib/zudoku.components.js +6 -6
- package/lib/zudoku.hooks.js +1 -1
- package/lib/zudoku.plugin-api-catalog.js +5 -5
- package/lib/zudoku.plugin-api-keys.js +4 -4
- package/lib/zudoku.plugin-custom-pages.js +2 -2
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +6 -5
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +3 -3
- package/package.json +3 -3
- package/src/app/demo.html +1 -1
- package/src/app/main.css +2 -2
- package/src/lib/components/Banner.tsx +1 -1
- package/src/lib/components/Heading.tsx +3 -3
- package/src/lib/components/Layout.tsx +1 -4
- package/src/lib/components/Main.tsx +4 -3
- package/src/lib/components/MobileTopNavigation.tsx +2 -2
- package/src/lib/components/Pagination.tsx +3 -3
- package/src/lib/components/Search.tsx +1 -1
- package/src/lib/components/TopNavigation.tsx +1 -1
- package/src/lib/components/navigation/PoweredByZudoku.tsx +6 -1
- package/src/lib/components/navigation/Sidebar.tsx +1 -1
- package/src/lib/components/navigation/SidebarCategory.tsx +9 -5
- package/src/lib/components/navigation/SidebarItem.tsx +2 -3
- package/src/lib/components/navigation/Toc.tsx +4 -4
- package/src/lib/core/ZudokuContext.ts +2 -1
- package/src/lib/oas/parser/upgrade/index.ts +97 -27
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +2 -2
- package/src/lib/plugins/openapi/OperationList.tsx +1 -1
- package/src/lib/plugins/openapi/OperationListItem.tsx +15 -6
- package/src/lib/plugins/openapi/SchemaList.tsx +1 -1
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +23 -4
- package/src/lib/plugins/openapi/index.tsx +8 -7
- package/src/lib/plugins/openapi/interfaces.ts +4 -3
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +2 -2
- package/src/lib/plugins/openapi/playground/Playground.tsx +5 -5
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +2 -2
- package/src/lib/plugins/openapi/playground/SubmitButton.tsx +2 -2
- package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +2 -2
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +1 -1
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +2 -2
- package/src/lib/plugins/openapi/util/getRoutes.tsx +67 -3
- package/src/lib/ui/SyntaxHighlight.tsx +2 -2
- package/src/lib/util/traverse.ts +8 -5
- package/lib/Markdown-mFpg_n9p.js.map +0 -1
- package/lib/Pagination-DLPL5z77.js +0 -48
- package/lib/Pagination-DLPL5z77.js.map +0 -1
- package/lib/SchemaView-BYRn_-2l.js.map +0 -1
- package/lib/SlotletProvider-CS_nO-XT.js.map +0 -1
- package/lib/Toc-D_tV8_Ri.js.map +0 -1
- package/lib/circular-ByJI6Mci.js.map +0 -1
- package/lib/context-Lrf2Y9bR.js +0 -22
- package/lib/context-Lrf2Y9bR.js.map +0 -1
- package/lib/createServer-IW7v5hWm.js.map +0 -1
- package/lib/index-DuB48L78.js +0 -2184
- package/lib/index-DuB48L78.js.map +0 -1
|
@@ -3,7 +3,7 @@ var j = (i) => {
|
|
|
3
3
|
};
|
|
4
4
|
var y = (i, t, s) => t.has(i) || j("Cannot " + s);
|
|
5
5
|
var e = (i, t, s) => (y(i, t, "read from private field"), s ? s.call(i) : t.get(i)), l = (i, t, s) => t.has(i) ? j("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, s), p = (i, t, s, a) => (y(i, t, "write to private field"), a ? a.call(i, s) : t.set(i, s), s), h = (i, t, s) => (y(i, t, "access private method"), s);
|
|
6
|
-
import { R as q, c as z, n as B } from "./hook-
|
|
6
|
+
import { R as q, c as z, n as B } from "./hook-8GM2HXNM.js";
|
|
7
7
|
var r, o, d, u, c, U, L = (U = class extends q {
|
|
8
8
|
constructor(t) {
|
|
9
9
|
super();
|
|
@@ -208,4 +208,4 @@ export {
|
|
|
208
208
|
L as M,
|
|
209
209
|
H as g
|
|
210
210
|
};
|
|
211
|
-
//# sourceMappingURL=mutation-
|
|
211
|
+
//# sourceMappingURL=mutation-Bq5bn7Hf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-DBQh7AOZ.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/mutation.js"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map"],"names":["Mutation","_a","Removable","config","__privateAdd","_Mutation_instances","_observers","_mutationCache","_retryer","__privateSet","getDefaultState","options","observer","__privateGet","x","variables","onContinue","__privateMethod","dispatch_fn","createRetryer","failureCount","error","restored","isPaused","_b","context","_d","_c","data","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","action","reducer","state","notifyManager"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"mutation-Bq5bn7Hf.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/mutation.js"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map"],"names":["Mutation","_a","Removable","config","__privateAdd","_Mutation_instances","_observers","_mutationCache","_retryer","__privateSet","getDefaultState","options","observer","__privateGet","x","variables","onContinue","__privateMethod","dispatch_fn","createRetryer","failureCount","error","restored","isPaused","_b","context","_d","_c","data","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","action","reducer","state","notifyManager"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
const
|
|
2
|
-
const r =
|
|
1
|
+
const u = (y, s, c = []) => {
|
|
2
|
+
const r = s(y, c);
|
|
3
3
|
if (typeof r != "object" || r === null)
|
|
4
4
|
return r;
|
|
5
5
|
const t = Array.isArray(r) ? [] : {};
|
|
6
|
-
for (const [
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
for (const [o, e] of Object.entries(r)) {
|
|
7
|
+
const l = [...c, o];
|
|
8
|
+
Array.isArray(e) ? t[o] = e.map(
|
|
9
|
+
(n, f) => typeof n == "object" && n != null ? u(n, s, [...l, f.toString()]) : n
|
|
10
|
+
) : typeof e == "object" && e != null ? t[o] = u(e, s, l) : t[o] = e;
|
|
11
|
+
}
|
|
10
12
|
return t;
|
|
11
13
|
};
|
|
12
14
|
export {
|
|
13
|
-
|
|
15
|
+
u as traverse
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=traverse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.js","sources":["../../src/lib/util/traverse.ts"],"sourcesContent":["import type { JsonValue, RecordAny } from \"./types.js\";\n\nexport type { RecordAny };\n\nexport const traverse = <T extends JsonValue = RecordAny>(\n specification: RecordAny,\n transform: (specification: RecordAny) => T,\n) => {\n const transformed = transform(specification);\n if (typeof transformed !== \"object\" || transformed === null) {\n return transformed;\n }\n\n const result: RecordAny = Array.isArray(transformed) ? [] : {};\n\n for (const [key, value] of Object.entries(transformed)) {\n if (Array.isArray(value)) {\n result[key] = value.map((item) =>\n typeof item === \"object\" && item != null\n ? traverse(item, transform)\n : item,\n );\n } else if (typeof value === \"object\" && value != null) {\n result[key] = traverse(value, transform);\n } else {\n result[key] = value;\n }\n }\n\n return result;\n};\n"],"names":["traverse","specification","transform","transformed","result","key","value","item"],"mappings":"
|
|
1
|
+
{"version":3,"file":"traverse.js","sources":["../../src/lib/util/traverse.ts"],"sourcesContent":["import type { JsonValue, RecordAny } from \"./types.js\";\n\nexport type { RecordAny };\n\nexport const traverse = <T extends JsonValue = RecordAny>(\n specification: RecordAny,\n transform: (specification: RecordAny, path?: string[]) => T,\n path: string[] = [],\n) => {\n const transformed = transform(specification, path);\n if (typeof transformed !== \"object\" || transformed === null) {\n return transformed;\n }\n\n const result: RecordAny = Array.isArray(transformed) ? [] : {};\n\n for (const [key, value] of Object.entries(transformed)) {\n const currentPath = [...path, key];\n\n if (Array.isArray(value)) {\n result[key] = value.map((item, index) =>\n typeof item === \"object\" && item != null\n ? traverse(item, transform, [...currentPath, index.toString()])\n : item,\n );\n } else if (typeof value === \"object\" && value != null) {\n result[key] = traverse(value, transform, currentPath);\n } else {\n result[key] = value;\n }\n }\n\n return result;\n};\n"],"names":["traverse","specification","transform","path","transformed","result","key","value","currentPath","item","index"],"mappings":"AAIO,MAAMA,IAAW,CACtBC,GACAC,GACAC,IAAiB,CAAA,MACd;AACG,QAAAC,IAAcF,EAAUD,GAAeE,CAAI;AACjD,MAAI,OAAOC,KAAgB,YAAYA,MAAgB;AAC9C,WAAAA;AAGT,QAAMC,IAAoB,MAAM,QAAQD,CAAW,IAAI,KAAK,CAAC;AAE7D,aAAW,CAACE,GAAKC,CAAK,KAAK,OAAO,QAAQH,CAAW,GAAG;AACtD,UAAMI,IAAc,CAAC,GAAGL,GAAMG,CAAG;AAE7B,IAAA,MAAM,QAAQC,CAAK,IACdF,EAAAC,CAAG,IAAIC,EAAM;AAAA,MAAI,CAACE,GAAMC,MAC7B,OAAOD,KAAS,YAAYA,KAAQ,OAChCT,EAASS,GAAMP,GAAW,CAAC,GAAGM,GAAaE,EAAM,SAAU,CAAA,CAAC,IAC5DD;AAAA,IACN,IACS,OAAOF,KAAU,YAAYA,KAAS,OAC/CF,EAAOC,CAAG,IAAIN,EAASO,GAAOL,GAAWM,CAAW,IAEpDH,EAAOC,CAAG,IAAIC;AAAA,EAChB;AAGK,SAAAF;AACT;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as t, a as c, b as n, c as u } from "./chunk-BAXFHI7N-
|
|
1
|
+
import { u as t, a as c, b as n, c as u } from "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
2
2
|
const i = () => {
|
|
3
3
|
const a = t(), s = c(), [e, o] = n(), r = u();
|
|
4
4
|
return { location: a, navigate: s, params: r, searchParams: e, setSearchParams: o };
|
|
@@ -6,4 +6,4 @@ const i = () => {
|
|
|
6
6
|
export {
|
|
7
7
|
i as u
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=useExposedProps-
|
|
9
|
+
//# sourceMappingURL=useExposedProps-DmTJxEXG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExposedProps-
|
|
1
|
+
{"version":3,"file":"useExposedProps-DmTJxEXG.js","sources":["../src/lib/util/useExposedProps.tsx"],"sourcesContent":["import {\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router\";\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,EAAY,GACvBC,IAAWC,EAAY,GACvB,CAACC,GAAcC,CAAe,IAAIC,EAAgB,GAClDC,IAASC,EAAU;AAEzB,SAAO,EAAE,UAAAR,GAAU,UAAAE,GAAU,QAAAK,GAAQ,cAAAH,GAAc,iBAAAC,EAAgB;AACrE;"}
|
package/lib/zudoku.auth-auth0.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var r = Object.defineProperty;
|
|
2
2
|
var c = (t, s, e) => s in t ? r(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
|
|
3
3
|
var n = (t, s, e) => c(t, typeof s != "symbol" ? s + "" : s, e);
|
|
4
|
-
import { u } from "./hook-
|
|
4
|
+
import { u } from "./hook-8GM2HXNM.js";
|
|
5
5
|
import { OpenIDAuthenticationProvider as d } from "./zudoku.auth-openid.js";
|
|
6
6
|
class h extends d {
|
|
7
7
|
constructor(e) {
|
package/lib/zudoku.auth-clerk.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var g = Object.defineProperty;
|
|
2
2
|
var m = (n, t, s) => t in n ? g(n, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : n[t] = s;
|
|
3
3
|
var c = (n, t, s) => m(n, typeof t != "symbol" ? t + "" : t, s);
|
|
4
|
-
import { A as h } from "./AuthenticationPlugin-
|
|
5
|
-
import { u as l } from "./hook-
|
|
4
|
+
import { A as h } from "./AuthenticationPlugin-BxoEZCSJ.js";
|
|
5
|
+
import { u as l } from "./hook-8GM2HXNM.js";
|
|
6
6
|
class p extends h {
|
|
7
7
|
constructor(s) {
|
|
8
8
|
super();
|
|
@@ -4,9 +4,9 @@ var w = (t, e, n) => Le(t, typeof e != "symbol" ? e + "" : e, n);
|
|
|
4
4
|
import { j as B } from "./jsx-runtime-C5mzlN2N.js";
|
|
5
5
|
import { g as xe } from "./_commonjsHelpers-B4e78b8K.js";
|
|
6
6
|
import { C as Ie } from "./ClientOnly-E7hGysn1.js";
|
|
7
|
-
import { d as je, f as ie, u as L } from "./hook-
|
|
8
|
-
import { A as Je } from "./AuthenticationPlugin-
|
|
9
|
-
import { N as Oe } from "./chunk-BAXFHI7N-
|
|
7
|
+
import { d as je, f as ie, u as L } from "./hook-8GM2HXNM.js";
|
|
8
|
+
import { A as Je } from "./AuthenticationPlugin-BxoEZCSJ.js";
|
|
9
|
+
import { N as Oe } from "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
10
10
|
import { Z as ze } from "./invariant-Caa8-XvF.js";
|
|
11
11
|
var D = { exports: {} }, De = D.exports, ae;
|
|
12
12
|
function Ne() {
|
package/lib/zudoku.components.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import "./RouteGuard-
|
|
1
|
+
import "./RouteGuard-D2gX29iI.js";
|
|
2
2
|
import "./index-DwT-v3zK.js";
|
|
3
|
-
import "./chunk-BAXFHI7N-
|
|
4
|
-
import "./hook-
|
|
5
|
-
import "./SlotletProvider-
|
|
6
|
-
import { e as d, f as k, n as l, B as S, C as h, j as B, l as c, H as E, d as H, L, M, g as R, R as Z, S as f, k as g, i as y, Z as A, a as b, h as j, c as v, m as w, b as x } from "./index-
|
|
3
|
+
import "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
4
|
+
import "./hook-8GM2HXNM.js";
|
|
5
|
+
import "./SlotletProvider-wWbHYqWf.js";
|
|
6
|
+
import { e as d, f as k, n as l, B as S, C as h, j as B, l as c, H as E, d as H, L, M, g as R, R as Z, S as f, k as g, i as y, Z as A, a as b, h as j, c as v, m as w, b as x } from "./index-DGNSSXgR.js";
|
|
7
7
|
import "./ui/Button.js";
|
|
8
8
|
import "./ui/Callout.js";
|
|
9
9
|
import "./ClientOnly-E7hGysn1.js";
|
|
10
|
-
import "./Markdown-
|
|
10
|
+
import "./Markdown-DvdVn1O7.js";
|
|
11
11
|
import "./Spinner-mNLZ6awP.js";
|
|
12
12
|
export {
|
|
13
13
|
d as Bootstrap,
|
package/lib/zudoku.hooks.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z as f } from "./index-DwT-v3zK.js";
|
|
2
2
|
import { useState as m, useEffect as i } from "react";
|
|
3
|
-
import { e as a } from "./hook-
|
|
3
|
+
import { e as a } from "./hook-8GM2HXNM.js";
|
|
4
4
|
function d(e, t) {
|
|
5
5
|
const s = a(), [n, o] = m();
|
|
6
6
|
return i(() => s.addEventListener(e, (...u) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as s } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { s as h } from "./index-LNp6rxyU.js";
|
|
3
|
-
import { d as b, m as x } from "./chunk-BAXFHI7N-
|
|
4
|
-
import { u as j, d as y, f as p } from "./hook-
|
|
5
|
-
import { H as v } from "./RouteGuard-
|
|
6
|
-
import { L as N } from "./index-
|
|
7
|
-
import { H as S, M as w } from "./Markdown-
|
|
3
|
+
import { d as b, m as x } from "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
4
|
+
import { u as j, d as y, f as p } from "./hook-8GM2HXNM.js";
|
|
5
|
+
import { H as v } from "./RouteGuard-D2gX29iI.js";
|
|
6
|
+
import { L as N } from "./index-DGNSSXgR.js";
|
|
7
|
+
import { H as S, M as w } from "./Markdown-DvdVn1O7.js";
|
|
8
8
|
const H = ({
|
|
9
9
|
items: r,
|
|
10
10
|
filterCatalogItems: o = (n) => n,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { RotateCwIcon as j, TrashIcon as v, EyeOffIcon as w, EyeIcon as K, CheckIcon as b, CopyIcon as k, FileKey2Icon as N } from "lucide-react";
|
|
3
|
-
import { D as I, S as x, R as S } from "./SlotletProvider-
|
|
3
|
+
import { D as I, S as x, R as S } from "./SlotletProvider-wWbHYqWf.js";
|
|
4
4
|
import { i as c } from "./invariant-Caa8-XvF.js";
|
|
5
|
-
import { e as h, g, l as A, d as C } from "./hook-
|
|
6
|
-
import { u as d, S as E, a as P, b as D, c as q, d as R, e as p } from "./Select-
|
|
5
|
+
import { e as h, g, l as A, d as C } from "./hook-8GM2HXNM.js";
|
|
6
|
+
import { u as d, S as E, a as P, b as D, c as q, d as R, e as p } from "./Select-CYaEBIYK.js";
|
|
7
7
|
import { a as O } from "./index.esm-D2ZUREQN.js";
|
|
8
|
-
import { a as z, L as u, O as F } from "./chunk-BAXFHI7N-
|
|
8
|
+
import { a as z, L as u, O as F } from "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
9
9
|
import { Button as l } from "./ui/Button.js";
|
|
10
10
|
import { Input as T } from "./ui/Input.js";
|
|
11
11
|
import { useState as y } from "react";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as o } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import a from "react";
|
|
3
|
-
import { P as n } from "./Markdown-
|
|
3
|
+
import { P as n } from "./Markdown-DvdVn1O7.js";
|
|
4
4
|
import { c } from "./cn-qaFjX9_3.js";
|
|
5
|
-
import { u as p } from "./useExposedProps-
|
|
5
|
+
import { u as p } from "./useExposedProps-DmTJxEXG.js";
|
|
6
6
|
const u = ({
|
|
7
7
|
element: t,
|
|
8
8
|
render: s,
|
|
@@ -53,7 +53,7 @@ const P = (e) => ({
|
|
|
53
53
|
const u = {
|
|
54
54
|
path: r,
|
|
55
55
|
lazy: async () => {
|
|
56
|
-
const { MdxPage: p } = await import("./MdxPage-
|
|
56
|
+
const { MdxPage: p } = await import("./MdxPage-DUcuusMU.js"), { default: f, ...l } = await i();
|
|
57
57
|
return {
|
|
58
58
|
element: /* @__PURE__ */ d.jsx(
|
|
59
59
|
p,
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import "lucide-react";
|
|
3
|
-
import "./chunk-BAXFHI7N-
|
|
4
|
-
import "./hook-
|
|
3
|
+
import "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
4
|
+
import "./hook-8GM2HXNM.js";
|
|
5
5
|
import "./ui/Button.js";
|
|
6
|
-
import {
|
|
6
|
+
import { z as a, U as s, A } from "./index-CFf9AN-y.js";
|
|
7
7
|
export {
|
|
8
|
-
a as
|
|
9
|
-
|
|
8
|
+
a as GetSidebarOperationsQuery,
|
|
9
|
+
s as UNTAGGED_PATH,
|
|
10
|
+
A as openApiPlugin
|
|
10
11
|
};
|
|
11
12
|
//# sourceMappingURL=zudoku.plugin-openapi.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { j as t } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { C as k } from "./ClientOnly-E7hGysn1.js";
|
|
3
3
|
import { VisuallyHidden as v } from "@radix-ui/react-visually-hidden";
|
|
4
|
-
import { u as N, e as j, m as S, o as _, f as L } from "./hook-
|
|
4
|
+
import { u as N, e as j, m as S, o as _, f as L } from "./hook-8GM2HXNM.js";
|
|
5
5
|
import { useRef as b, useLayoutEffect as T, useState as w } from "react";
|
|
6
6
|
import { B as E } from "./Button-BBNrKpQd.js";
|
|
7
7
|
import { C as R, a as p, b as x, c as F, d as I, e as q, f as P } from "./Callout-D3Ja4OPX.js";
|
|
8
8
|
import { b as $ } from "./Dialog-ByYz4ABw.js";
|
|
9
|
-
import { S as A } from "./RouteGuard-
|
|
9
|
+
import { S as A } from "./RouteGuard-D2gX29iI.js";
|
|
10
10
|
import { BracketsIcon as D, FileTextIcon as O } from "lucide-react";
|
|
11
|
-
import { a as B, L as g } from "./chunk-BAXFHI7N-
|
|
11
|
+
import { a as B, L as g } from "./chunk-BAXFHI7N-BLTsN6tl.js";
|
|
12
12
|
const U = async ({
|
|
13
13
|
search: r,
|
|
14
14
|
options: n,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zudoku",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"homepage": "https://zudoku.dev",
|
|
6
6
|
"repository": {
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"@mdx-js/rollup": "3.1.0",
|
|
137
137
|
"@pothos/core": "4.6.0",
|
|
138
138
|
"@radix-ui/react-accordion": "1.2.4",
|
|
139
|
-
"@radix-ui/react-alert-dialog": "1.1.
|
|
139
|
+
"@radix-ui/react-alert-dialog": "1.1.13",
|
|
140
140
|
"@radix-ui/react-aspect-ratio": "1.1.3",
|
|
141
141
|
"@radix-ui/react-checkbox": "1.1.5",
|
|
142
142
|
"@radix-ui/react-collapsible": "1.1.4",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"embla-carousel-react": "8.6.0",
|
|
179
179
|
"esm-loader-css": "^1.0.3",
|
|
180
180
|
"estree-util-value-to-estree": "3.3.3",
|
|
181
|
-
"express": "
|
|
181
|
+
"express": "5.1.0",
|
|
182
182
|
"fast-equals": "5.2.2",
|
|
183
183
|
"glob": "11.0.1",
|
|
184
184
|
"graphql": "16.10.0",
|
package/src/app/demo.html
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
/>
|
|
14
14
|
<title>Zudoku Demo</title>
|
|
15
15
|
<script type="module" crossorigin src="./demo.js"></script>
|
|
16
|
-
<link rel="stylesheet" crossorigin href="./
|
|
16
|
+
<link rel="stylesheet" crossorigin href="./zudoku.css" />
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="root"></div>
|
package/src/app/main.css
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
|
|
97
97
|
html {
|
|
98
98
|
/* This is to prevent layout jumping when the scrollbar appears/disappears */
|
|
99
|
-
@apply -
|
|
99
|
+
@apply -me-[--scrollbar-width] scroll-pt-[--scroll-padding];
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
html,
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
|
|
327
327
|
/* Bullet with number */
|
|
328
328
|
.stepper > ol > li::before {
|
|
329
|
-
@apply absolute
|
|
329
|
+
@apply absolute start-0 flex items-center justify-center size-[--bullet-size];
|
|
330
330
|
@apply bg-muted/80 border border-border text-muted-foreground text-[calc(var(--bullet-size)/2)] font-semibold rounded-full;
|
|
331
331
|
content: counter(step-counter);
|
|
332
332
|
}
|
|
@@ -41,7 +41,7 @@ export const Banner = () => {
|
|
|
41
41
|
{page.banner.dismissible && (
|
|
42
42
|
<button
|
|
43
43
|
type="button"
|
|
44
|
-
className="md:absolute md:
|
|
44
|
+
className="md:absolute md:end-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md"
|
|
45
45
|
onClick={() => setIsBannerOpen(false)}
|
|
46
46
|
>
|
|
47
47
|
<CircleXIcon size={16} />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
2
|
import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
|
|
3
3
|
|
|
4
4
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
@@ -38,7 +38,7 @@ const getComponent = (level: number) => {
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
export type HeadingProps =
|
|
41
|
+
export type HeadingProps = HTMLAttributes<HTMLHeadingElement> &
|
|
42
42
|
VariantProps<typeof heading> & {
|
|
43
43
|
children: ReactNode;
|
|
44
44
|
className?: string;
|
|
@@ -66,7 +66,7 @@ export const Heading = ({
|
|
|
66
66
|
{id && (
|
|
67
67
|
<a
|
|
68
68
|
href={`#${id}`}
|
|
69
|
-
className="before:content-['#'] no-underline absolute text-primary -
|
|
69
|
+
className="before:content-['#'] no-underline absolute text-primary -start-[0.8em] pe-2.5 opacity-0 group-hover:opacity-50 hover:!opacity-100 transition-opacity duration-200"
|
|
70
70
|
aria-label={`Link to ${id}`}
|
|
71
71
|
>
|
|
72
72
|
{/* Zero width space */}
|
|
@@ -32,9 +32,6 @@ export const Layout = ({ children }: { children?: ReactNode }) => {
|
|
|
32
32
|
|
|
33
33
|
return (
|
|
34
34
|
<>
|
|
35
|
-
{import.meta.env.MODE === "standalone" && (
|
|
36
|
-
<style>{`:root { --top-nav-height: 0px; }`}</style>
|
|
37
|
-
)}
|
|
38
35
|
<Helmet titleTemplate={meta?.title}>
|
|
39
36
|
{options.canonicalUrlOrigin && (
|
|
40
37
|
<link
|
|
@@ -58,7 +55,7 @@ export const Layout = ({ children }: { children?: ReactNode }) => {
|
|
|
58
55
|
<div
|
|
59
56
|
className={cn(
|
|
60
57
|
"grid max-w-screen-2xl w-full lg:mx-auto",
|
|
61
|
-
"has
|
|
58
|
+
"[&:has(>:only-child)]:grid-rows-1 grid-rows-[0_min-content_1fr] lg:grid-rows-[min-content_1fr]",
|
|
62
59
|
"grid-cols-1 lg:grid-cols-[var(--side-nav-width)_1fr]",
|
|
63
60
|
)}
|
|
64
61
|
>
|
|
@@ -3,7 +3,7 @@ import { type PropsWithChildren, useState } from "react";
|
|
|
3
3
|
import { useNavigation } from "react-router";
|
|
4
4
|
import { Drawer, DrawerTrigger } from "zudoku/ui/Drawer.js";
|
|
5
5
|
import { cn } from "../util/cn.js";
|
|
6
|
-
import { useCurrentNavigation } from "./context/ZudokuContext.js";
|
|
6
|
+
import { useCurrentNavigation, useZudoku } from "./context/ZudokuContext.js";
|
|
7
7
|
import { Sidebar } from "./navigation/Sidebar.js";
|
|
8
8
|
import { Slotlet } from "./SlotletProvider.js";
|
|
9
9
|
|
|
@@ -12,10 +12,11 @@ export const Main = ({ children }: PropsWithChildren) => {
|
|
|
12
12
|
const { sidebar } = useCurrentNavigation();
|
|
13
13
|
const hasSidebar = sidebar.length > 0;
|
|
14
14
|
const isNavigating = useNavigation().state === "loading";
|
|
15
|
+
const { options } = useZudoku();
|
|
15
16
|
|
|
16
17
|
return (
|
|
17
18
|
<Drawer
|
|
18
|
-
direction="left"
|
|
19
|
+
direction={options.page?.dir === "rtl" ? "right" : "left"}
|
|
19
20
|
open={isDrawerOpen}
|
|
20
21
|
onOpenChange={(open) => setDrawerOpen(open)}
|
|
21
22
|
>
|
|
@@ -26,7 +27,7 @@ export const Main = ({ children }: PropsWithChildren) => {
|
|
|
26
27
|
/>
|
|
27
28
|
)}
|
|
28
29
|
{hasSidebar && (
|
|
29
|
-
<div className="lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur z-10 top-0
|
|
30
|
+
<div className="lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur z-10 top-0 start-0 end-0 border-b">
|
|
30
31
|
<DrawerTrigger className="flex items-center gap-2 px-4">
|
|
31
32
|
<PanelLeftIcon size={16} strokeWidth={1.5} />
|
|
32
33
|
<span className="text-sm">Menu</span>
|
|
@@ -21,7 +21,7 @@ export const MobileTopNavigation = () => {
|
|
|
21
21
|
|
|
22
22
|
return (
|
|
23
23
|
<Drawer
|
|
24
|
-
direction="right"
|
|
24
|
+
direction={options.page?.dir === "rtl" ? "left" : "right"}
|
|
25
25
|
open={drawerOpen}
|
|
26
26
|
onOpenChange={(open) => setDrawerOpen(open)}
|
|
27
27
|
>
|
|
@@ -32,7 +32,7 @@ export const MobileTopNavigation = () => {
|
|
|
32
32
|
<PageProgress />
|
|
33
33
|
</div>
|
|
34
34
|
<DrawerContent
|
|
35
|
-
className="lg:hidden h-[100dvh]
|
|
35
|
+
className="lg:hidden h-[100dvh] end-0 start-auto w-[320px] rounded-none"
|
|
36
36
|
aria-describedby={undefined}
|
|
37
37
|
>
|
|
38
38
|
<div className="p-4 overflow-y-auto overscroll-none h-full flex flex-col justify-between">
|
|
@@ -13,7 +13,7 @@ export const Pagination = ({
|
|
|
13
13
|
className?: string;
|
|
14
14
|
}) => {
|
|
15
15
|
const linkClass =
|
|
16
|
-
"group transition-all p-5 space-x-1 transition-all hover:text-foreground";
|
|
16
|
+
"group transition-all p-5 space-x-1 rtl:space-x-reverse transition-all hover:text-foreground";
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
<div
|
|
@@ -27,7 +27,7 @@ export const Pagination = ({
|
|
|
27
27
|
<Button variant="ghost" asChild>
|
|
28
28
|
<Link to={prev.to} relative="path" className={linkClass}>
|
|
29
29
|
<ArrowLeftIcon
|
|
30
|
-
className="group-hover:motion-safe:animate-bounce-x-start"
|
|
30
|
+
className="ltr:group-hover:motion-safe:animate-bounce-x-start rtl:rotate-180"
|
|
31
31
|
size={12}
|
|
32
32
|
/>
|
|
33
33
|
<span className="truncate">{prev.label}</span>
|
|
@@ -39,7 +39,7 @@ export const Pagination = ({
|
|
|
39
39
|
<Link to={next.to} relative="path" className={linkClass}>
|
|
40
40
|
<span className="truncate ">{next.label}</span>
|
|
41
41
|
<ArrowRightIcon
|
|
42
|
-
className="group-hover:motion-safe:animate-bounce-x-end"
|
|
42
|
+
className="ltr:group-hover:motion-safe:animate-bounce-x-end rtl:rotate-180"
|
|
43
43
|
size={12}
|
|
44
44
|
/>
|
|
45
45
|
</Link>
|
|
@@ -64,7 +64,7 @@ export const Search = ({ className }: { className?: string }) => {
|
|
|
64
64
|
const KbdShortcut = () => {
|
|
65
65
|
const os = detectOS();
|
|
66
66
|
return (
|
|
67
|
-
<kbd className="absolute
|
|
67
|
+
<kbd className="absolute end-1.5 hidden h-5 select-none items-center gap-1 rounded-sm border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex">
|
|
68
68
|
{os === "macOS" ? "⌘" : "Ctrl"}+K
|
|
69
69
|
</kbd>
|
|
70
70
|
);
|
|
@@ -52,7 +52,7 @@ export const TopNavigation = () => {
|
|
|
52
52
|
|
|
53
53
|
const filteredItems = topNavigation.filter(isHiddenItem(isAuthenticated));
|
|
54
54
|
|
|
55
|
-
if (filteredItems.length === 0) {
|
|
55
|
+
if (filteredItems.length === 0 || import.meta.env.MODE === "standalone") {
|
|
56
56
|
return <style>{`:root { --top-nav-height: 0px; }`}</style>;
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -22,7 +22,12 @@ export const PoweredByZudoku = ({ className }: { className?: string }) => (
|
|
|
22
22
|
powered by {import.meta.env.IS_ZUPLO ? "Zuplo" : "Zudoku"}
|
|
23
23
|
</div>
|
|
24
24
|
<div className="text-xs font-medium opacity-70 hover:text-foreground transition-colors cursor-pointer">
|
|
25
|
-
<ChevronRightIcon
|
|
25
|
+
<ChevronRightIcon
|
|
26
|
+
size={12}
|
|
27
|
+
absoluteStrokeWidth
|
|
28
|
+
strokeWidth={1.5}
|
|
29
|
+
className="rtl:rotate-180"
|
|
30
|
+
/>
|
|
26
31
|
</div>
|
|
27
32
|
</a>
|
|
28
33
|
);
|
|
@@ -28,7 +28,7 @@ export const Sidebar = ({
|
|
|
28
28
|
<Slotlet name="zudoku-after-navigation" />
|
|
29
29
|
</SidebarWrapper>
|
|
30
30
|
<DrawerContent
|
|
31
|
-
className="lg:hidden h-[100dvh]
|
|
31
|
+
className="lg:hidden h-[100dvh] start-0 w-[320px] rounded-none"
|
|
32
32
|
aria-describedby={undefined}
|
|
33
33
|
>
|
|
34
34
|
<div className="p-4 overflow-y-auto overscroll-none">
|
|
@@ -2,11 +2,11 @@ import * as Collapsible from "@radix-ui/react-collapsible";
|
|
|
2
2
|
import { deepEqual } from "fast-equals";
|
|
3
3
|
import { ChevronRightIcon } from "lucide-react";
|
|
4
4
|
import { memo, useEffect, useState } from "react";
|
|
5
|
-
import { NavLink, useMatch } from "react-router";
|
|
5
|
+
import { NavLink, useLocation, useMatch } from "react-router";
|
|
6
6
|
import { Button } from "zudoku/ui/Button.js";
|
|
7
7
|
import type { SidebarItemCategory } from "../../../config/validators/SidebarSchema.js";
|
|
8
8
|
import { cn } from "../../util/cn.js";
|
|
9
|
-
import {
|
|
9
|
+
import { joinUrl } from "../../util/joinUrl.js";
|
|
10
10
|
import { navigationListItem, SidebarItem } from "./SidebarItem.js";
|
|
11
11
|
import { useIsCategoryOpen } from "./utils.js";
|
|
12
12
|
|
|
@@ -19,6 +19,7 @@ const SidebarCategoryInner = ({
|
|
|
19
19
|
}) => {
|
|
20
20
|
const isCategoryOpen = useIsCategoryOpen(category);
|
|
21
21
|
const [hasInteracted, setHasInteracted] = useState(false);
|
|
22
|
+
const location = useLocation();
|
|
22
23
|
|
|
23
24
|
const isCollapsible = category.collapsible ?? true;
|
|
24
25
|
const isCollapsed = category.collapsed ?? true;
|
|
@@ -51,7 +52,7 @@ const SidebarCategoryInner = ({
|
|
|
51
52
|
size={16}
|
|
52
53
|
className={cn(
|
|
53
54
|
hasInteracted && "transition",
|
|
54
|
-
"shrink-0 group-data-[state=open]:rotate-90",
|
|
55
|
+
"shrink-0 group-data-[state=open]:rotate-90 rtl:rotate-180",
|
|
55
56
|
)}
|
|
56
57
|
/>
|
|
57
58
|
</Button>
|
|
@@ -83,7 +84,10 @@ const SidebarCategoryInner = ({
|
|
|
83
84
|
<Collapsible.Trigger className="group" asChild disabled={!isCollapsible}>
|
|
84
85
|
{category.link?.type === "doc" ? (
|
|
85
86
|
<NavLink
|
|
86
|
-
to={
|
|
87
|
+
to={{
|
|
88
|
+
pathname: joinUrl(category.link.id),
|
|
89
|
+
search: location.search,
|
|
90
|
+
}}
|
|
87
91
|
className={styles}
|
|
88
92
|
onClick={() => {
|
|
89
93
|
setHasInteracted(true);
|
|
@@ -117,7 +121,7 @@ const SidebarCategoryInner = ({
|
|
|
117
121
|
"ms-6 my-1",
|
|
118
122
|
)}
|
|
119
123
|
>
|
|
120
|
-
<ul className="relative after:absolute after:-
|
|
124
|
+
<ul className="relative after:absolute after:-start-[--padding-nav-item] after:translate-x-[1.5px] after:top-0 after:bottom-0 after:w-px after:bg-border">
|
|
121
125
|
{category.items.map((item) => (
|
|
122
126
|
<SidebarItem
|
|
123
127
|
key={
|