zudoku 0.57.0 → 0.57.1

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 (69) hide show
  1. package/dist/lib/components/MobileTopNavigation.js +2 -2
  2. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  3. package/dist/lib/components/TopNavigation.js +2 -2
  4. package/dist/lib/components/TopNavigation.js.map +1 -1
  5. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  6. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  7. package/dist/lib/components/navigation/utils.d.ts +1 -1
  8. package/dist/lib/components/navigation/utils.js +1 -1
  9. package/dist/lib/components/navigation/utils.js.map +1 -1
  10. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  11. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  12. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  13. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  14. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  15. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  16. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  17. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  18. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  19. package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
  20. package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +1 -1
  21. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  22. package/dist/vite/plugin-mdx.js +6 -23
  23. package/dist/vite/plugin-mdx.js.map +1 -1
  24. package/dist/vite/plugin-navigation.js +33 -34
  25. package/dist/vite/plugin-navigation.js.map +1 -1
  26. package/lib/{MdxPage-BmOQ5m5g.js → MdxPage-CsYakgbK.js} +2 -2
  27. package/lib/{MdxPage-BmOQ5m5g.js.map → MdxPage-CsYakgbK.js.map} +1 -1
  28. package/lib/{OAuthErrorPage-Jv3r8wnL.js → OAuthErrorPage-CW81kc7H.js} +3 -3
  29. package/lib/{OAuthErrorPage-Jv3r8wnL.js.map → OAuthErrorPage-CW81kc7H.js.map} +1 -1
  30. package/lib/{OasProvider-CA_lpILt.js → OasProvider-DF34c7Tj.js} +2 -2
  31. package/lib/{OasProvider-CA_lpILt.js.map → OasProvider-DF34c7Tj.js.map} +1 -1
  32. package/lib/{OperationList-C-TObVw6.js → OperationList-BT3T9cyh.js} +5 -5
  33. package/lib/{OperationList-C-TObVw6.js.map → OperationList-BT3T9cyh.js.map} +1 -1
  34. package/lib/{Pagination-CBiRGddW.js → Pagination-BvcjSQfr.js} +2 -2
  35. package/lib/{Pagination-CBiRGddW.js.map → Pagination-BvcjSQfr.js.map} +1 -1
  36. package/lib/{SchemaList-BeYWvBC7.js → SchemaList-BSTuCiI1.js} +3 -3
  37. package/lib/{SchemaList-BeYWvBC7.js.map → SchemaList-BSTuCiI1.js.map} +1 -1
  38. package/lib/{SchemaView-CRcShewo.js → SchemaView-B5oMHFaS.js} +3 -3
  39. package/lib/{SchemaView-CRcShewo.js.map → SchemaView-B5oMHFaS.js.map} +1 -1
  40. package/lib/{SignUp-CxBGHgba.js → SignUp-BHw9Ci8d.js} +2 -2
  41. package/lib/{SignUp-CxBGHgba.js.map → SignUp-BHw9Ci8d.js.map} +1 -1
  42. package/lib/Slot-DOtTvoyj.js.map +1 -1
  43. package/lib/ZudokuContext-BuJD7yIX.js.map +1 -1
  44. package/lib/{circular-CGTcsqA3.js → circular-DKJCbMIs.js} +2 -2
  45. package/lib/{circular-CGTcsqA3.js.map → circular-DKJCbMIs.js.map} +1 -1
  46. package/lib/{createServer-DjgpuLne.js → createServer-DR-J5mEE.js} +3 -3
  47. package/lib/{createServer-DjgpuLne.js.map → createServer-DR-J5mEE.js.map} +1 -1
  48. package/lib/{errors-CrI3s7mR.js → errors-C1fOoSR8.js} +2 -2
  49. package/lib/{errors-CrI3s7mR.js.map → errors-C1fOoSR8.js.map} +1 -1
  50. package/lib/{index-DzO-Qh6S.js → index-DDHx4NBX.js} +47 -47
  51. package/lib/index-DDHx4NBX.js.map +1 -0
  52. package/lib/{index-CvTWnHZF.js → index-DLcG9mHm.js} +7 -7
  53. package/lib/{index-CvTWnHZF.js.map → index-DLcG9mHm.js.map} +1 -1
  54. package/lib/zudoku.__internal.js +1 -1
  55. package/lib/zudoku.auth-azureb2c.js +3 -3
  56. package/lib/zudoku.auth-clerk.js +1 -1
  57. package/lib/zudoku.auth-openid.js +3 -3
  58. package/lib/zudoku.auth-supabase.js +1 -1
  59. package/lib/zudoku.components.js +1 -1
  60. package/lib/zudoku.plugin-api-catalog.js +1 -1
  61. package/lib/zudoku.plugin-markdown.js +1 -1
  62. package/lib/zudoku.plugin-openapi.js +1 -1
  63. package/package.json +2 -1
  64. package/src/lib/components/MobileTopNavigation.tsx +2 -2
  65. package/src/lib/components/TopNavigation.tsx +2 -2
  66. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  67. package/src/lib/components/navigation/utils.ts +1 -1
  68. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  69. package/lib/index-DzO-Qh6S.js.map +0 -1
@@ -8,7 +8,7 @@ import { Drawer, DrawerContent, DrawerTitle, DrawerTrigger, } from "../ui/Drawer
8
8
  import { ClientOnly } from "./ClientOnly.js";
9
9
  import { useZudoku } from "./context/ZudokuContext.js";
10
10
  import { PoweredByZudoku } from "./navigation/PoweredByZudoku.js";
11
- import { isHiddenItem } from "./navigation/utils.js";
11
+ import { shouldShowItem } from "./navigation/utils.js";
12
12
  import { PageProgress } from "./PageProgress.js";
13
13
  import { Search } from "./Search.js";
14
14
  import { Slot } from "./Slot.js";
@@ -21,7 +21,7 @@ export const MobileTopNavigation = () => {
21
21
  const { isAuthenticated, profile, isAuthEnabled } = authState;
22
22
  const [drawerOpen, setDrawerOpen] = useState(false);
23
23
  const accountItems = getProfileMenuItems();
24
- const filteredItems = navigation.filter(isHiddenItem(authState, context));
24
+ const filteredItems = navigation.filter(shouldShowItem(authState, context));
25
25
  return (_jsxs(Drawer, { direction: options.site?.dir === "rtl" ? "left" : "right", open: drawerOpen, onOpenChange: (open) => setDrawerOpen(open), children: [_jsxs("div", { className: "flex lg:hidden justify-self-end", children: [_jsx(DrawerTrigger, { className: "lg:hidden", children: _jsx(MenuIcon, { size: 22 }) }), _jsx(PageProgress, {})] }), _jsx(DrawerContent, { className: "lg:hidden h-[100dvh] end-0 start-auto w-[320px] rounded-none", "aria-describedby": undefined, children: _jsxs("div", { className: "p-4 overflow-y-auto overscroll-none h-full flex flex-col justify-between", children: [_jsxs("div", { children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Navigation" }) }), _jsx(Search, { className: "flex p-4" }), _jsxs("ul", { className: "flex flex-col items-center gap-4 p-4", children: [_jsx("li", { className: "empty:hidden", children: _jsx(Slot.Target, { name: "top-navigation-side" }) }), isAuthEnabled && (_jsx(ClientOnly, { fallback: _jsx(Skeleton, { className: "rounded-sm h-5 w-24 mr-4" }), children: !isAuthenticated ? (_jsx("li", { children: _jsx(TopNavLink, { to: "/signin", onClick: () => setDrawerOpen(false), children: "Login" }) })) : (Object.values(getProfileMenuItems()).length > 0 && (_jsx(Fragment, { children: _jsxs("li", { children: [profile?.name ? `${profile.name}` : "My Account", profile?.email && (_jsx("div", { className: "font-normal text-muted-foreground", children: profile.email }))] }) }))) })), filteredItems.map((item) => (_jsx("li", { children: _jsx("button", { type: "button", onClick: () => setDrawerOpen(false), children: _jsx(TopNavItem, { ...item }) }) }, item.label))), isAuthEnabled && isAuthenticated && accountItems.length > 0 && (_jsx(ClientOnly, { fallback: _jsx(Skeleton, { className: "rounded-sm h-5 w-24 mr-4" }), children: accountItems.map((i) => (_jsx("li", { children: _jsx(TopNavLink, { to: i.path ?? "", onClick: () => setDrawerOpen(false), children: i.label }) }, i.label))) })), _jsx("li", { children: _jsx(ThemeSwitch, {}) })] })] }), options.site?.showPoweredBy !== false && (_jsx(PoweredByZudoku, { className: "grow-0 justify-center gap-1" }))] }) })] }));
26
26
  };
27
27
  //# sourceMappingURL=MobileTopNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileTopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/MobileTopNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileTopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/MobileTopNavigation.tsx"],"names":[],"mappings":"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"}
@@ -6,13 +6,13 @@ import { NavLink } from "react-router";
6
6
  import { useAuth } from "../authentication/hook.js";
7
7
  import { joinUrl } from "../util/joinUrl.js";
8
8
  import { useCurrentNavigation, useZudoku } from "./context/ZudokuContext.js";
9
- import { isHiddenItem, traverseNavigationItem } from "./navigation/utils.js";
9
+ import { shouldShowItem, traverseNavigationItem } from "./navigation/utils.js";
10
10
  import { Slot } from "./Slot.js";
11
11
  export const TopNavigation = () => {
12
12
  const context = useZudoku();
13
13
  const { navigation } = context;
14
14
  const auth = useAuth();
15
- const filteredItems = navigation.filter(isHiddenItem(auth, context));
15
+ const filteredItems = navigation.filter(shouldShowItem(auth, context));
16
16
  if (filteredItems.length === 0 || import.meta.env.MODE === "standalone") {
17
17
  return _jsx("style", { children: `:root { --top-nav-height: 0px; }` });
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopNavigation.js","sourceRoot":"","sources":["../../../src/lib/components/TopNavigation.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
11
11
  import { useZudoku } from "../context/ZudokuContext.js";
12
12
  import { NavigationBadge } from "./NavigationBadge.js";
13
13
  import { NavigationCategory } from "./NavigationCategory.js";
14
- import { isHiddenItem, navigationListItem } from "./utils.js";
14
+ import { navigationListItem, shouldShowItem } from "./utils.js";
15
15
  const TruncatedLabel = ({ label, className, }) => {
16
16
  const ref = useRef(null);
17
17
  const [isTruncated, setIsTruncated] = useState(false);
@@ -30,7 +30,7 @@ export const NavigationItem = ({ item, onRequestClose, }) => {
30
30
  const { activeAnchor } = useViewportAnchor();
31
31
  const auth = useAuth();
32
32
  const context = useZudoku();
33
- if (!isHiddenItem(auth, context)(item)) {
33
+ if (!shouldShowItem(auth, context)(item)) {
34
34
  return null;
35
35
  }
36
36
  switch (item.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BACE,eACE,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAC3C,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,YAEP,KAAK,GACD,EACN,WAAW,IAAI,CACd,KAAC,eAAe,IAAC,aAAa,EAAE,GAAG,YACjC,MAAC,OAAO,IAAC,uBAAuB,mBAC9B,KAAC,cAAc,IAAC,SAAS,EAAC,uBAAuB,GAAG,EACpD,MAAC,cAAc,IACb,SAAS,EAAC,qBAAqB,EAC/B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,QAAQ,aAEd,KAAC,YAAY,KAAG,EACf,KAAK,IACS,IACT,GACM,CACnB,IACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,cAAc,GAIf,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,CACL,KAAC,kBAAkB,IAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,CACvE,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,CACL,MAAC,OAAO,IACN,cAAc,QACd,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CACrC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAE7C,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,OAAO,EAAE,cAAc,EACvB,GAAG,mBAEF,IAAI,CAAC,IAAI,IAAI,KAAC,IAAI,CAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,kBAAkB,GAAG,EACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,8BACG,IAAI,CAAC,KAAK,IAAI,CACb,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,QAAQ,GAAG,CACzD,EACD,KAAC,eAAe,OAAK,IAAI,CAAC,KAAK,GAAI,IAClC,CACJ,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,KAAK,CACX,IACO,CACX,CAAC;QACJ,KAAK,MAAM,CAAC;QACZ,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChC,MAAC,UAAU,IACT,EAAE,EAAE;oBACF,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,EACK,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC5C,SAAS,EAAE,kBAAkB,CAAC;oBAC5B,QAAQ,EACN,IAAI;wBACJ,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC9D,CAAC,EACF,OAAO,EAAE,cAAc,aAEtB,IAAI,CAAC,IAAI,IAAI,KAAC,IAAI,CAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,kBAAkB,GAAG,EACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,8BACG,IAAI,CAAC,KAAK,IAAI,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,EACpD,KAAC,eAAe,OAAK,IAAI,CAAC,KAAK,GAAI,IAClC,CACJ,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,GAAQ,CAChD,IACU,CACd,CAAC,CAAC,CAAC,CACF,aACE,SAAS,EAAE,kBAAkB,EAAE,EAC/B,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,OAAO,EAAE,cAAc,aAEtB,IAAI,CAAC,IAAI,IAAI,KAAC,IAAI,CAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,kBAAkB,GAAG,EAClE,eAAM,SAAS,EAAC,mBAAmB,YAAE,IAAI,CAAC,KAAK,GAAQ,EAEvD,eAAM,SAAS,EAAC,mBAAmB,YACjC,KAAC,gBAAgB,IAAC,SAAS,EAAC,yBAAyB,EAAC,IAAI,EAAE,EAAE,GAAI,GAC7D,IACL,CACL,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"NavigationItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationItem.tsx"],"names":[],"mappings":"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"}
@@ -21,4 +21,4 @@ export declare const navigationListItem: (props?: ({
21
21
  isMuted?: boolean | null | undefined;
22
22
  isPending?: boolean | null | undefined;
23
23
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
- export declare const isHiddenItem: (auth: UseAuthReturn, context: ZudokuContext) => (item: NavigationItem) => boolean;
24
+ export declare const shouldShowItem: (auth: UseAuthReturn, context: ZudokuContext) => (item: NavigationItem) => boolean;
@@ -97,7 +97,7 @@ export const navigationListItem = cva("relative flex items-center gap-2 px-(--pa
97
97
  isActive: false,
98
98
  },
99
99
  });
100
- export const isHiddenItem = (auth, context) => (item) => {
100
+ export const shouldShowItem = (auth, context) => (item) => {
101
101
  if (typeof item.display === "function") {
102
102
  return item.display({ context, auth });
103
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Root } from "mdast";
2
+ import type { VFile } from "vfile";
3
+ export declare const remarkInjectFilepath: (rootDir: string) => (tree: Root, vfile: VFile) => void;
@@ -0,0 +1,6 @@
1
+ import path from "node:path";
2
+ import { exportMdxjsConst } from "./utils.js";
3
+ export const remarkInjectFilepath = (rootDir) => (tree, vfile) => {
4
+ tree.children.unshift(exportMdxjsConst("__filepath", path.relative(rootDir, vfile.path)));
5
+ };
6
+ //# sourceMappingURL=remark-inject-filepath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-inject-filepath.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-inject-filepath.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,KAAY,EAAE,EAAE;IAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Root } from "mdast";
2
+ export declare const remarkLinkRewrite: (basePath?: string) => (tree: Root) => void;
@@ -0,0 +1,20 @@
1
+ import path from "node:path";
2
+ import { visit } from "unist-util-visit";
3
+ export const remarkLinkRewrite = (basePath = "") => (tree) => {
4
+ visit(tree, "link", (node) => {
5
+ if (!node.url)
6
+ return;
7
+ const base = path.join(basePath);
8
+ if (basePath && node.url.startsWith(base)) {
9
+ node.url = node.url.slice(base.length);
10
+ }
11
+ else if (!node.url.startsWith("http") &&
12
+ !node.url.startsWith("mailto:") &&
13
+ !node.url.startsWith("/") &&
14
+ !node.url.startsWith("#")) {
15
+ node.url = path.join("../", node.url);
16
+ }
17
+ node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
18
+ });
19
+ };
20
+ //# sourceMappingURL=remark-link-rewrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-link-rewrite.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-link-rewrite.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,CAClB,CAAC,IAAU,EAAE,EAAE;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IACL,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EACzB,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Root } from "mdast";
2
+ export declare const remarkNormalizeImageUrl: (basePath: string) => (tree: Root) => void;
@@ -0,0 +1,12 @@
1
+ import { visit } from "unist-util-visit";
2
+ import { joinUrl } from "../../lib/util/joinUrl.js";
3
+ export const remarkNormalizeImageUrl = (basePath) => (tree) => {
4
+ visit(tree, "image", (node) => {
5
+ if (node.url.startsWith("/") &&
6
+ basePath &&
7
+ !node.url.startsWith(basePath)) {
8
+ node.url = joinUrl(basePath, node.url);
9
+ }
10
+ });
11
+ };
12
+ //# sourceMappingURL=remark-normalize-image-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-normalize-image-url.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-normalize-image-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IAC1E,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,IACE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,QAAQ;YACR,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9B,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Root } from "mdast";
2
- import { VFile } from "vfile";
1
+ import type { Root } from "mdast";
2
+ import type { VFile } from "vfile";
3
3
  export declare const remarkStaticGeneration: () => (tree: Root, file: VFile) => Promise<void>;
@@ -122,4 +122,4 @@ export const remarkStaticGeneration = () => async (tree, file) => {
122
122
  injectResult(VARIABLE_NAME, tree, executed);
123
123
  }
124
124
  };
125
- //# sourceMappingURL=remarkStaticGeneration.js.map
125
+ //# sourceMappingURL=remark-static-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-static-generation.js","sourceRoot":"","sources":["../../../src/vite/mdx/remark-static-generation.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import mdx from "@mdx-js/rollup";
3
3
  import withToc from "@stefanprobst/rehype-extract-toc";
4
4
  import withTocExport from "@stefanprobst/rehype-extract-toc/mdx";
5
5
  import { toString as hastToString } from "hast-util-to-string";
6
- import path from "node:path";
7
6
  import rehypeMdxImportMedia from "rehype-mdx-import-media";
8
7
  import rehypeSlug from "rehype-slug";
9
8
  import remarkComment from "remark-comment";
@@ -15,9 +14,12 @@ import remarkMdxFrontmatter from "remark-mdx-frontmatter";
15
14
  import { EXIT, visit } from "unist-util-visit";
16
15
  import { getCurrentConfig } from "../config/loader.js";
17
16
  import { createConfiguredShikiRehypePlugins } from "../lib/shiki.js";
17
+ import { remarkInjectFilepath } from "./mdx/remark-inject-filepath.js";
18
18
  import { remarkLastModified } from "./mdx/remark-last-modified.js";
19
+ import { remarkLinkRewrite } from "./mdx/remark-link-rewrite.js";
20
+ import { remarkNormalizeImageUrl } from "./mdx/remark-normalize-image-url.js";
21
+ import { remarkStaticGeneration } from "./mdx/remark-static-generation.js";
19
22
  import { exportMdxjsConst } from "./mdx/utils.js";
20
- import { remarkStaticGeneration } from "./remarkStaticGeneration.js";
21
23
  // Convert mdxJsxFlowElement img elements to regular element nodes
22
24
  // so rehype-mdx-import-media can pick them up
23
25
  const rehypeNormalizeMdxImages = () => (tree) => {
@@ -49,26 +51,6 @@ const rehypeNormalizeMdxImages = () => (tree) => {
49
51
  delete node.position;
50
52
  });
51
53
  };
52
- const remarkLinkRewritePlugin = (basePath = "") => (tree) => {
53
- visit(tree, "link", (node) => {
54
- if (!node.url)
55
- return;
56
- const base = path.join(basePath);
57
- if (basePath && node.url.startsWith(base)) {
58
- node.url = node.url.slice(base.length);
59
- }
60
- else if (!node.url.startsWith("http") &&
61
- !node.url.startsWith("mailto:") &&
62
- !node.url.startsWith("/") &&
63
- !node.url.startsWith("#")) {
64
- node.url = path.join("../", node.url);
65
- }
66
- node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
67
- });
68
- };
69
- const remarkInjectFilepath = (rootDir) => (tree, vfile) => {
70
- tree.children.unshift(exportMdxjsConst("__filepath", path.relative(rootDir, vfile.path)));
71
- };
72
54
  const rehypeExcerptWithMdxExport = () => (tree) => {
73
55
  let excerpt;
74
56
  visit(tree, "element", (node, _index, parent) => {
@@ -105,7 +87,8 @@ const viteMdxPlugin = () => {
105
87
  remarkMdxFrontmatter,
106
88
  remarkDirective,
107
89
  remarkDirectiveRehype,
108
- [remarkLinkRewritePlugin, config.basePath],
90
+ [remarkLinkRewrite, config.basePath],
91
+ [remarkNormalizeImageUrl, config.basePath],
109
92
  ...(config.build?.remarkPlugins ?? []),
110
93
  ],
111
94
  rehypePlugins: [
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,10 @@
1
+ import { stringify } from "javascript-stringify";
1
2
  import { getCurrentConfig } from "../config/loader.js";
2
3
  import { IconNames } from "../config/validators/icon-types.js";
3
4
  import { NavigationResolver } from "../config/validators/NavigationSchema.js";
5
+ import invariant from "../lib/util/invariant.js";
4
6
  import { writePluginDebugCode } from "./debug.js";
5
- const matchIconAnnotation = /"icon":\s*"(.*?)"/g;
6
7
  const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (match) => match.replace("-", "").toUpperCase());
7
- const replaceNavigationIcons = (code) => {
8
- const collectedIcons = new Set();
9
- let match;
10
- while ((match = matchIconAnnotation.exec(code)) !== null) {
11
- if (!IconNames.includes(match[1])) {
12
- // eslint-disable-next-line no-console
13
- console.warn(`Icon ${match[1]} not found, see: https://lucide.dev/icons/`);
14
- collectedIcons.add("MissingIcon as " + toPascalCase(match[1]));
15
- }
16
- else {
17
- collectedIcons.add(toPascalCase(match[1]));
18
- }
19
- }
20
- const importStatement = `import { ${[...collectedIcons].join(", ")} } from "zudoku/icons";`;
21
- const replacedString = code.replaceAll(matchIconAnnotation,
22
- // The element will be created by the implementers side
23
- (_, iconName) => `"icon": ${toPascalCase(iconName)}`);
24
- return [
25
- importStatement,
26
- `export const configuredNavigation = ${replacedString};`,
27
- ].join("\n");
28
- };
29
8
  const virtualModuleId = "virtual:zudoku-navigation";
30
9
  export const resolvedVirtualModuleId = "\0" + virtualModuleId;
31
10
  export const invalidate = (server) => {
@@ -47,17 +26,37 @@ export const viteNavigationPlugin = () => {
47
26
  return;
48
27
  const config = getCurrentConfig();
49
28
  const resolvedNavigation = await new NavigationResolver(config).resolve();
50
- const code = JSON.stringify(resolvedNavigation);
51
- await writePluginDebugCode(config.__meta.rootDir, "navigation-plugin", code, "json");
52
- return code;
53
- },
54
- async transform(code, id) {
55
- if (id !== resolvedVirtualModuleId)
56
- return;
57
- // In the stringified config all occurrences of icons are replaced with icon components
58
- // and their imports are added to the top.
59
- // They will be created as elements when the navigation is rendered.
60
- return replaceNavigationIcons(code);
29
+ const collectedIcons = new Set();
30
+ let hasMissingIcon = false;
31
+ // This stringifies functions and takes care of the icon replacement
32
+ const code = stringify(resolvedNavigation, (value, _indent, next, key) => {
33
+ if (key === "icon" && typeof value === "string") {
34
+ const iconName = toPascalCase(value);
35
+ if (!IconNames.includes(value)) {
36
+ // eslint-disable-next-line no-console
37
+ console.warn(`Icon "${value}" not found, see: https://lucide.dev/icons/`);
38
+ hasMissingIcon = true;
39
+ return "MissingIcon";
40
+ }
41
+ else {
42
+ collectedIcons.add(iconName);
43
+ return iconName;
44
+ }
45
+ }
46
+ return next(value);
47
+ }, 2);
48
+ invariant(code, "Failed to stringify navigation");
49
+ await writePluginDebugCode(config.__meta.rootDir, "navigation-plugin", code, "js");
50
+ if (hasMissingIcon) {
51
+ collectedIcons.add("MissingIcon");
52
+ }
53
+ const importStatement = collectedIcons.size > 0
54
+ ? `import { ${[...collectedIcons].join(", ")} } from "zudoku/icons";\n`
55
+ : "";
56
+ return [
57
+ importStatement,
58
+ `export const configuredNavigation = ${code};`,
59
+ ].join("\n");
61
60
  },
62
61
  };
63
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-navigation.js","sourceRoot":"","sources":["../../src/vite/plugin-navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-navigation.js","sourceRoot":"","sources":["../../src/vite/plugin-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAE7E,MAAM,eAAe,GAAG,2BAA2B,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAE,EAAE;IAClD,MAAM,gBAAgB,GACpB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAW,EAAE;IAC/C,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAC3C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAElC,MAAM,kBAAkB,GAAG,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAE1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;YACzC,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,oEAAoE;YACpE,MAAM,IAAI,GAAG,SAAS,CACpB,kBAAkB,EAClB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBAErC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAkB,CAAC,EAAE,CAAC;wBAC5C,sCAAsC;wBACtC,OAAO,CAAC,IAAI,CACV,SAAS,KAAK,6CAA6C,CAC5D,CAAC;wBACF,cAAc,GAAG,IAAI,CAAC;wBACtB,OAAO,aAAa,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC7B,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,EACD,CAAC,CACF,CAAC;YAEF,SAAS,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;YAElD,MAAM,oBAAoB,CACxB,MAAM,CAAC,MAAM,CAAC,OAAO,EACrB,mBAAmB,EACnB,IAAI,EACJ,IAAI,CACL,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,eAAe,GACnB,cAAc,CAAC,IAAI,GAAG,CAAC;gBACrB,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B;gBACvE,CAAC,CAAC,EAAE,CAAC;YAET,OAAO;gBACL,eAAe;gBACf,uCAAuC,IAAI,GAAG;aAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { useEffect as L } from "react";
6
6
  import { B as S } from "./Button-B3o-2Xdf.js";
7
7
  import { C as k } from "./CategoryHeading-DCpZu3yG.js";
8
8
  import { T as C, H as h } from "./Slot-DOtTvoyj.js";
9
- import { P as H } from "./Pagination-CBiRGddW.js";
9
+ import { P as H } from "./Pagination-BvcjSQfr.js";
10
10
  import { T as D } from "./Toc-BlcGIkXc.js";
11
11
  import { u as I, a as R } from "./ZudokuContext-BuJD7yIX.js";
12
12
  import { u as A } from "./useExposedProps-BH9aq4MD.js";
@@ -108,4 +108,4 @@ const _ = {
108
108
  export {
109
109
  Y as MdxPage
110
110
  };
111
- //# sourceMappingURL=MdxPage-BmOQ5m5g.js.map
111
+ //# sourceMappingURL=MdxPage-CsYakgbK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxPage-BmOQ5m5g.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
1
+ {"version":3,"file":"MdxPage-CsYakgbK.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { b as m, j as h } from "./ZudokuContext-BuJD7yIX.js";
3
3
  import { e as g, L as y } from "./chunk-QMGIS6GS-DqecZ6nq.js";
4
- import { u as _ } from "./index-DzO-Qh6S.js";
5
- import { O as d } from "./errors-CrI3s7mR.js";
4
+ import { u as _ } from "./index-DDHx4NBX.js";
5
+ import { O as d } from "./errors-C1fOoSR8.js";
6
6
  import { HomeIcon as v } from "lucide-react";
7
7
  import { H as f, T as o } from "./Slot-DOtTvoyj.js";
8
8
  import { Button as c } from "./ui/Button.js";
@@ -147,4 +147,4 @@ export {
147
147
  U as C,
148
148
  q as O
149
149
  };
150
- //# sourceMappingURL=OAuthErrorPage-Jv3r8wnL.js.map
150
+ //# sourceMappingURL=OAuthErrorPage-CW81kc7H.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthErrorPage-Jv3r8wnL.js","sources":["../src/lib/util/url.ts","../src/lib/authentication/components/CallbackHandler.tsx","../src/lib/authentication/components/OAuthErrorPage.tsx"],"sourcesContent":["/**\n * Normalizes a redirect URL by removing the origin and optionally the root path\n */\nexport function normalizeRedirectUrl(\n redirectTo: string,\n origin: string,\n basePath: string = \"/\",\n): string {\n if (!redirectTo.startsWith(origin)) {\n return redirectTo;\n }\n\n if (basePath !== \"/\" && redirectTo.startsWith(origin + basePath)) {\n return redirectTo.slice(origin.length + basePath.length);\n }\n\n return redirectTo.slice(origin.length);\n}\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Navigate } from \"react-router\";\nimport { useZudoku } from \"zudoku/components\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { normalizeRedirectUrl } from \"../../util/url.js\";\nimport { OAuthAuthorizationError, type OAuthErrorType } from \"../errors.js\";\n\nexport function CallbackHandler({\n handleCallback,\n}: {\n handleCallback: () => Promise<string>;\n}) {\n const { options } = useZudoku();\n const executeCallback = useSuspenseQuery({\n retry: false,\n queryKey: [\"oauth-callback\"],\n queryFn: async () => {\n const url = new URL(window.location.href);\n\n const errorParam = url.searchParams.get(\"error\");\n const errorDescription =\n url.searchParams.get(\"error_description\") ?? undefined;\n const errorUri = url.searchParams.get(\"error_uri\") ?? undefined;\n if (errorParam) {\n throw new OAuthAuthorizationError(\n `OAuth error '${errorParam}': ${errorDescription}`,\n {\n error: errorParam as OAuthErrorType,\n error_description: errorDescription,\n error_uri: errorUri,\n },\n );\n }\n return joinUrl(\n normalizeRedirectUrl(\n await handleCallback(),\n window.location.origin,\n options.basePath,\n ),\n );\n },\n });\n\n return <Navigate to={executeCallback.data} replace />;\n}\n","import { HomeIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { OAuthAuthorizationError } from \"../errors.js\";\nimport { useAuth } from \"../hook.js\";\n\nconst errorDetailsMap: Record<string, { message: string }> = {\n invalid_request: {\n message:\n \"The authentication request was invalid. Please try signing in again.\",\n },\n unauthorized_client: {\n message:\n \"This application is not authorized to access your account. Please contact support.\",\n },\n access_denied: {\n message:\n \"You denied access to this application. To continue, please sign in and grant access.\",\n },\n unsupported_response_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n invalid_scope: {\n message: \"The requested permissions are invalid. Please contact support.\",\n },\n server_error: {\n message:\n \"The authentication server encountered an error. Please try again in a few moments.\",\n },\n temporarily_unavailable: {\n message:\n \"The authentication service is temporarily unavailable. Please try again in a few moments.\",\n },\n // Token errors\n invalid_client: {\n message: \"Invalid application credentials. Please contact support.\",\n },\n invalid_grant: {\n message:\n \"The authentication code has expired or is invalid. Please sign in again.\",\n },\n unsupported_grant_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n // Custom errors\n invalid_state: {\n message:\n \"Security validation failed. This may be due to a potential security attack. Please try signing in again.\",\n },\n missing_code_verifier: {\n message:\n \"Authentication security information is missing. Please clear your browser cache and try again.\",\n },\n network_error: {\n message:\n \"A network error occurred during authentication. Please check your connection and try again.\",\n },\n token_expired: {\n message: \"Your authentication session has expired. Please sign in again.\",\n },\n configuration_error: {\n message:\n \"There is an issue with the authentication configuration. Please contact support.\",\n },\n unknown_error: {\n message:\n \"An unexpected error occurred during authentication. Please try again or contact support.\",\n },\n};\n\nexport function OAuthErrorPage({ error }: { error: any }) {\n const { login } = useAuth();\n\n if (!(error instanceof OAuthAuthorizationError)) {\n throw error;\n }\n\n const oauthError = error.error;\n const type = oauthError.error;\n\n const details = errorDetailsMap[type] ?? errorDetailsMap.unknown_error;\n\n return (\n <div className=\"min-h-[400px] flex items-center justify-center p-4\">\n <div className=\"max-w-md w-full text-center space-y-6\">\n <div className=\"space-y-4 items-center\">\n <Heading level={2} className=\"text-2xl inline-block font-bold\">\n {titles[type] || \"Authentication Error\"}\n </Heading>\n\n <Typography className=\"text-gray-600 dark:text-gray-300 leading-relaxed\">\n {details?.message}\n </Typography>\n\n {/* Technical details for developers (only in development) */}\n </div>\n\n {/* Action Buttons */}\n <div className=\"space-y-3 pt-4\">\n <div className=\"space-y-2\">\n {(type === \"access_denied\" ||\n type === \"invalid_grant\" ||\n type === \"token_expired\") && (\n <Button\n onClick={login}\n className=\"w-full capitalize\"\n variant={\"default\"}\n >\n Sign in again\n </Button>\n )}\n </div>\n\n <div className=\"flex gap-2\">\n <Button asChild className=\"flex-1\" variant=\"outline\">\n <Link to=\"/\">\n <HomeIcon className=\"w-4 h-4 mr-2\" />\n Go Home\n </Link>\n </Button>\n </div>\n </div>\n\n {/* Additional Help */}\n {helpMessages[type] && (\n <Typography className=\"text-sm text-gray-500 dark:text-gray-400\">\n {helpMessages[type]}\n </Typography>\n )}\n </div>\n </div>\n );\n}\n\nconst titles: Record<string, string> = {\n access_denied: \"Access Denied\",\n invalid_request: \"Invalid Request\",\n unauthorized_client: \"Unauthorized Application\",\n unsupported_response_type: \"Unsupported Method\",\n invalid_scope: \"Invalid Permissions\",\n server_error: \"Server Error\",\n temporarily_unavailable: \"Service Unavailable\",\n invalid_client: \"Invalid Credentials\",\n invalid_grant: \"Authentication Expired\",\n unsupported_grant_type: \"Unsupported Authentication\",\n invalid_state: \"Security Check Failed\",\n missing_code_verifier: \"Security Information Missing\",\n network_error: \"Network Error\",\n token_expired: \"Session Expired\",\n configuration_error: \"Configuration Error\",\n unknown_error: \"Authentication Failed\",\n};\n\nconst helpMessages: Record<string, string> = {\n access_denied:\n \"If you changed your mind, you can try signing in again to grant access.\",\n invalid_state:\n \"This error can occur if you have multiple tabs open or if your session was compromised.\",\n missing_code_verifier:\n \"Try clearing your browser's cache and cookies for this site.\",\n network_error:\n \"Check your internet connection and ensure you can access other websites.\",\n server_error:\n \"The issue is on our end. Our team has been notified and is working to fix it.\",\n temporarily_unavailable:\n \"This is usually temporary. Try again in a few minutes.\",\n};\n"],"names":["normalizeRedirectUrl","redirectTo","origin","basePath","CallbackHandler","handleCallback","options","useZudoku","executeCallback","useSuspenseQuery","url","errorParam","errorDescription","errorUri","OAuthAuthorizationError","joinUrl","Navigate","errorDetailsMap","OAuthErrorPage","error","login","useAuth","type","details","jsxs","jsx","Heading","titles","Typography","Button","Link","HomeIcon","helpMessages"],"mappings":"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"}
1
+ {"version":3,"file":"OAuthErrorPage-CW81kc7H.js","sources":["../src/lib/util/url.ts","../src/lib/authentication/components/CallbackHandler.tsx","../src/lib/authentication/components/OAuthErrorPage.tsx"],"sourcesContent":["/**\n * Normalizes a redirect URL by removing the origin and optionally the root path\n */\nexport function normalizeRedirectUrl(\n redirectTo: string,\n origin: string,\n basePath: string = \"/\",\n): string {\n if (!redirectTo.startsWith(origin)) {\n return redirectTo;\n }\n\n if (basePath !== \"/\" && redirectTo.startsWith(origin + basePath)) {\n return redirectTo.slice(origin.length + basePath.length);\n }\n\n return redirectTo.slice(origin.length);\n}\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Navigate } from \"react-router\";\nimport { useZudoku } from \"zudoku/components\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { normalizeRedirectUrl } from \"../../util/url.js\";\nimport { OAuthAuthorizationError, type OAuthErrorType } from \"../errors.js\";\n\nexport function CallbackHandler({\n handleCallback,\n}: {\n handleCallback: () => Promise<string>;\n}) {\n const { options } = useZudoku();\n const executeCallback = useSuspenseQuery({\n retry: false,\n queryKey: [\"oauth-callback\"],\n queryFn: async () => {\n const url = new URL(window.location.href);\n\n const errorParam = url.searchParams.get(\"error\");\n const errorDescription =\n url.searchParams.get(\"error_description\") ?? undefined;\n const errorUri = url.searchParams.get(\"error_uri\") ?? undefined;\n if (errorParam) {\n throw new OAuthAuthorizationError(\n `OAuth error '${errorParam}': ${errorDescription}`,\n {\n error: errorParam as OAuthErrorType,\n error_description: errorDescription,\n error_uri: errorUri,\n },\n );\n }\n return joinUrl(\n normalizeRedirectUrl(\n await handleCallback(),\n window.location.origin,\n options.basePath,\n ),\n );\n },\n });\n\n return <Navigate to={executeCallback.data} replace />;\n}\n","import { HomeIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { OAuthAuthorizationError } from \"../errors.js\";\nimport { useAuth } from \"../hook.js\";\n\nconst errorDetailsMap: Record<string, { message: string }> = {\n invalid_request: {\n message:\n \"The authentication request was invalid. Please try signing in again.\",\n },\n unauthorized_client: {\n message:\n \"This application is not authorized to access your account. Please contact support.\",\n },\n access_denied: {\n message:\n \"You denied access to this application. To continue, please sign in and grant access.\",\n },\n unsupported_response_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n invalid_scope: {\n message: \"The requested permissions are invalid. Please contact support.\",\n },\n server_error: {\n message:\n \"The authentication server encountered an error. Please try again in a few moments.\",\n },\n temporarily_unavailable: {\n message:\n \"The authentication service is temporarily unavailable. Please try again in a few moments.\",\n },\n // Token errors\n invalid_client: {\n message: \"Invalid application credentials. Please contact support.\",\n },\n invalid_grant: {\n message:\n \"The authentication code has expired or is invalid. Please sign in again.\",\n },\n unsupported_grant_type: {\n message:\n \"The authentication method is not supported. Please contact support.\",\n },\n // Custom errors\n invalid_state: {\n message:\n \"Security validation failed. This may be due to a potential security attack. Please try signing in again.\",\n },\n missing_code_verifier: {\n message:\n \"Authentication security information is missing. Please clear your browser cache and try again.\",\n },\n network_error: {\n message:\n \"A network error occurred during authentication. Please check your connection and try again.\",\n },\n token_expired: {\n message: \"Your authentication session has expired. Please sign in again.\",\n },\n configuration_error: {\n message:\n \"There is an issue with the authentication configuration. Please contact support.\",\n },\n unknown_error: {\n message:\n \"An unexpected error occurred during authentication. Please try again or contact support.\",\n },\n};\n\nexport function OAuthErrorPage({ error }: { error: any }) {\n const { login } = useAuth();\n\n if (!(error instanceof OAuthAuthorizationError)) {\n throw error;\n }\n\n const oauthError = error.error;\n const type = oauthError.error;\n\n const details = errorDetailsMap[type] ?? errorDetailsMap.unknown_error;\n\n return (\n <div className=\"min-h-[400px] flex items-center justify-center p-4\">\n <div className=\"max-w-md w-full text-center space-y-6\">\n <div className=\"space-y-4 items-center\">\n <Heading level={2} className=\"text-2xl inline-block font-bold\">\n {titles[type] || \"Authentication Error\"}\n </Heading>\n\n <Typography className=\"text-gray-600 dark:text-gray-300 leading-relaxed\">\n {details?.message}\n </Typography>\n\n {/* Technical details for developers (only in development) */}\n </div>\n\n {/* Action Buttons */}\n <div className=\"space-y-3 pt-4\">\n <div className=\"space-y-2\">\n {(type === \"access_denied\" ||\n type === \"invalid_grant\" ||\n type === \"token_expired\") && (\n <Button\n onClick={login}\n className=\"w-full capitalize\"\n variant={\"default\"}\n >\n Sign in again\n </Button>\n )}\n </div>\n\n <div className=\"flex gap-2\">\n <Button asChild className=\"flex-1\" variant=\"outline\">\n <Link to=\"/\">\n <HomeIcon className=\"w-4 h-4 mr-2\" />\n Go Home\n </Link>\n </Button>\n </div>\n </div>\n\n {/* Additional Help */}\n {helpMessages[type] && (\n <Typography className=\"text-sm text-gray-500 dark:text-gray-400\">\n {helpMessages[type]}\n </Typography>\n )}\n </div>\n </div>\n );\n}\n\nconst titles: Record<string, string> = {\n access_denied: \"Access Denied\",\n invalid_request: \"Invalid Request\",\n unauthorized_client: \"Unauthorized Application\",\n unsupported_response_type: \"Unsupported Method\",\n invalid_scope: \"Invalid Permissions\",\n server_error: \"Server Error\",\n temporarily_unavailable: \"Service Unavailable\",\n invalid_client: \"Invalid Credentials\",\n invalid_grant: \"Authentication Expired\",\n unsupported_grant_type: \"Unsupported Authentication\",\n invalid_state: \"Security Check Failed\",\n missing_code_verifier: \"Security Information Missing\",\n network_error: \"Network Error\",\n token_expired: \"Session Expired\",\n configuration_error: \"Configuration Error\",\n unknown_error: \"Authentication Failed\",\n};\n\nconst helpMessages: Record<string, string> = {\n access_denied:\n \"If you changed your mind, you can try signing in again to grant access.\",\n invalid_state:\n \"This error can occur if you have multiple tabs open or if your session was compromised.\",\n missing_code_verifier:\n \"Try clearing your browser's cache and cookies for this site.\",\n network_error:\n \"Check your internet connection and ensure you can access other websites.\",\n server_error:\n \"The issue is on our end. Our team has been notified and is working to fix it.\",\n temporarily_unavailable:\n \"This is usually temporary. Try again in a few minutes.\",\n};\n"],"names":["normalizeRedirectUrl","redirectTo","origin","basePath","CallbackHandler","handleCallback","options","useZudoku","executeCallback","useSuspenseQuery","url","errorParam","errorDescription","errorUri","OAuthAuthorizationError","joinUrl","Navigate","errorDetailsMap","OAuthErrorPage","error","login","useAuth","type","details","jsxs","jsx","Heading","titles","Typography","Button","Link","HomeIcon","helpMessages"],"mappings":"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"}