zudoku 0.3.0-dev.116 → 0.3.0-dev.119

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 (157) hide show
  1. package/dist/app/demo.js +3 -1
  2. package/dist/app/demo.js.map +1 -1
  3. package/dist/app/main.js +1 -1
  4. package/dist/app/main.js.map +1 -1
  5. package/dist/app/standalone.js +3 -1
  6. package/dist/app/standalone.js.map +1 -1
  7. package/dist/cli/dev/handler.js +1 -1
  8. package/dist/lib/components/Markdown.js +3 -2
  9. package/dist/lib/components/Markdown.js.map +1 -1
  10. package/dist/lib/components/navigation/SidebarCategory.js +6 -2
  11. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  12. package/dist/lib/components/navigation/SidebarItem.js +3 -2
  13. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  14. package/dist/lib/oas/graphql/index.js +17 -2
  15. package/dist/lib/oas/graphql/index.js.map +1 -1
  16. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  17. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  18. package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
  19. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  20. package/dist/lib/plugins/openapi/ParameterList.js +3 -1
  21. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  22. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +3 -1
  23. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +5 -9
  24. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  25. package/dist/lib/plugins/openapi/Sidecar.d.ts +3 -1
  26. package/dist/lib/plugins/openapi/Sidecar.js +6 -4
  27. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  28. package/dist/lib/plugins/openapi/schema/SchemaComponents.d.ts +13 -0
  29. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +28 -0
  30. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -0
  31. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +6 -0
  32. package/dist/lib/plugins/openapi/schema/SchemaView.js +44 -0
  33. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -0
  34. package/dist/lib/plugins/openapi/schema/utils.d.ts +3 -0
  35. package/dist/lib/plugins/openapi/schema/utils.js +6 -0
  36. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -0
  37. package/dist/lib/themeToggle.d.ts +1 -0
  38. package/dist/lib/themeToggle.js +7 -0
  39. package/dist/lib/themeToggle.js.map +1 -0
  40. package/dist/lib/util/MdxComponents.js +4 -4
  41. package/dist/lib/util/MdxComponents.js.map +1 -1
  42. package/dist/vite/config.d.ts +4 -5
  43. package/dist/vite/config.js +7 -4
  44. package/dist/vite/config.js.map +1 -1
  45. package/dist/vite/config.test.js +2 -2
  46. package/dist/vite/config.test.js.map +1 -1
  47. package/dist/vite/dev-server.d.ts +0 -1
  48. package/dist/vite/dev-server.js +2 -21
  49. package/dist/vite/dev-server.js.map +1 -1
  50. package/dist/vite/html.js +2 -11
  51. package/dist/vite/html.js.map +1 -1
  52. package/dist/vite/plugin-api-keys.d.ts +3 -3
  53. package/dist/vite/plugin-api-keys.js +2 -1
  54. package/dist/vite/plugin-api-keys.js.map +1 -1
  55. package/dist/vite/plugin-api.d.ts +3 -3
  56. package/dist/vite/plugin-api.js +2 -1
  57. package/dist/vite/plugin-api.js.map +1 -1
  58. package/dist/vite/plugin-auth.d.ts +3 -3
  59. package/dist/vite/plugin-auth.js +2 -1
  60. package/dist/vite/plugin-auth.js.map +1 -1
  61. package/dist/vite/plugin-component.d.ts +3 -3
  62. package/dist/vite/plugin-component.js +17 -14
  63. package/dist/vite/plugin-component.js.map +1 -1
  64. package/dist/vite/plugin-config-reload.d.ts +4 -0
  65. package/dist/vite/plugin-config-reload.js +24 -0
  66. package/dist/vite/plugin-config-reload.js.map +1 -0
  67. package/dist/vite/plugin-config.d.ts +2 -2
  68. package/dist/vite/plugin-config.js.map +1 -1
  69. package/dist/vite/plugin-custom-css.d.ts +3 -3
  70. package/dist/vite/plugin-custom-css.js +2 -1
  71. package/dist/vite/plugin-custom-css.js.map +1 -1
  72. package/dist/vite/plugin-docs.d.ts +3 -3
  73. package/dist/vite/plugin-docs.js +3 -2
  74. package/dist/vite/plugin-docs.js.map +1 -1
  75. package/dist/vite/plugin-html-transform.d.ts +2 -0
  76. package/dist/vite/plugin-html-transform.js +15 -0
  77. package/dist/vite/plugin-html-transform.js.map +1 -0
  78. package/dist/vite/plugin-mdx.d.ts +3 -3
  79. package/dist/vite/plugin-mdx.js +2 -1
  80. package/dist/vite/plugin-mdx.js.map +1 -1
  81. package/dist/vite/plugin-metadata.d.ts +1 -1
  82. package/dist/vite/plugin-redirect.d.ts +3 -3
  83. package/dist/vite/plugin-redirect.js +2 -1
  84. package/dist/vite/plugin-redirect.js.map +1 -1
  85. package/dist/vite/plugin-sidebar.d.ts +3 -3
  86. package/dist/vite/plugin-sidebar.js +2 -1
  87. package/dist/vite/plugin-sidebar.js.map +1 -1
  88. package/dist/vite/plugin.d.ts +3 -2
  89. package/dist/vite/plugin.js +16 -11
  90. package/dist/vite/plugin.js.map +1 -1
  91. package/lib/{CategoryHeading-BWq12Bfa.js → CategoryHeading-z15xh7Jb.js} +2 -2
  92. package/lib/{CategoryHeading-BWq12Bfa.js.map → CategoryHeading-z15xh7Jb.js.map} +1 -1
  93. package/lib/{Combination-D-9IH0zy.js → Combination-DTfV-c98.js} +2 -2
  94. package/lib/{Combination-D-9IH0zy.js.map → Combination-DTfV-c98.js.map} +1 -1
  95. package/lib/{Input-HmAaR6kw.js → Input-DB9VROFR.js} +3 -3
  96. package/lib/{Input-HmAaR6kw.js.map → Input-DB9VROFR.js.map} +1 -1
  97. package/lib/Markdown-CEccPMI_.js +20508 -0
  98. package/lib/Markdown-CEccPMI_.js.map +1 -0
  99. package/lib/{MdxPage-oN3huD58.js → MdxPage-CnqOoqvp.js} +12 -15
  100. package/lib/MdxPage-CnqOoqvp.js.map +1 -0
  101. package/lib/OperationList-MFaKgMyg.js +414 -0
  102. package/lib/OperationList-MFaKgMyg.js.map +1 -0
  103. package/lib/{Route-DAF15JAU.js → Route-CL9hUSJ2.js} +2 -2
  104. package/lib/{Route-DAF15JAU.js.map → Route-CL9hUSJ2.js.map} +1 -1
  105. package/lib/{SlotletProvider-BG2PU1Mf.js → SlotletProvider-ByLSCZQa.js} +3 -3
  106. package/lib/{SlotletProvider-BG2PU1Mf.js.map → SlotletProvider-ByLSCZQa.js.map} +1 -1
  107. package/lib/{Spinner-BCz1kNGw.js → Spinner-BT_AYFrA.js} +3 -3
  108. package/lib/{Spinner-BCz1kNGw.js.map → Spinner-BT_AYFrA.js.map} +1 -1
  109. package/lib/assets/{worker-CR7aeKop.js → worker-TEvS6miZ.js} +709 -702
  110. package/lib/assets/{worker-CR7aeKop.js.map → worker-TEvS6miZ.js.map} +1 -1
  111. package/lib/{index-CtKkHGcd.js → index-Bf5yypxf.js} +671 -640
  112. package/lib/{index-CtKkHGcd.js.map → index-Bf5yypxf.js.map} +1 -1
  113. package/lib/{index-D-9Z7HSn.js → index-Dz4LyXZI.js} +3 -3
  114. package/lib/{index-D-9Z7HSn.js.map → index-Dz4LyXZI.js.map} +1 -1
  115. package/lib/zudoku.components.js +494 -481
  116. package/lib/zudoku.components.js.map +1 -1
  117. package/lib/zudoku.openapi-worker.js +733 -726
  118. package/lib/zudoku.openapi-worker.js.map +1 -1
  119. package/lib/zudoku.plugin-api-keys.js +4 -4
  120. package/lib/zudoku.plugin-custom-page.js +1 -1
  121. package/lib/zudoku.plugin-markdown.js +1 -1
  122. package/lib/zudoku.plugin-openapi.js +3 -3
  123. package/package.json +2 -1
  124. package/src/app/demo.tsx +4 -1
  125. package/src/app/main.tsx +1 -1
  126. package/src/app/standalone.tsx +4 -1
  127. package/src/lib/components/Markdown.tsx +3 -2
  128. package/src/lib/components/navigation/SidebarCategory.tsx +13 -2
  129. package/src/lib/components/navigation/SidebarItem.tsx +3 -2
  130. package/src/lib/oas/graphql/index.ts +24 -5
  131. package/src/lib/plugins/markdown/MdxPage.tsx +0 -1
  132. package/src/lib/plugins/openapi/OperationListItem.tsx +18 -8
  133. package/src/lib/plugins/openapi/ParameterList.tsx +10 -8
  134. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +51 -39
  135. package/src/lib/plugins/openapi/Sidecar.tsx +13 -4
  136. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +126 -0
  137. package/src/lib/plugins/openapi/schema/SchemaView.tsx +112 -0
  138. package/src/lib/plugins/openapi/schema/utils.ts +10 -0
  139. package/src/lib/themeToggle.ts +7 -0
  140. package/src/lib/util/MdxComponents.tsx +12 -12
  141. package/dist/lib/plugins/openapi/SchemaListView.d.ts +0 -7
  142. package/dist/lib/plugins/openapi/SchemaListView.js +0 -27
  143. package/dist/lib/plugins/openapi/SchemaListView.js.map +0 -1
  144. package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +0 -8
  145. package/dist/lib/plugins/openapi/SchemaListViewItem.js +0 -25
  146. package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +0 -1
  147. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.d.ts +0 -8
  148. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js +0 -17
  149. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js.map +0 -1
  150. package/lib/Markdown-B_Gax7at.js +0 -14108
  151. package/lib/Markdown-B_Gax7at.js.map +0 -1
  152. package/lib/MdxPage-oN3huD58.js.map +0 -1
  153. package/lib/OperationList-Ctj0ihBN.js +0 -448
  154. package/lib/OperationList-Ctj0ihBN.js.map +0 -1
  155. package/src/lib/plugins/openapi/SchemaListView.tsx +0 -75
  156. package/src/lib/plugins/openapi/SchemaListViewItem.tsx +0 -125
  157. package/src/lib/plugins/openapi/SchemaListViewItemGroup.tsx +0 -63
@@ -1,125 +0,0 @@
1
- import * as Collapsible from "@radix-ui/react-collapsible";
2
- import { ListPlusIcon } from "lucide-react";
3
- import { Markdown } from "../../components/Markdown.js";
4
- import { SchemaObject } from "../../oas/parser/index.js";
5
- import { Button } from "../../ui/Button.js";
6
- import { cn } from "../../util/cn.js";
7
- import { SchemaListView } from "./SchemaListView.js";
8
-
9
- export const SchemaListViewItem = ({
10
- propertyName,
11
- property,
12
- nestingLevel,
13
- isRequired,
14
- defaultOpen = false,
15
- }: {
16
- propertyName?: string;
17
- isRequired: boolean;
18
- property: SchemaObject;
19
- nestingLevel: number;
20
- defaultOpen?: boolean;
21
- }) => {
22
- if (!property) {
23
- return <div>no property</div>;
24
- }
25
-
26
- const title =
27
- propertyName || property.title
28
- ? [propertyName, property.title].filter(Boolean).join(" ")
29
- : null;
30
-
31
- return (
32
- <div
33
- className={cn(
34
- "p-4 bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm",
35
- property.deprecated && "opacity-50",
36
- )}
37
- >
38
- <div className="flex items-center gap-2 relative">
39
- {title && <code>{title}</code>}
40
-
41
- {property.type && (
42
- <span className="text-muted-foreground">{property.type}</span>
43
- )}
44
- {property.deprecated && (
45
- <span className="text-muted-foreground">Deprecated</span>
46
- )}
47
- {!isRequired && (
48
- <span className="py-px px-1.5 font-medium border rounded-lg">
49
- optional {property.required}
50
- </span>
51
- )}
52
- </div>
53
- {property.description && (
54
- <Markdown
55
- content={property.description}
56
- className="text-sm leading-normal line-clamp-4 "
57
- />
58
- )}
59
-
60
- {property.enum && (
61
- <span className="text-sm text-muted-foreground flex gap-1 flex-wrap items-center">
62
- <span>Possible values</span>
63
- {/* Make values unique, some schemas have duplicates */}
64
- {[...new Set(property.enum.filter((value) => value))]
65
- .map((value) => (
66
- <span
67
- key={value}
68
- className="font-mono text-xs border bg-muted rounded px-1"
69
- >
70
- {value}
71
- </span>
72
- ))
73
- .slice(0, 4)}
74
- {property.enum.length > 4 && (
75
- <span className="font-mono text-xs border bg-muted rounded px-1">
76
- ...
77
- </span>
78
- )}
79
- </span>
80
- )}
81
-
82
- {(property.type === "object" &&
83
- (property.properties?.length ??
84
- Object.entries(property.additionalProperties ?? {}).length > 0)) ||
85
- (property.type === "array" &&
86
- // this check is needed because the `items` can be undefined despite the type being defined
87
- typeof property.items !== "undefined" &&
88
- property.items.type === "object") ? (
89
- <Collapsible.Root className="CollapsibleRoot" defaultOpen={defaultOpen}>
90
- <Collapsible.Trigger asChild>
91
- <Button
92
- variant="ghost"
93
- size="sm"
94
- className={cn(defaultOpen && "hidden")}
95
- >
96
- Show nested fields
97
- <ListPlusIcon size={18} className="ml-1.5" />
98
- </Button>
99
- </Collapsible.Trigger>
100
-
101
- <Collapsible.Content>
102
- {property.type === "object" && (
103
- <div className="mt-2.5">
104
- <SchemaListView
105
- schema={property}
106
- level={nestingLevel + 1}
107
- defaultOpen
108
- />
109
- </div>
110
- )}
111
- {property.type === "array" && property.items.type === "object" && (
112
- <div className="mt-2.5">
113
- <SchemaListView
114
- schema={property.items}
115
- defaultOpen
116
- level={nestingLevel + 1}
117
- />
118
- </div>
119
- )}
120
- </Collapsible.Content>
121
- </Collapsible.Root>
122
- ) : null}
123
- </div>
124
- );
125
- };
@@ -1,63 +0,0 @@
1
- import * as Collapsible from "@radix-ui/react-collapsible";
2
- import { useState } from "react";
3
- import { SchemaObject } from "../../oas/parser/index.js";
4
- import { cn } from "../../util/cn.js";
5
- import { SchemaListViewItem } from "./SchemaListViewItem.js";
6
-
7
- export const SchemaListViewItemGroup = ({
8
- group,
9
- properties,
10
- nestingLevel,
11
- required,
12
- defaultOpen = false,
13
- }: {
14
- group: "optional" | "required" | "deprecated";
15
- defaultOpen?: boolean;
16
- properties: [string, SchemaObject][];
17
- nestingLevel: number;
18
- required: string[];
19
- }) => {
20
- const notCollapsible =
21
- defaultOpen ||
22
- group === "required" ||
23
- properties.length === 1 ||
24
- nestingLevel === 0;
25
-
26
- const [open, setOpen] = useState(notCollapsible);
27
-
28
- if (properties.length === 0) {
29
- return;
30
- }
31
-
32
- return (
33
- <Collapsible.Root
34
- className="CollapsibleRoot"
35
- open={open}
36
- onOpenChange={setOpen}
37
- >
38
- {!open && (
39
- <Collapsible.Trigger
40
- className={cn(
41
- "py-2 hover:bg-muted w-full",
42
- group === "optional" && "font-semibold",
43
- group === "deprecated" && "text-muted-foreground",
44
- )}
45
- >
46
- {properties.length} {group} fields
47
- </Collapsible.Trigger>
48
- )}
49
-
50
- <Collapsible.Content className="divide-y divide-border">
51
- {properties.map(([propertyName, property]) => (
52
- <SchemaListViewItem
53
- key={propertyName}
54
- property={property}
55
- propertyName={propertyName}
56
- nestingLevel={nestingLevel}
57
- isRequired={required.includes(propertyName)}
58
- />
59
- ))}
60
- </Collapsible.Content>
61
- </Collapsible.Root>
62
- );
63
- };