polen 0.10.0-next.14 → 0.10.0-next.15

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 (923) hide show
  1. package/README.md +13 -89
  2. package/build/api/api.d.ts +4 -4
  3. package/build/api/api.js +4 -4
  4. package/build/api/builder/builder.js +1 -9
  5. package/build/api/builder/builder.js.map +1 -1
  6. package/build/api/builder/index.d.ts +1 -1
  7. package/build/api/builder/index.js +1 -1
  8. package/build/api/config/config.d.ts +4 -4
  9. package/build/api/config/config.js +4 -4
  10. package/build/api/config/configurator.d.ts +89 -9
  11. package/build/api/config/configurator.d.ts.map +1 -1
  12. package/build/api/config/configurator.js +5 -5
  13. package/build/api/config/configurator.js.map +1 -1
  14. package/build/api/config/define.d.ts +1 -1
  15. package/build/api/config/index.d.ts +1 -1
  16. package/build/api/config/index.js +1 -1
  17. package/build/api/config/load.d.ts +1 -1
  18. package/build/api/config/load.d.ts.map +1 -1
  19. package/build/api/config/load.js +1 -12
  20. package/build/api/config/load.js.map +1 -1
  21. package/build/api/config/merge.d.ts +1 -1
  22. package/build/api/config/merge.d.ts.map +1 -1
  23. package/build/api/config/merge.js +1 -3
  24. package/build/api/config/merge.js.map +1 -1
  25. package/build/api/config-resolver/config-resolver.d.ts +2 -2
  26. package/build/api/config-resolver/config-resolver.js +2 -2
  27. package/build/api/config-resolver/index.d.ts +1 -1
  28. package/build/api/config-resolver/index.js +1 -1
  29. package/build/api/config-resolver/resolve.d.ts +3 -3
  30. package/build/api/config-resolver/resolve.js +4 -4
  31. package/build/api/config-resolver/vite.d.ts +1 -1
  32. package/build/api/content/$$.d.ts +6 -6
  33. package/build/api/content/$$.js +6 -6
  34. package/build/api/content/$.d.ts +1 -1
  35. package/build/api/content/$.js +1 -1
  36. package/build/api/content/navbar.d.ts +1 -1
  37. package/build/api/content/navbar.js +2 -2
  38. package/build/api/content/page.d.ts +1 -1
  39. package/build/api/content/scan.d.ts +1 -1
  40. package/build/api/content/scan.js +7 -7
  41. package/build/api/content/sidebar.d.ts +5 -5
  42. package/build/api/content/sidebar.d.ts.map +1 -1
  43. package/build/api/content/sidebar.js +14 -14
  44. package/build/api/content/sidebar.js.map +1 -1
  45. package/build/api/index.d.ts +1 -1
  46. package/build/api/index.js +1 -1
  47. package/build/api/schema/data-sources/data-sources.d.ts +3 -3
  48. package/build/api/schema/data-sources/data-sources.js +3 -3
  49. package/build/api/schema/data-sources/index.d.ts +1 -1
  50. package/build/api/schema/data-sources/index.js +1 -1
  51. package/build/api/schema/data-sources/memory/memory.d.ts +36 -1
  52. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  53. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  54. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +0 -1
  55. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  56. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
  57. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
  58. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +30 -1
  59. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  60. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  61. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  62. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +20 -1
  63. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  64. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  65. package/build/api/schema/index.d.ts +1 -1
  66. package/build/api/schema/index.js +1 -1
  67. package/build/api/schema/read.d.ts +43 -2
  68. package/build/api/schema/read.d.ts.map +1 -1
  69. package/build/api/schema/read.js +1 -1
  70. package/build/api/schema/read.js.map +1 -1
  71. package/build/api/schema/schema.d.ts +2 -2
  72. package/build/api/schema/schema.js +2 -2
  73. package/build/api/schema-augmentation/augmentations/description.d.ts +1 -1
  74. package/build/api/schema-augmentation/augmentations/description.js +1 -1
  75. package/build/api/schema-augmentation/index.d.ts +1 -1
  76. package/build/api/schema-augmentation/index.js +1 -1
  77. package/build/api/schema-augmentation/schema-augmentation.d.ts +1 -1
  78. package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
  79. package/build/api/schema-augmentation/schema-augmentation.js +1 -2
  80. package/build/api/schema-augmentation/schema-augmentation.js.map +1 -1
  81. package/build/api/server/report-error.js +7 -5
  82. package/build/api/server/report-error.js.map +1 -1
  83. package/build/api/singletons/markdown/index.d.ts +1 -1
  84. package/build/api/singletons/markdown/index.js +1 -1
  85. package/build/api/singletons/markdown/markdown.d.ts.map +1 -1
  86. package/build/api/singletons/markdown/markdown.js +4 -22
  87. package/build/api/singletons/markdown/markdown.js.map +1 -1
  88. package/build/api/static/index.d.ts +1 -1
  89. package/build/api/static/index.js +1 -1
  90. package/build/api/static/manifest.js +3 -3
  91. package/build/api/static/rebase.d.ts +2 -2
  92. package/build/api/static/rebase.js +8 -8
  93. package/build/api/static/rebase.js.map +1 -1
  94. package/build/api/static/static.d.ts +2 -2
  95. package/build/api/static/static.js +2 -2
  96. package/build/api/utils/asset-url/index.d.ts +1 -1
  97. package/build/api/utils/asset-url/index.js +1 -1
  98. package/build/api/vite/logger.js +5 -5
  99. package/build/api/vite/plugins/{branding/index.d.ts → branding.d.ts} +1 -1
  100. package/build/api/vite/plugins/branding.d.ts.map +1 -0
  101. package/build/api/vite/plugins/{branding/index.js → branding.js} +9 -9
  102. package/build/api/vite/plugins/branding.js.map +1 -0
  103. package/build/api/vite/plugins/build.d.ts.map +1 -1
  104. package/build/api/vite/plugins/build.js +12 -22
  105. package/build/api/vite/plugins/build.js.map +1 -1
  106. package/build/api/vite/plugins/core.d.ts +2 -0
  107. package/build/api/vite/plugins/core.d.ts.map +1 -1
  108. package/build/api/vite/plugins/core.js +33 -38
  109. package/build/api/vite/plugins/core.js.map +1 -1
  110. package/build/api/vite/plugins/main.d.ts.map +1 -1
  111. package/build/api/vite/plugins/main.js +25 -23
  112. package/build/api/vite/plugins/main.js.map +1 -1
  113. package/build/api/vite/plugins/pages.d.ts +3 -5
  114. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  115. package/build/api/vite/plugins/pages.js +15 -42
  116. package/build/api/vite/plugins/pages.js.map +1 -1
  117. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  118. package/build/api/vite/plugins/serve.js +34 -25
  119. package/build/api/vite/plugins/serve.js.map +1 -1
  120. package/build/cli/commands/build.js +0 -1
  121. package/build/cli/commands/build.js.map +1 -1
  122. package/build/cli/commands/config/$default.d.ts +2 -0
  123. package/build/cli/commands/config/$default.d.ts.map +1 -0
  124. package/build/cli/commands/config/$default.js +7 -0
  125. package/build/cli/commands/config/$default.js.map +1 -0
  126. package/build/cli/commands/config/create.d.ts +2 -0
  127. package/build/cli/commands/config/create.d.ts.map +1 -0
  128. package/build/cli/commands/config/create.js +21 -0
  129. package/build/cli/commands/config/create.js.map +1 -0
  130. package/build/cli/commands/config.d.ts +3 -0
  131. package/build/cli/commands/config.d.ts.map +1 -0
  132. package/build/cli/commands/config.js +5 -0
  133. package/build/cli/commands/config.js.map +1 -0
  134. package/build/cli/commands/create.js +2 -3
  135. package/build/cli/commands/create.js.map +1 -1
  136. package/build/cli/commands/dev.js +0 -1
  137. package/build/cli/commands/dev.js.map +1 -1
  138. package/build/cli/commands/open.js +0 -1
  139. package/build/cli/commands/open.js.map +1 -1
  140. package/build/cli/commands/static/rebase.js +0 -1
  141. package/build/cli/commands/static/rebase.js.map +1 -1
  142. package/build/cli/commands/static.js +1 -1
  143. package/build/dep/graphql-inspector/index.d.ts +1 -1
  144. package/build/dep/graphql-inspector/index.js +1 -1
  145. package/build/dep/hono/hono.d.ts +1 -1
  146. package/build/dep/hono/hono.js +1 -1
  147. package/build/dep/hono/index.d.ts +1 -1
  148. package/build/dep/hono/index.js +1 -1
  149. package/build/dep/superjson/index.d.ts +1 -1
  150. package/build/dep/superjson/index.js +1 -1
  151. package/build/dep/tiny-globby/index.d.ts +1 -1
  152. package/build/dep/tiny-globby/index.js +1 -1
  153. package/build/dep/vite/index.d.ts +1 -1
  154. package/build/dep/vite/index.js +1 -1
  155. package/build/exports/components.d.ts +3 -3
  156. package/build/exports/components.d.ts.map +1 -1
  157. package/build/exports/components.js +3 -3
  158. package/build/exports/components.js.map +1 -1
  159. package/build/exports/index.d.ts +1 -1
  160. package/build/exports/index.js +1 -1
  161. package/build/lib/apple-touch-icon/index.d.ts +1 -1
  162. package/build/lib/apple-touch-icon/index.js +1 -1
  163. package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
  164. package/build/lib/errors/ContextualAggregateError.js +1 -1
  165. package/build/lib/errors/ContextualError.d.ts +1 -1
  166. package/build/lib/errors/ErrorInternal.d.ts +2 -2
  167. package/build/lib/errors/ErrorInternal.js +1 -1
  168. package/build/lib/errors/errors.d.ts +4 -4
  169. package/build/lib/errors/errors.js +4 -4
  170. package/build/lib/errors/index.d.ts +1 -1
  171. package/build/lib/errors/index.js +1 -1
  172. package/build/lib/errors/types.d.ts +1 -1
  173. package/build/lib/extensible-data/index.d.ts +1 -1
  174. package/build/lib/extensible-data/index.js +1 -1
  175. package/build/lib/favicon/index.d.ts +1 -1
  176. package/build/lib/favicon/index.js +1 -1
  177. package/build/lib/file-router/diagnostic-reporter.d.ts +1 -1
  178. package/build/lib/file-router/diagnostic-reporter.js +8 -8
  179. package/build/lib/file-router/file-router.d.ts +3 -3
  180. package/build/lib/file-router/file-router.js +3 -3
  181. package/build/lib/file-router/index.d.ts +1 -1
  182. package/build/lib/file-router/index.js +1 -1
  183. package/build/lib/file-router/linter.d.ts +5 -5
  184. package/build/lib/file-router/linter.js +7 -7
  185. package/build/lib/file-router/scan.d.ts +2 -2
  186. package/build/lib/file-router/scan.js +3 -3
  187. package/build/lib/grafaid/_Nodes.d.ts +1 -1
  188. package/build/lib/grafaid/_Nodes.js +1 -1
  189. package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
  190. package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
  191. package/build/lib/grafaid/document/kind.d.ts +1 -1
  192. package/build/lib/grafaid/document/kind.js +1 -1
  193. package/build/lib/grafaid/document.d.ts +4 -4
  194. package/build/lib/grafaid/document.js +6 -6
  195. package/build/lib/grafaid/grafaid.d.ts +4 -4
  196. package/build/lib/grafaid/grafaid.js +4 -4
  197. package/build/lib/grafaid/graphql.d.ts +2 -2
  198. package/build/lib/grafaid/graphql.js +2 -2
  199. package/build/lib/grafaid/http/__.d.ts +1 -1
  200. package/build/lib/grafaid/http/__.js +1 -1
  201. package/build/lib/grafaid/http/http.js +1 -1
  202. package/build/lib/grafaid/index.d.ts +1 -1
  203. package/build/lib/grafaid/index.js +1 -1
  204. package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
  205. package/build/lib/grafaid/schema/KindMap/_.js +4 -4
  206. package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
  207. package/build/lib/grafaid/schema/KindMap/__.js +1 -1
  208. package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
  209. package/build/lib/grafaid/schema/OperationType/__.js +1 -1
  210. package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
  211. package/build/lib/grafaid/schema/RootDetails.js +2 -2
  212. package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
  213. package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
  214. package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
  215. package/build/lib/grafaid/schema/nodes-like.js +1 -1
  216. package/build/lib/grafaid/schema/schema.d.ts +14 -14
  217. package/build/lib/grafaid/schema/schema.js +15 -15
  218. package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
  219. package/build/lib/grafaid/schema/type-kind-name.js +1 -1
  220. package/build/lib/grafaid/schema/type.d.ts +1 -1
  221. package/build/lib/grafaid/schema/typeGuards.js +1 -1
  222. package/build/lib/grafaid-old/grafaid.d.ts +1 -1
  223. package/build/lib/grafaid-old/grafaid.js +1 -1
  224. package/build/lib/grafaid-old/index.d.ts +1 -1
  225. package/build/lib/grafaid-old/index.js +1 -1
  226. package/build/lib/graphql-change/index.d.ts +1 -1
  227. package/build/lib/graphql-change/index.js +1 -1
  228. package/build/lib/graphql-changeset/index.d.ts +1 -1
  229. package/build/lib/graphql-changeset/index.js +1 -1
  230. package/build/lib/graphql-document/$$.d.ts +4 -4
  231. package/build/lib/graphql-document/$$.js +4 -4
  232. package/build/lib/graphql-document/$.d.ts +1 -1
  233. package/build/lib/graphql-document/$.js +1 -1
  234. package/build/lib/graphql-document/analysis.d.ts +1 -1
  235. package/build/lib/graphql-document/analysis.js +46 -46
  236. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
  237. package/build/lib/graphql-document/components/GraphQLDocument.js +28 -21
  238. package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
  239. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +3 -3
  240. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -1
  241. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +14 -30
  242. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -1
  243. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +2 -2
  244. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +1 -1
  245. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +26 -24
  246. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +1 -1
  247. package/build/lib/graphql-document/components/IdentifierLink.d.ts +3 -3
  248. package/build/lib/graphql-document/components/IdentifierLink.js +22 -22
  249. package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -1
  250. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +1 -1
  251. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +1 -1
  252. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -23
  253. package/build/lib/graphql-document/components/graphql-document-styles.js.map +1 -1
  254. package/build/lib/graphql-document/components/index.d.ts +4 -5
  255. package/build/lib/graphql-document/components/index.d.ts.map +1 -1
  256. package/build/lib/graphql-document/components/index.js +4 -5
  257. package/build/lib/graphql-document/components/index.js.map +1 -1
  258. package/build/lib/graphql-document/example.d.ts +1 -1
  259. package/build/lib/graphql-document/example.js +36 -36
  260. package/build/lib/graphql-document/example.js.map +1 -1
  261. package/build/lib/graphql-document/graphql-document.d.ts +9 -9
  262. package/build/lib/graphql-document/graphql-document.d.ts.map +1 -1
  263. package/build/lib/graphql-document/graphql-document.js +9 -9
  264. package/build/lib/graphql-document/graphql-document.js.map +1 -1
  265. package/build/lib/graphql-document/positioning-simple.d.ts +1 -1
  266. package/build/lib/graphql-document/positioning-simple.js +31 -31
  267. package/build/lib/graphql-document/schema-integration.d.ts +5 -5
  268. package/build/lib/graphql-document/schema-integration.d.ts.map +1 -1
  269. package/build/lib/graphql-document/schema-integration.js +22 -22
  270. package/build/lib/graphql-document/schema-integration.js.map +1 -1
  271. package/build/lib/graphql-document/types.d.ts +4 -4
  272. package/build/lib/graphql-schema-loader/index.d.ts +1 -1
  273. package/build/lib/graphql-schema-loader/index.js +1 -1
  274. package/build/lib/helpers.js +1 -1
  275. package/build/lib/hono-aid/index.d.ts +1 -1
  276. package/build/lib/hono-aid/index.js +1 -1
  277. package/build/lib/html-utils/html-transformer.d.ts +4 -0
  278. package/build/lib/html-utils/html-transformer.d.ts.map +1 -0
  279. package/build/lib/html-utils/html-transformer.js +3 -0
  280. package/build/lib/html-utils/html-transformer.js.map +1 -0
  281. package/build/lib/html-utils/inject-global-data.d.ts +41 -0
  282. package/build/lib/html-utils/inject-global-data.d.ts.map +1 -0
  283. package/build/lib/html-utils/inject-global-data.js +65 -0
  284. package/build/lib/html-utils/inject-global-data.js.map +1 -0
  285. package/build/lib/kit-temp.d.ts +66 -2
  286. package/build/lib/kit-temp.d.ts.map +1 -1
  287. package/build/lib/kit-temp.js +37 -7
  288. package/build/lib/kit-temp.js.map +1 -1
  289. package/build/lib/kit-temp.test-d.js +16 -16
  290. package/build/lib/kit-temp.test-d.js.map +1 -1
  291. package/build/lib/mask/$$.d.ts +2 -2
  292. package/build/lib/mask/$$.js +2 -2
  293. package/build/lib/mask/$.d.ts +1 -1
  294. package/build/lib/mask/$.js +1 -1
  295. package/build/lib/mask/apply.d.ts +9 -9
  296. package/build/lib/mask/apply.d.ts.map +1 -1
  297. package/build/lib/mask/apply.js +3 -3
  298. package/build/lib/mask/apply.js.map +1 -1
  299. package/build/lib/mask/mask.d.ts +7 -7
  300. package/build/lib/mask/mask.d.ts.map +1 -1
  301. package/build/lib/mask/mask.js +12 -12
  302. package/build/lib/mask/mask.test-d.js +14 -14
  303. package/build/lib/mask/mask.test-d.js.map +1 -1
  304. package/build/lib/mutation-type.js +3 -3
  305. package/build/lib/path-map/$$.d.ts +7 -0
  306. package/build/lib/path-map/$$.d.ts.map +1 -0
  307. package/build/lib/path-map/$$.js +7 -0
  308. package/build/lib/path-map/$$.js.map +1 -0
  309. package/build/lib/path-map/$.d.ts +7 -0
  310. package/build/lib/path-map/$.d.ts.map +1 -0
  311. package/build/lib/path-map/$.js +7 -0
  312. package/build/lib/path-map/$.js.map +1 -0
  313. package/build/lib/path-map/path-map.d.ts +110 -0
  314. package/build/lib/path-map/path-map.d.ts.map +1 -0
  315. package/build/lib/path-map/path-map.js +126 -0
  316. package/build/lib/path-map/path-map.js.map +1 -0
  317. package/build/lib/react-router-aid/index.d.ts +1 -1
  318. package/build/lib/react-router-aid/index.js +1 -1
  319. package/build/lib/react-router-aid/react-router-aid.d.ts +1 -1
  320. package/build/lib/react-router-aid/react-router-aid.js +1 -1
  321. package/build/lib/react-router-loader/react-router-loader.d.ts.map +1 -1
  322. package/build/lib/react-router-loader/react-router-loader.js +1 -4
  323. package/build/lib/react-router-loader/react-router-loader.js.map +1 -1
  324. package/build/lib/stack-processor/index.d.ts +1 -1
  325. package/build/lib/stack-processor/index.js +1 -1
  326. package/build/lib/stack-processor/stack-processor.d.ts.map +1 -1
  327. package/build/lib/stack-processor/stack-processor.js +0 -1
  328. package/build/lib/stack-processor/stack-processor.js.map +1 -1
  329. package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +1 -1
  330. package/build/lib/superjson-codec/codecs/graphql-schema.js +1 -1
  331. package/build/lib/superjson-codec/exports.d.ts +2 -2
  332. package/build/lib/superjson-codec/exports.js +2 -2
  333. package/build/lib/superjson-codec/index.d.ts +1 -1
  334. package/build/lib/superjson-codec/index.js +1 -1
  335. package/build/lib/task/$$.d.ts +2 -2
  336. package/build/lib/task/$$.js +2 -2
  337. package/build/lib/task/$.d.ts +1 -1
  338. package/build/lib/task/$.js +1 -1
  339. package/build/lib/task/report.d.ts +1 -1
  340. package/build/lib/task/task.d.ts +1 -1
  341. package/build/lib/task/task.js +2 -2
  342. package/build/lib/theme/$.d.ts +2 -0
  343. package/build/lib/theme/$.d.ts.map +1 -0
  344. package/build/lib/theme/$.js +3 -0
  345. package/build/lib/theme/$.js.map +1 -0
  346. package/build/lib/theme/theme.d.ts +68 -0
  347. package/build/lib/theme/theme.d.ts.map +1 -0
  348. package/build/lib/theme/theme.js +123 -0
  349. package/build/lib/theme/theme.js.map +1 -0
  350. package/build/lib/vite-plugin-json/index.d.ts +1 -1
  351. package/build/lib/vite-plugin-json/index.js +1 -1
  352. package/build/lib/vite-plugin-json/vite-plugin-json.js +3 -4
  353. package/build/lib/vite-plugin-json/vite-plugin-json.js.map +1 -1
  354. package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
  355. package/build/lib/vite-plugin-mdx/index.js +1 -1
  356. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +1 -1
  357. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
  358. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +2 -6
  359. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
  360. package/build/lib/vite-plugin-reactive-data/index.d.ts +1 -1
  361. package/build/lib/vite-plugin-reactive-data/index.js +1 -1
  362. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +1 -1
  363. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  364. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +12 -14
  365. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  366. package/build/lib/vite-plugins/index.d.ts +1 -1
  367. package/build/lib/vite-plugins/index.js +1 -1
  368. package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
  369. package/build/lib/vite-plugins/vite-plugins.js +1 -1
  370. package/build/lib/vite-virtual/identified-loader.d.ts +2 -2
  371. package/build/lib/vite-virtual/identified-loader.js +2 -2
  372. package/build/lib/vite-virtual/identifier.js +1 -1
  373. package/build/lib/vite-virtual/index.d.ts +1 -1
  374. package/build/lib/vite-virtual/index.js +1 -1
  375. package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
  376. package/build/lib/vite-virtual/vite-virtual.js +3 -3
  377. package/build/package-paths.d.ts +18 -6
  378. package/build/package-paths.d.ts.map +1 -1
  379. package/build/package-paths.js +19 -6
  380. package/build/package-paths.js.map +1 -1
  381. package/build/project-data.d.ts +3 -1
  382. package/build/project-data.d.ts.map +1 -1
  383. package/build/sandbox.js +9 -9
  384. package/build/template/components/ArgumentList.js +1 -1
  385. package/build/template/components/ArgumentList.js.map +1 -1
  386. package/build/template/components/ArgumentListAnnotation.js +2 -2
  387. package/build/template/components/ArgumentListAnnotation.js.map +1 -1
  388. package/build/template/components/Changelog.d.ts +1 -1
  389. package/build/template/components/Changelog.js +1 -1
  390. package/build/template/components/CodeBlock.d.ts +0 -8
  391. package/build/template/components/CodeBlock.d.ts.map +1 -1
  392. package/build/template/components/CodeBlock.js +3 -38
  393. package/build/template/components/CodeBlock.js.map +1 -1
  394. package/build/template/components/CodeBlockEnhancer.js +41 -41
  395. package/build/template/components/CodeBlockEnhancer.js.map +1 -1
  396. package/build/template/components/DeprecationReason.js +1 -1
  397. package/build/template/components/DeprecationReason.js.map +1 -1
  398. package/build/template/components/Description.js +1 -1
  399. package/build/template/components/Description.js.map +1 -1
  400. package/build/template/components/Field.js +4 -4
  401. package/build/template/components/Field.js.map +1 -1
  402. package/build/template/components/FieldList.js +1 -1
  403. package/build/template/components/FieldList.js.map +1 -1
  404. package/build/template/components/FieldListSection.js +1 -1
  405. package/build/template/components/FieldListSection.js.map +1 -1
  406. package/build/template/components/HamburgerMenu.js +11 -11
  407. package/build/template/components/HamburgerMenu.js.map +1 -1
  408. package/build/template/components/Link.d.ts +2 -2
  409. package/build/template/components/Link.d.ts.map +1 -1
  410. package/build/template/components/Link.js +17 -17
  411. package/build/template/components/Link.js.map +1 -1
  412. package/build/template/components/Logo.js +4 -4
  413. package/build/template/components/MDXComponents.d.ts +0 -1
  414. package/build/template/components/MDXComponents.d.ts.map +1 -1
  415. package/build/template/components/MDXComponents.js +1 -59
  416. package/build/template/components/MDXComponents.js.map +1 -1
  417. package/build/template/components/NamedType.js +2 -2
  418. package/build/template/components/NamedType.js.map +1 -1
  419. package/build/template/components/TestComponent.js +2 -2
  420. package/build/template/components/Texts/MinorHeading.js +4 -4
  421. package/build/template/components/Texts/index.d.ts +1 -1
  422. package/build/template/components/Texts/index.js +1 -1
  423. package/build/template/components/Texts/texts.d.ts +1 -1
  424. package/build/template/components/Texts/texts.d.ts.map +1 -1
  425. package/build/template/components/Texts/texts.js +1 -1
  426. package/build/template/components/Texts/texts.js.map +1 -1
  427. package/build/template/components/ThemeToggle.d.ts.map +1 -1
  428. package/build/template/components/ThemeToggle.js +25 -4
  429. package/build/template/components/ThemeToggle.js.map +1 -1
  430. package/build/template/components/TypeAnnotation.js +1 -1
  431. package/build/template/components/TypeAnnotation.js.map +1 -1
  432. package/build/template/components/TypeFieldsLinkList.js +1 -1
  433. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  434. package/build/template/components/TypeIndex.js +1 -1
  435. package/build/template/components/TypeIndex.js.map +1 -1
  436. package/build/template/components/content/$$.d.ts +1 -1
  437. package/build/template/components/content/$$.d.ts.map +1 -1
  438. package/build/template/components/content/$$.js +1 -1
  439. package/build/template/components/content/$$.js.map +1 -1
  440. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +2 -2
  441. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
  442. package/build/template/components/content/GraphQLDocumentWithSchema.js +1 -1
  443. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
  444. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +2 -2
  445. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
  446. package/build/template/components/content/GraphQLDocumentWrapper.js +8 -23
  447. package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
  448. package/build/template/components/graphql/graphql.d.ts +2 -2
  449. package/build/template/components/graphql/graphql.d.ts.map +1 -1
  450. package/build/template/components/graphql/graphql.js +2 -2
  451. package/build/template/components/graphql/graphql.js.map +1 -1
  452. package/build/template/components/graphql/index.d.ts +1 -1
  453. package/build/template/components/graphql/index.d.ts.map +1 -1
  454. package/build/template/components/graphql/index.js +1 -1
  455. package/build/template/components/graphql/index.js.map +1 -1
  456. package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
  457. package/build/template/components/graphql/type-kind-icon.js +1 -2
  458. package/build/template/components/graphql/type-kind-icon.js.map +1 -1
  459. package/build/template/components/graphql/type-link.js +3 -3
  460. package/build/template/components/graphql/type-link.js.map +1 -1
  461. package/build/template/components/sidebar/Sidebar.js +1 -1
  462. package/build/template/components/sidebar/Sidebar.js.map +1 -1
  463. package/build/template/components/sidebar/SidebarItem.js +4 -4
  464. package/build/template/components/sidebar/SidebarItem.js.map +1 -1
  465. package/build/template/constants.d.ts +17 -0
  466. package/build/template/constants.d.ts.map +1 -0
  467. package/build/template/constants.js +11 -0
  468. package/build/template/constants.js.map +1 -0
  469. package/build/template/contexts/ThemeContext.d.ts +3 -1
  470. package/build/template/contexts/ThemeContext.d.ts.map +1 -1
  471. package/build/template/contexts/ThemeContext.js +50 -22
  472. package/build/template/contexts/ThemeContext.js.map +1 -1
  473. package/build/template/entry.client.js +6 -2
  474. package/build/template/entry.client.js.map +1 -1
  475. package/build/template/routes/changelog.d.ts +1 -1
  476. package/build/template/routes/changelog.js +1 -1
  477. package/build/template/routes/changelog.js.map +1 -1
  478. package/build/template/routes/reference.$type.$field.js +2 -2
  479. package/build/template/routes/reference.$type.$field.js.map +1 -1
  480. package/build/template/routes/reference.$type.js +2 -2
  481. package/build/template/routes/reference.$type.js.map +1 -1
  482. package/build/template/routes/reference.js +2 -2
  483. package/build/template/routes/reference.js.map +1 -1
  484. package/build/template/routes/root.d.ts.map +1 -1
  485. package/build/template/routes/root.js +29 -26
  486. package/build/template/routes/root.js.map +1 -1
  487. package/build/template/routes.js +1 -1
  488. package/build/template/routes.js.map +1 -1
  489. package/build/template/server/app.d.ts +1 -1
  490. package/build/template/server/app.d.ts.map +1 -1
  491. package/build/template/server/app.js +17 -8
  492. package/build/template/server/app.js.map +1 -1
  493. package/build/template/server/create-page-html-response.d.ts +2 -1
  494. package/build/template/server/create-page-html-response.d.ts.map +1 -1
  495. package/build/template/server/create-page-html-response.js +34 -5
  496. package/build/template/server/create-page-html-response.js.map +1 -1
  497. package/build/template/server/main.js +3 -3
  498. package/build/template/server/middleware/page.d.ts +1 -1
  499. package/build/template/server/middleware/page.d.ts.map +1 -1
  500. package/build/template/server/middleware/page.js +3 -3
  501. package/build/template/server/middleware/page.js.map +1 -1
  502. package/build/template/server/ssg/generate.d.ts.map +1 -1
  503. package/build/template/server/ssg/generate.js +17 -7
  504. package/build/template/server/ssg/generate.js.map +1 -1
  505. package/build/template/server/ssg/get-route-paths.js +1 -1
  506. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  507. package/build/template/server/transformers/inject-polen-data.d.ts +6 -0
  508. package/build/template/server/transformers/inject-polen-data.d.ts.map +1 -0
  509. package/build/template/server/transformers/inject-polen-data.js +28 -0
  510. package/build/template/server/transformers/inject-polen-data.js.map +1 -0
  511. package/build/template/server/transformers/inject-theme-init.d.ts +6 -0
  512. package/build/template/server/transformers/inject-theme-init.d.ts.map +1 -0
  513. package/build/template/server/transformers/inject-theme-init.js +29 -0
  514. package/build/template/server/transformers/inject-theme-init.js.map +1 -0
  515. package/build/template/server/view.js +1 -1
  516. package/build/template/server/view.js.map +1 -1
  517. package/package.json +31 -77
  518. package/src/api/api.ts +4 -4
  519. package/src/api/builder/index.ts +1 -1
  520. package/src/api/config/config.ts +4 -4
  521. package/src/api/config/configurator.ts +94 -15
  522. package/src/api/config/define.ts +1 -1
  523. package/src/api/config/index.ts +1 -1
  524. package/src/api/config/load.ts +1 -4
  525. package/src/api/config/merge.ts +1 -2
  526. package/src/api/config-resolver/config-resolver.ts +2 -2
  527. package/src/api/config-resolver/index.ts +1 -1
  528. package/src/api/config-resolver/resolve.ts +4 -4
  529. package/src/api/config-resolver/vite.ts +1 -1
  530. package/src/api/content/$$.ts +6 -6
  531. package/src/api/content/$.test.ts +1 -1
  532. package/src/api/content/$.ts +1 -1
  533. package/src/api/content/navbar.test.ts +2 -2
  534. package/src/api/content/navbar.ts +3 -3
  535. package/src/api/content/page.ts +1 -1
  536. package/src/api/content/scan.ts +8 -8
  537. package/src/api/content/sidebar.test.ts +3 -3
  538. package/src/api/content/sidebar.ts +20 -20
  539. package/src/api/index.ts +1 -1
  540. package/src/api/schema/data-sources/data-sources.ts +3 -3
  541. package/src/api/schema/data-sources/index.ts +1 -1
  542. package/src/api/schema/data-sources/memory/memory.ts +36 -1
  543. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +0 -1
  544. package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
  545. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +31 -2
  546. package/src/api/schema/data-sources/schema-file/schema-file.ts +20 -1
  547. package/src/api/schema/index.ts +1 -1
  548. package/src/api/schema/read.ts +43 -2
  549. package/src/api/schema/schema.ts +2 -2
  550. package/src/api/schema-augmentation/augmentations/description.ts +2 -2
  551. package/src/api/schema-augmentation/index.ts +1 -1
  552. package/src/api/schema-augmentation/schema-augmentation.ts +1 -2
  553. package/src/api/server/report-error.ts +7 -5
  554. package/src/api/singletons/markdown/index.ts +1 -1
  555. package/src/api/singletons/markdown/markdown.test.ts +27 -30
  556. package/src/api/singletons/markdown/markdown.ts +4 -23
  557. package/src/api/static/index.ts +1 -1
  558. package/src/api/static/manifest.test.ts +1 -1
  559. package/src/api/static/manifest.ts +3 -3
  560. package/src/api/static/rebase.test.ts +2 -2
  561. package/src/api/static/rebase.ts +11 -11
  562. package/src/api/static/static.ts +2 -2
  563. package/src/api/utils/asset-url/asset-url.test.ts +1 -1
  564. package/src/api/utils/asset-url/index.ts +1 -1
  565. package/src/api/vite/logger.ts +5 -5
  566. package/src/api/vite/plugins/{branding/index.ts → branding.ts} +9 -9
  567. package/src/api/vite/plugins/build.ts +11 -13
  568. package/src/api/vite/plugins/core.ts +37 -40
  569. package/src/api/vite/plugins/main.ts +25 -22
  570. package/src/api/vite/plugins/pages.ts +17 -52
  571. package/src/api/vite/plugins/serve.ts +36 -26
  572. package/src/cli/commands/build.ts +0 -1
  573. package/src/cli/commands/config/$default.ts +7 -0
  574. package/src/cli/commands/config/create.ts +25 -0
  575. package/src/cli/commands/config.ts +6 -0
  576. package/src/cli/commands/create.ts +2 -3
  577. package/src/cli/commands/dev.ts +0 -1
  578. package/src/cli/commands/open.ts +0 -1
  579. package/src/cli/commands/static/rebase.ts +0 -1
  580. package/src/cli/commands/static.ts +1 -1
  581. package/src/dep/graphql-inspector/index.ts +1 -1
  582. package/src/dep/hono/hono.ts +1 -1
  583. package/src/dep/hono/index.ts +1 -1
  584. package/src/dep/superjson/index.ts +1 -1
  585. package/src/dep/tiny-globby/index.ts +1 -1
  586. package/src/dep/vite/index.ts +1 -1
  587. package/src/exports/components.ts +3 -3
  588. package/src/exports/index.ts +1 -1
  589. package/src/lib/apple-touch-icon/index.ts +1 -1
  590. package/src/lib/errors/ContextualAggregateError.ts +1 -1
  591. package/src/lib/errors/ContextualError.ts +1 -1
  592. package/src/lib/errors/ErrorInternal.ts +2 -2
  593. package/src/lib/errors/errors.ts +4 -4
  594. package/src/lib/errors/index.ts +1 -1
  595. package/src/lib/errors/types.ts +1 -1
  596. package/src/lib/extensible-data/index.ts +1 -1
  597. package/src/lib/favicon/index.ts +1 -1
  598. package/src/lib/file-router/diagnostic-reporter.ts +9 -9
  599. package/src/lib/file-router/file-router.ts +3 -3
  600. package/src/lib/file-router/index.test.ts +2 -2
  601. package/src/lib/file-router/index.ts +1 -1
  602. package/src/lib/file-router/linter.test.ts +2 -2
  603. package/src/lib/file-router/linter.ts +11 -11
  604. package/src/lib/file-router/scan.ts +4 -4
  605. package/src/lib/grafaid/_Nodes.ts +1 -1
  606. package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
  607. package/src/lib/grafaid/document/kind.ts +1 -1
  608. package/src/lib/grafaid/document.ts +6 -6
  609. package/src/lib/grafaid/grafaid.ts +4 -4
  610. package/src/lib/grafaid/graphql.ts +3 -3
  611. package/src/lib/grafaid/http/__.ts +1 -1
  612. package/src/lib/grafaid/http/http.ts +1 -1
  613. package/src/lib/grafaid/index.ts +1 -1
  614. package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
  615. package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
  616. package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
  617. package/src/lib/grafaid/schema/RootDetails.ts +3 -3
  618. package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
  619. package/src/lib/grafaid/schema/nodes-like.ts +2 -2
  620. package/src/lib/grafaid/schema/schema.ts +15 -15
  621. package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
  622. package/src/lib/grafaid/schema/type.ts +1 -1
  623. package/src/lib/grafaid/schema/typeGuards.ts +1 -1
  624. package/src/lib/grafaid-old/grafaid.ts +1 -1
  625. package/src/lib/grafaid-old/index.ts +1 -1
  626. package/src/lib/graphql-change/index.ts +1 -1
  627. package/src/lib/graphql-changeset/index.ts +1 -1
  628. package/src/lib/graphql-document/$$.ts +4 -4
  629. package/src/lib/graphql-document/$.test.ts +3 -3
  630. package/src/lib/graphql-document/$.ts +1 -1
  631. package/src/lib/graphql-document/analysis.ts +49 -49
  632. package/src/lib/graphql-document/components/GraphQLDocument.tsx +38 -39
  633. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +4 -4
  634. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +18 -37
  635. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +31 -29
  636. package/src/lib/graphql-document/components/IdentifierLink.tsx +25 -25
  637. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -23
  638. package/src/lib/graphql-document/components/index.ts +4 -5
  639. package/src/lib/graphql-document/example.ts +35 -35
  640. package/src/lib/graphql-document/graphql-document.ts +9 -9
  641. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +1 -1
  642. package/src/lib/graphql-document/positioning-simple.test.ts +4 -4
  643. package/src/lib/graphql-document/positioning-simple.ts +32 -32
  644. package/src/lib/graphql-document/schema-integration.test.ts +1 -1
  645. package/src/lib/graphql-document/schema-integration.ts +27 -36
  646. package/src/lib/graphql-document/types.ts +4 -4
  647. package/src/lib/graphql-schema-loader/index.ts +1 -1
  648. package/src/lib/helpers.ts +1 -1
  649. package/src/lib/hono-aid/index.ts +1 -1
  650. package/src/lib/html-utils/html-transformer.ts +6 -0
  651. package/src/lib/html-utils/inject-global-data.test.ts +89 -0
  652. package/src/lib/html-utils/inject-global-data.ts +80 -0
  653. package/src/lib/kit-temp.test-d.ts +27 -22
  654. package/src/lib/kit-temp.test.ts +4 -4
  655. package/src/lib/kit-temp.ts +83 -11
  656. package/src/lib/mask/$$.ts +2 -2
  657. package/src/lib/mask/$.test.ts +1 -1
  658. package/src/lib/mask/$.ts +1 -1
  659. package/src/lib/mask/apply.ts +15 -15
  660. package/src/lib/mask/mask.test-d.ts +30 -18
  661. package/src/lib/mask/mask.ts +18 -18
  662. package/src/lib/mutation-type.ts +3 -3
  663. package/src/lib/path-map/$$.ts +7 -0
  664. package/src/lib/path-map/$.test.ts +370 -0
  665. package/src/lib/path-map/$.ts +7 -0
  666. package/src/lib/path-map/path-map.ts +244 -0
  667. package/src/lib/react-router-aid/index.ts +1 -1
  668. package/src/lib/react-router-aid/react-router-aid.ts +1 -1
  669. package/src/lib/react-router-loader/react-router-loader.ts +1 -4
  670. package/src/lib/stack-processor/index.ts +1 -1
  671. package/src/lib/stack-processor/stack-processor.ts +0 -1
  672. package/src/lib/superjson-codec/codecs/graphql-schema.ts +1 -1
  673. package/src/lib/superjson-codec/exports.ts +2 -2
  674. package/src/lib/superjson-codec/index.ts +1 -1
  675. package/src/lib/task/$$.ts +2 -2
  676. package/src/lib/task/$.test.ts +2 -2
  677. package/src/lib/task/$.ts +1 -1
  678. package/src/lib/task/report.ts +1 -1
  679. package/src/lib/task/task.ts +3 -3
  680. package/src/lib/theme/$.ts +2 -0
  681. package/src/lib/theme/theme.test.ts +190 -0
  682. package/src/lib/theme/theme.ts +210 -0
  683. package/src/lib/vite-plugin-json/index.ts +1 -1
  684. package/src/lib/vite-plugin-json/vite-plugin-json.ts +4 -4
  685. package/src/lib/vite-plugin-mdx/index.ts +1 -1
  686. package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +1 -5
  687. package/src/lib/vite-plugin-reactive-data/index.ts +1 -1
  688. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +13 -14
  689. package/src/lib/vite-plugins/index.ts +1 -1
  690. package/src/lib/vite-plugins/vite-plugins.ts +1 -1
  691. package/src/lib/vite-virtual/identified-loader.ts +4 -4
  692. package/src/lib/vite-virtual/identifier.ts +1 -1
  693. package/src/lib/vite-virtual/index.ts +1 -1
  694. package/src/lib/vite-virtual/vite-virtual.ts +3 -3
  695. package/src/package-paths.ts +38 -12
  696. package/src/project-data.ts +3 -1
  697. package/src/sandbox.ts +9 -9
  698. package/src/template/components/ArgumentList.tsx +1 -1
  699. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  700. package/src/template/components/Changelog.tsx +2 -2
  701. package/src/template/components/CodeBlock.tsx +4 -58
  702. package/src/template/components/CodeBlockEnhancer.tsx +41 -41
  703. package/src/template/components/DeprecationReason.tsx +1 -1
  704. package/src/template/components/Description.tsx +1 -1
  705. package/src/template/components/Field.tsx +4 -4
  706. package/src/template/components/FieldList.tsx +1 -1
  707. package/src/template/components/FieldListSection.tsx +1 -1
  708. package/src/template/components/HamburgerMenu.tsx +11 -11
  709. package/src/template/components/Link.tsx +19 -19
  710. package/src/template/components/Logo.tsx +4 -4
  711. package/src/template/components/MDXComponents.tsx +1 -85
  712. package/src/template/components/NamedType.tsx +2 -2
  713. package/src/template/components/TestComponent.tsx +2 -2
  714. package/src/template/components/Texts/MinorHeading.tsx +4 -4
  715. package/src/template/components/Texts/index.ts +1 -1
  716. package/src/template/components/Texts/texts.ts +1 -1
  717. package/src/template/components/ThemeToggle.tsx +29 -7
  718. package/src/template/components/TypeAnnotation.tsx +1 -1
  719. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  720. package/src/template/components/TypeIndex.tsx +1 -1
  721. package/src/template/components/content/$$.ts +1 -1
  722. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +3 -3
  723. package/src/template/components/content/GraphQLDocumentWrapper.tsx +9 -26
  724. package/src/template/components/graphql/graphql.tsx +2 -2
  725. package/src/template/components/graphql/index.ts +1 -1
  726. package/src/template/components/graphql/type-kind-icon.tsx +1 -2
  727. package/src/template/components/graphql/type-link.tsx +3 -3
  728. package/src/template/components/sidebar/Sidebar.tsx +1 -1
  729. package/src/template/components/sidebar/SidebarItem.tsx +4 -4
  730. package/src/template/constants.ts +17 -0
  731. package/src/template/contexts/ThemeContext.tsx +55 -24
  732. package/src/template/entry.client.tsx +7 -2
  733. package/src/template/global.d.ts +7 -0
  734. package/src/template/routes/changelog.tsx +1 -1
  735. package/src/template/routes/reference.$type.$field.tsx +3 -3
  736. package/src/template/routes/reference.$type.tsx +3 -3
  737. package/src/template/routes/reference.tsx +2 -2
  738. package/src/template/routes/root.tsx +46 -50
  739. package/src/template/routes.tsx +1 -1
  740. package/src/template/server/app.ts +17 -10
  741. package/src/template/server/create-page-html-response.ts +40 -5
  742. package/src/template/server/main.ts +3 -3
  743. package/src/template/server/middleware/page.ts +4 -4
  744. package/src/template/server/ssg/generate.ts +17 -7
  745. package/src/template/server/ssg/get-route-paths.ts +1 -1
  746. package/src/template/server/transformers/inject-polen-data.ts +32 -0
  747. package/src/template/server/transformers/inject-theme-init.ts +30 -0
  748. package/src/template/server/view.ts +1 -1
  749. package/build/api/vite/data/navbar.d.ts +0 -9
  750. package/build/api/vite/data/navbar.d.ts.map +0 -1
  751. package/build/api/vite/data/navbar.js +0 -6
  752. package/build/api/vite/data/navbar.js.map +0 -1
  753. package/build/api/vite/plugins/branding/index.d.ts.map +0 -1
  754. package/build/api/vite/plugins/branding/index.js.map +0 -1
  755. package/build/lib/demos/builder.d.ts +0 -83
  756. package/build/lib/demos/builder.d.ts.map +0 -1
  757. package/build/lib/demos/builder.js +0 -237
  758. package/build/lib/demos/builder.js.map +0 -1
  759. package/build/lib/demos/config-schema.d.ts +0 -243
  760. package/build/lib/demos/config-schema.d.ts.map +0 -1
  761. package/build/lib/demos/config-schema.js +0 -52
  762. package/build/lib/demos/config-schema.js.map +0 -1
  763. package/build/lib/demos/config.d.ts +0 -40
  764. package/build/lib/demos/config.d.ts.map +0 -1
  765. package/build/lib/demos/config.js +0 -180
  766. package/build/lib/demos/config.js.map +0 -1
  767. package/build/lib/demos/index.d.ts +0 -9
  768. package/build/lib/demos/index.d.ts.map +0 -1
  769. package/build/lib/demos/index.js +0 -8
  770. package/build/lib/demos/index.js.map +0 -1
  771. package/build/lib/demos/ui/components.d.ts +0 -33
  772. package/build/lib/demos/ui/components.d.ts.map +0 -1
  773. package/build/lib/demos/ui/components.js +0 -699
  774. package/build/lib/demos/ui/components.js.map +0 -1
  775. package/build/lib/demos/ui/data-collector.d.ts +0 -88
  776. package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
  777. package/build/lib/demos/ui/data-collector.js +0 -174
  778. package/build/lib/demos/ui/data-collector.js.map +0 -1
  779. package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
  780. package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
  781. package/build/lib/demos/ui/landing-page-cli.js +0 -21
  782. package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
  783. package/build/lib/demos/ui/landing-page.d.ts +0 -32
  784. package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
  785. package/build/lib/demos/ui/landing-page.js +0 -83
  786. package/build/lib/demos/ui/landing-page.js.map +0 -1
  787. package/build/lib/demos/ui/page-renderer.d.ts +0 -26
  788. package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
  789. package/build/lib/demos/ui/page-renderer.js +0 -104
  790. package/build/lib/demos/ui/page-renderer.js.map +0 -1
  791. package/build/lib/demos/utils.d.ts +0 -14
  792. package/build/lib/demos/utils.d.ts.map +0 -1
  793. package/build/lib/demos/utils.js +0 -37
  794. package/build/lib/demos/utils.js.map +0 -1
  795. package/build/lib/deployment/$$.d.ts +0 -3
  796. package/build/lib/deployment/$$.d.ts.map +0 -1
  797. package/build/lib/deployment/$$.js +0 -3
  798. package/build/lib/deployment/$$.js.map +0 -1
  799. package/build/lib/deployment/$.d.ts +0 -2
  800. package/build/lib/deployment/$.d.ts.map +0 -1
  801. package/build/lib/deployment/$.js +0 -2
  802. package/build/lib/deployment/$.js.map +0 -1
  803. package/build/lib/deployment/metadata.d.ts +0 -32
  804. package/build/lib/deployment/metadata.d.ts.map +0 -1
  805. package/build/lib/deployment/metadata.js +0 -37
  806. package/build/lib/deployment/metadata.js.map +0 -1
  807. package/build/lib/deployment/path-manager.d.ts +0 -41
  808. package/build/lib/deployment/path-manager.d.ts.map +0 -1
  809. package/build/lib/deployment/path-manager.js +0 -157
  810. package/build/lib/deployment/path-manager.js.map +0 -1
  811. package/build/lib/github-actions/git-controller.d.ts +0 -50
  812. package/build/lib/github-actions/git-controller.d.ts.map +0 -1
  813. package/build/lib/github-actions/git-controller.js +0 -90
  814. package/build/lib/github-actions/git-controller.js.map +0 -1
  815. package/build/lib/github-actions/github-actions.d.ts +0 -7
  816. package/build/lib/github-actions/github-actions.d.ts.map +0 -1
  817. package/build/lib/github-actions/github-actions.js +0 -7
  818. package/build/lib/github-actions/github-actions.js.map +0 -1
  819. package/build/lib/github-actions/index.d.ts +0 -2
  820. package/build/lib/github-actions/index.d.ts.map +0 -1
  821. package/build/lib/github-actions/index.js +0 -2
  822. package/build/lib/github-actions/index.js.map +0 -1
  823. package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
  824. package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
  825. package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
  826. package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
  827. package/build/lib/github-actions/pr-controller.d.ts +0 -39
  828. package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
  829. package/build/lib/github-actions/pr-controller.js +0 -122
  830. package/build/lib/github-actions/pr-controller.js.map +0 -1
  831. package/build/lib/github-actions/run-step-cli.d.ts +0 -9
  832. package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
  833. package/build/lib/github-actions/run-step-cli.js +0 -71
  834. package/build/lib/github-actions/run-step-cli.js.map +0 -1
  835. package/build/lib/github-actions/runner.d.ts +0 -17
  836. package/build/lib/github-actions/runner.d.ts.map +0 -1
  837. package/build/lib/github-actions/runner.js +0 -195
  838. package/build/lib/github-actions/runner.js.map +0 -1
  839. package/build/lib/github-actions/schemas/context.d.ts +0 -933
  840. package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
  841. package/build/lib/github-actions/schemas/context.js +0 -407
  842. package/build/lib/github-actions/schemas/context.js.map +0 -1
  843. package/build/lib/github-actions/schemas/index.d.ts +0 -5
  844. package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
  845. package/build/lib/github-actions/schemas/index.js +0 -5
  846. package/build/lib/github-actions/schemas/index.js.map +0 -1
  847. package/build/lib/github-actions/search-module.d.ts +0 -38
  848. package/build/lib/github-actions/search-module.d.ts.map +0 -1
  849. package/build/lib/github-actions/search-module.js +0 -40
  850. package/build/lib/github-actions/search-module.js.map +0 -1
  851. package/build/lib/github-actions/step.d.ts +0 -163
  852. package/build/lib/github-actions/step.d.ts.map +0 -1
  853. package/build/lib/github-actions/step.js +0 -121
  854. package/build/lib/github-actions/step.js.map +0 -1
  855. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  856. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  857. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  858. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  859. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  860. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  861. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  862. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  863. package/build/lib/shiki/index.d.ts +0 -2
  864. package/build/lib/shiki/index.d.ts.map +0 -1
  865. package/build/lib/shiki/index.js +0 -2
  866. package/build/lib/shiki/index.js.map +0 -1
  867. package/build/lib/shiki/shiki.d.ts +0 -26
  868. package/build/lib/shiki/shiki.d.ts.map +0 -1
  869. package/build/lib/shiki/shiki.js +0 -105
  870. package/build/lib/shiki/shiki.js.map +0 -1
  871. package/build/lib/version-history/index.d.ts +0 -3
  872. package/build/lib/version-history/index.d.ts.map +0 -1
  873. package/build/lib/version-history/index.js +0 -2
  874. package/build/lib/version-history/index.js.map +0 -1
  875. package/build/lib/version-history/types.d.ts +0 -64
  876. package/build/lib/version-history/types.d.ts.map +0 -1
  877. package/build/lib/version-history/types.js +0 -5
  878. package/build/lib/version-history/types.js.map +0 -1
  879. package/build/lib/version-history/version-history.d.ts +0 -85
  880. package/build/lib/version-history/version-history.d.ts.map +0 -1
  881. package/build/lib/version-history/version-history.js +0 -248
  882. package/build/lib/version-history/version-history.js.map +0 -1
  883. package/src/api/vite/data/navbar.ts +0 -15
  884. package/src/lib/demos/builder.ts +0 -298
  885. package/src/lib/demos/config-schema.ts +0 -56
  886. package/src/lib/demos/config.test.ts +0 -193
  887. package/src/lib/demos/config.ts +0 -205
  888. package/src/lib/demos/index.ts +0 -9
  889. package/src/lib/demos/ui/components.ts +0 -739
  890. package/src/lib/demos/ui/data-collector.ts +0 -246
  891. package/src/lib/demos/ui/landing-page-cli.ts +0 -23
  892. package/src/lib/demos/ui/landing-page.ts +0 -126
  893. package/src/lib/demos/ui/page-renderer.ts +0 -124
  894. package/src/lib/demos/utils.ts +0 -43
  895. package/src/lib/deployment/$$.ts +0 -2
  896. package/src/lib/deployment/$.test.ts +0 -53
  897. package/src/lib/deployment/$.ts +0 -1
  898. package/src/lib/deployment/metadata.ts +0 -40
  899. package/src/lib/deployment/path-manager.ts +0 -186
  900. package/src/lib/github-actions/git-controller.ts +0 -151
  901. package/src/lib/github-actions/github-actions.ts +0 -6
  902. package/src/lib/github-actions/index.ts +0 -1
  903. package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
  904. package/src/lib/github-actions/pr-controller.test.ts +0 -172
  905. package/src/lib/github-actions/pr-controller.ts +0 -183
  906. package/src/lib/github-actions/run-step-cli.ts +0 -84
  907. package/src/lib/github-actions/runner.test.ts +0 -192
  908. package/src/lib/github-actions/runner.ts +0 -226
  909. package/src/lib/github-actions/schemas/context.ts +0 -424
  910. package/src/lib/github-actions/schemas/index.ts +0 -5
  911. package/src/lib/github-actions/search-module.test.ts +0 -110
  912. package/src/lib/github-actions/search-module.ts +0 -76
  913. package/src/lib/github-actions/step.test.ts +0 -149
  914. package/src/lib/github-actions/step.ts +0 -232
  915. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  916. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  917. package/src/lib/shiki/index.ts +0 -1
  918. package/src/lib/shiki/shiki.test.ts +0 -107
  919. package/src/lib/shiki/shiki.ts +0 -161
  920. package/src/lib/version-history/index.test.ts +0 -196
  921. package/src/lib/version-history/index.ts +0 -4
  922. package/src/lib/version-history/types.ts +0 -68
  923. package/src/lib/version-history/version-history.ts +0 -293
@@ -1,37 +1,21 @@
1
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'
2
+ import { GraphQLDocument } from '../../../lib/graphql-document/components/GraphQLDocument.js'
3
+ import type { GraphQLDocumentProps } from '../../../lib/graphql-document/components/GraphQLDocument.js'
6
4
 
7
5
  /**
8
6
  * Client-side wrapper that hydrates GraphQL documents with schema
9
7
  */
10
- export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'schema'>> = (props) => {
8
+ export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, `schema`>> = (props) => {
11
9
  try {
12
10
  const [schema, setSchema] = React.useState<any>(null)
13
11
  const [isClient, setIsClient] = React.useState(false)
14
- const [highlightedHtml, setHighlightedHtml] = React.useState<string | null>(null)
15
12
 
16
13
  React.useEffect(() => {
17
14
  setIsClient(true)
18
15
 
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
16
  // Access virtual module only on client side
33
- if (typeof window !== 'undefined') {
34
- import('virtual:polen/project/data.jsonsuper').then(PROJECT_DATA => {
17
+ if (typeof window !== `undefined`) {
18
+ import(`virtual:polen/project/data.jsonsuper`).then(PROJECT_DATA => {
35
19
  const s = PROJECT_DATA.default?.schema?.versions?.[0]?.after
36
20
  // Schema loaded successfully
37
21
  if (s) {
@@ -41,13 +25,13 @@ export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'sch
41
25
  // Schema loading is optional - continue without it
42
26
  })
43
27
  }
44
- }, [props.children])
28
+ }, [])
45
29
 
46
30
  // During SSR, render a simple code block
47
31
  if (!isClient) {
48
32
  return (
49
33
  <div data-testid='graphql-document' className='graphql-document graphql-document-static'>
50
- <pre className='shiki shiki-themes github-light tokyo-night'>
34
+ <pre>
51
35
  <code className="language-graphql">{props.children}</code>
52
36
  </pre>
53
37
  </div>
@@ -57,7 +41,7 @@ export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'sch
57
41
  // During client render, use the full component
58
42
  // Pass a custom navigate function that doesn't require router
59
43
  const handleNavigate = (url: string) => {
60
- if (typeof window !== 'undefined') {
44
+ if (typeof window !== `undefined`) {
61
45
  window.location.href = url
62
46
  }
63
47
  }
@@ -67,7 +51,6 @@ export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'sch
67
51
  <GraphQLDocument
68
52
  {...props}
69
53
  schema={schema}
70
- highlightedHtml={highlightedHtml || undefined}
71
54
  options={{
72
55
  debug: false, // Default to false for shipping
73
56
  ...props.options,
@@ -80,7 +63,7 @@ export const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, 'sch
80
63
  // Fall back to plain code block on error
81
64
  return (
82
65
  <div data-testid='graphql-document' className='graphql-document graphql-document-static'>
83
- <pre className='shiki'>
66
+ <pre>
84
67
  <code className="language-graphql">{props.children}</code>
85
68
  </pre>
86
69
  </div>
@@ -1,2 +1,2 @@
1
- export * from './type-kind-icon.tsx'
2
- export * from './type-link.tsx'
1
+ export * from './type-kind-icon.js'
2
+ export * from './type-link.js'
@@ -1 +1 @@
1
- export * as Graphql from './graphql.tsx'
1
+ export * as Graphql from './graphql.js'
@@ -1,10 +1,9 @@
1
1
  import type { React } from '#dep/react/index'
2
2
  import type { Grafaid } from '#lib/grafaid/index'
3
3
  import { Code } from '@radix-ui/themes'
4
- import { typeKindTokensIndex, unknownTypeKindToken } from './type-kind-tokens.ts'
4
+ import { typeKindTokensIndex, unknownTypeKindToken } from './type-kind-tokens.js'
5
5
 
6
6
  export const TypeKindIcon: React.FC<{ kind: Grafaid.Schema.TypeKindName }> = ({ kind }) => {
7
- // eslint-disable-next-line
8
7
  const { symbol, color } = typeKindTokensIndex[kind] ?? unknownTypeKindToken
9
8
 
10
9
  return <Code color={color} weight='bold' variant='outline'>{symbol}</Code>
@@ -1,8 +1,8 @@
1
1
  import { Grafaid } from '#lib/grafaid/index'
2
2
  import { Code, Flex } from '@radix-ui/themes'
3
- import { Link } from '../Link.tsx'
4
- import { TypeKindIcon } from './graphql.tsx'
5
- import { typeKindTokensIndex } from './type-kind-tokens.ts'
3
+ import { Link } from '../Link.js'
4
+ import { TypeKindIcon } from './graphql.js'
5
+ import { typeKindTokensIndex } from './type-kind-tokens.js'
6
6
 
7
7
  export const TypeLink: React.FC<{ type: Grafaid.Schema.TypesLike.Named }> = ({ type }) => {
8
8
  const kind = Grafaid.Schema.typeKindFromClass(type)
@@ -1,7 +1,7 @@
1
1
  import type { Content } from '#api/content/$'
2
2
  import { Box } from '@radix-ui/themes'
3
3
  import type { BoxOwnProps, LayoutProps, MarginProps } from '@radix-ui/themes/props'
4
- import { Items } from './SidebarItem.tsx'
4
+ import { Items } from './SidebarItem.js'
5
5
 
6
6
  interface SidebarProps extends LayoutProps, MarginProps, BoxOwnProps {
7
7
  data: Content.Item[]
@@ -3,7 +3,7 @@ import type { React } from '#dep/react/index'
3
3
  import { Texts } from '#template/components/Texts/index'
4
4
  import { Box, Flex } from '@radix-ui/themes'
5
5
  import { useLocation } from 'react-router'
6
- import { getPathActiveReport, Link } from '../Link.tsx'
6
+ import { getPathActiveReport, Link } from '../Link.js'
7
7
 
8
8
  export const Items: React.FC<{ items: Content.Item[] }> = ({ items }) => {
9
9
  return (
@@ -31,7 +31,7 @@ export const Item: React.FC<{ item: Content.Item }> = ({ item }) => {
31
31
  return <SBLink link={item} />
32
32
  }
33
33
 
34
- if (item.type === 'ItemSection' && item.isLinkToo) {
34
+ if (item.type === `ItemSection` && item.isLinkToo) {
35
35
  return <LinkedSection section={item} />
36
36
  }
37
37
 
@@ -113,7 +113,7 @@ const LinkedSection: React.FC<{
113
113
  <Flex
114
114
  direction='column'
115
115
  gap='2'
116
- id={`section-${section.pathExp.replace(/\//g, '-')}`}
116
+ id={`section-${section.pathExp.replace(/\//g, `-`)}`}
117
117
  role='group'
118
118
  ml='5'
119
119
  py='2px'
@@ -140,7 +140,7 @@ const SectionLink: React.FC<{ link: Content.ItemLink }> = ({ link }) => {
140
140
  return (
141
141
  <Link
142
142
  role='Sidebar Link'
143
- to={'/' + link.pathExp}
143
+ to={`/` + link.pathExp}
144
144
  color={active.is ? `iris` : `gray`}
145
145
  style={{
146
146
  textDecoration: `none`,
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Default Polen global data structure
3
+ * This ensures we always have a consistent shape for hydration
4
+ */
5
+ export const DEFAULT_POLEN_DATA = {
6
+ serverContext: {
7
+ theme: 'light' as const,
8
+ isDev: false,
9
+ },
10
+ } as const
11
+
12
+ export type PolenGlobalData = {
13
+ serverContext: {
14
+ theme: 'light' | 'dark' | 'system'
15
+ isDev: boolean
16
+ }
17
+ }
@@ -1,51 +1,82 @@
1
1
  import type { React } from '#dep/react/index'
2
2
  import { createContext, useContext, useEffect, useState } from 'react'
3
+ import * as Theme from '../../lib/theme/theme.js'
3
4
 
4
- type ThemeAppearance = 'light' | 'dark'
5
+ type ThemeAppearance = `light` | `dark`
6
+ type ThemePreference = `light` | `dark` | `system`
5
7
 
6
8
  interface ThemeContextValue {
7
9
  appearance: ThemeAppearance
10
+ preference: ThemePreference
8
11
  toggleTheme: () => void
9
12
  }
10
13
 
11
14
  const ThemeContext = createContext<ThemeContextValue | undefined>(undefined)
12
15
 
13
- const THEME_STORAGE_KEY = 'polen-theme-preference'
16
+ // Create theme manager instance
17
+ const themeManager = Theme.createThemeManager({
18
+ cookieName: `polen-theme-preference`,
19
+ })
20
+
21
+ // Theme CSS component to ensure consistent CSS on server and client
22
+ const ThemeCSS: React.FC = () => {
23
+ const css = themeManager.getCSS()
24
+ return <style dangerouslySetInnerHTML={{ __html: css }} />
25
+ }
14
26
 
15
27
  export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
16
28
  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'
29
+ // Initial appearance from server or browser
30
+ const serverTheme = globalThis.__POLEN__.serverContext.theme
31
+ if (serverTheme === 'system') {
32
+ // During SSR, default to light for system preference
33
+ // Client will detect actual preference on mount
34
+ return typeof globalThis.window !== 'undefined'
35
+ ? (globalThis.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
36
+ : 'light'
31
37
  }
38
+ return serverTheme
39
+ })
32
40
 
33
- return 'light'
41
+ const [preference, setPreference] = useState<ThemePreference>(() => {
42
+ // Initial preference from server-rendered theme
43
+ const serverTheme = globalThis.__POLEN__.serverContext.theme
44
+ // If server sent a specific theme (from cookie), use that as preference
45
+ // Otherwise it's system preference
46
+ return serverTheme
34
47
  })
35
48
 
36
49
  useEffect(() => {
37
- // Persist to localStorage
38
- if (typeof window !== 'undefined') {
39
- localStorage.setItem(THEME_STORAGE_KEY, appearance)
50
+ // Apply theme preference to DOM on mount and when it changes
51
+ themeManager.applyToDOM(preference)
52
+
53
+ // Update appearance based on preference
54
+ if (preference === 'system') {
55
+ const systemTheme = globalThis.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
56
+ setAppearance(systemTheme)
57
+
58
+ // Listen for system theme changes
59
+ const mediaQuery = globalThis.matchMedia('(prefers-color-scheme: dark)')
60
+ const handleChange = (e: MediaQueryListEvent) => {
61
+ if (preference === 'system') {
62
+ setAppearance(e.matches ? 'dark' : 'light')
63
+ }
64
+ }
65
+ mediaQuery.addEventListener('change', handleChange)
66
+ return () => mediaQuery.removeEventListener('change', handleChange)
67
+ } else {
68
+ setAppearance(preference)
40
69
  }
41
- }, [appearance])
70
+ }, [preference])
42
71
 
43
72
  const toggleTheme = () => {
44
- setAppearance(prev => prev === 'light' ? 'dark' : 'light')
73
+ const newPref = themeManager.toggle() as ThemePreference
74
+ setPreference(newPref)
45
75
  }
46
76
 
47
77
  return (
48
- <ThemeContext.Provider value={{ appearance, toggleTheme }}>
78
+ <ThemeContext.Provider value={{ appearance, preference, toggleTheme }}>
79
+ <ThemeCSS />
49
80
  {children}
50
81
  </ThemeContext.Provider>
51
82
  )
@@ -54,7 +85,7 @@ export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ childre
54
85
  export const useTheme = () => {
55
86
  const context = useContext(ThemeContext)
56
87
  if (!context) {
57
- throw new Error('useTheme must be used within a ThemeProvider')
88
+ throw new Error(`useTheme must be used within a ThemeProvider`)
58
89
  }
59
90
  return context
60
91
  }
@@ -4,7 +4,7 @@ import { ReactDomClient } from '#dep/react-dom-client/index'
4
4
  import { StrictMode } from 'react'
5
5
  import { createBrowserRouter, RouterProvider } from 'react-router'
6
6
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
7
- import { routes } from './routes.tsx'
7
+ import { routes } from './routes.js'
8
8
 
9
9
  // SPA
10
10
 
@@ -21,8 +21,13 @@ const router = createBrowserRouter(routes, {
21
21
  basename: PROJECT_DATA.basePath === `/` ? undefined : PROJECT_DATA.basePath.slice(0, -1), // Remove trailing slash for React Router
22
22
  })
23
23
 
24
+ const rootElement = document.getElementById(`app`)
25
+ if (!rootElement) {
26
+ throw new Error(`Could not find app root element`)
27
+ }
28
+
24
29
  ReactDomClient.hydrateRoot(
25
- document,
30
+ rootElement,
26
31
  (
27
32
  <StrictMode>
28
33
  <RouterProvider router={router} />
@@ -0,0 +1,7 @@
1
+ import type { PolenGlobalData } from './constants'
2
+
3
+ declare global {
4
+ var __POLEN__: PolenGlobalData
5
+ }
6
+
7
+ export {}
@@ -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.js'
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.js'
6
+ import { MissingSchema } from '../components/MissingSchema.js'
7
+ import type { reference } from './reference.js'
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.js'
5
+ import { NamedType } from '../components/NamedType.js'
6
+ import type { reference } from './reference.js'
7
7
 
8
8
  const Component = () => {
9
9
  const params = useParams() as { type: string }
@@ -3,8 +3,8 @@ import { createLoader, useLoaderData } from '#lib/react-router-loader/react-rout
3
3
  import { Box } 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.js'
7
+ import { reference$type } from './reference.$type.js'
8
8
 
9
9
  const loader = createLoader(() => {
10
10
  const latestSchemaVersion = PROJECT_DATA.schema?.versions[0].after ?? null
@@ -10,48 +10,40 @@ import { Link as LinkReactRouter } from 'react-router'
10
10
  import { Outlet, ScrollRestoration, useLocation } from 'react-router'
11
11
  import logoSrc from 'virtual:polen/project/assets/logo.svg'
12
12
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
13
- import projectDataNavbar from 'virtual:polen/project/data/navbar.jsonsuper'
14
13
  import projectPagesCatalog from 'virtual:polen/project/data/pages-catalog.jsonsuper'
15
14
  import { routes } from 'virtual:polen/project/routes.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 { GraphQLSchemaProvider } from '../../lib/graphql-document/schema-context.js'
17
+ import { CodeBlockEnhancer } from '../components/CodeBlockEnhancer.js'
18
+ import { HamburgerMenu } from '../components/HamburgerMenu.js'
19
+ import { Link } from '../components/Link.js'
20
+ import { Logo } from '../components/Logo.js'
21
+ import { NotFound } from '../components/NotFound.js'
22
+ import { Sidebar } from '../components/sidebar/Sidebar.js'
23
+ import { ThemeToggle } from '../components/ThemeToggle.js'
24
+ import { ThemeProvider, useTheme } from '../contexts/ThemeContext.js'
25
+ import { changelog } from './changelog.js'
26
+ import { index } from './index.js'
27
+ import { reference } from './reference.js'
29
28
 
30
29
  export const Component = () => {
31
30
  const schema = PROJECT_DATA.schema?.versions[0]?.after || null
32
31
 
33
32
  // Make schema available globally for MDX components
34
- if (typeof window !== 'undefined' && schema) {
33
+ if (typeof window !== `undefined` && schema) {
35
34
  ;(window as any).__POLEN_GRAPHQL_SCHEMA__ = schema
36
35
  }
37
36
 
38
37
  return (
39
- <html lang='en'>
40
- <head>
41
- <meta charSet='utf-8' />
42
- <meta name='viewport' content='width=device-width, initial-scale=1' />
43
- <title>{templateVariables.title}</title>
44
- </head>
45
- <body style={{ margin: 0 }}>
46
- <ThemeProvider>
47
- <GraphQLSchemaProvider schema={schema}>
48
- <Layout />
49
- <CodeBlockEnhancer />
50
- </GraphQLSchemaProvider>
51
- </ThemeProvider>
52
- <ScrollRestoration />
53
- </body>
54
- </html>
38
+ <>
39
+ <ThemeProvider>
40
+ <GraphQLSchemaProvider schema={schema}>
41
+ <Layout />
42
+ <CodeBlockEnhancer />
43
+ </GraphQLSchemaProvider>
44
+ </ThemeProvider>
45
+ <ScrollRestoration />
46
+ </>
55
47
  )
56
48
  }
57
49
 
@@ -77,7 +69,7 @@ const Layout = () => {
77
69
  }
78
70
 
79
71
  const currentNavPathExp = getCurrentNavPathExp()
80
- const isReferencePage = currentNavPathExp === '/reference'
72
+ const isReferencePage = currentNavPathExp === `/reference`
81
73
 
82
74
  const sidebar = (() => {
83
75
  if (isReferencePage && PROJECT_DATA.schema) {
@@ -90,12 +82,12 @@ const Layout = () => {
90
82
 
91
83
  for (const [title, types] of kindEntries) {
92
84
  sidebarItems.push({
93
- type: 'ItemSection' as const,
85
+ type: `ItemSection` as const,
94
86
  title,
95
87
  pathExp: `reference-${title.toLowerCase()}`,
96
88
  isLinkToo: false,
97
89
  links: types.map(type => ({
98
- type: 'ItemLink' as const,
90
+ type: `ItemLink` as const,
99
91
  title: type.name,
100
92
  pathExp: `reference/${type.name}`,
101
93
  })),
@@ -113,11 +105,11 @@ const Layout = () => {
113
105
 
114
106
  const header = (
115
107
  <Flex
116
- gridArea={'header'}
108
+ gridArea={`header`}
117
109
  align='center'
118
- gap={{ initial: '4', md: '8' }}
110
+ gap={{ initial: `4`, md: `8` }}
119
111
  pb='4'
120
- mb={{ initial: '4', md: '8' }}
112
+ mb={{ initial: `4`, md: `8` }}
121
113
  style={{
122
114
  borderBottom: `1px solid var(--gray-3)`,
123
115
  }}
@@ -126,8 +118,12 @@ const Layout = () => {
126
118
  {isShowSidebar && (
127
119
  <HamburgerMenu
128
120
  isOpen={mobileMenuOpen}
129
- onToggle={() => setMobileMenuOpen(!mobileMenuOpen)}
130
- onClose={() => setMobileMenuOpen(false)}
121
+ onToggle={() => {
122
+ setMobileMenuOpen(!mobileMenuOpen)
123
+ }}
124
+ onClose={() => {
125
+ setMobileMenuOpen(false)
126
+ }}
131
127
  sidebarData={sidebar.items}
132
128
  />
133
129
  )}
@@ -136,12 +132,12 @@ const Layout = () => {
136
132
  to='/'
137
133
  style={{ color: `inherit`, textDecoration: `none` }}
138
134
  >
139
- <Box display={{ initial: 'block', md: 'block' }}>
135
+ <Box display={{ initial: `block`, md: `block` }}>
140
136
  <Logo src={logoSrc} title={templateVariables.title} height={30} showTitle={true} />
141
137
  </Box>
142
138
  </LinkReactRouter>
143
139
  <Flex direction='row' gap='4' style={{ flex: 1 }}>
144
- {projectDataNavbar.map((item, key) => (
140
+ {PROJECT_DATA.navbar.map((item, key) => (
145
141
  <Link key={key} color='gray' to={item.pathExp}>
146
142
  {item.title}
147
143
  </Link>
@@ -154,28 +150,28 @@ const Layout = () => {
154
150
  return (
155
151
  <Theme asChild appearance={appearance}>
156
152
  <Grid
157
- width={{ initial: '100%', sm: '100%', md: 'var(--container-4)' }}
153
+ width={{ initial: `100%`, sm: `100%`, md: `var(--container-4)` }}
158
154
  maxWidth='100vw'
159
155
  areas={{
160
- initial: "'header' 'content'",
161
- sm: "'header' 'content'",
156
+ initial: `'header' 'content'`,
157
+ sm: `'header' 'content'`,
162
158
  md:
163
- "'header header header header header header header header' 'sidebar sidebar . content content content content content'",
159
+ `'header header header header header header header header' 'sidebar sidebar . content content content content content'`,
164
160
  }}
165
161
  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' }}
162
+ columns={{ initial: `1fr`, sm: `1fr`, md: `repeat(8, 1fr)` }}
163
+ gapX={{ initial: `0`, sm: `0`, md: `2` }}
164
+ my={{ initial: `0`, sm: `0`, md: `8` }}
169
165
  mx='auto'
170
- px={{ initial: '4', sm: '4', md: '0' }}
171
- py={{ initial: '4', sm: '4', md: '0' }}
166
+ px={{ initial: `4`, sm: `4`, md: `0` }}
167
+ py={{ initial: `4`, sm: `4`, md: `0` }}
172
168
  >
173
169
  {header}
174
170
 
175
171
  {/* Desktop Sidebar */}
176
172
  {isShowSidebar && (
177
173
  <Box
178
- display={{ initial: 'none', xs: 'none', sm: 'none', md: 'block' }}
174
+ display={{ initial: `none`, xs: `none`, sm: `none`, md: `block` }}
179
175
  gridColumn='1 / 3'
180
176
  gridRow='2 / auto'
181
177
  >
@@ -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.js'
3
3
 
4
4
  export const routes: RouteObject[] = [
5
5
  root,
@@ -1,12 +1,13 @@
1
1
  import { Hono } from '#dep/hono/index'
2
+ import { createHtmlTransformer, type HtmlTransformer } from '#lib/html-utils/html-transformer'
2
3
  import { serveStatic } from '@hono/node-server/serve-static'
3
4
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
4
5
  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'
8
-
9
- export type HtmlTransformer = (html: string, ctx: Hono.Context) => Promise<string> | string
6
+ import { injectManifestIntoHtml } from './manifest.js'
7
+ import { PageMiddleware } from './middleware/page.js'
8
+ import { UnsupportedAssetsMiddleware } from './middleware/unsupported-assets.js'
9
+ import { createPolenDataInjector } from './transformers/inject-polen-data.js'
10
+ import { createThemeInitInjector } from './transformers/inject-theme-init.js'
10
11
 
11
12
  export interface AppHooks {
12
13
  transformHtml?: HtmlTransformer[]
@@ -20,17 +21,23 @@ export const createApp = (options: AppOptions = {}) => {
20
21
  const app = new Hono.Hono()
21
22
 
22
23
  // Collect all HTML transformers
23
- const htmlTransformers: HtmlTransformer[] = [...(options.hooks?.transformHtml || [])]
24
+ const htmlTransformers: HtmlTransformer[] = [
25
+ // Always inject Polen global data (both dev and prod)
26
+ createPolenDataInjector(),
27
+ // Theme initialization must come after Polen data
28
+ createThemeInitInjector(),
29
+ ...(options.hooks?.transformHtml || []),
30
+ ]
24
31
 
25
32
  // Core middleware
26
- app.use('*', UnsupportedAssetsMiddleware())
33
+ app.use(`*`, UnsupportedAssetsMiddleware())
27
34
 
28
35
  // Production-specific setup
29
36
  if (__BUILDING__) {
30
37
  // Add manifest transformer
31
- htmlTransformers.push((html, _ctx) => {
38
+ htmlTransformers.push(createHtmlTransformer((html, ___ctx) => {
32
39
  return injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath)
33
- })
40
+ }))
34
41
 
35
42
  // Static file serving
36
43
  app.use(
@@ -39,7 +46,7 @@ export const createApp = (options: AppOptions = {}) => {
39
46
  )
40
47
  }
41
48
 
42
- app.all('*', PageMiddleware(htmlTransformers))
49
+ app.all(`*`, PageMiddleware(htmlTransformers))
43
50
 
44
51
  return app
45
52
  }