zudoku 0.3.0-dev.30 → 0.3.0-dev.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/app/demo.js +15 -11
  2. package/dist/app/demo.js.map +1 -1
  3. package/dist/app/main.js +4 -2
  4. package/dist/app/main.js.map +1 -1
  5. package/dist/app/standalone.js +14 -10
  6. package/dist/app/standalone.js.map +1 -1
  7. package/dist/app/tailwind.d.ts +1 -1
  8. package/dist/app/tailwind.js +0 -9
  9. package/dist/app/tailwind.js.map +1 -1
  10. package/dist/lib/components/DevPortal.d.ts +4 -1
  11. package/dist/lib/components/DevPortal.js +6 -1
  12. package/dist/lib/components/DevPortal.js.map +1 -1
  13. package/dist/lib/components/Router.js +2 -2
  14. package/dist/lib/components/Router.js.map +1 -1
  15. package/dist/lib/components/index.d.ts +4 -1
  16. package/dist/lib/errors/ErrorAlert.d.ts +3 -0
  17. package/dist/lib/errors/ErrorAlert.js +8 -0
  18. package/dist/lib/errors/ErrorAlert.js.map +1 -0
  19. package/dist/lib/errors/RouterError.d.ts +1 -0
  20. package/dist/lib/errors/RouterError.js +9 -0
  21. package/dist/lib/errors/RouterError.js.map +1 -0
  22. package/dist/lib/errors/TopLevelError.d.ts +2 -0
  23. package/dist/lib/errors/TopLevelError.js +7 -0
  24. package/dist/lib/errors/TopLevelError.js.map +1 -0
  25. package/dist/vite/config.d.ts +0 -1
  26. package/dist/vite/config.js +5 -3
  27. package/dist/vite/config.js.map +1 -1
  28. package/lib/{AnchorLink-BtVKbEwm.js → AnchorLink-ptdQk87q.js} +4 -4
  29. package/lib/{AnchorLink-BtVKbEwm.js.map → AnchorLink-ptdQk87q.js.map} +1 -1
  30. package/lib/{DevPortalProvider--xZTs0RJ.js → DevPortalProvider-BMk-RCE0.js} +3 -3
  31. package/lib/{DevPortalProvider--xZTs0RJ.js.map → DevPortalProvider-BMk-RCE0.js.map} +1 -1
  32. package/lib/{Markdown-oJFqm0uk.js → Markdown-DDmW47R9.js} +4 -4
  33. package/lib/{Markdown-oJFqm0uk.js.map → Markdown-DDmW47R9.js.map} +1 -1
  34. package/lib/{MdxComponents-CsU8yR42.js → MdxComponents-C0R6zobS.js} +4 -4
  35. package/lib/{MdxComponents-CsU8yR42.js.map → MdxComponents-C0R6zobS.js.map} +1 -1
  36. package/lib/{MdxPage-BV_9ncEk.js → MdxPage-DyJAHF9y.js} +9 -9
  37. package/lib/{MdxPage-BV_9ncEk.js.map → MdxPage-DyJAHF9y.js.map} +1 -1
  38. package/lib/{OperationList-DfG_E0Xa.js → OperationList-Dz9rHM9r.js} +10 -10
  39. package/lib/{OperationList-DfG_E0Xa.js.map → OperationList-Dz9rHM9r.js.map} +1 -1
  40. package/lib/{Route-CHqr53jb.js → Route-CN_7-e5r.js} +3 -3
  41. package/lib/{Route-CHqr53jb.js.map → Route-CN_7-e5r.js.map} +1 -1
  42. package/lib/{Select-CNmXi4JU.js → Select-D-Jtx53Q.js} +5 -5
  43. package/lib/{Select-CNmXi4JU.js.map → Select-D-Jtx53Q.js.map} +1 -1
  44. package/lib/{Spinner-By5opWs5.js → Spinner-BG1JnYy0.js} +4 -4
  45. package/lib/{Spinner-By5opWs5.js.map → Spinner-BG1JnYy0.js.map} +1 -1
  46. package/lib/{hook-kVJ4gpk5.js → hook-BzBeIPL4.js} +2 -2
  47. package/lib/{hook-kVJ4gpk5.js.map → hook-BzBeIPL4.js.map} +1 -1
  48. package/lib/{index-Cr3hgaqt.js → index-BaOOUFsA.js} +3 -3
  49. package/lib/{index-Cr3hgaqt.js.map → index-BaOOUFsA.js.map} +1 -1
  50. package/lib/{index-CUIxJAeE.js → index-CPvRaBBB.js} +12 -12
  51. package/lib/{index-CUIxJAeE.js.map → index-CPvRaBBB.js.map} +1 -1
  52. package/lib/{index-B2qLeglF.js → index-Cpdpun6t.js} +4 -4
  53. package/lib/{index-B2qLeglF.js.map → index-Cpdpun6t.js.map} +1 -1
  54. package/lib/{index-fXFJf9Ua.js → index-DLS6fPwU.js} +6 -6
  55. package/lib/{index-fXFJf9Ua.js.map → index-DLS6fPwU.js.map} +1 -1
  56. package/lib/{jsx-runtime-D7DwziLW.js → jsx-runtime-SV6hXQua.js} +4 -4
  57. package/lib/{jsx-runtime-D7DwziLW.js.map → jsx-runtime-SV6hXQua.js.map} +1 -1
  58. package/lib/{util-DnDPBx_j.js → util-CCWvaWo7.js} +2 -2
  59. package/lib/{util-DnDPBx_j.js.map → util-CCWvaWo7.js.map} +1 -1
  60. package/lib/zudoku.auth-openid.js +2 -2
  61. package/lib/zudoku.components.js +344 -246
  62. package/lib/zudoku.components.js.map +1 -1
  63. package/lib/zudoku.plugin-api-keys.js +6 -6
  64. package/lib/zudoku.plugin-markdown.js +5 -5
  65. package/lib/zudoku.plugin-openapi.js +2 -2
  66. package/lib/zudoku.plugin-redirect.js +2 -2
  67. package/package.json +2 -1
  68. package/src/app/demo.tsx +18 -13
  69. package/src/app/main.tsx +4 -2
  70. package/src/app/standalone.tsx +15 -11
  71. package/src/app/tailwind.ts +1 -11
  72. package/src/lib/components/DevPortal.tsx +10 -1
  73. package/src/lib/components/Router.tsx +3 -2
  74. package/src/lib/errors/ErrorAlert.tsx +21 -0
  75. package/src/lib/errors/RouterError.tsx +12 -0
  76. package/src/lib/errors/TopLevelError.tsx +8 -0
  77. package/dist/lib/components/Error.d.ts +0 -1
  78. package/dist/lib/components/Error.js +0 -10
  79. package/dist/lib/components/Error.js.map +0 -1
  80. package/src/lib/components/Error.tsx +0 -15
@@ -1,4 +1,4 @@
1
- import { m as u } from "./jsx-runtime-D7DwziLW.js";
1
+ import { m as u } from "./jsx-runtime-SV6hXQua.js";
2
2
  const l = (...t) => {
3
3
  const i = t.filter((r) => !!r).map((r) => r.replace(/(^\/+|\/+$)/g, "")).join("/");
4
4
  return i ? `/${i}` : "";
@@ -38,4 +38,4 @@ export {
38
38
  l as j,
39
39
  g as t
40
40
  };
41
- //# sourceMappingURL=util-DnDPBx_j.js.map
41
+ //# sourceMappingURL=util-CCWvaWo7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util-DnDPBx_j.js","sources":["../src/lib/util/joinPath.tsx","../src/lib/util/traverseNavigation.ts","../src/lib/components/navigation/util.ts"],"sourcesContent":["export const joinPath = (\n ...parts: Array<string | null | undefined | boolean>\n) => {\n const cleanPath = parts\n .filter((part): part is string => Boolean(part))\n .map((part) => part.replace(/(^\\/+|\\/+$)/g, \"\")) // Strip leading and trailing slashes\n .join(\"/\");\n\n return cleanPath ? `/${cleanPath}` : \"\";\n};\n","import { isPathItem } from \"../components/navigation/util.js\";\nimport type {\n NavigationCategory,\n NavigationCategoryItem,\n NavigationItem,\n} from \"../core/DevPortalContext.js\";\nimport { joinPath } from \"./joinPath.js\";\n\nexport type NavigationNode = NavigationCategoryItem | NavigationCategory;\ntype Callback<T> = (\n node: NavigationNode,\n fullPath: string,\n parentNodes: NavigationNode[],\n) => T | undefined;\n\nexport const traverseNavigationNode = <T>(\n node: NavigationNode,\n callback: Callback<T>,\n parentPath: string,\n parentNodes: NavigationNode[] = [],\n): T | undefined => {\n const newPath = isPathItem(node)\n ? joinPath(parentPath, node.path)\n : parentPath;\n const result = callback(node, newPath, parentNodes);\n\n if (result !== undefined) return result;\n\n if (\"children\" in node && node.children) {\n const newParentNodes = [...parentNodes, node];\n for (const child of node.children) {\n const childResult = traverseNavigationNode(\n child,\n callback,\n newPath,\n newParentNodes,\n );\n if (childResult !== undefined) return childResult;\n }\n }\n return undefined;\n};\n\nexport const traverseNavigation = <T>(\n navItem: NavigationItem,\n callback: Callback<T>,\n): T | undefined => {\n if (navItem.categories) {\n for (const category of navItem.categories) {\n const result = traverseNavigationNode(category, callback, navItem.path);\n if (result !== undefined) return result;\n }\n }\n return undefined;\n};\n","import { matchPath } from \"react-router-dom\";\nimport type {\n HrefNavigationCategoryItem,\n PathNavigationCategoryItem,\n} from \"../../core/DevPortalContext.js\";\nimport {\n traverseNavigationNode,\n type NavigationNode,\n} from \"../../util/traverseNavigation.js\";\n\nexport const isPathItem = (\n item: NavigationNode,\n): item is PathNavigationCategoryItem => \"path\" in item;\n\nexport const isLinkItem = (\n item: NavigationNode,\n): item is HrefNavigationCategoryItem => \"href\" in item;\n\n/**\n * Recursively checks if the current item or any of its children are active.\n */\nexport const checkHasActiveItem = (\n item: NavigationNode,\n locationPath: string,\n basePath: string,\n) => {\n return Boolean(\n traverseNavigationNode(\n item,\n (node, fullPath) => {\n if (isPathItem(node) && matchPath(fullPath, locationPath)) {\n return true;\n }\n },\n basePath,\n ),\n );\n};\n"],"names":["joinPath","parts","cleanPath","part","traverseNavigationNode","node","callback","parentPath","parentNodes","newPath","isPathItem","result","newParentNodes","child","childResult","traverseNavigation","navItem","category","item","isLinkItem","checkHasActiveItem","locationPath","basePath","fullPath","matchPath"],"mappings":";AAAa,MAAAA,IAAW,IACnBC,MACA;AACH,QAAMC,IAAYD,EACf,OAAO,CAACE,MAAyB,EAAQA,CAAK,EAC9C,IAAI,CAACA,MAASA,EAAK,QAAQ,gBAAgB,EAAE,CAAC,EAC9C,KAAK,GAAG;AAEJ,SAAAD,IAAY,IAAIA,CAAS,KAAK;AACvC,GCMaE,IAAyB,CACpCC,GACAC,GACAC,GACAC,IAAgC,CAAA,MACd;AACZ,QAAAC,IAAUC,EAAWL,CAAI,IAC3BL,EAASO,GAAYF,EAAK,IAAI,IAC9BE,GACEI,IAASL,EAASD,GAAMI,GAASD,CAAW;AAE9C,MAAAG,MAAW,OAAkB,QAAAA;AAE7B,MAAA,cAAcN,KAAQA,EAAK,UAAU;AACvC,UAAMO,IAAiB,CAAC,GAAGJ,GAAaH,CAAI;AACjC,eAAAQ,KAASR,EAAK,UAAU;AACjC,YAAMS,IAAcV;AAAA,QAClBS;AAAA,QACAP;AAAA,QACAG;AAAA,QACAG;AAAA,MAAA;AAEE,UAAAE,MAAgB,OAAkB,QAAAA;AAAA,IACxC;AAAA,EACF;AAEF,GAEaC,IAAqB,CAChCC,GACAV,MACkB;AAClB,MAAIU,EAAQ;AACC,eAAAC,KAAYD,EAAQ,YAAY;AACzC,YAAML,IAASP,EAAuBa,GAAUX,GAAUU,EAAQ,IAAI;AAClE,UAAAL,MAAW,OAAkB,QAAAA;AAAA,IACnC;AAGJ,GC5CaD,IAAa,CACxBQ,MACuC,UAAUA,GAEtCC,IAAa,CACxBD,MACuC,UAAUA,GAKtCE,IAAqB,CAChCF,GACAG,GACAC,MAEO,EACLlB;AAAA,EACEc;AAAA,EACA,CAACb,GAAMkB,MAAa;AAClB,QAAIb,EAAWL,CAAI,KAAKmB,EAAUD,GAAUF,CAAY;AAC/C,aAAA;AAAA,EAEX;AAAA,EACAC;AACF;"}
1
+ {"version":3,"file":"util-CCWvaWo7.js","sources":["../src/lib/util/joinPath.tsx","../src/lib/util/traverseNavigation.ts","../src/lib/components/navigation/util.ts"],"sourcesContent":["export const joinPath = (\n ...parts: Array<string | null | undefined | boolean>\n) => {\n const cleanPath = parts\n .filter((part): part is string => Boolean(part))\n .map((part) => part.replace(/(^\\/+|\\/+$)/g, \"\")) // Strip leading and trailing slashes\n .join(\"/\");\n\n return cleanPath ? `/${cleanPath}` : \"\";\n};\n","import { isPathItem } from \"../components/navigation/util.js\";\nimport type {\n NavigationCategory,\n NavigationCategoryItem,\n NavigationItem,\n} from \"../core/DevPortalContext.js\";\nimport { joinPath } from \"./joinPath.js\";\n\nexport type NavigationNode = NavigationCategoryItem | NavigationCategory;\ntype Callback<T> = (\n node: NavigationNode,\n fullPath: string,\n parentNodes: NavigationNode[],\n) => T | undefined;\n\nexport const traverseNavigationNode = <T>(\n node: NavigationNode,\n callback: Callback<T>,\n parentPath: string,\n parentNodes: NavigationNode[] = [],\n): T | undefined => {\n const newPath = isPathItem(node)\n ? joinPath(parentPath, node.path)\n : parentPath;\n const result = callback(node, newPath, parentNodes);\n\n if (result !== undefined) return result;\n\n if (\"children\" in node && node.children) {\n const newParentNodes = [...parentNodes, node];\n for (const child of node.children) {\n const childResult = traverseNavigationNode(\n child,\n callback,\n newPath,\n newParentNodes,\n );\n if (childResult !== undefined) return childResult;\n }\n }\n return undefined;\n};\n\nexport const traverseNavigation = <T>(\n navItem: NavigationItem,\n callback: Callback<T>,\n): T | undefined => {\n if (navItem.categories) {\n for (const category of navItem.categories) {\n const result = traverseNavigationNode(category, callback, navItem.path);\n if (result !== undefined) return result;\n }\n }\n return undefined;\n};\n","import { matchPath } from \"react-router-dom\";\nimport type {\n HrefNavigationCategoryItem,\n PathNavigationCategoryItem,\n} from \"../../core/DevPortalContext.js\";\nimport {\n traverseNavigationNode,\n type NavigationNode,\n} from \"../../util/traverseNavigation.js\";\n\nexport const isPathItem = (\n item: NavigationNode,\n): item is PathNavigationCategoryItem => \"path\" in item;\n\nexport const isLinkItem = (\n item: NavigationNode,\n): item is HrefNavigationCategoryItem => \"href\" in item;\n\n/**\n * Recursively checks if the current item or any of its children are active.\n */\nexport const checkHasActiveItem = (\n item: NavigationNode,\n locationPath: string,\n basePath: string,\n) => {\n return Boolean(\n traverseNavigationNode(\n item,\n (node, fullPath) => {\n if (isPathItem(node) && matchPath(fullPath, locationPath)) {\n return true;\n }\n },\n basePath,\n ),\n );\n};\n"],"names":["joinPath","parts","cleanPath","part","traverseNavigationNode","node","callback","parentPath","parentNodes","newPath","isPathItem","result","newParentNodes","child","childResult","traverseNavigation","navItem","category","item","isLinkItem","checkHasActiveItem","locationPath","basePath","fullPath","matchPath"],"mappings":";AAAa,MAAAA,IAAW,IACnBC,MACA;AACH,QAAMC,IAAYD,EACf,OAAO,CAACE,MAAyB,EAAQA,CAAK,EAC9C,IAAI,CAACA,MAASA,EAAK,QAAQ,gBAAgB,EAAE,CAAC,EAC9C,KAAK,GAAG;AAEJ,SAAAD,IAAY,IAAIA,CAAS,KAAK;AACvC,GCMaE,IAAyB,CACpCC,GACAC,GACAC,GACAC,IAAgC,CAAA,MACd;AACZ,QAAAC,IAAUC,EAAWL,CAAI,IAC3BL,EAASO,GAAYF,EAAK,IAAI,IAC9BE,GACEI,IAASL,EAASD,GAAMI,GAASD,CAAW;AAE9C,MAAAG,MAAW,OAAkB,QAAAA;AAE7B,MAAA,cAAcN,KAAQA,EAAK,UAAU;AACvC,UAAMO,IAAiB,CAAC,GAAGJ,GAAaH,CAAI;AACjC,eAAAQ,KAASR,EAAK,UAAU;AACjC,YAAMS,IAAcV;AAAA,QAClBS;AAAA,QACAP;AAAA,QACAG;AAAA,QACAG;AAAA,MAAA;AAEE,UAAAE,MAAgB,OAAkB,QAAAA;AAAA,IACxC;AAAA,EACF;AAEF,GAEaC,IAAqB,CAChCC,GACAV,MACkB;AAClB,MAAIU,EAAQ;AACC,eAAAC,KAAYD,EAAQ,YAAY;AACzC,YAAML,IAASP,EAAuBa,GAAUX,GAAUU,EAAQ,IAAI;AAClE,UAAAL,MAAW,OAAkB,QAAAA;AAAA,IACnC;AAGJ,GC5CaD,IAAa,CACxBQ,MACuC,UAAUA,GAEtCC,IAAa,CACxBD,MACuC,UAAUA,GAKtCE,IAAqB,CAChCF,GACAG,GACAC,MAEO,EACLlB;AAAA,EACEc;AAAA,EACA,CAACb,GAAMkB,MAAa;AAClB,QAAIb,EAAWL,CAAI,KAAKmB,EAAUD,GAAUF,CAAY;AAC/C,aAAA;AAAA,EAEX;AAAA,EACAC;AACF;"}
@@ -1,10 +1,10 @@
1
1
  var ue = Object.defineProperty;
2
2
  var he = (e, t, n) => t in e ? ue(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
3
  var w = (e, t, n) => he(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { j as g } from "./jsx-runtime-D7DwziLW.js";
4
+ import { j as g } from "./jsx-runtime-SV6hXQua.js";
5
5
  import { l as I } from "./loglevel-CA34MiFn.js";
6
6
  import { useRef as de, useState as fe, useEffect as le } from "react";
7
- import { b as pe } from "./index-fXFJf9Ua.js";
7
+ import { b as pe } from "./index-DLS6fPwU.js";
8
8
  import { u as M } from "./state-Ds_OxRHP.js";
9
9
  let z;
10
10
  var v, Z;