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,16 +1,16 @@
1
- import type { Content } from '#api/content/$'
2
1
  import type { React } from '#dep/react/index'
2
+ import type { FileRouter } from '#lib/file-router/index'
3
3
  import { Texts } from '#template/components/Texts/index'
4
- import { Box, Flex } from '@radix-ui/themes'
4
+ import { Box, Flex, Text } from '@radix-ui/themes'
5
5
  import { useLocation } from 'react-router'
6
6
  import { getPathActiveReport, Link } from '../Link.tsx'
7
7
 
8
- export const Items: React.FC<{ items: Content.Item[] }> = ({ items }) => {
8
+ export const Items: React.FC<{ items: FileRouter.Sidebar.Item[] }> = ({ items }) => {
9
9
  return (
10
10
  <Flex direction='column' gap='2px'>
11
- {items.map((item, index) => (
11
+ {items.map((item) => (
12
12
  <Item
13
- key={`${item.pathExp}-${index}`}
13
+ key={item.pathExp}
14
14
  item={item}
15
15
  />
16
16
  ))}
@@ -26,7 +26,7 @@ export const Items: React.FC<{ items: Content.Item[] }> = ({ items }) => {
26
26
  //
27
27
  //
28
28
 
29
- export const Item: React.FC<{ item: Content.Item }> = ({ item }) => {
29
+ export const Item: React.FC<{ item: FileRouter.Sidebar.Item }> = ({ item }) => {
30
30
  if (item.type === `ItemLink`) {
31
31
  return <SBLink link={item} />
32
32
  }
@@ -47,7 +47,7 @@ export const Item: React.FC<{ item: Content.Item }> = ({ item }) => {
47
47
  //
48
48
 
49
49
  const SBLink: React.FC<{
50
- link: Content.ItemLink | Content.ItemSection
50
+ link: FileRouter.Sidebar.ItemLink | FileRouter.Sidebar.ItemSection
51
51
  }> = ({ link }) => {
52
52
  const location = useLocation()
53
53
  const currentPathExp = location.pathname
@@ -63,7 +63,7 @@ const SBLink: React.FC<{
63
63
  display: `block`,
64
64
  textDecoration: `none`,
65
65
  color: active.is ? `var(--accent-12)` : undefined,
66
- backgroundColor: active.isDirect ? `var(--accent-2)` : active.isDescendant ? `var(--accent-1)` : `transparent`,
66
+ backgroundColor: active.isDirect ? `var(--accent-2)` : active.isdescendant ? `var(--accent-1)` : `transparent`,
67
67
  borderRadius: `var(--radius-2)`,
68
68
  }}
69
69
  >
@@ -81,7 +81,7 @@ const SBLink: React.FC<{
81
81
  //
82
82
 
83
83
  const Section: React.FC<{
84
- section: Content.ItemSection
84
+ section: FileRouter.Sidebar.ItemSection
85
85
  }> = ({ section }) => {
86
86
  return (
87
87
  <Box mt='8'>
@@ -104,7 +104,7 @@ const Section: React.FC<{
104
104
  //
105
105
 
106
106
  const LinkedSection: React.FC<{
107
- section: Content.ItemSection
107
+ section: FileRouter.Sidebar.ItemSection
108
108
  }> = ({ section }) => {
109
109
  return (
110
110
  <Box>
@@ -121,9 +121,9 @@ const LinkedSection: React.FC<{
121
121
  borderLeft: `1px solid var(--gray-5)`,
122
122
  }}
123
123
  >
124
- {section.links.map((link, index) => (
124
+ {section.links.map((link) => (
125
125
  <SectionLink
126
- key={`${link.pathExp}-${index}`}
126
+ key={link.pathExp}
127
127
  link={link}
128
128
  />
129
129
  ))}
@@ -133,7 +133,7 @@ const LinkedSection: React.FC<{
133
133
  )
134
134
  }
135
135
 
136
- const SectionLink: React.FC<{ link: Content.ItemLink }> = ({ link }) => {
136
+ const SectionLink: React.FC<{ link: FileRouter.Sidebar.ItemLink }> = ({ link }) => {
137
137
  const location = useLocation()
138
138
  const active = getPathActiveReport(link.pathExp, location.pathname)
139
139
 
@@ -145,7 +145,7 @@ const SectionLink: React.FC<{ link: Content.ItemLink }> = ({ link }) => {
145
145
  style={{
146
146
  textDecoration: `none`,
147
147
  color: active.is ? `var(--accent-12)` : undefined,
148
- backgroundColor: active.isDirect ? `var(--accent-2)` : active.isDescendant ? `var(--accent-1)` : `transparent`,
148
+ backgroundColor: active.isDirect ? `var(--accent-2)` : active.isdescendant ? `var(--accent-1)` : `transparent`,
149
149
  borderBottomRightRadius: `var(--radius-2)`,
150
150
  borderTopRightRadius: `var(--radius-2)`,
151
151
  }}
@@ -1,10 +1,13 @@
1
+ // TODO it seems more logical to have this asset imported in the server entry.
2
+ // But then, we won't get it from the client manifest. But we could get it from the server manifest. Should we do that?
3
+ // But then, that wouldn't work for SPA. Does that matter? Just put a conditional here e.g. if (import.meta.env.PROD) ...?
1
4
  import '@radix-ui/themes/styles.css'
2
- import './styles/code-block.css'
5
+ // import './styles/code-block.css' // TODO: Handle CSS in build process
3
6
  import { ReactDomClient } from '#dep/react-dom-client/index'
4
7
  import { StrictMode } from 'react'
5
8
  import { createBrowserRouter, RouterProvider } from 'react-router'
6
9
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
7
- import { routes } from './routes.tsx'
10
+ import { routes } from './routes.jsx'
8
11
 
9
12
  // SPA
10
13
 
@@ -1,7 +1,7 @@
1
1
  import { createRoute } from '#lib/react-router-aid/react-router-aid'
2
2
  import { createLoader, useLoaderData } from '#lib/react-router-loader/react-router-loader'
3
3
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
4
- import { Changelog } from '../components/Changelog.tsx'
4
+ import { Changelog } from '../components/Changelog.jsx'
5
5
 
6
6
  const loader = createLoader(() => {
7
7
  return {
@@ -2,9 +2,9 @@ import { Grafaid } from '#lib/grafaid/index'
2
2
  import { ReactRouterAid } from '#lib/react-router-aid/index'
3
3
  import { useLoaderData } from '#lib/react-router-loader/react-router-loader'
4
4
  import { useParams } from 'react-router'
5
- import { Field } from '../components/Field.tsx'
6
- import { MissingSchema } from '../components/MissingSchema.tsx'
7
- import type { reference } from './reference.tsx'
5
+ import { Field } from '../components/Field.jsx'
6
+ import { MissingSchema } from '../components/MissingSchema.jsx'
7
+ import type { reference } from './reference.jsx'
8
8
 
9
9
  const Component = () => {
10
10
  const params = useParams() as { type: string; field: string }
@@ -1,9 +1,9 @@
1
1
  import { createRoute } from '#lib/react-router-aid/react-router-aid'
2
2
  import { useLoaderData } from '#lib/react-router-loader/react-router-loader'
3
3
  import { useParams } from 'react-router'
4
- import { MissingSchema } from '../components/MissingSchema.tsx'
5
- import { NamedType } from '../components/NamedType.tsx'
6
- import type { reference } from './reference.tsx'
4
+ import { MissingSchema } from '../components/MissingSchema.jsx'
5
+ import { NamedType } from '../components/NamedType.jsx'
6
+ import type { reference } from './reference.jsx'
7
7
 
8
8
  const Component = () => {
9
9
  const params = useParams() as { type: string }
@@ -1,10 +1,11 @@
1
1
  import { createRoute } from '#lib/react-router-aid/react-router-aid'
2
2
  import { createLoader, useLoaderData } from '#lib/react-router-loader/react-router-loader'
3
- import { Box } from '@radix-ui/themes'
3
+ import { Container, Flex } from '@radix-ui/themes'
4
4
  import { Outlet } from 'react-router'
5
5
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
6
- import { MissingSchema } from '../components/MissingSchema.tsx'
7
- import { reference$type } from './reference.$type.tsx'
6
+ import { MissingSchema } from '../components/MissingSchema.jsx'
7
+ import { TypeIndex } from '../components/TypeIndex.jsx'
8
+ import { reference$type } from './reference.$type.jsx'
8
9
 
9
10
  const loader = createLoader(() => {
10
11
  const latestSchemaVersion = PROJECT_DATA.schema?.versions[0].after ?? null
@@ -21,9 +22,12 @@ const Component = () => {
21
22
  }
22
23
 
23
24
  return (
24
- <Box className='prose'>
25
- <Outlet />
26
- </Box>
25
+ <Flex direction='row' align='start'>
26
+ <TypeIndex schema={data.schema} />
27
+ <Container>
28
+ <Outlet />
29
+ </Container>
30
+ </Flex>
27
31
  )
28
32
  }
29
33
 
@@ -1,55 +1,53 @@
1
- import type { Content } from '#api/content/$'
1
+ import { assetUrl } from '#api/utils/asset-url/index'
2
2
  import type { ReactRouter } from '#dep/react-router/index'
3
- import { GrafaidOld } from '#lib/grafaid-old/index'
4
3
  import { createRoute } from '#lib/react-router-aid/react-router-aid'
5
- import { Box, Grid } from '@radix-ui/themes'
4
+ import { Box, Button, Grid, Heading, Text } from '@radix-ui/themes'
6
5
  import { Flex, Theme } from '@radix-ui/themes'
6
+ import radixStylesUrl from '@radix-ui/themes/styles.css?url'
7
7
  import { Arr } from '@wollybeard/kit'
8
- import { useEffect, useState } from 'react'
9
8
  import { Link as LinkReactRouter } from 'react-router'
10
9
  import { Outlet, ScrollRestoration, useLocation } from 'react-router'
11
10
  import logoSrc from 'virtual:polen/project/assets/logo.svg'
12
11
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
13
12
  import projectDataNavbar from 'virtual:polen/project/data/navbar.jsonsuper'
14
- import projectPagesCatalog from 'virtual:polen/project/data/pages-catalog.jsonsuper'
15
- import { routes } from 'virtual:polen/project/routes.jsx'
13
+ import projectDataPages from 'virtual:polen/project/data/pages.jsonsuper'
14
+ import { pages } from 'virtual:polen/project/pages.jsx'
16
15
  import { templateVariables } from 'virtual:polen/template/variables'
17
- import { GraphQLSchemaProvider } from '../../lib/graphql-document/schema-context.tsx'
18
- import { CodeBlockEnhancer } from '../components/CodeBlockEnhancer.tsx'
19
- import { HamburgerMenu } from '../components/HamburgerMenu.tsx'
20
- import { Link } from '../components/Link.tsx'
21
- import { Logo } from '../components/Logo.tsx'
22
- import { NotFound } from '../components/NotFound.tsx'
23
- import { Sidebar } from '../components/sidebar/Sidebar.tsx'
24
- import { ThemeToggle } from '../components/ThemeToggle.tsx'
25
- import { ThemeProvider, useTheme } from '../contexts/ThemeContext.tsx'
26
- import { changelog } from './changelog.tsx'
27
- import { index } from './index.tsx'
28
- import { reference } from './reference.tsx'
16
+ import { Link } from '../components/Link.jsx'
17
+ import { Logo } from '../components/Logo.jsx'
18
+ import { Sidebar } from '../components/sidebar/Sidebar.jsx'
19
+ import entryClientUrl from '../entry.client.jsx?url'
20
+ import { changelog } from './changelog.jsx'
21
+ import { index } from './index.jsx'
22
+ import { reference } from './reference.jsx'
23
+
24
+ // todo: not needed anymore because not using hono dev vite plugin right?
25
+ const reactRefreshPreamble = `
26
+ import RefreshRuntime from "/@react-refresh";
27
+ RefreshRuntime.injectIntoGlobalHook(window);
28
+ window.$RefreshReg$ = () => {};
29
+ window.$RefreshSig$ = () => (type) => type;
30
+ window.__vite_plugin_react_preamble_installed__ = true;
31
+ `
29
32
 
30
33
  export const Component = () => {
31
- const schema = PROJECT_DATA.schema?.versions[0]?.after || null
32
-
33
- // Make schema available globally for MDX components
34
- if (typeof window !== 'undefined' && schema) {
35
- ;(window as any).__POLEN_GRAPHQL_SCHEMA__ = schema
36
- }
37
-
38
34
  return (
39
35
  <html lang='en'>
40
36
  <head>
37
+ {import.meta.env.DEV && <script type='module'>{reactRefreshPreamble}</script>}
38
+ {import.meta.env.DEV && <script type='module' src='/@vite/client'></script>}
41
39
  <meta charSet='utf-8' />
42
40
  <meta name='viewport' content='width=device-width, initial-scale=1' />
43
41
  <title>{templateVariables.title}</title>
42
+ {import.meta.env.DEV && <link rel='stylesheet' href={radixStylesUrl} />}
43
+ {/* <link rel='icon' type='image/svg+xml' href={assetUrl('/favicon.svg', PROJECT_DATA.basePath)} /> */}
44
+ {/* <link rel='manifest' href={assetUrl('/manifest.json', PROJECT_DATA.basePath)} /> */}
45
+ {/* <meta name='theme-color' content='#000000' /> */}
44
46
  </head>
45
47
  <body style={{ margin: 0 }}>
46
- <ThemeProvider>
47
- <GraphQLSchemaProvider schema={schema}>
48
- <Layout />
49
- <CodeBlockEnhancer />
50
- </GraphQLSchemaProvider>
51
- </ThemeProvider>
48
+ <Layout />
52
49
  <ScrollRestoration />
50
+ {import.meta.env.DEV && <script type='module' src={entryClientUrl}></script>}
53
51
  </body>
54
52
  </html>
55
53
  )
@@ -57,13 +55,6 @@ export const Component = () => {
57
55
 
58
56
  const Layout = () => {
59
57
  const location = useLocation()
60
- const { appearance } = useTheme()
61
- const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
62
-
63
- // Close mobile menu on route change
64
- useEffect(() => {
65
- setMobileMenuOpen(false)
66
- }, [location.pathname])
67
58
 
68
59
  // Determine if we should show sidebar based on current path
69
60
  const getCurrentNavPathExp = (): string | null => {
@@ -77,113 +68,92 @@ const Layout = () => {
77
68
  }
78
69
 
79
70
  const currentNavPathExp = getCurrentNavPathExp()
80
- const isReferencePage = currentNavPathExp === '/reference'
81
-
82
- const sidebar = (() => {
83
- if (isReferencePage && PROJECT_DATA.schema) {
84
- // Build reference sidebar from schema types
85
- const schema = PROJECT_DATA.schema.versions[0].after
86
- const kindMap = GrafaidOld.getKindMap(schema)
87
-
88
- const sidebarItems: Content.Item[] = []
89
- const kindEntries = Object.entries(kindMap.list).filter(([_, types]) => types.length > 0)
90
-
91
- for (const [title, types] of kindEntries) {
92
- sidebarItems.push({
93
- type: 'ItemSection' as const,
94
- title,
95
- pathExp: `reference-${title.toLowerCase()}`,
96
- isLinkToo: false,
97
- links: types.map(type => ({
98
- type: 'ItemLink' as const,
99
- title: type.name,
100
- pathExp: `reference/${type.name}`,
101
- })),
102
- })
103
- }
104
-
105
- return { items: sidebarItems }
106
- } else {
107
- // Use regular page sidebar
108
- return currentNavPathExp ? projectPagesCatalog.sidebarIndex[currentNavPathExp] || null : null
109
- }
110
- })()
111
-
71
+ const sidebar = currentNavPathExp && projectDataPages.sidebarIndex[currentNavPathExp]
112
72
  const isShowSidebar = sidebar && sidebar.items.length > 0
113
73
 
114
74
  const header = (
115
75
  <Flex
116
76
  gridArea={'header'}
117
77
  align='center'
118
- gap={{ initial: '4', md: '8' }}
78
+ gap='8'
119
79
  pb='4'
120
- mb={{ initial: '4', md: '8' }}
80
+ mb='8'
121
81
  style={{
122
82
  borderBottom: `1px solid var(--gray-3)`,
123
83
  }}
124
84
  >
125
- {/* Mobile menu - only show when sidebar exists */}
126
- {isShowSidebar && (
127
- <HamburgerMenu
128
- isOpen={mobileMenuOpen}
129
- onToggle={() => setMobileMenuOpen(!mobileMenuOpen)}
130
- onClose={() => setMobileMenuOpen(false)}
131
- sidebarData={sidebar.items}
132
- />
133
- )}
134
-
135
85
  <LinkReactRouter
136
86
  to='/'
137
87
  style={{ color: `inherit`, textDecoration: `none` }}
138
88
  >
139
- <Box display={{ initial: 'block', md: 'block' }}>
140
- <Logo src={logoSrc} title={templateVariables.title} height={30} showTitle={true} />
141
- </Box>
89
+ <Logo src={logoSrc} title={templateVariables.title} height={30} showTitle={true} />
142
90
  </LinkReactRouter>
143
- <Flex direction='row' gap='4' style={{ flex: 1 }}>
91
+ <Flex direction='row' gap='4'>
144
92
  {projectDataNavbar.map((item, key) => (
145
93
  <Link key={key} color='gray' to={item.pathExp}>
146
94
  {item.title}
147
95
  </Link>
148
96
  ))}
149
97
  </Flex>
150
- <ThemeToggle />
151
98
  </Flex>
152
99
  )
153
100
 
154
101
  return (
155
- <Theme asChild appearance={appearance}>
102
+ <Theme asChild>
156
103
  <Grid
157
- width={{ initial: '100%', sm: '100%', md: 'var(--container-4)' }}
158
- maxWidth='100vw'
159
- areas={{
160
- initial: "'header' 'content'",
161
- sm: "'header' 'content'",
162
- md:
163
- "'header header header header header header header header' 'sidebar sidebar . content content content content content'",
164
- }}
104
+ width={{ initial: 'var(--container-4)' }}
105
+ areas="'header header header header header header header header' 'sidebar sidebar . content content content content content'"
165
106
  rows='min-content auto'
166
- columns={{ initial: '1fr', sm: '1fr', md: 'repeat(8, 1fr)' }}
167
- gapX={{ initial: '0', sm: '0', md: '2' }}
168
- my={{ initial: '0', sm: '0', md: '8' }}
107
+ columns='repeat(8, 1fr)'
108
+ gapX='2'
109
+ my='8'
169
110
  mx='auto'
170
- px={{ initial: '4', sm: '4', md: '0' }}
171
- py={{ initial: '4', sm: '4', md: '0' }}
172
111
  >
112
+ <style>
113
+ {`
114
+ /* Shiki code blocks */
115
+ pre.shiki {
116
+ margin: 1rem 0;
117
+ padding: 1rem;
118
+ border-radius: 8px;
119
+ overflow-x: auto;
120
+ font-size: 14px;
121
+ line-height: 1.6;
122
+ background-color: #f6f8fa;
123
+ }
124
+
125
+ /* Light mode: use --shiki-light CSS variables from inline styles */
126
+ pre.shiki span {
127
+ color: var(--shiki-light);
128
+ }
129
+
130
+ /* Dark mode - Radix Themes uses [data-is-root-theme="dark"] */
131
+ [data-is-root-theme="dark"] pre.shiki {
132
+ background-color: #1a1b26;
133
+ }
134
+
135
+ [data-is-root-theme="dark"] pre.shiki span {
136
+ color: var(--shiki-dark);
137
+ }
138
+
139
+ pre.shiki code {
140
+ font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
141
+ background: transparent;
142
+ display: block;
143
+ }
144
+ `}
145
+ </style>
173
146
  {header}
174
-
175
- {/* Desktop Sidebar */}
176
147
  {isShowSidebar && (
177
- <Box
178
- display={{ initial: 'none', xs: 'none', sm: 'none', md: 'block' }}
148
+ <Sidebar
179
149
  gridColumn='1 / 3'
180
150
  gridRow='2 / auto'
181
- >
182
- <Sidebar data={sidebar.items} />
183
- </Box>
151
+ data={sidebar.items}
152
+ // ml='-100px'
153
+ // style={{ transform: 'translate(calc(-100% - var(--space-8)))' }}
154
+ />
184
155
  )}
185
-
186
- <Box gridArea='content / content / auto / 8' className='prose'>
156
+ <Box gridArea='content / content / auto / 8'>
187
157
  <Outlet />
188
158
  </Box>
189
159
  </Grid>
@@ -193,7 +163,7 @@ const Layout = () => {
193
163
 
194
164
  const children: ReactRouter.RouteObject[] = [
195
165
  index,
196
- ...routes,
166
+ ...pages,
197
167
  ]
198
168
 
199
169
  //
@@ -219,10 +189,36 @@ if (PROJECT_DATA.schema) {
219
189
  //
220
190
  //
221
191
 
192
+ const NotFoundComponent = () => {
193
+ return (
194
+ <Flex direction='column' align='center' gap='6' style={{ textAlign: `center`, paddingTop: `4rem` }}>
195
+ <Heading size='9' style={{ color: `var(--gray-12)` }}>404</Heading>
196
+ <Box>
197
+ <Heading size='5' mb='2'>Page Not Found</Heading>
198
+ <Text size='3' color='gray'>
199
+ The page you're looking for doesn't exist or has been moved.
200
+ </Text>
201
+ </Box>
202
+ <Flex gap='3'>
203
+ <LinkReactRouter to='/'>
204
+ <Button variant='soft' size='3'>
205
+ Go Home
206
+ </Button>
207
+ </LinkReactRouter>
208
+ <LinkReactRouter to='/reference'>
209
+ <Button variant='outline' size='3'>
210
+ View API Reference
211
+ </Button>
212
+ </LinkReactRouter>
213
+ </Flex>
214
+ </Flex>
215
+ )
216
+ }
217
+
222
218
  const notFoundRoute = createRoute({
223
219
  id: `*_not_found`,
224
220
  path: `*`,
225
- Component: NotFound,
221
+ Component: NotFoundComponent,
226
222
  handle: {
227
223
  statusCode: 404,
228
224
  },
@@ -1,5 +1,5 @@
1
1
  import type { RouteObject } from 'react-router'
2
- import { root } from './routes/root.tsx'
2
+ import { root } from './routes/root.jsx'
3
3
 
4
4
  export const routes: RouteObject[] = [
5
5
  root,
@@ -1,45 +1,35 @@
1
1
  import { Hono } from '#dep/hono/index'
2
+ import { AppleTouchIcon } from '#lib/apple-touch-icon/index'
3
+ import { Favicon } from '#lib/favicon/index'
2
4
  import { serveStatic } from '@hono/node-server/serve-static'
5
+ import { Http } from '@wollybeard/kit'
3
6
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
4
- import viteClientAssetManifest from 'virtual:polen/vite/client/manifest'
5
- import { injectManifestIntoHtml } from './manifest.ts'
6
- import { PageMiddleware } from './middleware/page.ts'
7
- import { UnsupportedAssetsMiddleware } from './middleware/unsupported-assets.ts'
7
+ import { renderPage } from './render-page.jsx'
8
+ import { view } from './view.ts'
8
9
 
9
- export type HtmlTransformer = (html: string, ctx: Hono.Context) => Promise<string> | string
10
+ export const app = new Hono.Hono()
10
11
 
11
- export interface AppHooks {
12
- transformHtml?: HtmlTransformer[]
12
+ if (__BUILDING__) {
13
+ app.use(
14
+ PROJECT_DATA.server.static.route,
15
+ serveStatic({ root: PROJECT_DATA.server.static.directory }),
16
+ )
13
17
  }
14
18
 
15
- export interface AppOptions {
16
- hooks?: AppHooks
17
- }
18
-
19
- export const createApp = (options: AppOptions = {}) => {
20
- const app = new Hono.Hono()
21
-
22
- // Collect all HTML transformers
23
- const htmlTransformers: HtmlTransformer[] = [...(options.hooks?.transformHtml || [])]
24
-
25
- // Core middleware
26
- app.use('*', UnsupportedAssetsMiddleware())
19
+ app.all(`*`, async (ctx) => {
20
+ const staticHandlerContext = await view.query(ctx.req.raw)
27
21
 
28
- // Production-specific setup
29
- if (__BUILDING__) {
30
- // Add manifest transformer
31
- htmlTransformers.push((html, _ctx) => {
32
- return injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath)
33
- })
22
+ if (staticHandlerContext instanceof Response) {
23
+ return staticHandlerContext
24
+ }
34
25
 
35
- // Static file serving
36
- app.use(
37
- PROJECT_DATA.server.static.route,
38
- serveStatic({ root: PROJECT_DATA.server.static.directory }),
39
- )
26
+ if (Favicon.fileNamePattern.test(ctx.req.path)) {
27
+ return Http.Response.notFound
40
28
  }
41
29
 
42
- app.all('*', PageMiddleware(htmlTransformers))
30
+ if (AppleTouchIcon.fileNamePattern.test(ctx.req.path)) {
31
+ return Http.Response.notFound
32
+ }
43
33
 
44
- return app
45
- }
34
+ return renderPage(staticHandlerContext)
35
+ })
@@ -1,6 +1,6 @@
1
1
  import { serve } from '@hono/node-server' // TODO: support non-node platforms.
2
2
  import { neverCase } from '@wollybeard/kit/language'
3
- import { createApp } from './app.ts'
3
+ import { app } from './app.ts'
4
4
  import { generate } from './ssg/generate.ts'
5
5
  import { view } from './view.ts'
6
6
 
@@ -11,7 +11,6 @@ if (__BUILDING__) {
11
11
  break
12
12
  case `ssr`:
13
13
  const port = process.env[`PORT`] ? parseInt(process.env[`PORT`]) : 3001 // todo viteConfigResolved.server.port + 1
14
- const app = createApp()
15
14
  serve({ fetch: app.fetch, port })
16
15
  break
17
16
  case `spa`:
@@ -1,20 +1,18 @@
1
1
  import { reportError } from '#api/server/report-error'
2
2
  import type { ReactRouter } from '#dep/react-router/index'
3
- import { React } from '#dep/react/index'
4
3
  import { ResponseInternalServerError } from '#lib/kit-temp'
5
4
  import type { ReactRouterAid } from '#lib/react-router-aid/index'
6
5
  import { Arr } from '@wollybeard/kit'
6
+ import { StrictMode } from 'react'
7
7
  import * as ReactDomServer from 'react-dom/server'
8
8
  import { createStaticRouter, StaticRouterProvider } from 'react-router'
9
+ import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
10
+ import viteClientAssetManifest from 'virtual:polen/vite/client/manifest'
11
+ import { injectManifestIntoHtml } from './manifest.ts'
9
12
  import { view } from './view.ts'
10
13
 
11
- interface RenderHooks {
12
- transformHtml?: (html: string) => Promise<string> | string
13
- }
14
-
15
- export const createPageHtmlResponse = async (
14
+ export const renderPage = (
16
15
  staticHandlerContext: ReactRouter.StaticHandlerContext,
17
- hooks?: RenderHooks,
18
16
  ) => {
19
17
  const router = createStaticRouter(view.dataRoutes, staticHandlerContext)
20
18
 
@@ -22,25 +20,24 @@ export const createPageHtmlResponse = async (
22
20
 
23
21
  try {
24
22
  html = ReactDomServer.renderToString(
25
- React.createElement(
26
- React.StrictMode,
27
- null,
28
- React.createElement(StaticRouterProvider, {
29
- router,
30
- context: staticHandlerContext,
31
- }),
32
- ),
23
+ <StrictMode>
24
+ <StaticRouterProvider router={router} context={staticHandlerContext} />
25
+ </StrictMode>,
33
26
  )
34
27
  } catch (cause) {
35
28
  reportError(new Error(`Failed to server side render the HTML`, { cause }))
36
29
  return ResponseInternalServerError()
37
30
  }
38
31
 
39
- // Create the full HTML document
32
+ if (__BUILDING__) {
33
+ html = injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath)
34
+ }
40
35
 
41
- // Apply HTML transformation hook to the full document
42
- if (hooks?.transformHtml) {
43
- html = await hooks.transformHtml(html)
36
+ // todo: what is this?
37
+ if (import.meta.env.DEV) {
38
+ // const env = ctx.env as { viteDevServer: Vite.ViteDevServer }
39
+ // html = await env.viteDevServer.transformIndexHtml(ctx.req.url, html)
40
+ // await env.viteDevServer.transformIndexHtml(ctx.req.url, html)
44
41
  }
45
42
 
46
43
  const headers = getRouteHeaders(staticHandlerContext)