polen 0.10.0-next.14 → 0.10.0-next.4

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 (525) hide show
  1. package/README.md +1 -2
  2. package/build/api/builder/builder.js +1 -1
  3. package/build/api/builder/builder.js.map +1 -1
  4. package/build/api/config/load.js +6 -6
  5. package/build/api/config/load.js.map +1 -1
  6. package/build/api/config-resolver/resolve.js +2 -2
  7. package/build/api/config-resolver/resolve.js.map +1 -1
  8. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  9. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  10. package/build/api/vite/plugins/branding/index.js +4 -4
  11. package/build/api/vite/plugins/branding/index.js.map +1 -1
  12. package/build/api/vite/plugins/build.d.ts.map +1 -1
  13. package/build/api/vite/plugins/build.js +4 -12
  14. package/build/api/vite/plugins/build.js.map +1 -1
  15. package/build/api/vite/plugins/core.d.ts +2 -2
  16. package/build/api/vite/plugins/core.d.ts.map +1 -1
  17. package/build/api/vite/plugins/core.js +13 -13
  18. package/build/api/vite/plugins/core.js.map +1 -1
  19. package/build/api/vite/plugins/pages.d.ts +14 -8
  20. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  21. package/build/api/vite/plugins/pages.js +185 -111
  22. package/build/api/vite/plugins/pages.js.map +1 -1
  23. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  24. package/build/api/vite/plugins/serve.js +12 -52
  25. package/build/api/vite/plugins/serve.js.map +1 -1
  26. package/build/cli/_/self-contained-mode.js +5 -5
  27. package/build/cli/_/self-contained-mode.js.map +1 -1
  28. package/build/lib/demos/config-schema.d.ts +20 -20
  29. package/build/lib/file-router/diagnostic-reporter.js +2 -2
  30. package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
  31. package/build/lib/file-router/file-router.d.ts +2 -0
  32. package/build/lib/file-router/file-router.d.ts.map +1 -1
  33. package/build/lib/file-router/file-router.js +2 -0
  34. package/build/lib/file-router/file-router.js.map +1 -1
  35. package/build/lib/file-router/route.d.ts +0 -2
  36. package/build/lib/file-router/route.d.ts.map +1 -1
  37. package/build/lib/file-router/route.js.map +1 -1
  38. package/build/lib/file-router/scan-tree.d.ts +20 -0
  39. package/build/lib/file-router/scan-tree.d.ts.map +1 -0
  40. package/build/lib/file-router/scan-tree.js +158 -0
  41. package/build/lib/file-router/scan-tree.js.map +1 -0
  42. package/build/lib/file-router/scan.d.ts.map +1 -1
  43. package/build/lib/file-router/scan.js +13 -22
  44. package/build/lib/file-router/scan.js.map +1 -1
  45. package/build/lib/file-router/sidebar/index.d.ts +3 -0
  46. package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
  47. package/build/lib/file-router/sidebar/index.js +4 -0
  48. package/build/lib/file-router/sidebar/index.js.map +1 -0
  49. package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
  50. package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
  51. package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
  52. package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
  53. package/build/lib/file-router/sidebar/types.d.ts +17 -0
  54. package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
  55. package/build/lib/file-router/sidebar/types.js.map +1 -0
  56. package/build/lib/github-actions/runner.js +2 -2
  57. package/build/lib/github-actions/runner.js.map +1 -1
  58. package/build/lib/github-actions/schemas/context.d.ts +2 -2
  59. package/build/lib/kit-temp.d.ts +0 -103
  60. package/build/lib/kit-temp.d.ts.map +1 -1
  61. package/build/lib/kit-temp.js +3 -239
  62. package/build/lib/kit-temp.js.map +1 -1
  63. package/build/lib/tree/index.d.ts +3 -0
  64. package/build/lib/tree/index.d.ts.map +1 -0
  65. package/build/lib/tree/index.js +2 -0
  66. package/build/lib/tree/index.js.map +1 -0
  67. package/build/lib/tree/tree.d.ts +62 -0
  68. package/build/lib/tree/tree.d.ts.map +1 -0
  69. package/build/lib/tree/tree.js +134 -0
  70. package/build/lib/tree/tree.js.map +1 -0
  71. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +8 -1
  72. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  73. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +53 -48
  74. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  75. package/build/package-paths.js +3 -3
  76. package/build/package-paths.js.map +1 -1
  77. package/build/sandbox.js +2 -17
  78. package/build/sandbox.js.map +1 -1
  79. package/build/singletons/debug.d.ts +1 -1
  80. package/build/singletons/debug.d.ts.map +1 -1
  81. package/build/singletons/debug.js +1 -1
  82. package/build/singletons/debug.js.map +1 -1
  83. package/build/template/components/ArgumentAnnotation.jsx +16 -0
  84. package/build/template/components/ArgumentAnnotation.jsx.map +1 -0
  85. package/build/template/components/ArgumentList.jsx +16 -0
  86. package/build/template/components/ArgumentList.jsx.map +1 -0
  87. package/build/template/components/ArgumentListAnnotation.jsx +23 -0
  88. package/build/template/components/ArgumentListAnnotation.jsx.map +1 -0
  89. package/build/template/components/Changelog.jsx +68 -0
  90. package/build/template/components/Changelog.jsx.map +1 -0
  91. package/build/template/components/{CodeBlock.js → CodeBlock.jsx} +5 -4
  92. package/build/template/components/{CodeBlock.js.map → CodeBlock.jsx.map} +1 -1
  93. package/build/template/components/DeprecationReason.jsx +10 -0
  94. package/build/template/components/DeprecationReason.jsx.map +1 -0
  95. package/build/template/components/Description.jsx +10 -0
  96. package/build/template/components/Description.jsx.map +1 -0
  97. package/build/template/components/Field.jsx +22 -0
  98. package/build/template/components/Field.jsx.map +1 -0
  99. package/build/template/components/{FieldList.js → FieldList.jsx} +5 -4
  100. package/build/template/components/FieldList.jsx.map +1 -0
  101. package/build/template/components/{FieldListSection.js → FieldListSection.jsx} +6 -4
  102. package/build/template/components/FieldListSection.jsx.map +1 -0
  103. package/build/template/components/Link.d.ts +2 -2
  104. package/build/template/components/Link.d.ts.map +1 -1
  105. package/build/template/components/{Link.js → Link.jsx} +9 -17
  106. package/build/template/components/Link.jsx.map +1 -0
  107. package/build/template/components/Logo.jsx +29 -0
  108. package/build/template/components/Logo.jsx.map +1 -0
  109. package/build/template/components/{Markdown.js → Markdown.jsx} +2 -3
  110. package/build/template/components/Markdown.jsx.map +1 -0
  111. package/build/template/components/MissingSchema.d.ts +1 -1
  112. package/build/template/components/MissingSchema.d.ts.map +1 -1
  113. package/build/template/components/MissingSchema.jsx +4 -0
  114. package/build/template/components/MissingSchema.jsx.map +1 -0
  115. package/build/template/components/NamedType.jsx +17 -0
  116. package/build/template/components/NamedType.jsx.map +1 -0
  117. package/build/template/components/{RadixLink.js → RadixLink.jsx} +1 -1
  118. package/build/template/components/RadixLink.jsx.map +1 -0
  119. package/build/template/components/Texts/{MinorHeading.js → MinorHeading.jsx} +3 -4
  120. package/build/template/components/Texts/MinorHeading.jsx.map +1 -0
  121. package/build/template/components/Texts/texts.js +1 -1
  122. package/build/template/components/Texts/texts.js.map +1 -1
  123. package/build/template/components/{TypeAnnotation.js → TypeAnnotation.jsx} +18 -8
  124. package/build/template/components/TypeAnnotation.jsx.map +1 -0
  125. package/build/template/components/TypeFieldsLinkList.jsx +17 -0
  126. package/build/template/components/TypeFieldsLinkList.jsx.map +1 -0
  127. package/build/template/components/TypeIndex.jsx +27 -0
  128. package/build/template/components/TypeIndex.jsx.map +1 -0
  129. package/build/template/components/graphql/graphql.d.ts +2 -2
  130. package/build/template/components/graphql/graphql.jsx +3 -0
  131. package/build/template/components/graphql/graphql.jsx.map +1 -0
  132. package/build/template/components/graphql/index.d.ts +1 -1
  133. package/build/template/components/graphql/index.js +1 -1
  134. package/build/template/components/graphql/index.js.map +1 -1
  135. package/build/template/components/graphql/{type-kind-icon.js → type-kind-icon.jsx} +2 -3
  136. package/build/template/components/graphql/type-kind-icon.jsx.map +1 -0
  137. package/build/template/components/graphql/type-link.jsx +16 -0
  138. package/build/template/components/graphql/type-link.jsx.map +1 -0
  139. package/build/template/components/sidebar/Sidebar.d.ts +3 -3
  140. package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
  141. package/build/template/components/sidebar/Sidebar.jsx +15 -0
  142. package/build/template/components/sidebar/Sidebar.jsx.map +1 -0
  143. package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
  144. package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
  145. package/build/template/components/sidebar/{SidebarItem.js → SidebarItem.jsx} +35 -18
  146. package/build/template/components/sidebar/SidebarItem.jsx.map +1 -0
  147. package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
  148. package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
  149. package/build/template/components/sidebar/ToggleButton.jsx +6 -0
  150. package/build/template/components/sidebar/ToggleButton.jsx.map +1 -0
  151. package/build/template/entry.client.d.ts +0 -1
  152. package/build/template/entry.client.d.ts.map +1 -1
  153. package/build/template/{entry.client.js → entry.client.jsx} +9 -5
  154. package/build/template/entry.client.jsx.map +1 -0
  155. package/build/template/routes/changelog.d.ts +1 -1
  156. package/build/template/routes/{changelog.js → changelog.jsx} +4 -5
  157. package/build/template/routes/changelog.jsx.map +1 -0
  158. package/build/template/routes/{index.js → index.jsx} +2 -3
  159. package/build/template/routes/index.jsx.map +1 -0
  160. package/build/template/routes/reference.$type.$field.d.ts +1 -1
  161. package/build/template/routes/{reference.$type.$field.js → reference.$type.$field.jsx} +5 -6
  162. package/build/template/routes/reference.$type.$field.jsx.map +1 -0
  163. package/build/template/routes/reference.$type.d.ts +1 -1
  164. package/build/template/routes/{reference.$type.js → reference.$type.jsx} +5 -6
  165. package/build/template/routes/reference.$type.jsx.map +1 -0
  166. package/build/template/routes/reference.d.ts +2 -2
  167. package/build/template/routes/reference.d.ts.map +1 -1
  168. package/build/template/routes/{reference.js → reference.jsx} +12 -7
  169. package/build/template/routes/reference.jsx.map +1 -0
  170. package/build/template/routes/root.d.ts +2 -2
  171. package/build/template/routes/root.d.ts.map +1 -1
  172. package/build/template/routes/root.jsx +188 -0
  173. package/build/template/routes/root.jsx.map +1 -0
  174. package/build/template/routes.jsx +5 -0
  175. package/build/template/routes.jsx.map +1 -0
  176. package/build/template/server/app.d.ts +1 -8
  177. package/build/template/server/app.d.ts.map +1 -1
  178. package/build/template/server/app.js +21 -21
  179. package/build/template/server/app.js.map +1 -1
  180. package/build/template/server/main.js +1 -2
  181. package/build/template/server/main.js.map +1 -1
  182. package/build/template/server/render-page.d.ts +3 -0
  183. package/build/template/server/render-page.d.ts.map +1 -0
  184. package/build/template/server/{create-page-html-response.js → render-page.jsx} +17 -11
  185. package/build/template/server/render-page.jsx.map +1 -0
  186. package/build/template/server/ssg/generate.d.ts.map +1 -1
  187. package/build/template/server/ssg/generate.js +34 -33
  188. package/build/template/server/ssg/generate.js.map +1 -1
  189. package/build/template/server/ssg/get-route-paths.js +1 -1
  190. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  191. package/build/template/server/view.js +1 -1
  192. package/build/template/server/view.js.map +1 -1
  193. package/package.json +9 -66
  194. package/src/api/config/load.ts +5 -5
  195. package/src/api/config-resolver/resolve.ts +2 -2
  196. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
  197. package/src/api/singletons/markdown/markdown.test.ts +1 -1
  198. package/src/api/vite/plugins/branding/index.ts +4 -4
  199. package/src/api/vite/plugins/build.ts +89 -97
  200. package/src/api/vite/plugins/core.ts +16 -18
  201. package/src/api/vite/plugins/pages.ts +209 -135
  202. package/src/api/vite/plugins/serve.ts +14 -67
  203. package/src/cli/_/self-contained-mode.ts +5 -5
  204. package/src/lib/deployment/$$.ts +1 -1
  205. package/src/lib/deployment/$.test.ts +3 -3
  206. package/src/lib/deployment/$.ts +1 -1
  207. package/src/lib/file-router/diagnostic-reporter.ts +2 -2
  208. package/src/lib/file-router/file-router.ts +2 -0
  209. package/src/lib/file-router/linter.test.ts +0 -2
  210. package/src/lib/file-router/route.ts +0 -2
  211. package/src/lib/file-router/scan-tree.test.ts +189 -0
  212. package/src/lib/file-router/scan-tree.ts +205 -0
  213. package/src/lib/file-router/scan.ts +14 -26
  214. package/src/lib/file-router/sidebar/index.ts +3 -0
  215. package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
  216. package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
  217. package/src/lib/file-router/sidebar/types.ts +19 -0
  218. package/src/lib/kit-temp.test.ts +7 -19
  219. package/src/lib/kit-temp.ts +5 -307
  220. package/src/lib/task/$.test.ts +3 -3
  221. package/src/lib/tree/index.ts +2 -0
  222. package/src/lib/tree/tree.test.ts +117 -0
  223. package/src/lib/tree/tree.ts +183 -0
  224. package/src/lib/version-history/index.test.ts +4 -12
  225. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +58 -52
  226. package/src/package-paths.ts +3 -3
  227. package/src/sandbox.ts +1 -20
  228. package/src/singletons/debug.ts +1 -1
  229. package/src/template/components/ArgumentAnnotation.tsx +1 -1
  230. package/src/template/components/ArgumentList.tsx +1 -1
  231. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  232. package/src/template/components/DeprecationReason.tsx +1 -1
  233. package/src/template/components/Description.tsx +1 -1
  234. package/src/template/components/Field.tsx +4 -4
  235. package/src/template/components/FieldList.tsx +1 -1
  236. package/src/template/components/FieldListSection.tsx +1 -1
  237. package/src/template/components/Link.tsx +14 -22
  238. package/src/template/components/NamedType.tsx +2 -2
  239. package/src/template/components/TypeAnnotation.tsx +1 -1
  240. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  241. package/src/template/components/TypeIndex.tsx +1 -1
  242. package/src/template/components/graphql/graphql.tsx +2 -2
  243. package/src/template/components/graphql/index.ts +1 -1
  244. package/src/template/components/graphql/type-link.tsx +2 -2
  245. package/src/template/components/sidebar/Sidebar.tsx +2 -2
  246. package/src/template/components/sidebar/SidebarItem.tsx +14 -14
  247. package/src/template/entry.client.tsx +5 -2
  248. package/src/template/routes/changelog.tsx +1 -1
  249. package/src/template/routes/reference.$type.$field.tsx +3 -3
  250. package/src/template/routes/reference.$type.tsx +3 -3
  251. package/src/template/routes/reference.tsx +10 -6
  252. package/src/template/routes/root.tsx +108 -112
  253. package/src/template/routes.tsx +1 -1
  254. package/src/template/server/app.ts +23 -33
  255. package/src/template/server/main.ts +1 -2
  256. package/src/template/server/{create-page-html-response.ts → render-page.tsx} +16 -19
  257. package/src/template/server/ssg/generate.ts +72 -68
  258. package/src/template/server/ssg/get-route-paths.ts +1 -1
  259. package/src/template/server/view.ts +1 -1
  260. package/src/template/styles/code-block.css +0 -32
  261. package/build/api/content/$$.d.ts +0 -7
  262. package/build/api/content/$$.d.ts.map +0 -1
  263. package/build/api/content/$$.js +0 -7
  264. package/build/api/content/$$.js.map +0 -1
  265. package/build/api/content/$.d.ts +0 -2
  266. package/build/api/content/$.d.ts.map +0 -1
  267. package/build/api/content/$.js +0 -2
  268. package/build/api/content/$.js.map +0 -1
  269. package/build/api/content/metadata.d.ts +0 -10
  270. package/build/api/content/metadata.d.ts.map +0 -1
  271. package/build/api/content/metadata.js +0 -9
  272. package/build/api/content/metadata.js.map +0 -1
  273. package/build/api/content/navbar.d.ts +0 -10
  274. package/build/api/content/navbar.d.ts.map +0 -1
  275. package/build/api/content/navbar.js +0 -45
  276. package/build/api/content/navbar.js.map +0 -1
  277. package/build/api/content/page.d.ts +0 -11
  278. package/build/api/content/page.d.ts.map +0 -1
  279. package/build/api/content/page.js +0 -2
  280. package/build/api/content/page.js.map +0 -1
  281. package/build/api/content/scan.d.ts +0 -19
  282. package/build/api/content/scan.d.ts.map +0 -1
  283. package/build/api/content/scan.js +0 -90
  284. package/build/api/content/scan.js.map +0 -1
  285. package/build/api/content/sidebar.d.ts +0 -104
  286. package/build/api/content/sidebar.d.ts.map +0 -1
  287. package/build/api/content/sidebar.js +0 -166
  288. package/build/api/content/sidebar.js.map +0 -1
  289. package/build/api/content/utils.d.ts +0 -5
  290. package/build/api/content/utils.d.ts.map +0 -1
  291. package/build/api/content/utils.js +0 -8
  292. package/build/api/content/utils.js.map +0 -1
  293. package/build/exports/components.d.ts +0 -5
  294. package/build/exports/components.d.ts.map +0 -1
  295. package/build/exports/components.js +0 -5
  296. package/build/exports/components.js.map +0 -1
  297. package/build/lib/graphql-document/$$.d.ts +0 -5
  298. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  299. package/build/lib/graphql-document/$$.js +0 -5
  300. package/build/lib/graphql-document/$$.js.map +0 -1
  301. package/build/lib/graphql-document/$.d.ts +0 -2
  302. package/build/lib/graphql-document/$.d.ts.map +0 -1
  303. package/build/lib/graphql-document/$.js +0 -2
  304. package/build/lib/graphql-document/$.js.map +0 -1
  305. package/build/lib/graphql-document/analysis.d.ts +0 -44
  306. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  307. package/build/lib/graphql-document/analysis.js +0 -361
  308. package/build/lib/graphql-document/analysis.js.map +0 -1
  309. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  310. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  311. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  312. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  313. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  314. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  315. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -142
  316. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  317. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  318. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  319. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -45
  320. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  321. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  322. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  323. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -48
  324. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  325. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  326. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  327. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  328. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  329. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  330. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  331. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -167
  332. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  333. package/build/lib/graphql-document/components/index.d.ts +0 -6
  334. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  335. package/build/lib/graphql-document/components/index.js +0 -6
  336. package/build/lib/graphql-document/components/index.js.map +0 -1
  337. package/build/lib/graphql-document/example.d.ts +0 -25
  338. package/build/lib/graphql-document/example.d.ts.map +0 -1
  339. package/build/lib/graphql-document/example.js +0 -140
  340. package/build/lib/graphql-document/example.js.map +0 -1
  341. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  342. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  343. package/build/lib/graphql-document/graphql-document.js +0 -36
  344. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  345. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  346. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  347. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  348. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  349. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  350. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  351. package/build/lib/graphql-document/positioning-simple.js +0 -185
  352. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  353. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  354. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  355. package/build/lib/graphql-document/schema-context.js +0 -11
  356. package/build/lib/graphql-document/schema-context.js.map +0 -1
  357. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  358. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  359. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  360. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  361. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  362. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  363. package/build/lib/graphql-document/schema-integration.js +0 -328
  364. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  365. package/build/lib/graphql-document/types.d.ts +0 -117
  366. package/build/lib/graphql-document/types.d.ts.map +0 -1
  367. package/build/lib/graphql-document/types.js.map +0 -1
  368. package/build/template/components/ArgumentAnnotation.js +0 -10
  369. package/build/template/components/ArgumentAnnotation.js.map +0 -1
  370. package/build/template/components/ArgumentList.js +0 -9
  371. package/build/template/components/ArgumentList.js.map +0 -1
  372. package/build/template/components/ArgumentListAnnotation.js +0 -15
  373. package/build/template/components/ArgumentListAnnotation.js.map +0 -1
  374. package/build/template/components/Changelog.js +0 -44
  375. package/build/template/components/Changelog.js.map +0 -1
  376. package/build/template/components/CodeBlockEnhancer.d.ts +0 -2
  377. package/build/template/components/CodeBlockEnhancer.d.ts.map +0 -1
  378. package/build/template/components/CodeBlockEnhancer.js +0 -175
  379. package/build/template/components/CodeBlockEnhancer.js.map +0 -1
  380. package/build/template/components/DeprecationReason.js +0 -9
  381. package/build/template/components/DeprecationReason.js.map +0 -1
  382. package/build/template/components/Description.js +0 -9
  383. package/build/template/components/Description.js.map +0 -1
  384. package/build/template/components/Field.js +0 -14
  385. package/build/template/components/Field.js.map +0 -1
  386. package/build/template/components/FieldList.js.map +0 -1
  387. package/build/template/components/FieldListSection.js.map +0 -1
  388. package/build/template/components/HamburgerMenu.d.ts +0 -9
  389. package/build/template/components/HamburgerMenu.d.ts.map +0 -1
  390. package/build/template/components/HamburgerMenu.js +0 -30
  391. package/build/template/components/HamburgerMenu.js.map +0 -1
  392. package/build/template/components/Link.js.map +0 -1
  393. package/build/template/components/Logo.js +0 -20
  394. package/build/template/components/Logo.js.map +0 -1
  395. package/build/template/components/MDXComponents.d.ts +0 -11
  396. package/build/template/components/MDXComponents.d.ts.map +0 -1
  397. package/build/template/components/MDXComponents.js +0 -70
  398. package/build/template/components/MDXComponents.js.map +0 -1
  399. package/build/template/components/Markdown.js.map +0 -1
  400. package/build/template/components/MissingSchema.js +0 -5
  401. package/build/template/components/MissingSchema.js.map +0 -1
  402. package/build/template/components/NamedType.js +0 -12
  403. package/build/template/components/NamedType.js.map +0 -1
  404. package/build/template/components/NotFound.d.ts +0 -2
  405. package/build/template/components/NotFound.d.ts.map +0 -1
  406. package/build/template/components/NotFound.js +0 -7
  407. package/build/template/components/NotFound.js.map +0 -1
  408. package/build/template/components/RadixLink.js.map +0 -1
  409. package/build/template/components/TestComponent.d.ts +0 -5
  410. package/build/template/components/TestComponent.d.ts.map +0 -1
  411. package/build/template/components/TestComponent.js +0 -7
  412. package/build/template/components/TestComponent.js.map +0 -1
  413. package/build/template/components/Texts/MinorHeading.js.map +0 -1
  414. package/build/template/components/ThemeToggle.d.ts +0 -3
  415. package/build/template/components/ThemeToggle.d.ts.map +0 -1
  416. package/build/template/components/ThemeToggle.js +0 -9
  417. package/build/template/components/ThemeToggle.js.map +0 -1
  418. package/build/template/components/TypeAnnotation.js.map +0 -1
  419. package/build/template/components/TypeFieldsLinkList.js +0 -9
  420. package/build/template/components/TypeFieldsLinkList.js.map +0 -1
  421. package/build/template/components/TypeIndex.js +0 -17
  422. package/build/template/components/TypeIndex.js.map +0 -1
  423. package/build/template/components/content/$$.d.ts +0 -3
  424. package/build/template/components/content/$$.d.ts.map +0 -1
  425. package/build/template/components/content/$$.js +0 -3
  426. package/build/template/components/content/$$.js.map +0 -1
  427. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
  428. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
  429. package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
  430. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
  431. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
  432. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
  433. package/build/template/components/content/GraphQLDocumentWrapper.js +0 -63
  434. package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
  435. package/build/template/components/graphql/graphql.js +0 -3
  436. package/build/template/components/graphql/graphql.js.map +0 -1
  437. package/build/template/components/graphql/type-kind-icon.js.map +0 -1
  438. package/build/template/components/graphql/type-link.js +0 -11
  439. package/build/template/components/graphql/type-link.js.map +0 -1
  440. package/build/template/components/sidebar/Sidebar.js +0 -11
  441. package/build/template/components/sidebar/Sidebar.js.map +0 -1
  442. package/build/template/components/sidebar/SidebarItem.js.map +0 -1
  443. package/build/template/components/sidebar/ToggleButton.js +0 -5
  444. package/build/template/components/sidebar/ToggleButton.js.map +0 -1
  445. package/build/template/contexts/ThemeContext.d.ts +0 -12
  446. package/build/template/contexts/ThemeContext.d.ts.map +0 -1
  447. package/build/template/contexts/ThemeContext.js +0 -40
  448. package/build/template/contexts/ThemeContext.js.map +0 -1
  449. package/build/template/entry.client.js.map +0 -1
  450. package/build/template/hooks/useClientOnly.d.ts +0 -9
  451. package/build/template/hooks/useClientOnly.d.ts.map +0 -1
  452. package/build/template/hooks/useClientOnly.js +0 -16
  453. package/build/template/hooks/useClientOnly.js.map +0 -1
  454. package/build/template/routes/changelog.js.map +0 -1
  455. package/build/template/routes/index.js.map +0 -1
  456. package/build/template/routes/reference.$type.$field.js.map +0 -1
  457. package/build/template/routes/reference.$type.js.map +0 -1
  458. package/build/template/routes/reference.js.map +0 -1
  459. package/build/template/routes/root.js +0 -138
  460. package/build/template/routes/root.js.map +0 -1
  461. package/build/template/routes.js +0 -5
  462. package/build/template/routes.js.map +0 -1
  463. package/build/template/server/create-page-html-response.d.ts +0 -7
  464. package/build/template/server/create-page-html-response.d.ts.map +0 -1
  465. package/build/template/server/create-page-html-response.js.map +0 -1
  466. package/build/template/server/middleware/page.d.ts +0 -4
  467. package/build/template/server/middleware/page.d.ts.map +0 -1
  468. package/build/template/server/middleware/page.js +0 -15
  469. package/build/template/server/middleware/page.js.map +0 -1
  470. package/build/template/server/middleware/unsupported-assets.d.ts +0 -10
  471. package/build/template/server/middleware/unsupported-assets.d.ts.map +0 -1
  472. package/build/template/server/middleware/unsupported-assets.js +0 -21
  473. package/build/template/server/middleware/unsupported-assets.js.map +0 -1
  474. package/build/template/styles/code-block.css +0 -218
  475. package/src/api/content/$$.ts +0 -6
  476. package/src/api/content/$.test.ts +0 -72
  477. package/src/api/content/$.ts +0 -1
  478. package/src/api/content/metadata.ts +0 -11
  479. package/src/api/content/navbar.test.ts +0 -55
  480. package/src/api/content/navbar.ts +0 -61
  481. package/src/api/content/page.ts +0 -12
  482. package/src/api/content/scan.ts +0 -117
  483. package/src/api/content/sidebar.test.ts +0 -297
  484. package/src/api/content/sidebar.ts +0 -283
  485. package/src/api/content/utils.ts +0 -7
  486. package/src/exports/components.ts +0 -4
  487. package/src/lib/graphql-document/$$.ts +0 -4
  488. package/src/lib/graphql-document/$.test.ts +0 -132
  489. package/src/lib/graphql-document/$.ts +0 -1
  490. package/src/lib/graphql-document/README.md +0 -102
  491. package/src/lib/graphql-document/analysis.ts +0 -415
  492. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  493. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -262
  494. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  495. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -70
  496. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -197
  497. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  498. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -167
  499. package/src/lib/graphql-document/components/index.ts +0 -5
  500. package/src/lib/graphql-document/demo.md +0 -155
  501. package/src/lib/graphql-document/example.ts +0 -163
  502. package/src/lib/graphql-document/graphql-document.ts +0 -37
  503. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  504. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  505. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  506. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  507. package/src/lib/graphql-document/schema-context.tsx +0 -20
  508. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  509. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  510. package/src/lib/graphql-document/schema-integration.ts +0 -497
  511. package/src/lib/graphql-document/types.ts +0 -129
  512. package/src/template/components/CodeBlockEnhancer.tsx +0 -192
  513. package/src/template/components/HamburgerMenu.tsx +0 -96
  514. package/src/template/components/MDXComponents.tsx +0 -101
  515. package/src/template/components/NotFound.tsx +0 -28
  516. package/src/template/components/TestComponent.tsx +0 -6
  517. package/src/template/components/ThemeToggle.tsx +0 -21
  518. package/src/template/components/content/$$.ts +0 -2
  519. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
  520. package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -89
  521. package/src/template/contexts/ThemeContext.tsx +0 -60
  522. package/src/template/hooks/useClientOnly.ts +0 -21
  523. package/src/template/server/middleware/page.ts +0 -19
  524. package/src/template/server/middleware/unsupported-assets.ts +0 -25
  525. /package/build/lib/{graphql-document → file-router/sidebar}/types.js +0 -0
@@ -1,192 +0,0 @@
1
- import { useEffect } from 'react'
2
- import { useLocation } from 'react-router'
3
- import { useTheme } from '../contexts/ThemeContext.tsx'
4
-
5
- export const CodeBlockEnhancer = () => {
6
- const { appearance } = useTheme()
7
- const location = useLocation()
8
-
9
- useEffect(() => {
10
- // Add styles for code block enhancements
11
- const styleId = 'code-block-enhancer-styles'
12
- let styleElement = document.getElementById(styleId) as HTMLStyleElement
13
-
14
- if (!styleElement) {
15
- styleElement = document.createElement('style')
16
- styleElement.id = styleId
17
- document.head.appendChild(styleElement)
18
- }
19
-
20
- styleElement.textContent = `
21
- /* Enhanced code block styles */
22
- pre.shiki {
23
- position: relative;
24
- }
25
-
26
- pre.shiki[data-title] {
27
- margin-top: 0;
28
- border-radius: 0 0 8px 8px !important;
29
- }
30
-
31
- pre.shiki[data-title]::before {
32
- content: attr(data-title);
33
- display: block;
34
- position: absolute;
35
- top: -2.5rem;
36
- left: -1px;
37
- right: -1px;
38
- background-color: ${appearance === 'dark' ? '#2a2b3d' : '#f3f4f6'};
39
- border: 1px solid var(--gray-4);
40
- border-bottom: 1px solid ${appearance === 'dark' ? '#3a3b4d' : '#e5e7eb'};
41
- border-radius: 8px 8px 0 0;
42
- padding: 0.5rem 1rem;
43
- font-size: 0.875rem;
44
- font-weight: 500;
45
- color: var(--gray-11);
46
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
47
- }
48
-
49
- pre.shiki[data-title][data-language]::after {
50
- content: attr(data-language);
51
- position: absolute;
52
- top: -2rem;
53
- right: 1rem;
54
- font-size: 0.75rem;
55
- color: var(--gray-9);
56
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
57
- }
58
-
59
- .code-block-copy {
60
- position: absolute;
61
- top: 0.5rem;
62
- right: 0.5rem;
63
- padding: 0.25rem 0.5rem;
64
- font-size: 0.75rem;
65
- cursor: pointer;
66
- border: none;
67
- border-radius: 4px;
68
- transition: all 0.2s;
69
- background-color: ${appearance === 'dark' ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 255, 255, 0.8)'};
70
- backdrop-filter: blur(4px);
71
- color: ${appearance === 'dark' ? '#fff' : '#000'};
72
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
73
- }
74
-
75
- pre.shiki[data-title] .code-block-copy {
76
- top: -2rem;
77
- right: 6rem;
78
- background-color: transparent;
79
- color: var(--gray-11);
80
- }
81
-
82
- .code-block-copy:hover {
83
- background-color: var(--accent-9) !important;
84
- color: white !important;
85
- }
86
-
87
- .code-block-copy[data-copied="true"] {
88
- background-color: var(--green-9) !important;
89
- color: white !important;
90
- }
91
- `
92
-
93
- return () => {
94
- if (styleElement && styleElement.parentNode) {
95
- styleElement.parentNode.removeChild(styleElement)
96
- }
97
- }
98
- }, [appearance])
99
-
100
- useEffect(() => {
101
- const enhanceCodeBlocks = () => {
102
- const codeBlocks = document.querySelectorAll('pre.shiki:not([data-enhanced])')
103
-
104
- codeBlocks.forEach((block) => {
105
- const preElement = block as HTMLPreElement
106
- preElement.setAttribute('data-enhanced', 'true')
107
-
108
- // Get language from class name
109
- const classes = preElement.className.split(' ')
110
- const language = classes.find(c => c !== 'shiki' && c !== 'shiki-light' && c !== 'shiki-dark') || 'text'
111
-
112
- // Check for title in first line
113
- const codeElement = preElement.querySelector('code')
114
- if (!codeElement) return
115
-
116
- const firstLine = codeElement.textContent?.split('\n')[0] || ''
117
- let title = ''
118
-
119
- const titleMatch = firstLine.match(/^\/\/\s*title:\s*(.+)$/i)
120
- if (titleMatch && titleMatch[1]) {
121
- title = titleMatch[1]
122
- // Remove title line from display
123
- const firstLineElement = codeElement.querySelector('span.line') as HTMLElement
124
- if (firstLineElement) {
125
- firstLineElement.style.display = 'none'
126
- }
127
-
128
- // Set data attributes for CSS
129
- preElement.setAttribute('data-title', title)
130
- preElement.setAttribute('data-language', language)
131
- preElement.style.marginTop = '3rem'
132
- }
133
-
134
- // Create copy button
135
- const copyButton = document.createElement('button')
136
- copyButton.className = 'code-block-copy'
137
- copyButton.textContent = 'Copy'
138
- copyButton.setAttribute('data-copied', 'false')
139
-
140
- copyButton.onclick = async (e) => {
141
- e.preventDefault()
142
- e.stopPropagation()
143
-
144
- // Get clean code without the title line
145
- const code = codeElement.textContent || ''
146
- const cleanCode = title ? code.split('\n').slice(1).join('\n') : code
147
-
148
- try {
149
- await navigator.clipboard.writeText(cleanCode)
150
- copyButton.textContent = 'Copied!'
151
- copyButton.setAttribute('data-copied', 'true')
152
- setTimeout(() => {
153
- copyButton.textContent = 'Copy'
154
- copyButton.setAttribute('data-copied', 'false')
155
- }, 2000)
156
- } catch (err) {
157
- console.error('Failed to copy:', err)
158
- }
159
- }
160
-
161
- // Append copy button directly to pre element
162
- preElement.appendChild(copyButton)
163
- })
164
- }
165
-
166
- // Small delay to ensure DOM is ready
167
- const timeoutId = setTimeout(enhanceCodeBlocks, 100)
168
-
169
- return () => {
170
- clearTimeout(timeoutId)
171
- // Clean up enhanced code blocks
172
- document.querySelectorAll('pre.shiki[data-enhanced]').forEach(block => {
173
- block.removeAttribute('data-enhanced')
174
- block.removeAttribute('data-title')
175
- block.removeAttribute('data-language')
176
- const copyButton = block.querySelector('.code-block-copy')
177
- if (copyButton) {
178
- copyButton.remove()
179
- }
180
- // Restore hidden title lines
181
- const firstLine = block.querySelector('span.line') as HTMLElement
182
- if (firstLine && firstLine.style.display === 'none') {
183
- firstLine.style.display = ''
184
- } // Reset margin
185
-
186
- ;(block as HTMLElement).style.marginTop = ''
187
- })
188
- }
189
- }, [location.pathname]) // Re-run when route changes
190
-
191
- return null
192
- }
@@ -1,96 +0,0 @@
1
- import type { Content } from '#api/content/$'
2
- import { Cross2Icon, HamburgerMenuIcon } from '@radix-ui/react-icons'
3
- import { Box, Flex, IconButton, Text } from '@radix-ui/themes'
4
- import { useEffect } from 'react'
5
- import { Sidebar } from '../components/sidebar/Sidebar.tsx'
6
-
7
- export interface HamburgerMenuProps {
8
- isOpen: boolean
9
- onToggle: () => void
10
- onClose: () => void
11
- sidebarData: Content.Item[]
12
- }
13
-
14
- export const HamburgerMenu: React.FC<HamburgerMenuProps> = ({
15
- isOpen,
16
- onToggle,
17
- onClose,
18
- sidebarData,
19
- }) => {
20
- // Prevent body scroll when mobile menu is open
21
- useEffect(() => {
22
- if (isOpen) {
23
- document.body.style.overflow = 'hidden'
24
- } else {
25
- document.body.style.overflow = ''
26
- }
27
-
28
- // Cleanup
29
- return () => {
30
- document.body.style.overflow = ''
31
- }
32
- }, [isOpen])
33
-
34
- return (
35
- <>
36
- {/* Mobile menu button - show on mobile/tablet, hide on desktop */}
37
- <Box display={{ initial: 'block', xs: 'block', sm: 'block', md: 'none', lg: 'none', xl: 'none' }}>
38
- <IconButton
39
- size='2'
40
- variant='ghost'
41
- onClick={onToggle}
42
- aria-label='Toggle navigation menu'
43
- >
44
- {isOpen ? <Cross2Icon width='18' height='18' /> : <HamburgerMenuIcon width='18' height='18' />}
45
- </IconButton>
46
- </Box>
47
-
48
- {/* Mobile Sidebar Drawer */}
49
- {isOpen && (
50
- <>
51
- {/* Backdrop */}
52
- <Box
53
- position='fixed'
54
- inset='0'
55
- style={{
56
- backgroundColor: 'var(--black-a9)',
57
- zIndex: 50,
58
- }}
59
- onClick={onClose}
60
- display={{ initial: 'block', xs: 'block', sm: 'block', md: 'none', lg: 'none', xl: 'none' }}
61
- />
62
-
63
- {/* Drawer */}
64
- <Box
65
- position='fixed'
66
- top='0'
67
- left='0'
68
- bottom='0'
69
- width='280px'
70
- style={{
71
- backgroundColor: 'var(--color-background)',
72
- boxShadow: 'var(--shadow-6)',
73
- zIndex: 100,
74
- overflowY: 'auto',
75
- }}
76
- p='4'
77
- display={{ initial: 'block', xs: 'block', sm: 'block', md: 'none', lg: 'none', xl: 'none' }}
78
- >
79
- <Flex justify='between' align='center' mb='4'>
80
- <Text size='5' weight='bold'>Navigation</Text>
81
- <IconButton
82
- size='2'
83
- variant='ghost'
84
- onClick={onClose}
85
- aria-label='Close navigation menu'
86
- >
87
- <Cross2Icon width='18' height='18' />
88
- </IconButton>
89
- </Flex>
90
- <Sidebar data={sidebarData} />
91
- </Box>
92
- </>
93
- )}
94
- </>
95
- )
96
- }
@@ -1,101 +0,0 @@
1
- import React from 'react'
2
-
3
- interface PreProps {
4
- children: React.ReactNode
5
- className?: string
6
- 'data-enhanced'?: string
7
- }
8
-
9
- interface CodeProps {
10
- children: string
11
- className?: string
12
- }
13
-
14
- /**
15
- * Custom pre component that intercepts GraphQL code blocks
16
- */
17
- const Pre: React.FC<PreProps> = ({ children, className, ...props }) => {
18
- // Check if this is a Shiki-enhanced code block
19
- const isShiki = props['data-enhanced'] === 'true'
20
-
21
- // Extract the code element
22
- const codeElement = React.Children.toArray(children).find(
23
- child => React.isValidElement(child) && child.type === 'code',
24
- ) as React.ReactElement<CodeProps> | undefined
25
-
26
- if (!codeElement) {
27
- return <pre className={className} {...props}>{children}</pre>
28
- }
29
-
30
- // Check if it's a GraphQL code block
31
- const codeClassName = codeElement.props.className || ''
32
- const isGraphQL = codeClassName.includes('language-graphql') || codeClassName.includes('language-gql')
33
-
34
- if (isGraphQL && isShiki) {
35
- // Extract the plain text content from the code element
36
- const plainText = extractPlainText(codeElement.props.children)
37
-
38
- // For now, just render the Shiki-highlighted code normally
39
- // The GraphQLDocument component will be enhanced client-side
40
- return (
41
- <div data-testid='graphql-document' data-graphql-code={plainText}>
42
- <pre className={className} {...props}>{children}</pre>
43
- </div>
44
- )
45
- }
46
-
47
- // For non-GraphQL code blocks, render normally
48
- return <pre className={className} {...props}>{children}</pre>
49
- }
50
-
51
- /**
52
- * Extract plain text from React children (recursive)
53
- */
54
- function extractPlainText(children: React.ReactNode): string {
55
- if (typeof children === 'string') {
56
- return children
57
- }
58
-
59
- if (Array.isArray(children)) {
60
- return children.map(extractPlainText).join('')
61
- }
62
-
63
- if (React.isValidElement(children)) {
64
- const props = (children as React.ReactElement<any>).props
65
- if (props?.children) {
66
- return extractPlainText(props.children)
67
- }
68
- }
69
-
70
- return ''
71
- }
72
-
73
- /**
74
- * Simple server-side rendering of React element to HTML string
75
- */
76
- function renderToStaticMarkup(element: React.ReactNode): string {
77
- // For server-side, we just need to preserve the structure
78
- if (typeof element === 'string') return element
79
-
80
- if (React.isValidElement(element)) {
81
- const { type, props } = element as React.ReactElement<any>
82
- const tagName = typeof type === 'string' ? type : 'div'
83
- const attrs = Object.entries(props || {})
84
- .filter(([key]) => key !== 'children' && !key.startsWith('__'))
85
- .map(([key, value]) => `${key}="${value}"`)
86
- .join(' ')
87
-
88
- const children = props?.children ? renderToStaticMarkup(props.children) : ''
89
- return `<${tagName}${attrs ? ' ' + attrs : ''}>${children}</${tagName}>`
90
- }
91
-
92
- if (Array.isArray(element)) {
93
- return element.map(renderToStaticMarkup).join('')
94
- }
95
-
96
- return ''
97
- }
98
-
99
- export const mdxComponents = {
100
- pre: Pre,
101
- }
@@ -1,28 +0,0 @@
1
- import { Box, Button, Flex, Heading, Text } from '@radix-ui/themes'
2
- import { Link as LinkReactRouter } from 'react-router'
3
-
4
- export const NotFound: React.FC = () => {
5
- return (
6
- <Flex direction='column' align='center' gap='6' style={{ textAlign: `center`, paddingTop: `4rem` }}>
7
- <Heading size='9' style={{ color: `var(--gray-12)` }}>404</Heading>
8
- <Box>
9
- <Heading size='5' mb='2'>Page Not Found</Heading>
10
- <Text size='3' color='gray'>
11
- The page you're looking for doesn't exist or has been moved.
12
- </Text>
13
- </Box>
14
- <Flex gap='3'>
15
- <LinkReactRouter to='/'>
16
- <Button variant='soft' size='3'>
17
- Go Home
18
- </Button>
19
- </LinkReactRouter>
20
- <LinkReactRouter to='/reference'>
21
- <Button variant='outline' size='3'>
22
- View API Reference
23
- </Button>
24
- </LinkReactRouter>
25
- </Flex>
26
- </Flex>
27
- )
28
- }
@@ -1,6 +0,0 @@
1
- import React from 'react'
2
-
3
- export const TestComponent: React.FC<{ children: React.ReactNode }> = ({ children }) => {
4
- console.log('TestComponent rendered!')
5
- return <div style={{ border: '2px solid red', padding: '10px' }}>TEST: {children}</div>
6
- }
@@ -1,21 +0,0 @@
1
- import type { React } from '#dep/react/index'
2
- import { MoonIcon, SunIcon } from '@radix-ui/react-icons'
3
- import { IconButton } from '@radix-ui/themes'
4
- import { useTheme } from '../contexts/ThemeContext.tsx'
5
-
6
- export const ThemeToggle: React.FC = () => {
7
- const { appearance, toggleTheme } = useTheme()
8
-
9
- return (
10
- <IconButton
11
- size='2'
12
- variant='ghost'
13
- color='gray'
14
- onClick={toggleTheme}
15
- aria-label={`Switch to ${appearance === 'light' ? 'dark' : 'light'} theme`}
16
- style={{ cursor: 'pointer' }}
17
- >
18
- {appearance === 'light' ? <MoonIcon width='18' height='18' /> : <SunIcon width='18' height='18' />}
19
- </IconButton>
20
- )
21
- }
@@ -1,2 +0,0 @@
1
- export { Callout, Tabs } from '@radix-ui/themes'
2
- export { GraphQLDocumentWithSchema } from './GraphQLDocumentWithSchema.tsx'
@@ -1,13 +0,0 @@
1
- import React from 'react'
2
- import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
3
- import { GraphQLDocument } from '../../../lib/graphql-document/components/GraphQLDocument.tsx'
4
- import type { GraphQLDocumentProps } from '../../../lib/graphql-document/components/GraphQLDocument.tsx'
5
-
6
- /**
7
- * Wrapper component that provides schema from virtual module directly to GraphQLDocument
8
- * This bypasses the context issue with MDX components
9
- */
10
- export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'schema'>> = (props) => {
11
- const schema = PROJECT_DATA.schema?.versions[0]?.after
12
- return <GraphQLDocument {...props} schema={schema} />
13
- }
@@ -1,89 +0,0 @@
1
- import React from 'react'
2
- import { useNavigate } from 'react-router'
3
- import { GraphQLDocument } from '../../../lib/graphql-document/components/GraphQLDocument.tsx'
4
- import type { GraphQLDocumentProps } from '../../../lib/graphql-document/components/GraphQLDocument.tsx'
5
- import { highlightCode } from '../../../lib/shiki/shiki.ts'
6
-
7
- /**
8
- * Client-side wrapper that hydrates GraphQL documents with schema
9
- */
10
- export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'schema'>> = (props) => {
11
- try {
12
- const [schema, setSchema] = React.useState<any>(null)
13
- const [isClient, setIsClient] = React.useState(false)
14
- const [highlightedHtml, setHighlightedHtml] = React.useState<string | null>(null)
15
-
16
- React.useEffect(() => {
17
- setIsClient(true)
18
-
19
- // Highlight the code
20
- if (typeof props.children === 'string') {
21
- highlightCode({
22
- code: props.children,
23
- lang: 'graphql',
24
- theme: 'light', // You can make this dynamic based on theme
25
- }).then(html => {
26
- setHighlightedHtml(html)
27
- }).catch(() => {
28
- // Silently fall back to unhighlighted code
29
- })
30
- }
31
-
32
- // Access virtual module only on client side
33
- if (typeof window !== 'undefined') {
34
- import('virtual:polen/project/data.jsonsuper').then(PROJECT_DATA => {
35
- const s = PROJECT_DATA.default?.schema?.versions?.[0]?.after
36
- // Schema loaded successfully
37
- if (s) {
38
- setSchema(s)
39
- }
40
- }).catch(() => {
41
- // Schema loading is optional - continue without it
42
- })
43
- }
44
- }, [props.children])
45
-
46
- // During SSR, render a simple code block
47
- if (!isClient) {
48
- return (
49
- <div data-testid='graphql-document' className='graphql-document graphql-document-static'>
50
- <pre className='shiki shiki-themes github-light tokyo-night'>
51
- <code className="language-graphql">{props.children}</code>
52
- </pre>
53
- </div>
54
- )
55
- }
56
-
57
- // During client render, use the full component
58
- // Pass a custom navigate function that doesn't require router
59
- const handleNavigate = (url: string) => {
60
- if (typeof window !== 'undefined') {
61
- window.location.href = url
62
- }
63
- }
64
-
65
- return (
66
- <div data-testid='graphql-document'>
67
- <GraphQLDocument
68
- {...props}
69
- schema={schema}
70
- highlightedHtml={highlightedHtml || undefined}
71
- options={{
72
- debug: false, // Default to false for shipping
73
- ...props.options,
74
- onNavigate: handleNavigate,
75
- }}
76
- />
77
- </div>
78
- )
79
- } catch (err) {
80
- // Fall back to plain code block on error
81
- return (
82
- <div data-testid='graphql-document' className='graphql-document graphql-document-static'>
83
- <pre className='shiki'>
84
- <code className="language-graphql">{props.children}</code>
85
- </pre>
86
- </div>
87
- )
88
- }
89
- }
@@ -1,60 +0,0 @@
1
- import type { React } from '#dep/react/index'
2
- import { createContext, useContext, useEffect, useState } from 'react'
3
-
4
- type ThemeAppearance = 'light' | 'dark'
5
-
6
- interface ThemeContextValue {
7
- appearance: ThemeAppearance
8
- toggleTheme: () => void
9
- }
10
-
11
- const ThemeContext = createContext<ThemeContextValue | undefined>(undefined)
12
-
13
- const THEME_STORAGE_KEY = 'polen-theme-preference'
14
-
15
- export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
16
- const [appearance, setAppearance] = useState<ThemeAppearance>(() => {
17
- // Check if we're in the browser
18
- if (typeof window === 'undefined') {
19
- return 'light'
20
- }
21
-
22
- // Check localStorage first
23
- const stored = localStorage.getItem(THEME_STORAGE_KEY)
24
- if (stored === 'light' || stored === 'dark') {
25
- return stored
26
- }
27
-
28
- // Check system preference
29
- if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
30
- return 'dark'
31
- }
32
-
33
- return 'light'
34
- })
35
-
36
- useEffect(() => {
37
- // Persist to localStorage
38
- if (typeof window !== 'undefined') {
39
- localStorage.setItem(THEME_STORAGE_KEY, appearance)
40
- }
41
- }, [appearance])
42
-
43
- const toggleTheme = () => {
44
- setAppearance(prev => prev === 'light' ? 'dark' : 'light')
45
- }
46
-
47
- return (
48
- <ThemeContext.Provider value={{ appearance, toggleTheme }}>
49
- {children}
50
- </ThemeContext.Provider>
51
- )
52
- }
53
-
54
- export const useTheme = () => {
55
- const context = useContext(ThemeContext)
56
- if (!context) {
57
- throw new Error('useTheme must be used within a ThemeProvider')
58
- }
59
- return context
60
- }
@@ -1,21 +0,0 @@
1
- import { useEffect, useState } from 'react'
2
-
3
- /**
4
- * Hook that returns a server value during SSR and switches to client value after hydration
5
- *
6
- * @param clientValue - Function that returns the value to use on the client
7
- * @param serverValue - Value to use during SSR
8
- * @returns The appropriate value based on rendering context
9
- */
10
- export function useClientOnly<T>(
11
- clientValue: () => T,
12
- serverValue: T,
13
- ): T {
14
- const [value, setValue] = useState<T>(serverValue)
15
-
16
- useEffect(() => {
17
- setValue(clientValue())
18
- }, [])
19
-
20
- return value
21
- }
@@ -1,19 +0,0 @@
1
- import type { Hono } from '#dep/hono/index'
2
- import { asyncReduceWith } from '#lib/kit-temp'
3
- import type { HtmlTransformer } from '../app.ts'
4
- import { createPageHtmlResponse } from '../create-page-html-response.ts'
5
- import { view } from '../view.ts'
6
-
7
- export const PageMiddleware = (transformers: HtmlTransformer[]) => {
8
- return async (ctx: Hono.Context) => {
9
- const staticHandlerContext = await view.query(ctx.req.raw)
10
-
11
- if (staticHandlerContext instanceof Response) {
12
- return staticHandlerContext
13
- }
14
-
15
- return createPageHtmlResponse(staticHandlerContext, {
16
- transformHtml: asyncReduceWith(transformers, ctx),
17
- })
18
- }
19
- }
@@ -1,25 +0,0 @@
1
- import type { Hono } from '#dep/hono/index'
2
- import { AppleTouchIcon } from '#lib/apple-touch-icon/index'
3
- import { Favicon } from '#lib/favicon/index'
4
- import { Http } from '@wollybeard/kit'
5
-
6
- /**
7
- * Temporary middleware to block unsupported asset requests
8
- *
9
- * TODO: Polen should eventually support favicon and apple-touch-icon generation
10
- * For now, we return 404 immediately to prevent these requests from reaching
11
- * React Router and causing unnecessary processing or errors.
12
- */
13
- export const UnsupportedAssetsMiddleware = (): Hono.MiddlewareHandler => {
14
- return async (ctx, next) => {
15
- // Block these asset requests until Polen supports them
16
- if (
17
- Favicon.fileNamePattern.test(ctx.req.path)
18
- || AppleTouchIcon.fileNamePattern.test(ctx.req.path)
19
- ) {
20
- return Http.Response.notFound
21
- }
22
-
23
- await next()
24
- }
25
- }