zudoku 0.3.0-dev.53 → 0.3.0-dev.55

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 (124) hide show
  1. package/dist/lib/components/Bootstrap.js +1 -1
  2. package/dist/lib/components/Bootstrap.js.map +1 -1
  3. package/lib/AnchorLink-BaXHjhF-.js +989 -0
  4. package/lib/{AnchorLink-BCN_a_Uz.js.map → AnchorLink-BaXHjhF-.js.map} +1 -1
  5. package/lib/Combination-BfufJFkX.js +1365 -0
  6. package/lib/{Combination-B0Iu6mhJ.js.map → Combination-BfufJFkX.js.map} +1 -1
  7. package/lib/DevPortalProvider-GjdO0Xr-.js +1610 -0
  8. package/lib/{DevPortalProvider-Do9oJqme.js.map → DevPortalProvider-GjdO0Xr-.js.map} +1 -1
  9. package/lib/Markdown-B8nPVql1.js +19708 -0
  10. package/lib/Markdown-B8nPVql1.js.map +1 -0
  11. package/lib/MdxPage-Dlujuj-J.js +223 -0
  12. package/lib/{MdxPage-Bsc79cD-.js.map → MdxPage-Dlujuj-J.js.map} +1 -1
  13. package/lib/OperationList-krPgt6sE.js +8041 -0
  14. package/lib/{OperationList-K-JWBxau.js.map → OperationList-krPgt6sE.js.map} +1 -1
  15. package/lib/Playground-DOHxca0P.js +539 -0
  16. package/lib/{Playground-Czy7ha9z.js.map → Playground-DOHxca0P.js.map} +1 -1
  17. package/lib/Route-CR6TEwVC.js +13 -0
  18. package/lib/{Route-D-egsGHx.js.map → Route-CR6TEwVC.js.map} +1 -1
  19. package/lib/Select-Boi_pe3L.js +5298 -0
  20. package/lib/{Select-CcBbwJ2R.js.map → Select-Boi_pe3L.js.map} +1 -1
  21. package/lib/Spinner-oU0QJmi_.js +16 -0
  22. package/lib/{Spinner-C9_Opdev.js.map → Spinner-oU0QJmi_.js.map} +1 -1
  23. package/lib/_commonjsHelpers-BxmBWJD2.js +34 -0
  24. package/lib/_commonjsHelpers-BxmBWJD2.js.map +1 -0
  25. package/lib/assets/index-CpIig0AX.js +6341 -0
  26. package/lib/{index-pI9JkN46.js.map → assets/index-CpIig0AX.js.map} +1 -1
  27. package/lib/assets/worker-B5k2aBV9.js +18921 -0
  28. package/lib/assets/{worker-BjPv-hjP.js.map → worker-B5k2aBV9.js.map} +1 -1
  29. package/lib/context-BoN_3uxi.js +17 -0
  30. package/lib/{context-_fYfJFgk.js.map → context-BoN_3uxi.js.map} +1 -1
  31. package/lib/hook-CIuFuyBT.js +90 -0
  32. package/lib/{hook-CKqQERWo.js.map → hook-CIuFuyBT.js.map} +1 -1
  33. package/lib/index-BL1P4Gqq.js +280 -0
  34. package/lib/{index-ByHya67R.js.map → index-BL1P4Gqq.js.map} +1 -1
  35. package/lib/index-Bn03IPZt.js +6341 -0
  36. package/lib/{assets/index-BPdJm2ty.js.map → index-Bn03IPZt.js.map} +1 -1
  37. package/lib/{index-jsFBaizC.js → index-Dih8IAqw.js} +103 -83
  38. package/lib/{index-jsFBaizC.js.map → index-Dih8IAqw.js.map} +1 -1
  39. package/lib/index-FprhHF51.js +253 -0
  40. package/lib/{index-DseBZFJ-.js.map → index-FprhHF51.js.map} +1 -1
  41. package/lib/jsx-runtime-DvZ6OKMM.js +2110 -0
  42. package/lib/{jsx-runtime-CJZJivg2.js.map → jsx-runtime-DvZ6OKMM.js.map} +1 -1
  43. package/lib/mutation-DWY9x2Uc.js +250 -0
  44. package/lib/{mutation-DjbQSHzT.js.map → mutation-DWY9x2Uc.js.map} +1 -1
  45. package/lib/prism-bash.min-BtBk0onv.js +7 -0
  46. package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-BtBk0onv.js.map} +1 -1
  47. package/lib/prism-csharp.min-Cv7D49bv.js +30 -0
  48. package/lib/{prism-csharp.min-Yizuc34Y.js.map → prism-csharp.min-Cv7D49bv.js.map} +1 -1
  49. package/lib/prism-java.min-tNK-JX6x.js +7 -0
  50. package/lib/{prism-java.min-d5iT_mOd.js.map → prism-java.min-tNK-JX6x.js.map} +1 -1
  51. package/lib/prism-json.min-Cdtv-CME.js +2 -0
  52. package/lib/{prism-json.min-B1GJqK1k.js.map → prism-json.min-Cdtv-CME.js.map} +1 -1
  53. package/lib/prism-markup-templating-iotg2sCU.js +94 -0
  54. package/lib/{prism-markup-templating-DZrrEs0A.js.map → prism-markup-templating-iotg2sCU.js.map} +1 -1
  55. package/lib/prism-objectivec.min-CY4WGixz.js +2 -0
  56. package/lib/{prism-objectivec.min-BXSWqpJJ.js.map → prism-objectivec.min-CY4WGixz.js.map} +1 -1
  57. package/lib/prism-php.min-T6sIVgED.js +11 -0
  58. package/lib/{prism-php.min-o7FpoMP_.js.map → prism-php.min-T6sIVgED.js.map} +1 -1
  59. package/lib/prism-ruby.min-B-2KAa4y.js +8 -0
  60. package/lib/{prism-ruby.min-C7LwcKyz.js.map → prism-ruby.min-B-2KAa4y.js.map} +1 -1
  61. package/lib/router-ButO1QyY.js +4062 -0
  62. package/lib/{router-CBw2vqJE.js.map → router-ButO1QyY.js.map} +1 -1
  63. package/lib/slugify-CmS97Vy8.js +50 -0
  64. package/lib/{slugify-CiPVjteN.js.map → slugify-CmS97Vy8.js.map} +1 -1
  65. package/lib/state-CmGfNKhR.js +436 -0
  66. package/lib/{state-DKdaQzvh.js.map → state-CmGfNKhR.js.map} +1 -1
  67. package/lib/urql-DtVKPBx_.js +2567 -0
  68. package/lib/{urql-DEKdguFl.js.map → urql-DtVKPBx_.js.map} +1 -1
  69. package/lib/util-B5KX4h4M.js +55 -0
  70. package/lib/{util-_jwUlTBU.js.map → util-B5KX4h4M.js.map} +1 -1
  71. package/lib/zudoku.auth-auth0.js +24 -18
  72. package/lib/zudoku.auth-auth0.js.map +1 -1
  73. package/lib/zudoku.auth-clerk.js +43 -34
  74. package/lib/zudoku.auth-clerk.js.map +1 -1
  75. package/lib/zudoku.auth-openid.js +1121 -734
  76. package/lib/zudoku.auth-openid.js.map +1 -1
  77. package/lib/zudoku.components.js +1076 -823
  78. package/lib/zudoku.components.js.map +1 -1
  79. package/lib/zudoku.openapi-worker.js +13776 -9681
  80. package/lib/zudoku.openapi-worker.js.map +1 -1
  81. package/lib/zudoku.plugin-api-keys.js +206 -165
  82. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  83. package/lib/zudoku.plugin-markdown.js +41 -33
  84. package/lib/zudoku.plugin-markdown.js.map +1 -1
  85. package/lib/zudoku.plugin-openapi.js +6 -6
  86. package/lib/zudoku.plugin-redirect.js +10 -8
  87. package/lib/zudoku.plugin-redirect.js.map +1 -1
  88. package/package.json +1 -1
  89. package/src/lib/components/Bootstrap.tsx +1 -1
  90. package/lib/AnchorLink-BCN_a_Uz.js +0 -705
  91. package/lib/Combination-B0Iu6mhJ.js +0 -915
  92. package/lib/DevPortalProvider-Do9oJqme.js +0 -1081
  93. package/lib/Markdown-aE_XoLNs.js +0 -15030
  94. package/lib/Markdown-aE_XoLNs.js.map +0 -1
  95. package/lib/MdxPage-Bsc79cD-.js +0 -190
  96. package/lib/OperationList-K-JWBxau.js +0 -5091
  97. package/lib/Playground-Czy7ha9z.js +0 -502
  98. package/lib/Route-D-egsGHx.js +0 -13
  99. package/lib/Select-CcBbwJ2R.js +0 -3667
  100. package/lib/Spinner-C9_Opdev.js +0 -15
  101. package/lib/_commonjsHelpers-BVfed4GL.js +0 -29
  102. package/lib/_commonjsHelpers-BVfed4GL.js.map +0 -1
  103. package/lib/assets/index-BPdJm2ty.js +0 -4765
  104. package/lib/assets/worker-BjPv-hjP.js +0 -14897
  105. package/lib/context-_fYfJFgk.js +0 -14
  106. package/lib/hook-CKqQERWo.js +0 -77
  107. package/lib/index-ByHya67R.js +0 -207
  108. package/lib/index-DseBZFJ-.js +0 -170
  109. package/lib/index-pI9JkN46.js +0 -4765
  110. package/lib/jsx-runtime-CJZJivg2.js +0 -1526
  111. package/lib/mutation-DjbQSHzT.js +0 -208
  112. package/lib/prism-bash.min-DadFsM4Z.js +0 -7
  113. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  114. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  115. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  116. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  117. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  118. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  119. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  120. package/lib/router-CBw2vqJE.js +0 -2973
  121. package/lib/slugify-CiPVjteN.js +0 -28
  122. package/lib/state-DKdaQzvh.js +0 -288
  123. package/lib/urql-DEKdguFl.js +0 -1592
  124. package/lib/util-_jwUlTBU.js +0 -41
@@ -0,0 +1,55 @@
1
+ import { m as matchPath } from "./router-ButO1QyY.js";
2
+ const joinPath = (...parts) => {
3
+ const cleanPath = parts.filter((part) => Boolean(part)).map((part) => part.replace(/(^\/+|\/+$)/g, "")).join("/");
4
+ return cleanPath ? `/${cleanPath}` : "";
5
+ };
6
+ const traverseNavigationNode = (node, callback, parentPath, parentNodes = []) => {
7
+ const newPath = isPathItem(node) ? joinPath(parentPath, node.path) : parentPath;
8
+ const result = callback(node, newPath, parentNodes);
9
+ if (result !== void 0) return result;
10
+ if ("children" in node && node.children) {
11
+ const newParentNodes = [...parentNodes, node];
12
+ for (const child of node.children) {
13
+ const childResult = traverseNavigationNode(
14
+ child,
15
+ callback,
16
+ newPath,
17
+ newParentNodes
18
+ );
19
+ if (childResult !== void 0) return childResult;
20
+ }
21
+ }
22
+ return void 0;
23
+ };
24
+ const traverseNavigation = (navItem, callback) => {
25
+ if (navItem.categories) {
26
+ for (const category of navItem.categories) {
27
+ const result = traverseNavigationNode(category, callback, navItem.path);
28
+ if (result !== void 0) return result;
29
+ }
30
+ }
31
+ return void 0;
32
+ };
33
+ const isPathItem = (item) => "path" in item;
34
+ const isLinkItem = (item) => "href" in item;
35
+ const checkHasActiveItem = (item, locationPath, basePath) => {
36
+ return Boolean(
37
+ traverseNavigationNode(
38
+ item,
39
+ (node, fullPath) => {
40
+ if (isPathItem(node) && matchPath(fullPath, locationPath)) {
41
+ return true;
42
+ }
43
+ },
44
+ basePath
45
+ )
46
+ );
47
+ };
48
+ export {
49
+ isLinkItem as a,
50
+ checkHasActiveItem as c,
51
+ isPathItem as i,
52
+ joinPath as j,
53
+ traverseNavigation as t
54
+ };
55
+ //# sourceMappingURL=util-B5KX4h4M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util-_jwUlTBU.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-B5KX4h4M.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":[],"mappings":";AAAa,MAAA,WAAW,IACnB,UACA;AACH,QAAM,YAAY,MACf,OAAO,CAAC,SAAyB,QAAQ,IAAI,CAAC,EAC9C,IAAI,CAAC,SAAS,KAAK,QAAQ,gBAAgB,EAAE,CAAC,EAC9C,KAAK,GAAG;AAEJ,SAAA,YAAY,IAAI,SAAS,KAAK;AACvC;ACMO,MAAM,yBAAyB,CACpC,MACA,UACA,YACA,cAAgC,CAAA,MACd;AACZ,QAAA,UAAU,WAAW,IAAI,IAC3B,SAAS,YAAY,KAAK,IAAI,IAC9B;AACJ,QAAM,SAAS,SAAS,MAAM,SAAS,WAAW;AAE9C,MAAA,WAAW,OAAkB,QAAA;AAE7B,MAAA,cAAc,QAAQ,KAAK,UAAU;AACvC,UAAM,iBAAiB,CAAC,GAAG,aAAa,IAAI;AACjC,eAAA,SAAS,KAAK,UAAU;AACjC,YAAM,cAAc;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAEE,UAAA,gBAAgB,OAAkB,QAAA;AAAA,IACxC;AAAA,EACF;AACO,SAAA;AACT;AAEa,MAAA,qBAAqB,CAChC,SACA,aACkB;AAClB,MAAI,QAAQ,YAAY;AACX,eAAA,YAAY,QAAQ,YAAY;AACzC,YAAM,SAAS,uBAAuB,UAAU,UAAU,QAAQ,IAAI;AAClE,UAAA,WAAW,OAAkB,QAAA;AAAA,IACnC;AAAA,EACF;AACO,SAAA;AACT;AC5Ca,MAAA,aAAa,CACxB,SACuC,UAAU;AAEtC,MAAA,aAAa,CACxB,SACuC,UAAU;AAK5C,MAAM,qBAAqB,CAChC,MACA,cACA,aACG;AACI,SAAA;AAAA,IACL;AAAA,MACE;AAAA,MACA,CAAC,MAAM,aAAa;AAClB,YAAI,WAAW,IAAI,KAAK,UAAU,UAAU,YAAY,GAAG;AAClD,iBAAA;AAAA,QACT;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EAAA;AAEJ;"}
@@ -1,28 +1,34 @@
1
- import { u as i } from "./state-DKdaQzvh.js";
2
- import { OpenIDAuthenticationProvider as n } from "./zudoku.auth-openid.js";
3
- class r extends n {
1
+ import { u as useAuthState } from "./state-CmGfNKhR.js";
2
+ import { OpenIDAuthenticationProvider } from "./zudoku.auth-openid.js";
3
+ class Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {
4
4
  async logout() {
5
- i.setState({
6
- isAuthenticated: !1,
7
- isPending: !1,
5
+ useAuthState.setState({
6
+ isAuthenticated: false,
7
+ isPending: false,
8
8
  profile: void 0
9
9
  });
10
- const t = await this.getAuthServer(), e = new URL(window.location.href);
11
- e.pathname = this.logoutRedirectUrlPath;
12
- let o;
13
- t.end_session_endpoint ? (o = new URL(t.end_session_endpoint), o.searchParams.set(
14
- "post_logout_redirect_uri",
15
- e.toString()
16
- )) : o = new URL(`${this.issuer}oidc/logout`);
10
+ const as = await this.getAuthServer();
11
+ const redirectUrl = new URL(window.location.href);
12
+ redirectUrl.pathname = this.logoutRedirectUrlPath;
13
+ let logoutUrl;
14
+ if (as.end_session_endpoint) {
15
+ logoutUrl = new URL(as.end_session_endpoint);
16
+ logoutUrl.searchParams.set(
17
+ "post_logout_redirect_uri",
18
+ redirectUrl.toString()
19
+ );
20
+ } else {
21
+ logoutUrl = new URL(`${this.issuer}oidc/logout`);
22
+ }
17
23
  }
18
24
  }
19
- const d = ({ domain: s, clientId: t, audience: e }) => new r({
25
+ const auth0Auth = ({ domain, clientId, audience }) => new Auth0AuthenticationProvider({
20
26
  type: "openid",
21
- issuer: `https://${s}`,
22
- clientId: t,
23
- audience: e
27
+ issuer: `https://${domain}`,
28
+ clientId,
29
+ audience
24
30
  });
25
31
  export {
26
- d as default
32
+ auth0Auth as default
27
33
  };
28
34
  //# sourceMappingURL=zudoku.auth-auth0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {\n override async logout(): Promise<void> {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n const as = await this.getAuthServer();\n\n const redirectUrl = new URL(window.location.href);\n redirectUrl.pathname = this.logoutRedirectUrlPath;\n\n // SEE: https://auth0.com/docs/authenticate/login/logout/log-users-out-of-auth0\n // For Auth0 tenants created on or after 14 November 2023, RP-Initiated\n // Logout End Session Endpoint Discovery is enabled by default.\n // Otherwise we fallback to the old non-compliant logout\n\n let logoutUrl: URL;\n // The endSessionEndpoint is set, the IdP supports some form of logout,\n // so we use the IdP logout. Otherwise, just redirect the user to home\n if (as.end_session_endpoint) {\n logoutUrl = new URL(as.end_session_endpoint);\n // TODO: get id_token and set hint\n // const { id_token } = session;\n // if (id_token) {\n // logoutUrl.searchParams.set(\"id_token_hint\", id_token);\n // }\n logoutUrl.searchParams.set(\n \"post_logout_redirect_uri\",\n redirectUrl.toString(),\n );\n } else {\n logoutUrl = new URL(`${this.issuer}oidc/logout`);\n }\n }\n}\n\nconst auth0Auth: AuthenticationProviderInitializer<\n Auth0AuthenticationConfig\n> = ({ domain, clientId, audience }) =>\n new Auth0AuthenticationProvider({\n type: \"openid\",\n issuer: `https://${domain}`,\n clientId: clientId,\n audience: audience,\n });\n\nexport default auth0Auth;\n"],"names":["Auth0AuthenticationProvider","OpenIDAuthenticationProvider","useAuthState","as","redirectUrl","logoutUrl","auth0Auth","domain","clientId","audience"],"mappings":";;AAKA,MAAMA,UAAoCC,EAA6B;AAAA,EACrE,MAAe,SAAwB;AACrC,IAAAC,EAAa,SAAS;AAAA,MACpB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AACK,UAAAC,IAAK,MAAM,KAAK,iBAEhBC,IAAc,IAAI,IAAI,OAAO,SAAS,IAAI;AAChD,IAAAA,EAAY,WAAW,KAAK;AAOxB,QAAAC;AAGJ,IAAIF,EAAG,wBACOE,IAAA,IAAI,IAAIF,EAAG,oBAAoB,GAM3CE,EAAU,aAAa;AAAA,MACrB;AAAA,MACAD,EAAY,SAAS;AAAA,IAAA,KAGvBC,IAAY,IAAI,IAAI,GAAG,KAAK,MAAM,aAAa;AAAA,EAEnD;AACF;AAEM,MAAAC,IAEF,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,UAAAC,EAAS,MAChC,IAAIT,EAA4B;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ,WAAWO,CAAM;AAAA,EACzB,UAAAC;AAAA,EACA,UAAAC;AACF,CAAC;"}
1
+ {"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {\n override async logout(): Promise<void> {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n const as = await this.getAuthServer();\n\n const redirectUrl = new URL(window.location.href);\n redirectUrl.pathname = this.logoutRedirectUrlPath;\n\n // SEE: https://auth0.com/docs/authenticate/login/logout/log-users-out-of-auth0\n // For Auth0 tenants created on or after 14 November 2023, RP-Initiated\n // Logout End Session Endpoint Discovery is enabled by default.\n // Otherwise we fallback to the old non-compliant logout\n\n let logoutUrl: URL;\n // The endSessionEndpoint is set, the IdP supports some form of logout,\n // so we use the IdP logout. Otherwise, just redirect the user to home\n if (as.end_session_endpoint) {\n logoutUrl = new URL(as.end_session_endpoint);\n // TODO: get id_token and set hint\n // const { id_token } = session;\n // if (id_token) {\n // logoutUrl.searchParams.set(\"id_token_hint\", id_token);\n // }\n logoutUrl.searchParams.set(\n \"post_logout_redirect_uri\",\n redirectUrl.toString(),\n );\n } else {\n logoutUrl = new URL(`${this.issuer}oidc/logout`);\n }\n }\n}\n\nconst auth0Auth: AuthenticationProviderInitializer<\n Auth0AuthenticationConfig\n> = ({ domain, clientId, audience }) =>\n new Auth0AuthenticationProvider({\n type: \"openid\",\n issuer: `https://${domain}`,\n clientId: clientId,\n audience: audience,\n });\n\nexport default auth0Auth;\n"],"names":[],"mappings":";;AAKA,MAAM,oCAAoC,6BAA6B;AAAA,EACrE,MAAe,SAAwB;AACrC,iBAAa,SAAS;AAAA,MACpB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AACK,UAAA,KAAK,MAAM,KAAK;AAEtB,UAAM,cAAc,IAAI,IAAI,OAAO,SAAS,IAAI;AAChD,gBAAY,WAAW,KAAK;AAOxB,QAAA;AAGJ,QAAI,GAAG,sBAAsB;AACf,kBAAA,IAAI,IAAI,GAAG,oBAAoB;AAM3C,gBAAU,aAAa;AAAA,QACrB;AAAA,QACA,YAAY,SAAS;AAAA,MAAA;AAAA,IACvB,OACK;AACL,kBAAY,IAAI,IAAI,GAAG,KAAK,MAAM,aAAa;AAAA,IACjD;AAAA,EACF;AACF;AAEM,MAAA,YAEF,CAAC,EAAE,QAAQ,UAAU,SAAS,MAChC,IAAI,4BAA4B;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ,WAAW,MAAM;AAAA,EACzB;AAAA,EACA;AACF,CAAC;"}
@@ -1,51 +1,60 @@
1
- import { u as t } from "./state-DKdaQzvh.js";
2
- const r = ({ clerkPubKey: n }) => {
3
- let e;
4
- const i = (async () => {
5
- if (typeof window > "u") return;
6
- const { Clerk: s } = await import("@clerk/clerk-js");
7
- e = new s(n), await e.load({});
1
+ import { u as useAuthState } from "./state-CmGfNKhR.js";
2
+ const clerkAuth = ({ clerkPubKey }) => {
3
+ let clerkApi;
4
+ const ensureLoaded = (async () => {
5
+ if (typeof window === "undefined") return;
6
+ const { Clerk } = await import("@clerk/clerk-js");
7
+ clerkApi = new Clerk(clerkPubKey);
8
+ await clerkApi.load({});
8
9
  })();
9
- async function a() {
10
- if (await i, !e.session)
10
+ async function getAccessToken() {
11
+ await ensureLoaded;
12
+ if (!clerkApi.session) {
11
13
  throw new Error("No session available");
12
- const s = await e.session.getToken();
13
- if (!s)
14
+ }
15
+ const response = await clerkApi.session.getToken();
16
+ if (!response) {
14
17
  throw new Error("Could not get access token from Clerk");
15
- return s;
18
+ }
19
+ return response;
16
20
  }
17
21
  return {
18
22
  initialize: async () => {
19
- var s;
20
- await i, e.session ? t.setState({
21
- isAuthenticated: !0,
22
- isPending: !1,
23
- profile: {
24
- sub: e.session.user.id,
25
- name: e.session.user.fullName ?? void 0,
26
- email: (s = e.session.user.emailAddresses[0]) == null ? void 0 : s.emailAddress,
27
- emailVerified: !1,
28
- // TODO: Check this
29
- // emailVerified: clerkApi.session.user.hasVerifiedEmailAddress,
30
- pictureUrl: e.session.user.imageUrl
31
- }
32
- }) : t.setState({
33
- isAuthenticated: !1,
34
- isPending: !1,
35
- profile: void 0
36
- });
23
+ var _a;
24
+ await ensureLoaded;
25
+ if (clerkApi.session) {
26
+ useAuthState.setState({
27
+ isAuthenticated: true,
28
+ isPending: false,
29
+ profile: {
30
+ sub: clerkApi.session.user.id,
31
+ name: clerkApi.session.user.fullName ?? void 0,
32
+ email: (_a = clerkApi.session.user.emailAddresses[0]) == null ? void 0 : _a.emailAddress,
33
+ emailVerified: false,
34
+ // TODO: Check this
35
+ // emailVerified: clerkApi.session.user.hasVerifiedEmailAddress,
36
+ pictureUrl: clerkApi.session.user.imageUrl
37
+ }
38
+ });
39
+ } else {
40
+ useAuthState.setState({
41
+ isAuthenticated: false,
42
+ isPending: false,
43
+ profile: void 0
44
+ });
45
+ }
37
46
  },
38
- getAccessToken: a,
47
+ getAccessToken,
39
48
  logout: async () => {
40
- await e.signOut();
49
+ await clerkApi.signOut();
41
50
  },
42
51
  login: async () => {
43
- await e.redirectToSignIn();
52
+ await clerkApi.redirectToSignIn();
44
53
  },
45
54
  getRoutes: () => []
46
55
  };
47
56
  };
48
57
  export {
49
- r as default
58
+ clerkAuth as default
50
59
  };
51
60
  //# sourceMappingURL=zudoku.auth-clerk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.auth-clerk.js","sources":["../src/lib/authentication/providers/clerk.tsx"],"sourcesContent":["import type { Clerk } from \"@clerk/clerk-js\";\nimport { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\n> = ({ clerkPubKey }) => {\n let clerkApi: Clerk;\n\n const ensureLoaded = (async () => {\n if (typeof window === \"undefined\") return;\n const { Clerk } = await import(\"@clerk/clerk-js\");\n clerkApi = new Clerk(clerkPubKey);\n\n await clerkApi.load({});\n })();\n\n async function getAccessToken() {\n await ensureLoaded;\n if (!clerkApi.session) {\n throw new Error(\"No session available\");\n }\n const response = await clerkApi.session.getToken();\n if (!response) {\n throw new Error(\"Could not get access token from Clerk\");\n }\n return response;\n }\n\n return {\n initialize: async () => {\n await ensureLoaded;\n\n if (clerkApi.session) {\n useAuthState.setState({\n isAuthenticated: true,\n isPending: false,\n profile: {\n sub: clerkApi.session.user.id,\n name: clerkApi.session.user.fullName ?? undefined,\n email: clerkApi.session.user.emailAddresses[0]?.emailAddress,\n emailVerified: false, // TODO: Check this\n // emailVerified: clerkApi.session.user.hasVerifiedEmailAddress,\n pictureUrl: clerkApi.session.user.imageUrl,\n },\n });\n } else {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n }\n },\n getAccessToken,\n logout: async () => {\n await clerkApi.signOut();\n },\n login: async () => {\n await clerkApi.redirectToSignIn();\n },\n getRoutes: () => [],\n };\n};\n\nexport default clerkAuth;\n"],"names":["clerkAuth","clerkPubKey","clerkApi","ensureLoaded","Clerk","getAccessToken","response","useAuthState","_a"],"mappings":";AAKA,MAAMA,IAEF,CAAC,EAAE,aAAAC,QAAkB;AACnB,MAAAC;AAEJ,QAAMC,KAAgB,YAAY;AAC5B,QAAA,OAAO,SAAW,IAAa;AACnC,UAAM,EAAE,OAAAC,EAAA,IAAU,MAAM,OAAO,iBAAiB;AACrC,IAAAF,IAAA,IAAIE,EAAMH,CAAW,GAE1B,MAAAC,EAAS,KAAK,CAAA,CAAE;AAAA,EAAA;AAGxB,iBAAeG,IAAiB;AAE1B,QADE,MAAAF,GACF,CAACD,EAAS;AACN,YAAA,IAAI,MAAM,sBAAsB;AAExC,UAAMI,IAAW,MAAMJ,EAAS,QAAQ,SAAS;AACjD,QAAI,CAACI;AACG,YAAA,IAAI,MAAM,uCAAuC;AAElD,WAAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACL,YAAY,YAAY;;AAChB,YAAAH,GAEFD,EAAS,UACXK,EAAa,SAAS;AAAA,QACpB,iBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,SAAS;AAAA,UACP,KAAKL,EAAS,QAAQ,KAAK;AAAA,UAC3B,MAAMA,EAAS,QAAQ,KAAK,YAAY;AAAA,UACxC,QAAOM,IAAAN,EAAS,QAAQ,KAAK,eAAe,CAAC,MAAtC,gBAAAM,EAAyC;AAAA,UAChD,eAAe;AAAA;AAAA;AAAA,UAEf,YAAYN,EAAS,QAAQ,KAAK;AAAA,QACpC;AAAA,MAAA,CACD,IAEDK,EAAa,SAAS;AAAA,QACpB,iBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,SAAS;AAAA,MAAA,CACV;AAAA,IAEL;AAAA,IACA,gBAAAF;AAAA,IACA,QAAQ,YAAY;AAClB,YAAMH,EAAS;IACjB;AAAA,IACA,OAAO,YAAY;AACjB,YAAMA,EAAS;IACjB;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,EAAA;AAEtB;"}
1
+ {"version":3,"file":"zudoku.auth-clerk.js","sources":["../src/lib/authentication/providers/clerk.tsx"],"sourcesContent":["import type { Clerk } from \"@clerk/clerk-js\";\nimport { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\n> = ({ clerkPubKey }) => {\n let clerkApi: Clerk;\n\n const ensureLoaded = (async () => {\n if (typeof window === \"undefined\") return;\n const { Clerk } = await import(\"@clerk/clerk-js\");\n clerkApi = new Clerk(clerkPubKey);\n\n await clerkApi.load({});\n })();\n\n async function getAccessToken() {\n await ensureLoaded;\n if (!clerkApi.session) {\n throw new Error(\"No session available\");\n }\n const response = await clerkApi.session.getToken();\n if (!response) {\n throw new Error(\"Could not get access token from Clerk\");\n }\n return response;\n }\n\n return {\n initialize: async () => {\n await ensureLoaded;\n\n if (clerkApi.session) {\n useAuthState.setState({\n isAuthenticated: true,\n isPending: false,\n profile: {\n sub: clerkApi.session.user.id,\n name: clerkApi.session.user.fullName ?? undefined,\n email: clerkApi.session.user.emailAddresses[0]?.emailAddress,\n emailVerified: false, // TODO: Check this\n // emailVerified: clerkApi.session.user.hasVerifiedEmailAddress,\n pictureUrl: clerkApi.session.user.imageUrl,\n },\n });\n } else {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n }\n },\n getAccessToken,\n logout: async () => {\n await clerkApi.signOut();\n },\n login: async () => {\n await clerkApi.redirectToSignIn();\n },\n getRoutes: () => [],\n };\n};\n\nexport default clerkAuth;\n"],"names":[],"mappings":";AAKA,MAAM,YAEF,CAAC,EAAE,kBAAkB;AACnB,MAAA;AAEJ,QAAM,gBAAgB,YAAY;AAC5B,QAAA,OAAO,WAAW,YAAa;AACnC,UAAM,EAAE,MAAA,IAAU,MAAM,OAAO,iBAAiB;AACrC,eAAA,IAAI,MAAM,WAAW;AAE1B,UAAA,SAAS,KAAK,CAAA,CAAE;AAAA,EAAA;AAGxB,iBAAe,iBAAiB;AACxB,UAAA;AACF,QAAA,CAAC,SAAS,SAAS;AACf,YAAA,IAAI,MAAM,sBAAsB;AAAA,IACxC;AACA,UAAM,WAAW,MAAM,SAAS,QAAQ,SAAS;AACjD,QAAI,CAAC,UAAU;AACP,YAAA,IAAI,MAAM,uCAAuC;AAAA,IACzD;AACO,WAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACL,YAAY,YAAY;;AAChB,YAAA;AAEN,UAAI,SAAS,SAAS;AACpB,qBAAa,SAAS;AAAA,UACpB,iBAAiB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,YACP,KAAK,SAAS,QAAQ,KAAK;AAAA,YAC3B,MAAM,SAAS,QAAQ,KAAK,YAAY;AAAA,YACxC,QAAO,cAAS,QAAQ,KAAK,eAAe,CAAC,MAAtC,mBAAyC;AAAA,YAChD,eAAe;AAAA;AAAA;AAAA,YAEf,YAAY,SAAS,QAAQ,KAAK;AAAA,UACpC;AAAA,QAAA,CACD;AAAA,MAAA,OACI;AACL,qBAAa,SAAS;AAAA,UACpB,iBAAiB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,QAAA,CACV;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA,IACA,QAAQ,YAAY;AAClB,YAAM,SAAS;IACjB;AAAA,IACA,OAAO,YAAY;AACjB,YAAM,SAAS;IACjB;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,EAAA;AAEtB;"}