polen 0.10.0-next.10 → 0.10.0-next.12

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 (328) hide show
  1. package/build/api/builder/builder.js +1 -1
  2. package/build/api/builder/builder.js.map +1 -1
  3. package/build/api/config/load.js +1 -1
  4. package/build/api/config/load.js.map +1 -1
  5. package/build/api/vite/plugins/build.js +1 -1
  6. package/build/api/vite/plugins/build.js.map +1 -1
  7. package/build/api/vite/plugins/core.d.ts.map +1 -1
  8. package/build/api/vite/plugins/core.js +0 -2
  9. package/build/api/vite/plugins/core.js.map +1 -1
  10. package/build/api/vite/plugins/pages.js +1 -1
  11. package/build/api/vite/plugins/pages.js.map +1 -1
  12. package/build/exports/components.d.ts +4 -1
  13. package/build/exports/components.d.ts.map +1 -1
  14. package/build/exports/components.js +4 -1
  15. package/build/exports/components.js.map +1 -1
  16. package/build/lib/demos/config-schema.d.ts +6 -6
  17. package/build/lib/github-actions/runner.js +2 -2
  18. package/build/lib/github-actions/runner.js.map +1 -1
  19. package/build/lib/graphql-document/$$.d.ts +5 -0
  20. package/build/lib/graphql-document/$$.d.ts.map +1 -0
  21. package/build/lib/graphql-document/$$.js +5 -0
  22. package/build/lib/graphql-document/$$.js.map +1 -0
  23. package/build/lib/graphql-document/$.d.ts +2 -0
  24. package/build/lib/graphql-document/$.d.ts.map +1 -0
  25. package/build/lib/graphql-document/$.js +2 -0
  26. package/build/lib/graphql-document/$.js.map +1 -0
  27. package/build/lib/graphql-document/analysis.d.ts +44 -0
  28. package/build/lib/graphql-document/analysis.d.ts.map +1 -0
  29. package/build/lib/graphql-document/analysis.js +361 -0
  30. package/build/lib/graphql-document/analysis.js.map +1 -0
  31. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +42 -0
  32. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -0
  33. package/build/lib/graphql-document/components/GraphQLDocument.js +173 -0
  34. package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -0
  35. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +7 -0
  36. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -0
  37. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +45 -0
  38. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -0
  39. package/build/lib/graphql-document/components/HoverTooltip.d.ts +35 -0
  40. package/build/lib/graphql-document/components/HoverTooltip.d.ts.map +1 -0
  41. package/build/lib/graphql-document/components/HoverTooltip.js +132 -0
  42. package/build/lib/graphql-document/components/HoverTooltip.js.map +1 -0
  43. package/build/lib/graphql-document/components/IdentifierLink.d.ts +37 -0
  44. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +1 -0
  45. package/build/lib/graphql-document/components/IdentifierLink.js +141 -0
  46. package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -0
  47. package/build/lib/graphql-document/components/index.d.ts +5 -0
  48. package/build/lib/graphql-document/components/index.d.ts.map +1 -0
  49. package/build/lib/graphql-document/components/index.js +5 -0
  50. package/build/lib/graphql-document/components/index.js.map +1 -0
  51. package/build/lib/graphql-document/example.d.ts +25 -0
  52. package/build/lib/graphql-document/example.d.ts.map +1 -0
  53. package/build/lib/graphql-document/example.js +140 -0
  54. package/build/lib/graphql-document/example.js.map +1 -0
  55. package/build/lib/graphql-document/graphql-document.d.ts +35 -0
  56. package/build/lib/graphql-document/graphql-document.d.ts.map +1 -0
  57. package/build/lib/graphql-document/graphql-document.js +36 -0
  58. package/build/lib/graphql-document/graphql-document.js.map +1 -0
  59. package/build/lib/graphql-document/positioning-simple.d.ts +68 -0
  60. package/build/lib/graphql-document/positioning-simple.d.ts.map +1 -0
  61. package/build/lib/graphql-document/positioning-simple.js +197 -0
  62. package/build/lib/graphql-document/positioning-simple.js.map +1 -0
  63. package/build/lib/graphql-document/schema-context.d.ts +8 -0
  64. package/build/lib/graphql-document/schema-context.d.ts.map +1 -0
  65. package/build/lib/graphql-document/schema-context.js +11 -0
  66. package/build/lib/graphql-document/schema-context.js.map +1 -0
  67. package/build/lib/graphql-document/schema-integration-example.d.ts +27 -0
  68. package/build/lib/graphql-document/schema-integration-example.d.ts.map +1 -0
  69. package/build/lib/graphql-document/schema-integration-example.js +297 -0
  70. package/build/lib/graphql-document/schema-integration-example.js.map +1 -0
  71. package/build/lib/graphql-document/schema-integration.d.ts +135 -0
  72. package/build/lib/graphql-document/schema-integration.d.ts.map +1 -0
  73. package/build/lib/graphql-document/schema-integration.js +328 -0
  74. package/build/lib/graphql-document/schema-integration.js.map +1 -0
  75. package/build/lib/graphql-document/types.d.ts +117 -0
  76. package/build/lib/graphql-document/types.d.ts.map +1 -0
  77. package/build/lib/graphql-document/types.js +2 -0
  78. package/build/lib/graphql-document/types.js.map +1 -0
  79. package/build/template/components/ArgumentAnnotation.js +10 -0
  80. package/build/template/components/ArgumentAnnotation.js.map +1 -0
  81. package/build/template/components/ArgumentList.js +9 -0
  82. package/build/template/components/ArgumentList.js.map +1 -0
  83. package/build/template/components/ArgumentListAnnotation.js +15 -0
  84. package/build/template/components/ArgumentListAnnotation.js.map +1 -0
  85. package/build/template/components/Changelog.js +44 -0
  86. package/build/template/components/Changelog.js.map +1 -0
  87. package/build/template/components/{CodeBlock.jsx → CodeBlock.js} +4 -5
  88. package/build/template/components/{CodeBlock.jsx.map → CodeBlock.js.map} +1 -1
  89. package/build/template/components/CodeBlockEnhancer.d.ts +2 -0
  90. package/build/template/components/CodeBlockEnhancer.d.ts.map +1 -0
  91. package/build/template/components/CodeBlockEnhancer.js +175 -0
  92. package/build/template/components/CodeBlockEnhancer.js.map +1 -0
  93. package/build/template/components/DeprecationReason.js +9 -0
  94. package/build/template/components/DeprecationReason.js.map +1 -0
  95. package/build/template/components/Description.js +9 -0
  96. package/build/template/components/Description.js.map +1 -0
  97. package/build/template/components/Field.js +14 -0
  98. package/build/template/components/Field.js.map +1 -0
  99. package/build/template/components/{FieldList.jsx → FieldList.js} +4 -5
  100. package/build/template/components/FieldList.js.map +1 -0
  101. package/build/template/components/{FieldListSection.jsx → FieldListSection.js} +4 -6
  102. package/build/template/components/FieldListSection.js.map +1 -0
  103. package/build/template/components/HamburgerMenu.js +30 -0
  104. package/build/template/components/HamburgerMenu.js.map +1 -0
  105. package/build/template/components/Link.d.ts +1 -1
  106. package/build/template/components/{Link.jsx → Link.js} +4 -5
  107. package/build/template/components/Link.js.map +1 -0
  108. package/build/template/components/Logo.js +20 -0
  109. package/build/template/components/Logo.js.map +1 -0
  110. package/build/template/components/MDXComponents.d.ts +11 -0
  111. package/build/template/components/MDXComponents.d.ts.map +1 -0
  112. package/build/template/components/MDXComponents.js +70 -0
  113. package/build/template/components/MDXComponents.js.map +1 -0
  114. package/build/template/components/{Markdown.jsx → Markdown.js} +3 -2
  115. package/build/template/components/Markdown.js.map +1 -0
  116. package/build/template/components/MissingSchema.d.ts +1 -1
  117. package/build/template/components/MissingSchema.d.ts.map +1 -1
  118. package/build/template/components/MissingSchema.js +5 -0
  119. package/build/template/components/MissingSchema.js.map +1 -0
  120. package/build/template/components/NamedType.js +12 -0
  121. package/build/template/components/NamedType.js.map +1 -0
  122. package/build/template/components/NotFound.js +7 -0
  123. package/build/template/components/NotFound.js.map +1 -0
  124. package/build/template/components/{RadixLink.jsx → RadixLink.js} +1 -1
  125. package/build/template/components/RadixLink.js.map +1 -0
  126. package/build/template/components/TestComponent.d.ts +5 -0
  127. package/build/template/components/TestComponent.d.ts.map +1 -0
  128. package/build/template/components/TestComponent.js +7 -0
  129. package/build/template/components/TestComponent.js.map +1 -0
  130. package/build/template/components/Texts/{MinorHeading.jsx → MinorHeading.js} +4 -3
  131. package/build/template/components/Texts/MinorHeading.js.map +1 -0
  132. package/build/template/components/Texts/texts.js +1 -1
  133. package/build/template/components/Texts/texts.js.map +1 -1
  134. package/build/template/components/ThemeToggle.js +9 -0
  135. package/build/template/components/ThemeToggle.js.map +1 -0
  136. package/build/template/components/{TypeAnnotation.jsx → TypeAnnotation.js} +8 -18
  137. package/build/template/components/TypeAnnotation.js.map +1 -0
  138. package/build/template/components/TypeFieldsLinkList.js +9 -0
  139. package/build/template/components/TypeFieldsLinkList.js.map +1 -0
  140. package/build/template/components/TypeIndex.js +17 -0
  141. package/build/template/components/TypeIndex.js.map +1 -0
  142. package/build/template/components/content/$$.d.ts +1 -0
  143. package/build/template/components/content/$$.d.ts.map +1 -1
  144. package/build/template/components/content/$$.js +1 -0
  145. package/build/template/components/content/$$.js.map +1 -1
  146. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +8 -0
  147. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -0
  148. package/build/template/components/content/GraphQLDocumentWithSchema.js +16 -0
  149. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -0
  150. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +7 -0
  151. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -0
  152. package/build/template/components/content/GraphQLDocumentWrapper.js +62 -0
  153. package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -0
  154. package/build/template/components/graphql/graphql.d.ts +2 -2
  155. package/build/template/components/graphql/graphql.js +3 -0
  156. package/build/template/components/graphql/graphql.js.map +1 -0
  157. package/build/template/components/graphql/index.d.ts +1 -1
  158. package/build/template/components/graphql/index.js +1 -1
  159. package/build/template/components/graphql/index.js.map +1 -1
  160. package/build/template/components/graphql/{type-kind-icon.jsx → type-kind-icon.js} +3 -2
  161. package/build/template/components/graphql/type-kind-icon.js.map +1 -0
  162. package/build/template/components/graphql/type-link.js +11 -0
  163. package/build/template/components/graphql/type-link.js.map +1 -0
  164. package/build/template/components/sidebar/Sidebar.d.ts +1 -1
  165. package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
  166. package/build/template/components/sidebar/Sidebar.js +11 -0
  167. package/build/template/components/sidebar/Sidebar.js.map +1 -0
  168. package/build/template/components/sidebar/{SidebarItem.jsx → SidebarItem.js} +15 -32
  169. package/build/template/components/sidebar/SidebarItem.js.map +1 -0
  170. package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
  171. package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
  172. package/build/template/components/sidebar/ToggleButton.js +5 -0
  173. package/build/template/components/sidebar/ToggleButton.js.map +1 -0
  174. package/build/template/contexts/{ThemeContext.jsx → ThemeContext.js} +3 -4
  175. package/build/template/contexts/{ThemeContext.jsx.map → ThemeContext.js.map} +1 -1
  176. package/build/template/entry.client.d.ts +1 -0
  177. package/build/template/entry.client.d.ts.map +1 -1
  178. package/build/template/{entry.client.jsx → entry.client.js} +5 -6
  179. package/build/template/entry.client.js.map +1 -0
  180. package/build/template/routes/changelog.d.ts +1 -1
  181. package/build/template/routes/{changelog.jsx → changelog.js} +5 -4
  182. package/build/template/routes/changelog.js.map +1 -0
  183. package/build/template/routes/{index.jsx → index.js} +3 -2
  184. package/build/template/routes/index.js.map +1 -0
  185. package/build/template/routes/reference.$type.$field.d.ts +1 -1
  186. package/build/template/routes/{reference.$type.$field.jsx → reference.$type.$field.js} +6 -5
  187. package/build/template/routes/reference.$type.$field.js.map +1 -0
  188. package/build/template/routes/reference.$type.d.ts +1 -1
  189. package/build/template/routes/{reference.$type.jsx → reference.$type.js} +6 -5
  190. package/build/template/routes/reference.$type.js.map +1 -0
  191. package/build/template/routes/reference.d.ts +2 -2
  192. package/build/template/routes/reference.d.ts.map +1 -1
  193. package/build/template/routes/{reference.jsx → reference.js} +7 -12
  194. package/build/template/routes/reference.js.map +1 -0
  195. package/build/template/routes/root.d.ts +2 -2
  196. package/build/template/routes/root.d.ts.map +1 -1
  197. package/build/template/routes/root.js +286 -0
  198. package/build/template/routes/root.js.map +1 -0
  199. package/build/template/routes.js +5 -0
  200. package/build/template/routes.js.map +1 -0
  201. package/build/template/server/app.js +1 -1
  202. package/build/template/server/app.js.map +1 -1
  203. package/build/template/server/{render-page.jsx → render-page.js} +3 -4
  204. package/build/template/server/render-page.js.map +1 -0
  205. package/build/template/server/ssg/generate.js +1 -1
  206. package/build/template/server/ssg/generate.js.map +1 -1
  207. package/build/template/server/ssg/get-route-paths.js +1 -1
  208. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  209. package/build/template/server/view.js +1 -1
  210. package/build/template/server/view.js.map +1 -1
  211. package/package.json +56 -8
  212. package/src/api/vite/plugins/core.ts +0 -3
  213. package/src/api/vite/plugins/pages.ts +1 -1
  214. package/src/exports/components.ts +4 -1
  215. package/src/lib/graphql-document/$$.ts +4 -0
  216. package/src/lib/graphql-document/$.test.ts +132 -0
  217. package/src/lib/graphql-document/$.ts +1 -0
  218. package/src/lib/graphql-document/README.md +102 -0
  219. package/src/lib/graphql-document/analysis.ts +415 -0
  220. package/src/lib/graphql-document/components/GraphQLDocument.tsx +284 -0
  221. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +188 -0
  222. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +70 -0
  223. package/src/lib/graphql-document/components/HoverTooltip.tsx +282 -0
  224. package/src/lib/graphql-document/components/IdentifierLink.tsx +221 -0
  225. package/src/lib/graphql-document/components/index.ts +4 -0
  226. package/src/lib/graphql-document/demo.md +155 -0
  227. package/src/lib/graphql-document/example.ts +163 -0
  228. package/src/lib/graphql-document/graphql-document.ts +37 -0
  229. package/src/lib/graphql-document/positioning-simple.test.ts +252 -0
  230. package/src/lib/graphql-document/positioning-simple.ts +271 -0
  231. package/src/lib/graphql-document/schema-context.tsx +20 -0
  232. package/src/lib/graphql-document/schema-integration-example.ts +341 -0
  233. package/src/lib/graphql-document/schema-integration.test.ts +365 -0
  234. package/src/lib/graphql-document/schema-integration.ts +497 -0
  235. package/src/lib/graphql-document/types.ts +129 -0
  236. package/src/template/components/ArgumentAnnotation.tsx +1 -1
  237. package/src/template/components/ArgumentList.tsx +1 -1
  238. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  239. package/src/template/components/CodeBlockEnhancer.tsx +192 -0
  240. package/src/template/components/DeprecationReason.tsx +1 -1
  241. package/src/template/components/Description.tsx +1 -1
  242. package/src/template/components/Field.tsx +4 -4
  243. package/src/template/components/FieldList.tsx +1 -1
  244. package/src/template/components/FieldListSection.tsx +1 -1
  245. package/src/template/components/Link.tsx +2 -2
  246. package/src/template/components/MDXComponents.tsx +101 -0
  247. package/src/template/components/NamedType.tsx +2 -2
  248. package/src/template/components/TestComponent.tsx +6 -0
  249. package/src/template/components/TypeAnnotation.tsx +1 -1
  250. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  251. package/src/template/components/TypeIndex.tsx +1 -1
  252. package/src/template/components/content/$$.ts +1 -0
  253. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +18 -0
  254. package/src/template/components/content/GraphQLDocumentWrapper.tsx +82 -0
  255. package/src/template/components/graphql/graphql.tsx +2 -2
  256. package/src/template/components/graphql/index.ts +1 -1
  257. package/src/template/components/graphql/type-link.tsx +2 -2
  258. package/src/template/components/sidebar/SidebarItem.tsx +4 -4
  259. package/src/template/entry.client.tsx +2 -2
  260. package/src/template/routes/changelog.tsx +1 -1
  261. package/src/template/routes/reference.$type.$field.tsx +3 -3
  262. package/src/template/routes/reference.$type.tsx +3 -3
  263. package/src/template/routes/reference.tsx +6 -10
  264. package/src/template/routes/root.tsx +145 -5
  265. package/src/template/routes.tsx +1 -1
  266. package/src/template/server/app.ts +1 -1
  267. package/src/template/server/ssg/generate.ts +1 -1
  268. package/src/template/server/ssg/get-route-paths.ts +1 -1
  269. package/src/template/server/view.ts +1 -1
  270. package/src/template/styles/code-block.css +32 -0
  271. package/build/template/components/ArgumentAnnotation.jsx +0 -16
  272. package/build/template/components/ArgumentAnnotation.jsx.map +0 -1
  273. package/build/template/components/ArgumentList.jsx +0 -16
  274. package/build/template/components/ArgumentList.jsx.map +0 -1
  275. package/build/template/components/ArgumentListAnnotation.jsx +0 -23
  276. package/build/template/components/ArgumentListAnnotation.jsx.map +0 -1
  277. package/build/template/components/Changelog.jsx +0 -68
  278. package/build/template/components/Changelog.jsx.map +0 -1
  279. package/build/template/components/DeprecationReason.jsx +0 -10
  280. package/build/template/components/DeprecationReason.jsx.map +0 -1
  281. package/build/template/components/Description.jsx +0 -10
  282. package/build/template/components/Description.jsx.map +0 -1
  283. package/build/template/components/Field.jsx +0 -22
  284. package/build/template/components/Field.jsx.map +0 -1
  285. package/build/template/components/FieldList.jsx.map +0 -1
  286. package/build/template/components/FieldListSection.jsx.map +0 -1
  287. package/build/template/components/HamburgerMenu.jsx +0 -53
  288. package/build/template/components/HamburgerMenu.jsx.map +0 -1
  289. package/build/template/components/Link.jsx.map +0 -1
  290. package/build/template/components/Logo.jsx +0 -29
  291. package/build/template/components/Logo.jsx.map +0 -1
  292. package/build/template/components/Markdown.jsx.map +0 -1
  293. package/build/template/components/MissingSchema.jsx +0 -4
  294. package/build/template/components/MissingSchema.jsx.map +0 -1
  295. package/build/template/components/NamedType.jsx +0 -17
  296. package/build/template/components/NamedType.jsx.map +0 -1
  297. package/build/template/components/NotFound.jsx +0 -26
  298. package/build/template/components/NotFound.jsx.map +0 -1
  299. package/build/template/components/RadixLink.jsx.map +0 -1
  300. package/build/template/components/Texts/MinorHeading.jsx.map +0 -1
  301. package/build/template/components/ThemeToggle.jsx +0 -10
  302. package/build/template/components/ThemeToggle.jsx.map +0 -1
  303. package/build/template/components/TypeAnnotation.jsx.map +0 -1
  304. package/build/template/components/TypeFieldsLinkList.jsx +0 -17
  305. package/build/template/components/TypeFieldsLinkList.jsx.map +0 -1
  306. package/build/template/components/TypeIndex.jsx +0 -27
  307. package/build/template/components/TypeIndex.jsx.map +0 -1
  308. package/build/template/components/graphql/graphql.jsx +0 -3
  309. package/build/template/components/graphql/graphql.jsx.map +0 -1
  310. package/build/template/components/graphql/type-kind-icon.jsx.map +0 -1
  311. package/build/template/components/graphql/type-link.jsx +0 -16
  312. package/build/template/components/graphql/type-link.jsx.map +0 -1
  313. package/build/template/components/sidebar/Sidebar.jsx +0 -15
  314. package/build/template/components/sidebar/Sidebar.jsx.map +0 -1
  315. package/build/template/components/sidebar/SidebarItem.jsx.map +0 -1
  316. package/build/template/components/sidebar/ToggleButton.jsx +0 -6
  317. package/build/template/components/sidebar/ToggleButton.jsx.map +0 -1
  318. package/build/template/entry.client.jsx.map +0 -1
  319. package/build/template/routes/changelog.jsx.map +0 -1
  320. package/build/template/routes/index.jsx.map +0 -1
  321. package/build/template/routes/reference.$type.$field.jsx.map +0 -1
  322. package/build/template/routes/reference.$type.jsx.map +0 -1
  323. package/build/template/routes/reference.jsx.map +0 -1
  324. package/build/template/routes/root.jsx +0 -204
  325. package/build/template/routes/root.jsx.map +0 -1
  326. package/build/template/routes.jsx +0 -5
  327. package/build/template/routes.jsx.map +0 -1
  328. package/build/template/server/render-page.jsx.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { createStaticHandler } from 'react-router';
2
2
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
3
- import { routes } from '../routes.jsx';
3
+ import { routes } from "../routes.js";
4
4
  export const view = createStaticHandler(routes, {
5
5
  basename: PROJECT_DATA.basePath === `/` ? undefined : PROJECT_DATA.basePath.slice(0, -1), // Remove trailing slash for React Router
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAe,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polen",
3
- "version": "0.10.0-next.10",
3
+ "version": "0.10.0-next.12",
4
4
  "type": "module",
5
5
  "description": "A framework for delightful GraphQL developer portals",
6
6
  "author": {
@@ -36,13 +36,58 @@
36
36
  "source": "./src/*.ts",
37
37
  "default": "./build/*.js"
38
38
  },
39
- "#lib/mask": "./src/lib/mask/$.ts",
40
- "#lib/mask/mask": "./src/lib/mask/$$.ts",
41
- "#lib/task": "./src/lib/task/$.ts",
42
- "#lib/task/task": "./src/lib/task/$$.ts",
43
- "#lib/deployment": "./src/lib/deployment/$.ts",
44
- "#lib/deployment/deployment": "./src/lib/deployment/$$.ts",
45
- "#template/components/content/$$": "./src/template/components/content/$$.ts"
39
+ "#lib/mask": {
40
+ "source": "./src/lib/mask/$.ts",
41
+ "default": "./build/lib/mask/$.js"
42
+ },
43
+ "#lib/mask/mask": {
44
+ "source": "./src/lib/mask/$$.ts",
45
+ "default": "./build/lib/mask/$$.js"
46
+ },
47
+ "#lib/task": {
48
+ "source": "./src/lib/task/$.ts",
49
+ "default": "./build/lib/task/$.js"
50
+ },
51
+ "#lib/task/task": {
52
+ "source": "./src/lib/task/$$.ts",
53
+ "default": "./build/lib/task/$$.js"
54
+ },
55
+ "#lib/deployment": {
56
+ "source": "./src/lib/deployment/$.ts",
57
+ "default": "./build/lib/deployment/$.js"
58
+ },
59
+ "#lib/deployment/deployment": {
60
+ "source": "./src/lib/deployment/$$.ts",
61
+ "default": "./build/lib/deployment/$$.js"
62
+ },
63
+ "#lib/graphql-document": {
64
+ "source": "./src/lib/graphql-document/$.ts",
65
+ "default": "./build/lib/graphql-document/$.js"
66
+ },
67
+ "#lib/graphql-document/graphql-document": {
68
+ "source": "./src/lib/graphql-document/$$.ts",
69
+ "default": "./build/lib/graphql-document/$$.js"
70
+ },
71
+ "#lib/graphql-document/components/index": {
72
+ "source": "./src/lib/graphql-document/components/index.ts",
73
+ "default": "./build/lib/graphql-document/components/index.js"
74
+ },
75
+ "#lib/graphql-document/components/GraphQLDocumentWithSchema": {
76
+ "source": "./src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx",
77
+ "default": "./build/lib/graphql-document/components/GraphQLDocumentWithSchema.js"
78
+ },
79
+ "#lib/graphql-document/components/GraphQLDocument": {
80
+ "source": "./src/lib/graphql-document/components/GraphQLDocument.tsx",
81
+ "default": "./build/lib/graphql-document/components/GraphQLDocument.js"
82
+ },
83
+ "#lib/graphql-document/schema-context": {
84
+ "source": "./src/lib/graphql-document/schema-context.tsx",
85
+ "default": "./build/lib/graphql-document/schema-context.js"
86
+ },
87
+ "#template/components/content/$$": {
88
+ "source": "./src/template/components/content/$$.ts",
89
+ "default": "./build/template/components/content/$$.js"
90
+ }
46
91
  },
47
92
  "exports": {
48
93
  ".": {
@@ -51,6 +96,7 @@
51
96
  },
52
97
  "./components": {
53
98
  "source": "./src/exports/components.ts",
99
+ "import": "./build/exports/components.js",
54
100
  "default": "./build/exports/components.js"
55
101
  },
56
102
  "./polen": {
@@ -156,6 +202,7 @@
156
202
  "@tsconfig/node-lts": "^22.0.1",
157
203
  "@tsconfig/node22": "^22.0.2",
158
204
  "@tsconfig/strictest": "^2.0.5",
205
+ "@types/jsdom": "^21.1.7",
159
206
  "@types/node": "^24.0.3",
160
207
  "@types/react": "^19.1.8",
161
208
  "@types/react-dom": "^19.1.6",
@@ -175,6 +222,7 @@
175
222
  "fs-jetpack": "^5.1.0",
176
223
  "get-port-please": "^3.1.2",
177
224
  "globals": "^16.2.0",
225
+ "jsdom": "^26.1.0",
178
226
  "playwright": "1.53.0",
179
227
  "publint": "^0.3.12",
180
228
  "semver": "^7.7.2",
@@ -16,8 +16,6 @@ import { createLogger } from '../logger.ts'
16
16
  import { polenVirtual } from '../vi.ts'
17
17
  import { Pages } from './pages.ts'
18
18
 
19
- const debug = debugPolen.sub(`vite-plugin-core`)
20
-
21
19
  const viTemplateVariables = polenVirtual([`template`, `variables`])
22
20
  const viTemplateSchemaAugmentations = polenVirtual([`template`, `schema-augmentations`])
23
21
  const viProjectData = polenVirtual([`project`, `data.jsonsuper`], { allowPluginProcessing: true })
@@ -183,7 +181,6 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
183
181
  {
184
182
  identifier: viProjectData,
185
183
  async loader() {
186
- debug(`loadingViProjectDataVirtualModule`)
187
184
  const schema = await readSchema()
188
185
 
189
186
  // ━ Schema presence causes adding some navbar items
@@ -110,7 +110,7 @@ export const Pages = ({
110
110
  light: `github-light`,
111
111
  dark: `tokyo-night`,
112
112
  },
113
- defaultColor: false,
113
+ defaultColor: 'light',
114
114
  cssVariablePrefix: `--shiki-`,
115
115
  transformers: [
116
116
  // Line numbers will be handled via CSS
@@ -1 +1,4 @@
1
- export * from '#template/components/content/$$'
1
+ export { Callout, Tabs } from '@radix-ui/themes'
2
+ export { GraphQLDocumentWithSchema } from '../template/components/content/GraphQLDocumentWrapper.tsx'
3
+ export { mdxComponents } from '../template/components/MDXComponents.tsx'
4
+ export { TestComponent } from '../template/components/TestComponent.tsx'
@@ -0,0 +1,4 @@
1
+ export * from './analysis.ts'
2
+ export * from './positioning-simple.ts'
3
+ export * from './schema-integration.ts'
4
+ export * from './types.ts'
@@ -0,0 +1,132 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { GraphQLDocument } from './$.ts'
3
+
4
+ describe('GraphQLDocument', () => {
5
+ describe('analyze', () => {
6
+ it('should parse a simple query and extract identifiers', () => {
7
+ const source = `
8
+ query GetUser($id: ID!) {
9
+ user(id: $id) {
10
+ name
11
+ email
12
+ }
13
+ }
14
+ `
15
+
16
+ const result = GraphQLDocument.analyze(source)
17
+
18
+ expect(result.isValid).toBe(true)
19
+ expect(result.identifiers.all.length).toBeGreaterThan(0)
20
+
21
+ // Should find variable
22
+ const variables = result.identifiers.byKind.get('Variable') || []
23
+ expect(variables).toHaveLength(1)
24
+ expect(variables[0]?.name).toBe('id')
25
+
26
+ // Should find fields
27
+ const fields = result.identifiers.byKind.get('Field') || []
28
+ expect(fields.length).toBeGreaterThan(0)
29
+ const fieldNames = fields.map(f => f.name)
30
+ expect(fieldNames).toContain('user')
31
+ expect(fieldNames).toContain('name')
32
+ expect(fieldNames).toContain('email')
33
+
34
+ // Should find types
35
+ const types = result.identifiers.byKind.get('Type') || []
36
+ expect(types.length).toBeGreaterThan(0)
37
+ const typeNames = types.map(t => t.name)
38
+ expect(typeNames).toContain('ID')
39
+ })
40
+
41
+ it('should handle parsing errors gracefully', () => {
42
+ const invalidSource = `
43
+ query {
44
+ user(id: $id {
45
+ name
46
+ }
47
+ }
48
+ `
49
+
50
+ const result = GraphQLDocument.analyze(invalidSource)
51
+
52
+ expect(result.isValid).toBe(false)
53
+ expect(result.identifiers.errors.length).toBeGreaterThan(0)
54
+ })
55
+
56
+ it('should extract context information', () => {
57
+ const source = `
58
+ query GetUserPosts($userId: ID!) {
59
+ user(id: $userId) {
60
+ posts {
61
+ title
62
+ content
63
+ }
64
+ }
65
+ }
66
+ `
67
+
68
+ const result = GraphQLDocument.analyze(source)
69
+
70
+ const fields = result.identifiers.byKind.get('Field') || []
71
+ const userField = fields.find(f => f.name === 'user')
72
+
73
+ expect(userField?.context.operationType).toBe('query')
74
+ expect(userField?.context.operationName).toBe('GetUserPosts')
75
+ expect(userField?.context.selectionPath).toEqual(['user'])
76
+ })
77
+
78
+ it('should track parent types in nested selections', () => {
79
+ const source = `
80
+ query {
81
+ user {
82
+ posts {
83
+ title
84
+ }
85
+ }
86
+ }
87
+ `
88
+
89
+ const result = GraphQLDocument.analyze(source)
90
+
91
+ const fields = result.identifiers.byKind.get('Field') || []
92
+ const titleField = fields.find(f => f.name === 'title')
93
+
94
+ expect(titleField?.schemaPath).toEqual(['Post', 'title'])
95
+ })
96
+ })
97
+
98
+ describe('extractIdentifiers', () => {
99
+ it('should extract identifiers with positions', () => {
100
+ const source = `query { user { name } }`
101
+
102
+ const identifiers = GraphQLDocument.extractIdentifiers(source)
103
+
104
+ expect(identifiers.all.length).toBeGreaterThan(0)
105
+
106
+ // Each identifier should have position information
107
+ for (const identifier of identifiers.all) {
108
+ expect(identifier.position.start).toBeTypeOf('number')
109
+ expect(identifier.position.end).toBeTypeOf('number')
110
+ expect(identifier.position.line).toBeGreaterThan(0)
111
+ expect(identifier.position.column).toBeGreaterThan(0)
112
+ }
113
+ })
114
+
115
+ it('should create proper index maps', () => {
116
+ const source = `query { user { name } }`
117
+
118
+ const identifiers = GraphQLDocument.extractIdentifiers(source)
119
+
120
+ // Should have position index
121
+ expect(identifiers.byPosition.size).toBeGreaterThan(0)
122
+
123
+ // Should have kind index
124
+ expect(identifiers.byKind.size).toBeGreaterThan(0)
125
+
126
+ // All identifiers should be indexed
127
+ for (const identifier of identifiers.all) {
128
+ expect(identifiers.byPosition.get(identifier.position.start)).toBe(identifier)
129
+ }
130
+ })
131
+ })
132
+ })
@@ -0,0 +1 @@
1
+ export * as GraphQLDocument from './graphql-document.ts'
@@ -0,0 +1,102 @@
1
+ # GraphQL Document Component
2
+
3
+ Transform static GraphQL code blocks into interactive documentation with hyperlinks, tooltips, and schema validation.
4
+
5
+ ## Overview
6
+
7
+ The GraphQL Document component enhances markdown code blocks with:
8
+
9
+ - **Hyperlinked identifiers** - Click to navigate to reference documentation
10
+ - **Hover tooltips** - View type information and descriptions
11
+ - **Schema validation** - Highlight errors and deprecations
12
+ - **Build-time checking** - Catch GraphQL errors during build
13
+
14
+ ## Architecture
15
+
16
+ The implementation follows a layered architecture:
17
+
18
+ 1. **Analysis Layer** - Parses GraphQL and extracts identifiers
19
+ 2. **Schema Integration** - Resolves identifiers against GraphQL schema
20
+ 3. **Positioning Engine** - Maps source positions to DOM coordinates
21
+ 4. **UI Components** - React components for interactivity
22
+ 5. **Orchestration** - Main component tying everything together
23
+ 6. **Polen Integration** - Virtual modules and Vite plugin
24
+
25
+ ## Usage
26
+
27
+ ### Basic Setup
28
+
29
+ 1. Import the component in your MDX files:
30
+
31
+ ```typescript
32
+ import { GraphQLDocumentWithSchema } from 'polen/components'
33
+ ```
34
+
35
+ 2. Use the component with GraphQL documents:
36
+
37
+ ```mdx
38
+ <GraphQLDocumentWithSchema>
39
+ {`query GetUser($id: ID!) {
40
+ user(id: $id) {
41
+ name
42
+ email
43
+ }
44
+ }`}
45
+ </GraphQLDocumentWithSchema>
46
+ ```
47
+
48
+ ### Component Props
49
+
50
+ The `GraphQLDocumentWithSchema` component automatically loads the schema from Polen's virtual modules. You can pass options:
51
+
52
+ ```mdx
53
+ <GraphQLDocumentWithSchema
54
+ options={{
55
+ debug: true,
56
+ onNavigate: (url) => console.log('Navigate to:', url)
57
+ }}
58
+ >
59
+ {`query { user { name } }`}
60
+ </GraphQLDocumentWithSchema>
61
+ ```
62
+
63
+ ### React Component
64
+
65
+ Use the component directly in React:
66
+
67
+ ```tsx
68
+ import { GraphQLDocument } from 'polen/lib/graphql-document'
69
+
70
+ <GraphQLDocument schema={schema} options={{ debug: true }}>
71
+ {`query { user { name } }`}
72
+ </GraphQLDocument>
73
+ ```
74
+
75
+ ## Implementation Details
76
+
77
+ ### Key Components
78
+
79
+ - `GraphQLDocument` - Main React component
80
+ - `IdentifierLink` - Interactive overlay for identifiers
81
+ - `HoverTooltip` - Tooltip showing type information
82
+ - `GraphQLDocumentWithSchema` - Wrapper that loads schema from Polen
83
+ - `PolenSchemaResolver` - Schema integration
84
+
85
+ ### Testing
86
+
87
+ Run tests with:
88
+
89
+ ```bash
90
+ pnpm test:unit src/lib/graphql-document
91
+ ```
92
+
93
+ ### Type Safety
94
+
95
+ Full TypeScript support with strict typing throughout.
96
+
97
+ ## Future Enhancements
98
+
99
+ - Code folding for large queries
100
+ - Inline query execution
101
+ - Schema diff visualization
102
+ - Export to various formats