zudoku 0.0.0-z63644134 → 0.0.0-z6b1ecd2d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/config/validators/InputNavigationSchema.d.ts +51 -1
  2. package/dist/config/validators/InputNavigationSchema.js +17 -0
  3. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  4. package/dist/config/validators/NavigationSchema.d.ts +10 -2
  5. package/dist/config/validators/NavigationSchema.js +7 -0
  6. package/dist/config/validators/NavigationSchema.js.map +1 -1
  7. package/dist/flat-config.d.ts +11 -0
  8. package/dist/lib/components/MobileTopNavigation.js +2 -1
  9. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  10. package/dist/lib/components/TopNavigation.d.ts +7 -1
  11. package/dist/lib/components/TopNavigation.js +7 -2
  12. package/dist/lib/components/TopNavigation.js.map +1 -1
  13. package/dist/lib/components/context/ZudokuContext.d.ts +8 -1
  14. package/dist/lib/components/context/ZudokuContext.js +2 -0
  15. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  16. package/dist/lib/components/navigation/Navigation.js +4 -3
  17. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  18. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  19. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  20. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  21. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  22. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  23. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  24. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  25. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  26. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  27. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  28. package/dist/lib/components/navigation/utils.d.ts +2 -1
  29. package/dist/lib/components/navigation/utils.js +22 -1
  30. package/dist/lib/components/navigation/utils.js.map +1 -1
  31. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  32. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  33. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  34. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  35. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  36. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  37. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  38. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  39. package/dist/lib/ui/InputGroup.d.ts +16 -0
  40. package/dist/lib/ui/InputGroup.js +65 -0
  41. package/dist/lib/ui/InputGroup.js.map +1 -0
  42. package/lib/{ClaudeLogo-C6q-Xn_l.js → ClaudeLogo-OpUSMQJe.js} +3 -3
  43. package/lib/{ClaudeLogo-C6q-Xn_l.js.map → ClaudeLogo-OpUSMQJe.js.map} +1 -1
  44. package/lib/{MdxPage-B1G4W1TK.js → MdxPage-dzCPGdvD.js} +6 -6
  45. package/lib/{MdxPage-B1G4W1TK.js.map → MdxPage-dzCPGdvD.js.map} +1 -1
  46. package/lib/{Mermaid-B1xNo-pf.js → Mermaid-JEnWyK0s.js} +2 -2
  47. package/lib/{Mermaid-B1xNo-pf.js.map → Mermaid-JEnWyK0s.js.map} +1 -1
  48. package/lib/{OAuthErrorPage-01Ke086W.js → OAuthErrorPage-D7n-_cqN.js} +5 -5
  49. package/lib/{OAuthErrorPage-01Ke086W.js.map → OAuthErrorPage-D7n-_cqN.js.map} +1 -1
  50. package/lib/{OasProvider-oHPiMJZg.js → OasProvider-DPPdikt_.js} +3 -3
  51. package/lib/{OasProvider-oHPiMJZg.js.map → OasProvider-DPPdikt_.js.map} +1 -1
  52. package/lib/{OperationList-CZ4OK8Pm.js → OperationList-cEveQ_l5.js} +12 -13
  53. package/lib/{OperationList-CZ4OK8Pm.js.map → OperationList-cEveQ_l5.js.map} +1 -1
  54. package/lib/{RouteGuard-B1lCR0C_.js → RouteGuard-BMbu_Yb7.js} +3 -3
  55. package/lib/{RouteGuard-B1lCR0C_.js.map → RouteGuard-BMbu_Yb7.js.map} +1 -1
  56. package/lib/{SchemaList-DoQFkJgM.js → SchemaList-CRC8n5co.js} +6 -6
  57. package/lib/{SchemaList-DoQFkJgM.js.map → SchemaList-CRC8n5co.js.map} +1 -1
  58. package/lib/{SchemaView-D2k6ZJck.js → SchemaView-BR6dtnPg.js} +3 -3
  59. package/lib/{SchemaView-D2k6ZJck.js.map → SchemaView-BR6dtnPg.js.map} +1 -1
  60. package/lib/{SignUp-8kDBaLbO.js → SignUp-ChqXj9vd.js} +4 -4
  61. package/lib/{SignUp-8kDBaLbO.js.map → SignUp-ChqXj9vd.js.map} +1 -1
  62. package/lib/{SyntaxHighlight-hZOFnYl0.js → SyntaxHighlight-O-IZOPLg.js} +2 -2
  63. package/lib/{SyntaxHighlight-hZOFnYl0.js.map → SyntaxHighlight-O-IZOPLg.js.map} +1 -1
  64. package/lib/{Toc-qEIii_-W.js → Toc-DQF7trHT.js} +2 -2
  65. package/lib/{Toc-qEIii_-W.js.map → Toc-DQF7trHT.js.map} +1 -1
  66. package/lib/{Zudoku-DUsdmPME.js → Zudoku-DA1yA-te.js} +2719 -2544
  67. package/lib/Zudoku-DA1yA-te.js.map +1 -0
  68. package/lib/{ZudokuContext-BBI06sOx.js → ZudokuContext-C6wlLMUH.js} +136 -134
  69. package/lib/{ZudokuContext-BBI06sOx.js.map → ZudokuContext-C6wlLMUH.js.map} +1 -1
  70. package/lib/{circular-D9tSKG2c.js → circular-C4l1Kj1N.js} +2 -2
  71. package/lib/{circular-D9tSKG2c.js.map → circular-C4l1Kj1N.js.map} +1 -1
  72. package/lib/{createServer-BprC4n85.js → createServer-DoRZ6tMa.js} +4 -4
  73. package/lib/{createServer-BprC4n85.js.map → createServer-DoRZ6tMa.js.map} +1 -1
  74. package/lib/{errors-7hgPDs1h.js → errors-CYLN8SNc.js} +2 -2
  75. package/lib/{errors-7hgPDs1h.js.map → errors-CYLN8SNc.js.map} +1 -1
  76. package/lib/{firebase-Dwn-2ju-.js → firebase-DF-VVKB7.js} +13 -13
  77. package/lib/{firebase-Dwn-2ju-.js.map → firebase-DF-VVKB7.js.map} +1 -1
  78. package/lib/{hook-ZEd1Es7D.js → hook-C35h0YhF.js} +2 -2
  79. package/lib/{hook-ZEd1Es7D.js.map → hook-C35h0YhF.js.map} +1 -1
  80. package/lib/{index-CyIW9rHv.js → index-Ck4TmzTO.js} +653 -619
  81. package/lib/index-Ck4TmzTO.js.map +1 -0
  82. package/lib/{index-Dxdhrp-I.js → index-DrAVvbXa.js} +2 -2
  83. package/lib/{index-Dxdhrp-I.js.map → index-DrAVvbXa.js.map} +1 -1
  84. package/lib/{index.esm-DG4KaDKR.js → index.esm-B2cLXwjS.js} +2 -2
  85. package/lib/index.esm-B2cLXwjS.js.map +1 -0
  86. package/lib/ui/InputGroup.js +155 -0
  87. package/lib/ui/InputGroup.js.map +1 -0
  88. package/lib/ui/SyntaxHighlight.js +2 -2
  89. package/lib/zudoku.__internal.js +368 -368
  90. package/lib/zudoku.__internal.js.map +1 -1
  91. package/lib/zudoku.auth-auth0.js +1 -1
  92. package/lib/zudoku.auth-azureb2c.js +4 -4
  93. package/lib/zudoku.auth-clerk.js +2 -2
  94. package/lib/zudoku.auth-firebase.js +4 -4
  95. package/lib/zudoku.auth-openid.js +4 -4
  96. package/lib/zudoku.auth-supabase.js +4 -4
  97. package/lib/zudoku.components.js +3 -3
  98. package/lib/zudoku.hooks.js +3 -3
  99. package/lib/zudoku.mermaid.js +2 -2
  100. package/lib/zudoku.plugin-api-catalog.js +3 -3
  101. package/lib/zudoku.plugin-api-keys.js +4 -4
  102. package/lib/zudoku.plugin-custom-pages.js +1 -1
  103. package/lib/zudoku.plugin-markdown.js +1 -1
  104. package/lib/zudoku.plugin-openapi.js +2 -2
  105. package/lib/zudoku.plugin-search-pagefind.js +2 -2
  106. package/package.json +1 -1
  107. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  108. package/src/lib/components/TopNavigation.tsx +25 -7
  109. package/src/lib/components/context/ZudokuContext.ts +1 -0
  110. package/src/lib/components/navigation/Navigation.tsx +4 -3
  111. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  112. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  113. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  114. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  115. package/src/lib/components/navigation/utils.ts +32 -1
  116. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  117. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  118. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  119. package/src/lib/ui/InputGroup.tsx +168 -0
  120. package/lib/Separator-BXt1LYnm.js +0 -27
  121. package/lib/Separator-BXt1LYnm.js.map +0 -1
  122. package/lib/Zudoku-DUsdmPME.js.map +0 -1
  123. package/lib/index-CyIW9rHv.js.map +0 -1
  124. package/lib/index.esm-DG4KaDKR.js.map +0 -1
@@ -5738,6 +5738,53 @@ declare const InputNavigationCustomPageSchema: z.ZodObject<{
5738
5738
  none: "none";
5739
5739
  }>>;
5740
5740
  }, z.core.$strip>;
5741
+ declare const InputNavigationSeparatorSchema: z.ZodObject<{
5742
+ type: z.ZodLiteral<"separator">;
5743
+ display: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
5744
+ hide: "hide";
5745
+ auth: "auth";
5746
+ anon: "anon";
5747
+ always: "always";
5748
+ }>, z.ZodCustom<(params: {
5749
+ context: ZudokuContext;
5750
+ auth: UseAuthReturn;
5751
+ }) => boolean, (params: {
5752
+ context: ZudokuContext;
5753
+ auth: UseAuthReturn;
5754
+ }) => boolean>]>>>;
5755
+ }, z.core.$strip>;
5756
+ declare const InputNavigationSectionSchema: z.ZodObject<{
5757
+ type: z.ZodLiteral<"section">;
5758
+ label: z.ZodString;
5759
+ display: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
5760
+ hide: "hide";
5761
+ auth: "auth";
5762
+ anon: "anon";
5763
+ always: "always";
5764
+ }>, z.ZodCustom<(params: {
5765
+ context: ZudokuContext;
5766
+ auth: UseAuthReturn;
5767
+ }) => boolean, (params: {
5768
+ context: ZudokuContext;
5769
+ auth: UseAuthReturn;
5770
+ }) => boolean>]>>>;
5771
+ }, z.core.$strip>;
5772
+ declare const InputNavigationFilterSchema: z.ZodObject<{
5773
+ type: z.ZodLiteral<"filter">;
5774
+ placeholder: z.ZodOptional<z.ZodString>;
5775
+ display: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
5776
+ hide: "hide";
5777
+ auth: "auth";
5778
+ anon: "anon";
5779
+ always: "always";
5780
+ }>, z.ZodCustom<(params: {
5781
+ context: ZudokuContext;
5782
+ auth: UseAuthReturn;
5783
+ }) => boolean, (params: {
5784
+ context: ZudokuContext;
5785
+ auth: UseAuthReturn;
5786
+ }) => boolean>]>>>;
5787
+ }, z.core.$strip>;
5741
5788
  declare const BaseInputNavigationCategorySchema: z.ZodObject<{
5742
5789
  type: z.ZodLiteral<"category">;
5743
5790
  icon: z.ZodOptional<z.ZodEnum<{
@@ -7633,13 +7680,16 @@ declare const BaseInputNavigationCategorySchema: z.ZodObject<{
7633
7680
  auth: UseAuthReturn;
7634
7681
  }) => boolean>]>>>;
7635
7682
  }, z.core.$strip>;
7636
- export type InputNavigationItem = z.infer<typeof InputNavigationDocSchema> | z.infer<typeof InputNavigationLinkSchema> | z.infer<typeof InputNavigationCustomPageSchema> | (z.infer<typeof BaseInputNavigationCategorySchema> & {
7683
+ export type InputNavigationItem = z.infer<typeof InputNavigationDocSchema> | z.infer<typeof InputNavigationLinkSchema> | z.infer<typeof InputNavigationCustomPageSchema> | z.infer<typeof InputNavigationSeparatorSchema> | z.infer<typeof InputNavigationSectionSchema> | z.infer<typeof InputNavigationFilterSchema> | (z.infer<typeof BaseInputNavigationCategorySchema> & {
7637
7684
  items: InputNavigationItem[];
7638
7685
  });
7639
7686
  export declare const InputNavigationSchema: z.ZodArray<z.ZodType<InputNavigationItem, unknown, z.core.$ZodTypeInternals<InputNavigationItem, unknown>>>;
7640
7687
  export type InputNavigationDoc = z.infer<typeof InputNavigationDocSchema>;
7641
7688
  export type InputNavigationLink = z.infer<typeof InputNavigationLinkSchema>;
7642
7689
  export type InputNavigationCustomPage = z.infer<typeof InputNavigationCustomPageSchema>;
7690
+ export type InputNavigationSeparator = z.infer<typeof InputNavigationSeparatorSchema>;
7691
+ export type InputNavigationSection = z.infer<typeof InputNavigationSectionSchema>;
7692
+ export type InputNavigationFilter = z.infer<typeof InputNavigationFilterSchema>;
7643
7693
  export type InputNavigationCategory = z.infer<typeof BaseInputNavigationCategorySchema> & {
7644
7694
  items: InputNavigationItem[];
7645
7695
  };
@@ -56,6 +56,20 @@ const InputNavigationCustomPageSchema = z.object({
56
56
  display: DisplaySchema,
57
57
  layout: z.enum(["default", "none"]).optional(),
58
58
  });
59
+ const InputNavigationSeparatorSchema = z.object({
60
+ type: z.literal("separator"),
61
+ display: DisplaySchema,
62
+ });
63
+ const InputNavigationSectionSchema = z.object({
64
+ type: z.literal("section"),
65
+ label: z.string(),
66
+ display: DisplaySchema,
67
+ });
68
+ const InputNavigationFilterSchema = z.object({
69
+ type: z.literal("filter"),
70
+ placeholder: z.string().optional(),
71
+ display: DisplaySchema,
72
+ });
59
73
  // Base category schema without items
60
74
  const BaseInputNavigationCategorySchema = z.object({
61
75
  type: z.literal("category"),
@@ -73,6 +87,9 @@ const InputNavigationItemSchema = z.union([
73
87
  InputNavigationDocSchema,
74
88
  InputNavigationLinkSchema,
75
89
  InputNavigationCustomPageSchema,
90
+ InputNavigationSeparatorSchema,
91
+ InputNavigationSectionSchema,
92
+ InputNavigationFilterSchema,
76
93
  InputNavigationCategorySchema,
77
94
  ]);
78
95
  export const InputNavigationSchema = InputNavigationItemSchema.array();
@@ -1 +1 @@
1
- {"version":3,"file":"InputNavigationSchema.js","sourceRoot":"","sources":["../../../src/config/validators/InputNavigationSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputNavigationSchema.js","sourceRoot":"","sources":["../../../src/config/validators/InputNavigationSchema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { LucideIcon } from "lucide-react";
2
2
  import type { ConfigWithMeta } from "../loader.js";
3
- import type { InputNavigationCategory, InputNavigationCategoryLinkDoc, InputNavigationCustomPage, InputNavigationDoc, InputNavigationLink } from "./InputNavigationSchema.js";
3
+ import type { InputNavigationCategory, InputNavigationCategoryLinkDoc, InputNavigationCustomPage, InputNavigationDoc, InputNavigationFilter, InputNavigationLink, InputNavigationSection, InputNavigationSeparator } from "./InputNavigationSchema.js";
4
4
  type ReplaceFields<Base, Overrides> = Omit<Base, keyof Overrides> & Overrides;
5
5
  type ResolvedIcon = {
6
6
  icon?: LucideIcon | string;
@@ -26,13 +26,21 @@ export type NavigationCategory = ReplaceFields<InputNavigationCategory, {
26
26
  link?: NavigationCategoryLinkDoc;
27
27
  } & ResolvedIcon>;
28
28
  export type NavigationCustomPage = ReplaceFields<InputNavigationCustomPage, ResolvedIcon>;
29
- export type NavigationItem = NavigationDoc | NavigationLink | NavigationCategory | NavigationCustomPage;
29
+ export type NavigationSeparator = InputNavigationSeparator & {
30
+ label: string;
31
+ };
32
+ export type NavigationSection = InputNavigationSection;
33
+ export type NavigationFilter = InputNavigationFilter & {
34
+ label: string;
35
+ };
36
+ export type NavigationItem = NavigationDoc | NavigationLink | NavigationCategory | NavigationCustomPage | NavigationSeparator | NavigationSection | NavigationFilter;
30
37
  export type Navigation = NavigationItem[];
31
38
  export declare class NavigationResolver {
32
39
  private rootDir;
33
40
  private globPatterns;
34
41
  private globFiles;
35
42
  private items;
43
+ private itemIndex;
36
44
  constructor(config: ConfigWithMeta);
37
45
  resolve(): Promise<NavigationItem[]>;
38
46
  private resolveDoc;
@@ -10,6 +10,7 @@ export class NavigationResolver {
10
10
  globPatterns;
11
11
  globFiles = [];
12
12
  items = [];
13
+ itemIndex = 0;
13
14
  constructor(config) {
14
15
  this.rootDir = config.__meta.rootDir;
15
16
  this.globPatterns = DocsConfigSchema.parse(config.docs ?? {}).files;
@@ -41,6 +42,7 @@ export class NavigationResolver {
41
42
  file: filePath,
42
43
  label,
43
44
  icon,
45
+ display: data.navigation_display,
44
46
  categoryLabel,
45
47
  path: fileNoExt,
46
48
  };
@@ -82,7 +84,12 @@ export class NavigationResolver {
82
84
  return this.resolveNavigationItemDoc(item, categoryLabel);
83
85
  case "link":
84
86
  case "custom-page":
87
+ case "section":
85
88
  return item;
89
+ case "separator":
90
+ return { ...item, label: `separator-${this.itemIndex++}` };
91
+ case "filter":
92
+ return { ...item, label: `filter-${this.itemIndex++}` };
86
93
  case "category": {
87
94
  const categoryItem = item;
88
95
  const items = (await Promise.all(categoryItem.items.map((subItem) => this.resolveItem(subItem, categoryItem.label)))).filter(isNavigationItem);
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSchema.js","sourceRoot":"","sources":["../../../src/config/validators/NavigationSchema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAUpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA0CjD,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAsB,EAAE,CACtE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAExC,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAA0B,EAAE,CACjE,IAAI,KAAK,SAAS,CAAC;AAErB,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CACvC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEtD,MAAM,OAAO,kBAAkB;IACrB,OAAO,CAAS;IAChB,YAAY,CAAW;IACvB,SAAS,GAAa,EAAE,CAAC;IACzB,KAAK,GAA0B,EAAE,CAAC;IAE1C,YAAY,MAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC;SAC3D,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CACjD,CAAC;QAEF,OAAO,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,QAAgB,EAChB,aAAsB;QAEtB,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,MAAM,CAAC,CACxE,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,oOAAoO,CAC7Q,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QAE9D,MAAM,KAAK,GACT,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,KAAK;YACV,uBAAuB,CAAC,OAAO,CAAC;YAChC,QAAQ,CAAC;QAEX,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC;QAEvD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,IAAI;YACJ,aAAa;YACb,IAAI,EAAE,SAAS;SACQ,CAAC;QAE1B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,IAAY;QAEZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,GAAG;YACR,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;YACzE,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,IAA6C;QAE7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,GAAG;YACR,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI;aAC5B;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAAiC,EACjC,aAAsB;QAEtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,IAAyB,EACzB,aAAsB;QAEtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC;YACZ,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC;YACd,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,YAAY,GAAG,IAAI,CAAC;gBAE1B,MAAM,KAAK,GAAG,CACZ,MAAM,OAAO,CAAC,GAAG,CACd,YAAY,CAAC,KAA+B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAC9C,CACF,CACF,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAE3B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI;oBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC;oBAC1D,CAAC,CAAC,SAAS,CAAC;gBAEd,OAAO;oBACL,GAAG,YAAY;oBACf,KAAK;oBACL,IAAI,EAAE,YAAY;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"NavigationSchema.js","sourceRoot":"","sources":["../../../src/config/validators/NavigationSchema.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,17 @@ export type _Schema1 = ((string | {
23
23
  badge?: _Schema3
24
24
  display?: _Schema4
25
25
  layout?: ("default" | "none")
26
+ } | {
27
+ type: "separator"
28
+ display?: _Schema4
29
+ } | {
30
+ type: "section"
31
+ label: string
32
+ display?: _Schema4
33
+ } | {
34
+ type: "filter"
35
+ placeholder?: string
36
+ display?: _Schema4
26
37
  } | {
27
38
  type: "category"
28
39
  icon?: _Schema2
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
3
3
  import { MenuIcon } from "lucide-react";
4
4
  import { useState } from "react";
5
+ import { Separator } from "zudoku/ui/Separator.js";
5
6
  import { Skeleton } from "zudoku/ui/Skeleton.js";
6
7
  import { useAuth } from "../authentication/hook.js";
7
8
  import { Drawer, DrawerContent, DrawerTitle, DrawerTrigger, } from "../ui/Drawer.js";
@@ -22,6 +23,6 @@ export const MobileTopNavigation = () => {
22
23
  const [drawerOpen, setDrawerOpen] = useState(false);
23
24
  const accountItems = getProfileMenuItems();
24
25
  const filteredItems = navigation.filter(shouldShowItem(authState, context));
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 && (_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
+ 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-dvh 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 && (_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) => item.type === "separator" ? (_jsx(Separator, { className: "w-full" }, item.label)) : item.type !== "section" && item.type !== "filter" ? (_jsx("li", { children: _jsx("button", { type: "button", onClick: () => setDrawerOpen(false), children: _jsx(TopNavItem, { ...item }) }) }, item.label)) : null), 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
27
  };
27
28
  //# 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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"}
@@ -5,4 +5,10 @@ export declare const TopNavLink: ({ isActive, children, ...props }: {
5
5
  isActive?: boolean;
6
6
  children: React.ReactNode;
7
7
  } & NavLinkProps) => import("react/jsx-runtime").JSX.Element;
8
- export declare const TopNavItem: (item: NavigationItem) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const TopNavItem: (item: Exclude<NavigationItem, {
9
+ type: "separator";
10
+ } | {
11
+ type: "section";
12
+ } | {
13
+ type: "filter";
14
+ }>) => import("react/jsx-runtime").JSX.Element;
@@ -3,6 +3,7 @@ import { cx } from "class-variance-authority";
3
3
  import { deepEqual } from "fast-equals";
4
4
  import { Suspense } from "react";
5
5
  import { NavLink } from "react-router";
6
+ import { Separator } from "zudoku/ui/Separator.js";
6
7
  import { useAuth } from "../authentication/hook.js";
7
8
  import { joinUrl } from "../util/joinUrl.js";
8
9
  import { useCurrentNavigation, useZudoku } from "./context/ZudokuContext.js";
@@ -16,7 +17,7 @@ export const TopNavigation = () => {
16
17
  if (filteredItems.length === 0 || import.meta.env.MODE === "standalone") {
17
18
  return _jsx("style", { children: `:root { --top-nav-height: 0px; }` });
18
19
  }
19
- return (_jsx(Suspense, { children: _jsxs("div", { className: "items-center justify-between px-8 h-(--top-nav-height) hidden lg:flex text-sm relative", children: [_jsx("nav", { className: "text-sm", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: filteredItems.map((item) => (_jsx("li", { children: _jsx(TopNavItem, { ...item }) }, item.label + item.type))) }) }), _jsx(Slot.Target, { name: "top-navigation-side" })] }) }));
20
+ return (_jsx(Suspense, { children: _jsxs("div", { className: "items-center justify-between px-8 h-(--top-nav-height) hidden lg:flex text-sm relative", children: [_jsx("nav", { className: "text-sm", children: _jsx("ul", { className: "flex flex-row items-center gap-8", children: filteredItems.map((item) => item.type === "separator" ? (_jsx("li", { className: "-mx-4 h-7", children: _jsx(Separator, { orientation: "vertical" }) }, item.label)) : item.type !== "section" && item.type !== "filter" ? (_jsx("li", { children: _jsx(TopNavItem, { ...item }) }, item.label + item.type)) : null) }) }), _jsx(Slot.Target, { name: "top-navigation-side" })] }) }));
20
21
  };
21
22
  const getPathForItem = (item) => {
22
23
  switch (item.type) {
@@ -29,13 +30,17 @@ const getPathForItem = (item) => {
29
30
  return joinUrl(item.link.path);
30
31
  }
31
32
  return (traverseNavigationItem(item, (child) => {
32
- if (child.type !== "category") {
33
+ if (child.type !== "category" &&
34
+ child.type !== "separator" &&
35
+ child.type !== "section") {
33
36
  return getPathForItem(child);
34
37
  }
35
38
  }) ?? "");
36
39
  }
37
40
  case "custom-page":
38
41
  return item.path;
42
+ default:
43
+ return "";
39
44
  }
40
45
  };
41
46
  export const TopNavLink = ({ isActive, children, ...props }) => {
@@ -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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"}
@@ -5,5 +5,12 @@ export declare const useZudoku: () => ZudokuContext;
5
5
  export declare const useApiIdentities: () => import("@tanstack/react-query").UseQueryResult<import("../../core/ZudokuContext.js").ApiIdentity[], Error>;
6
6
  export declare const useCurrentNavigation: () => {
7
7
  navigation: NavigationItem[];
8
- topNavItem: import("../../../config/validators/NavigationSchema.js").NavigationDoc | import("../../../config/validators/NavigationSchema.js").NavigationLink | import("../../../config/validators/NavigationSchema.js").NavigationCategory | import("../../../config/validators/NavigationSchema.js").NavigationCustomPage | undefined;
8
+ topNavItem: import("../../../config/validators/NavigationSchema.js").NavigationDoc | import("../../../config/validators/NavigationSchema.js").NavigationLink | import("../../../config/validators/NavigationSchema.js").NavigationCategory | import("../../../config/validators/NavigationSchema.js").NavigationCustomPage | import("../../../config/validators/NavigationSchema.js").NavigationSeparator | {
9
+ type: "section";
10
+ label: string;
11
+ display?: "hide" | "auth" | "anon" | "always" | ((params: {
12
+ context: ZudokuContext;
13
+ auth: import("../../authentication/hook.js").UseAuthReturn;
14
+ }) => boolean) | undefined;
15
+ } | import("../../../config/validators/NavigationSchema.js").NavigationFilter | undefined;
9
16
  };
@@ -60,6 +60,8 @@ export const useCurrentNavigation = () => {
60
60
  const { getPluginNavigation, navigation } = useZudoku();
61
61
  const location = useLocation();
62
62
  const navItem = traverseNavigation(navigation, (item, parentCategories) => {
63
+ if (item.type === "link")
64
+ return;
63
65
  if (getItemPath(item) === location.pathname) {
64
66
  return parentCategories.at(0) ?? item;
65
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZudokuContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ZudokuContext.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
3
3
  import { DrawerContent, DrawerTitle } from "../../ui/Drawer.js";
4
4
  import { Slot } from "../Slot.js";
5
+ import { NavigationFilterProvider } from "./NavigationFilterContext.js";
5
6
  import { NavigationItem } from "./NavigationItem.js";
6
7
  import { NavigationWrapper } from "./NavigationWrapper.js";
7
- export const Navigation = ({ onRequestClose, navigation, }) => (_jsxs(_Fragment, { children: [_jsxs(NavigationWrapper, { children: [_jsx(Slot.Target, { name: "navigation-before" }), navigation.map((item) => (_jsx(NavigationItem, { item: item }, item.type +
8
+ export const Navigation = ({ onRequestClose, navigation, }) => (_jsxs(NavigationFilterProvider, { children: [_jsxs(NavigationWrapper, { children: [_jsx(Slot.Target, { name: "navigation-before" }), navigation.map((item) => (_jsx(NavigationItem, { item: item }, item.type +
8
9
  (item.label ?? "") +
9
10
  ("path" in item ? item.path : "") +
10
11
  ("file" in item ? item.file : "") +
11
- ("to" in item ? item.to : "")))), _jsx(Slot.Target, { name: "navigation-after" })] }), _jsx(DrawerContent, { className: "lg:hidden h-[100dvh] start-0 w-[320px] rounded-none", "aria-describedby": undefined, children: _jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Navigation" }) }), navigation.map((item) => (_jsx(NavigationItem, { item: item, onRequestClose: onRequestClose }, item.label)))] }) })] }));
12
+ ("to" in item ? item.to : "")))), _jsx(Slot.Target, { name: "navigation-after" })] }), _jsx(DrawerContent, { className: "lg:hidden h-dvh start-0 w-[320px] rounded-none", "aria-describedby": undefined, children: _jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [_jsx(VisuallyHidden, { children: _jsx(DrawerTitle, { children: "Navigation" }) }), navigation.map((item) => (_jsx(NavigationItem, { item: item, onRequestClose: onRequestClose }, item.label)))] }) })] }));
12
13
  //# sourceMappingURL=Navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,cAAc,EACd,UAAU,GAIX,EAAE,EAAE,CAAC,CACJ,8BACE,MAAC,iBAAiB,eAChB,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,mBAAmB,GAAG,EACvC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAQb,IAAI,EAAE,IAAI,IANR,IAAI,CAAC,IAAI;oBACT,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAG/B,CACH,CAAC,EACF,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,kBAAkB,GAAG,IACrB,EACpB,KAAC,aAAa,IACZ,SAAS,EAAC,qDAAqD,sBAC7C,SAAS,YAE3B,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,cAAc,cACb,KAAC,WAAW,6BAAyB,GACtB,EAChB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAEb,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,IAFzB,IAAI,CAAC,KAAK,CAGf,CACH,CAAC,IACE,GACQ,IACf,CACJ,CAAC"}
1
+ {"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,cAAc,EACd,UAAU,GAIX,EAAE,EAAE,CAAC,CACJ,MAAC,wBAAwB,eACvB,MAAC,iBAAiB,eAChB,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,mBAAmB,GAAG,EACvC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAQb,IAAI,EAAE,IAAI,IANR,IAAI,CAAC,IAAI;oBACT,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClB,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAG/B,CACH,CAAC,EACF,KAAC,IAAI,CAAC,MAAM,IAAC,IAAI,EAAC,kBAAkB,GAAG,IACrB,EACpB,KAAC,aAAa,IACZ,SAAS,EAAC,gDAAgD,sBACxC,SAAS,YAE3B,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,cAAc,cACb,KAAC,WAAW,6BAAyB,GACtB,EAChB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAEb,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,IAFzB,IAAI,CAAC,KAAK,CAGf,CACH,CAAC,IACE,GACQ,IACS,CAC5B,CAAC"}
@@ -7,12 +7,14 @@ import { NavLink, useLocation, useMatch } from "react-router";
7
7
  import { Button } from "zudoku/ui/Button.js";
8
8
  import { cn } from "../../util/cn.js";
9
9
  import { joinUrl } from "../../util/joinUrl.js";
10
+ import { useNavigationFilter } from "./NavigationFilterContext.js";
10
11
  import { NavigationItem } from "./NavigationItem.js";
11
12
  import { navigationListItem, useIsCategoryOpen } from "./utils.js";
12
13
  const NavigationCategoryInner = ({ category, onRequestClose, }) => {
13
14
  const isCategoryOpen = useIsCategoryOpen(category);
14
15
  const [hasInteracted, setHasInteracted] = useState(false);
15
16
  const location = useLocation();
17
+ const { query: filterQuery } = useNavigationFilter();
16
18
  const isCollapsible = category.collapsible ?? true;
17
19
  const isCollapsed = category.collapsed ?? true;
18
20
  const isDefaultOpen = Boolean(!isCollapsible || !isCollapsed || isCategoryOpen);
@@ -25,6 +27,12 @@ const NavigationCategoryInner = ({ category, onRequestClose, }) => {
25
27
  setOpen(true);
26
28
  }
27
29
  }, [isCategoryOpen]);
30
+ // Auto-expand when there's an active filter query
31
+ useEffect(() => {
32
+ if (filterQuery.trim()) {
33
+ setOpen(true);
34
+ }
35
+ }, [filterQuery]);
28
36
  const ToggleButton = isCollapsible && (_jsx(Button, { onClick: (e) => {
29
37
  e.preventDefault();
30
38
  setOpen((prev) => !prev);
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationCategory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationCategory.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationCategory.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type PropsWithChildren } from "react";
2
+ type NavigationFilterContextType = {
3
+ query: string;
4
+ setQuery: (query: string) => void;
5
+ };
6
+ export declare const NavigationFilterProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const useNavigationFilter: () => NavigationFilterContextType;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useState, } from "react";
3
+ const NavigationFilterContext = createContext({
4
+ query: "",
5
+ setQuery: () => { },
6
+ });
7
+ export const NavigationFilterProvider = ({ children }) => {
8
+ const [query, setQuery] = useState("");
9
+ return (_jsx(NavigationFilterContext.Provider, { value: { query, setQuery }, children: children }));
10
+ };
11
+ export const useNavigationFilter = () => useContext(NavigationFilterContext);
12
+ //# sourceMappingURL=NavigationFilterContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationFilterContext.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationFilterContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,QAAQ,GACT,MAAM,OAAO,CAAC;AAOf,MAAM,uBAAuB,GAAG,aAAa,CAA8B;IACzE,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CACL,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YACzD,QAAQ,GACwB,CACpC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const NavigationFilterInput: ({ placeholder, }: {
2
+ placeholder?: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SearchIcon, XIcon } from "lucide-react";
3
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "zudoku/ui/InputGroup.js";
4
+ import { useNavigationFilter } from "./NavigationFilterContext.js";
5
+ export const NavigationFilterInput = ({ placeholder, }) => {
6
+ const { query, setQuery } = useNavigationFilter();
7
+ return (_jsxs(InputGroup, { className: "my-2", children: [_jsx(InputGroupAddon, { children: _jsx(SearchIcon, { className: "size-3.5" }) }), _jsx(InputGroupInput, { type: "text", placeholder: placeholder, value: query, onChange: (e) => setQuery(e.target.value) }), query && (_jsx(InputGroupButton, { onClick: () => setQuery(""), children: _jsx(XIcon, { className: "size-3" }) }))] }));
8
+ };
9
+ //# sourceMappingURL=NavigationFilterInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationFilterInput.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationFilterInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAElD,OAAO,CACL,MAAC,UAAU,IAAC,SAAS,EAAC,MAAM,aAC1B,KAAC,eAAe,cACd,KAAC,UAAU,IAAC,SAAS,EAAC,UAAU,GAAG,GACnB,EAClB,KAAC,eAAe,IACd,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACzC,EACD,KAAK,IAAI,CACR,KAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAC3C,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,GACX,CACpB,IACU,CACd,CAAC;AACJ,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { ExternalLinkIcon } from "lucide-react";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { NavLink, useLocation } from "react-router";
5
+ import { Separator } from "zudoku/ui/Separator.js";
5
6
  import { Tooltip, TooltipContent, TooltipTrigger } from "zudoku/ui/Tooltip.js";
6
7
  import { useAuth } from "../../authentication/hook.js";
7
8
  import { cn } from "../../util/cn.js";
@@ -11,6 +12,8 @@ import { useViewportAnchor } from "../context/ViewportAnchorContext.js";
11
12
  import { useZudoku } from "../context/ZudokuContext.js";
12
13
  import { NavigationBadge } from "./NavigationBadge.js";
13
14
  import { NavigationCategory } from "./NavigationCategory.js";
15
+ import { useNavigationFilter } from "./NavigationFilterContext.js";
16
+ import { NavigationFilterInput } from "./NavigationFilterInput.js";
14
17
  import { navigationListItem, shouldShowItem } from "./utils.js";
15
18
  const TruncatedLabel = ({ label, className, }) => {
16
19
  const ref = useRef(null);
@@ -30,12 +33,19 @@ export const NavigationItem = ({ item, onRequestClose, }) => {
30
33
  const { activeAnchor } = useViewportAnchor();
31
34
  const auth = useAuth();
32
35
  const context = useZudoku();
33
- if (!shouldShowItem(auth, context)(item)) {
36
+ const { query } = useNavigationFilter();
37
+ if (!shouldShowItem(auth, context, query)(item)) {
34
38
  return null;
35
39
  }
36
40
  switch (item.type) {
37
41
  case "category":
38
42
  return (_jsx(NavigationCategory, { category: item, onRequestClose: onRequestClose }));
43
+ case "separator":
44
+ return (_jsx(Separator, { className: "my-1 mx-auto w-[calc(100%-var(--padding-nav-item)*2)]!" }));
45
+ case "section":
46
+ return (_jsx("div", { className: "mt-4 px-(--padding-nav-item) text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: item.label }));
47
+ case "filter":
48
+ return _jsx(NavigationFilterInput, { placeholder: item.placeholder });
39
49
  case "doc":
40
50
  return (_jsxs(NavLink, { viewTransition: true, className: ({ isActive, isPending }) => navigationListItem({ isActive, isPending }), to: joinUrl(item.path), onClick: onRequestClose, end: true, children: [item.icon && (_jsx(item.icon, { size: 16, className: "align-[-0.125em] shrink-0" })), item.badge ? (_jsxs(_Fragment, { children: [item.label && (_jsx(TruncatedLabel, { label: item.label, className: "flex-1" })), _jsx(NavigationBadge, { ...item.badge })] })) : (item.label)] }));
41
51
  case "link":
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationItem.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/NavigationItem.tsx"],"names":[],"mappings":"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"}
@@ -21,4 +21,5 @@ 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 shouldShowItem: (auth: UseAuthReturn, context: ZudokuContext) => (item: NavigationItem) => boolean;
24
+ export declare const itemMatchesFilter: (item: NavigationItem, query: string) => boolean;
25
+ export declare const shouldShowItem: (auth: UseAuthReturn, context: ZudokuContext, filterQuery?: string) => (item: NavigationItem) => boolean;