zudoku 0.3.0-dev.54 → 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 (121) hide show
  1. package/lib/AnchorLink-BaXHjhF-.js +989 -0
  2. package/lib/{AnchorLink-BCN_a_Uz.js.map → AnchorLink-BaXHjhF-.js.map} +1 -1
  3. package/lib/Combination-BfufJFkX.js +1365 -0
  4. package/lib/{Combination-B0Iu6mhJ.js.map → Combination-BfufJFkX.js.map} +1 -1
  5. package/lib/DevPortalProvider-GjdO0Xr-.js +1610 -0
  6. package/lib/{DevPortalProvider-Do9oJqme.js.map → DevPortalProvider-GjdO0Xr-.js.map} +1 -1
  7. package/lib/Markdown-B8nPVql1.js +19708 -0
  8. package/lib/Markdown-B8nPVql1.js.map +1 -0
  9. package/lib/MdxPage-Dlujuj-J.js +223 -0
  10. package/lib/{MdxPage-Bsc79cD-.js.map → MdxPage-Dlujuj-J.js.map} +1 -1
  11. package/lib/OperationList-krPgt6sE.js +8041 -0
  12. package/lib/{OperationList-K-JWBxau.js.map → OperationList-krPgt6sE.js.map} +1 -1
  13. package/lib/Playground-DOHxca0P.js +539 -0
  14. package/lib/{Playground-Czy7ha9z.js.map → Playground-DOHxca0P.js.map} +1 -1
  15. package/lib/Route-CR6TEwVC.js +13 -0
  16. package/lib/{Route-D-egsGHx.js.map → Route-CR6TEwVC.js.map} +1 -1
  17. package/lib/Select-Boi_pe3L.js +5298 -0
  18. package/lib/{Select-CcBbwJ2R.js.map → Select-Boi_pe3L.js.map} +1 -1
  19. package/lib/Spinner-oU0QJmi_.js +16 -0
  20. package/lib/{Spinner-C9_Opdev.js.map → Spinner-oU0QJmi_.js.map} +1 -1
  21. package/lib/_commonjsHelpers-BxmBWJD2.js +34 -0
  22. package/lib/_commonjsHelpers-BxmBWJD2.js.map +1 -0
  23. package/lib/assets/index-CpIig0AX.js +6341 -0
  24. package/lib/{index-pI9JkN46.js.map → assets/index-CpIig0AX.js.map} +1 -1
  25. package/lib/assets/worker-B5k2aBV9.js +18921 -0
  26. package/lib/assets/{worker-BjPv-hjP.js.map → worker-B5k2aBV9.js.map} +1 -1
  27. package/lib/context-BoN_3uxi.js +17 -0
  28. package/lib/{context-_fYfJFgk.js.map → context-BoN_3uxi.js.map} +1 -1
  29. package/lib/hook-CIuFuyBT.js +90 -0
  30. package/lib/{hook-CKqQERWo.js.map → hook-CIuFuyBT.js.map} +1 -1
  31. package/lib/index-BL1P4Gqq.js +280 -0
  32. package/lib/{index-ByHya67R.js.map → index-BL1P4Gqq.js.map} +1 -1
  33. package/lib/index-Bn03IPZt.js +6341 -0
  34. package/lib/{assets/index-BPdJm2ty.js.map → index-Bn03IPZt.js.map} +1 -1
  35. package/lib/{index-jsFBaizC.js → index-Dih8IAqw.js} +103 -83
  36. package/lib/{index-jsFBaizC.js.map → index-Dih8IAqw.js.map} +1 -1
  37. package/lib/index-FprhHF51.js +253 -0
  38. package/lib/{index-DseBZFJ-.js.map → index-FprhHF51.js.map} +1 -1
  39. package/lib/jsx-runtime-DvZ6OKMM.js +2110 -0
  40. package/lib/{jsx-runtime-CJZJivg2.js.map → jsx-runtime-DvZ6OKMM.js.map} +1 -1
  41. package/lib/mutation-DWY9x2Uc.js +250 -0
  42. package/lib/{mutation-DjbQSHzT.js.map → mutation-DWY9x2Uc.js.map} +1 -1
  43. package/lib/prism-bash.min-BtBk0onv.js +7 -0
  44. package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-BtBk0onv.js.map} +1 -1
  45. package/lib/prism-csharp.min-Cv7D49bv.js +30 -0
  46. package/lib/{prism-csharp.min-Yizuc34Y.js.map → prism-csharp.min-Cv7D49bv.js.map} +1 -1
  47. package/lib/prism-java.min-tNK-JX6x.js +7 -0
  48. package/lib/{prism-java.min-d5iT_mOd.js.map → prism-java.min-tNK-JX6x.js.map} +1 -1
  49. package/lib/prism-json.min-Cdtv-CME.js +2 -0
  50. package/lib/{prism-json.min-B1GJqK1k.js.map → prism-json.min-Cdtv-CME.js.map} +1 -1
  51. package/lib/prism-markup-templating-iotg2sCU.js +94 -0
  52. package/lib/{prism-markup-templating-DZrrEs0A.js.map → prism-markup-templating-iotg2sCU.js.map} +1 -1
  53. package/lib/prism-objectivec.min-CY4WGixz.js +2 -0
  54. package/lib/{prism-objectivec.min-BXSWqpJJ.js.map → prism-objectivec.min-CY4WGixz.js.map} +1 -1
  55. package/lib/prism-php.min-T6sIVgED.js +11 -0
  56. package/lib/{prism-php.min-o7FpoMP_.js.map → prism-php.min-T6sIVgED.js.map} +1 -1
  57. package/lib/prism-ruby.min-B-2KAa4y.js +8 -0
  58. package/lib/{prism-ruby.min-C7LwcKyz.js.map → prism-ruby.min-B-2KAa4y.js.map} +1 -1
  59. package/lib/router-ButO1QyY.js +4062 -0
  60. package/lib/{router-CBw2vqJE.js.map → router-ButO1QyY.js.map} +1 -1
  61. package/lib/slugify-CmS97Vy8.js +50 -0
  62. package/lib/{slugify-CiPVjteN.js.map → slugify-CmS97Vy8.js.map} +1 -1
  63. package/lib/state-CmGfNKhR.js +436 -0
  64. package/lib/{state-DKdaQzvh.js.map → state-CmGfNKhR.js.map} +1 -1
  65. package/lib/urql-DtVKPBx_.js +2567 -0
  66. package/lib/{urql-DEKdguFl.js.map → urql-DtVKPBx_.js.map} +1 -1
  67. package/lib/util-B5KX4h4M.js +55 -0
  68. package/lib/{util-_jwUlTBU.js.map → util-B5KX4h4M.js.map} +1 -1
  69. package/lib/zudoku.auth-auth0.js +24 -18
  70. package/lib/zudoku.auth-auth0.js.map +1 -1
  71. package/lib/zudoku.auth-clerk.js +43 -34
  72. package/lib/zudoku.auth-clerk.js.map +1 -1
  73. package/lib/zudoku.auth-openid.js +1121 -734
  74. package/lib/zudoku.auth-openid.js.map +1 -1
  75. package/lib/zudoku.components.js +1076 -823
  76. package/lib/zudoku.components.js.map +1 -1
  77. package/lib/zudoku.openapi-worker.js +13776 -9681
  78. package/lib/zudoku.openapi-worker.js.map +1 -1
  79. package/lib/zudoku.plugin-api-keys.js +206 -165
  80. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  81. package/lib/zudoku.plugin-markdown.js +41 -33
  82. package/lib/zudoku.plugin-markdown.js.map +1 -1
  83. package/lib/zudoku.plugin-openapi.js +6 -6
  84. package/lib/zudoku.plugin-redirect.js +10 -8
  85. package/lib/zudoku.plugin-redirect.js.map +1 -1
  86. package/package.json +1 -1
  87. package/lib/AnchorLink-BCN_a_Uz.js +0 -705
  88. package/lib/Combination-B0Iu6mhJ.js +0 -915
  89. package/lib/DevPortalProvider-Do9oJqme.js +0 -1081
  90. package/lib/Markdown-aE_XoLNs.js +0 -15030
  91. package/lib/Markdown-aE_XoLNs.js.map +0 -1
  92. package/lib/MdxPage-Bsc79cD-.js +0 -190
  93. package/lib/OperationList-K-JWBxau.js +0 -5091
  94. package/lib/Playground-Czy7ha9z.js +0 -502
  95. package/lib/Route-D-egsGHx.js +0 -13
  96. package/lib/Select-CcBbwJ2R.js +0 -3667
  97. package/lib/Spinner-C9_Opdev.js +0 -15
  98. package/lib/_commonjsHelpers-BVfed4GL.js +0 -29
  99. package/lib/_commonjsHelpers-BVfed4GL.js.map +0 -1
  100. package/lib/assets/index-BPdJm2ty.js +0 -4765
  101. package/lib/assets/worker-BjPv-hjP.js +0 -14897
  102. package/lib/context-_fYfJFgk.js +0 -14
  103. package/lib/hook-CKqQERWo.js +0 -77
  104. package/lib/index-ByHya67R.js +0 -207
  105. package/lib/index-DseBZFJ-.js +0 -170
  106. package/lib/index-pI9JkN46.js +0 -4765
  107. package/lib/jsx-runtime-CJZJivg2.js +0 -1526
  108. package/lib/mutation-DjbQSHzT.js +0 -208
  109. package/lib/prism-bash.min-DadFsM4Z.js +0 -7
  110. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  111. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  112. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  113. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  114. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  115. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  116. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  117. package/lib/router-CBw2vqJE.js +0 -2973
  118. package/lib/slugify-CiPVjteN.js +0 -28
  119. package/lib/state-DKdaQzvh.js +0 -288
  120. package/lib/urql-DEKdguFl.js +0 -1592
  121. 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;"}