polen 0.10.0 → 0.11.0-next.10

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 (357) hide show
  1. package/build/api/api.d.ts +1 -0
  2. package/build/api/api.d.ts.map +1 -1
  3. package/build/api/api.js +1 -0
  4. package/build/api/api.js.map +1 -1
  5. package/build/api/config/configurator.d.ts +55 -26
  6. package/build/api/config/configurator.d.ts.map +1 -1
  7. package/build/api/config/configurator.js +27 -9
  8. package/build/api/config/configurator.js.map +1 -1
  9. package/build/api/config/merge.d.ts.map +1 -1
  10. package/build/api/config/merge.js +0 -11
  11. package/build/api/config/merge.js.map +1 -1
  12. package/build/api/content/metadata.d.ts +8 -2
  13. package/build/api/content/metadata.d.ts.map +1 -1
  14. package/build/api/content/metadata.js +1 -1
  15. package/build/api/content/metadata.js.map +1 -1
  16. package/build/api/schema/data-sources/data-sources.d.ts +1 -0
  17. package/build/api/schema/data-sources/data-sources.d.ts.map +1 -1
  18. package/build/api/schema/data-sources/data-sources.js +1 -0
  19. package/build/api/schema/data-sources/data-sources.js.map +1 -1
  20. package/build/api/schema/data-sources/introspection/introspection.d.ts +83 -0
  21. package/build/api/schema/data-sources/introspection/introspection.d.ts.map +1 -0
  22. package/build/api/schema/data-sources/introspection/introspection.js +110 -0
  23. package/build/api/schema/data-sources/introspection/introspection.js.map +1 -0
  24. package/build/api/schema/data-sources/memory/memory.d.ts +2 -2
  25. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  26. package/build/api/schema/data-sources/memory/memory.js +1 -3
  27. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  28. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts +7 -3
  29. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts.map +1 -1
  30. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +15 -11
  31. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  32. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +16 -7
  33. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  34. package/build/api/schema/data-sources/schema-directory/schema-directory.js +26 -7
  35. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  36. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +7 -2
  37. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  38. package/build/api/schema/data-sources/schema-file/schema-file.js +13 -5
  39. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  40. package/build/api/schema/metadata.d.ts +16 -0
  41. package/build/api/schema/metadata.d.ts.map +1 -0
  42. package/build/api/schema/metadata.js +19 -0
  43. package/build/api/schema/metadata.js.map +1 -0
  44. package/build/api/schema/read.d.ts +85 -11
  45. package/build/api/schema/read.d.ts.map +1 -1
  46. package/build/api/schema/read.js +15 -6
  47. package/build/api/schema/read.js.map +1 -1
  48. package/build/api/schema/schema.d.ts +33 -2
  49. package/build/api/schema/schema.d.ts.map +1 -1
  50. package/build/api/schema/schema.js +42 -0
  51. package/build/api/schema/schema.js.map +1 -1
  52. package/build/api/schema-source/index.d.ts +2 -0
  53. package/build/api/schema-source/index.d.ts.map +1 -0
  54. package/build/api/schema-source/index.js +2 -0
  55. package/build/api/schema-source/index.js.map +1 -0
  56. package/build/api/schema-source/schema-source.d.ts +33 -0
  57. package/build/api/schema-source/schema-source.d.ts.map +1 -0
  58. package/build/api/schema-source/schema-source.js +137 -0
  59. package/build/api/schema-source/schema-source.js.map +1 -0
  60. package/build/api/static/manifest.d.ts +1 -2
  61. package/build/api/static/manifest.d.ts.map +1 -1
  62. package/build/api/static/manifest.js +1 -1
  63. package/build/api/static/manifest.js.map +1 -1
  64. package/build/api/vite/plugins/build.d.ts.map +1 -1
  65. package/build/api/vite/plugins/build.js +3 -0
  66. package/build/api/vite/plugins/build.js.map +1 -1
  67. package/build/api/vite/plugins/core.d.ts +1 -0
  68. package/build/api/vite/plugins/core.d.ts.map +1 -1
  69. package/build/api/vite/plugins/core.js +25 -22
  70. package/build/api/vite/plugins/core.js.map +1 -1
  71. package/build/api/vite/plugins/main.d.ts.map +1 -1
  72. package/build/api/vite/plugins/main.js +1 -8
  73. package/build/api/vite/plugins/main.js.map +1 -1
  74. package/build/api/vite/plugins/schema-assets.d.ts +22 -0
  75. package/build/api/vite/plugins/schema-assets.d.ts.map +1 -0
  76. package/build/api/vite/plugins/schema-assets.js +310 -0
  77. package/build/api/vite/plugins/schema-assets.js.map +1 -0
  78. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  79. package/build/api/vite/plugins/serve.js +11 -0
  80. package/build/api/vite/plugins/serve.js.map +1 -1
  81. package/build/cli/commands/open.js +1 -1
  82. package/build/cli/commands/open.js.map +1 -1
  83. package/build/lib/grafaid/schema/schema.d.ts +1 -1
  84. package/build/lib/grafaid/schema/schema.d.ts.map +1 -1
  85. package/build/lib/grafaid/schema/schema.js +1 -1
  86. package/build/lib/grafaid/schema/schema.js.map +1 -1
  87. package/build/lib/graphql-change/change-groups.d.ts +2 -0
  88. package/build/lib/graphql-change/change-groups.d.ts.map +1 -1
  89. package/build/lib/graphql-change/change-groups.js +54 -0
  90. package/build/lib/graphql-change/change-groups.js.map +1 -1
  91. package/build/lib/kit-temp.d.ts +9 -0
  92. package/build/lib/kit-temp.d.ts.map +1 -1
  93. package/build/lib/kit-temp.js +14 -2
  94. package/build/lib/kit-temp.js.map +1 -1
  95. package/build/lib/path-map/path-map.d.ts.map +1 -1
  96. package/build/lib/path-map/path-map.js +3 -1
  97. package/build/lib/path-map/path-map.js.map +1 -1
  98. package/build/lib/react-router-aid/react-router-aid.d.ts +5 -3
  99. package/build/lib/react-router-aid/react-router-aid.d.ts.map +1 -1
  100. package/build/lib/react-router-aid/react-router-aid.js +7 -4
  101. package/build/lib/react-router-aid/react-router-aid.js.map +1 -1
  102. package/build/project-data.d.ts +3 -11
  103. package/build/project-data.d.ts.map +1 -1
  104. package/build/template/components/Changelog.d.ts +3 -3
  105. package/build/template/components/Changelog.d.ts.map +1 -1
  106. package/build/template/components/Changelog.js +8 -84
  107. package/build/template/components/Changelog.js.map +1 -1
  108. package/build/template/components/CodeBlock.d.ts +2 -0
  109. package/build/template/components/CodeBlock.d.ts.map +1 -1
  110. package/build/template/components/CodeBlock.js +1 -4
  111. package/build/template/components/CodeBlock.js.map +1 -1
  112. package/build/template/components/ComponentDispatch.d.ts +34 -0
  113. package/build/template/components/ComponentDispatch.d.ts.map +1 -0
  114. package/build/template/components/ComponentDispatch.js +33 -0
  115. package/build/template/components/ComponentDispatch.js.map +1 -0
  116. package/build/template/components/ReferenceLink.d.ts +19 -0
  117. package/build/template/components/ReferenceLink.d.ts.map +1 -0
  118. package/build/template/components/ReferenceLink.js +19 -0
  119. package/build/template/components/ReferenceLink.js.map +1 -0
  120. package/build/template/components/TypeAnnotation.d.ts.map +1 -1
  121. package/build/template/components/TypeAnnotation.js +3 -3
  122. package/build/template/components/TypeAnnotation.js.map +1 -1
  123. package/build/template/components/TypeFieldsLinkList.d.ts.map +1 -1
  124. package/build/template/components/TypeFieldsLinkList.js +4 -4
  125. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  126. package/build/template/components/TypeIndex.js +2 -2
  127. package/build/template/components/TypeIndex.js.map +1 -1
  128. package/build/template/components/VersionSelector.d.ts +7 -0
  129. package/build/template/components/VersionSelector.d.ts.map +1 -0
  130. package/build/template/components/VersionSelector.js +30 -0
  131. package/build/template/components/VersionSelector.js.map +1 -0
  132. package/build/template/components/graphql/type-link.d.ts.map +1 -1
  133. package/build/template/components/graphql/type-link.js +2 -2
  134. package/build/template/components/graphql/type-link.js.map +1 -1
  135. package/build/template/hooks/useVersionPath.d.ts +6 -0
  136. package/build/template/hooks/useVersionPath.d.ts.map +1 -0
  137. package/build/template/hooks/useVersionPath.js +10 -0
  138. package/build/template/hooks/useVersionPath.js.map +1 -0
  139. package/build/template/layouts/ChangelogLayout.d.ts.map +1 -0
  140. package/build/template/{components → layouts}/ChangelogLayout.js +1 -1
  141. package/build/template/layouts/ChangelogLayout.js.map +1 -0
  142. package/build/template/layouts/index.d.ts +1 -0
  143. package/build/template/layouts/index.d.ts.map +1 -1
  144. package/build/template/layouts/index.js +1 -0
  145. package/build/template/layouts/index.js.map +1 -1
  146. package/build/template/lib/fetch-text.d.ts +8 -0
  147. package/build/template/lib/fetch-text.d.ts.map +1 -0
  148. package/build/template/lib/fetch-text.js +14 -0
  149. package/build/template/lib/fetch-text.js.map +1 -0
  150. package/build/template/lib/polen-url.d.ts +14 -0
  151. package/build/template/lib/polen-url.d.ts.map +1 -1
  152. package/build/template/lib/polen-url.js +16 -0
  153. package/build/template/lib/polen-url.js.map +1 -1
  154. package/build/template/lib/schema-utils/constants.d.ts +5 -0
  155. package/build/template/lib/schema-utils/constants.d.ts.map +1 -0
  156. package/build/template/lib/schema-utils/constants.js +5 -0
  157. package/build/template/lib/schema-utils/constants.js.map +1 -0
  158. package/build/template/lib/schema-utils/schema-utils.d.ts +15 -0
  159. package/build/template/lib/schema-utils/schema-utils.d.ts.map +1 -0
  160. package/build/template/lib/schema-utils/schema-utils.js +37 -0
  161. package/build/template/lib/schema-utils/schema-utils.js.map +1 -0
  162. package/build/template/routes/changelog.d.ts +4 -3
  163. package/build/template/routes/changelog.d.ts.map +1 -1
  164. package/build/template/routes/changelog.js +15 -9
  165. package/build/template/routes/changelog.js.map +1 -1
  166. package/build/template/routes/index.js +2 -2
  167. package/build/template/routes/index.js.map +1 -1
  168. package/build/template/routes/pages.d.ts +10 -0
  169. package/build/template/routes/pages.d.ts.map +1 -0
  170. package/build/template/routes/pages.js +76 -0
  171. package/build/template/routes/pages.js.map +1 -0
  172. package/build/template/routes/reference.d.ts +35 -6
  173. package/build/template/routes/reference.d.ts.map +1 -1
  174. package/build/template/routes/reference.js +97 -14
  175. package/build/template/routes/reference.js.map +1 -1
  176. package/build/template/routes/root.d.ts.map +1 -1
  177. package/build/template/routes/root.js +11 -75
  178. package/build/template/routes/root.js.map +1 -1
  179. package/build/template/server/app.d.ts +22 -1
  180. package/build/template/server/app.d.ts.map +1 -1
  181. package/build/template/server/app.js +19 -9
  182. package/build/template/server/app.js.map +1 -1
  183. package/build/template/server/main.js +9 -1
  184. package/build/template/server/main.js.map +1 -1
  185. package/build/template/server/ssg/generate.js +2 -2
  186. package/build/template/server/ssg/generate.js.map +1 -1
  187. package/build/template/server/ssg/get-route-paths.d.ts +1 -1
  188. package/build/template/server/ssg/get-route-paths.d.ts.map +1 -1
  189. package/build/template/server/ssg/get-route-paths.js +90 -27
  190. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  191. package/build/template/sources/schema-source.d.ts +15 -0
  192. package/build/template/sources/schema-source.d.ts.map +1 -0
  193. package/build/template/sources/schema-source.js +64 -0
  194. package/build/template/sources/schema-source.js.map +1 -0
  195. package/package.json +16 -17
  196. package/src/api/api.ts +1 -0
  197. package/src/api/config/configurator.ts +86 -36
  198. package/src/api/config/merge.ts +0 -16
  199. package/src/api/content/metadata.ts +1 -1
  200. package/src/api/schema/data-sources/data-sources.ts +1 -0
  201. package/src/api/schema/data-sources/introspection/introspection.ts +213 -0
  202. package/src/api/schema/data-sources/memory/memory.ts +3 -5
  203. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +29 -13
  204. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +56 -16
  205. package/src/api/schema/data-sources/schema-file/schema-file.ts +16 -7
  206. package/src/api/schema/metadata.ts +23 -0
  207. package/src/api/schema/read.ts +109 -18
  208. package/src/api/schema/schema.ts +62 -2
  209. package/src/api/schema-source/index.ts +1 -0
  210. package/src/api/schema-source/schema-source.ts +189 -0
  211. package/src/api/static/manifest.ts +1 -1
  212. package/src/api/vite/plugins/build.ts +3 -0
  213. package/src/api/vite/plugins/core.ts +27 -22
  214. package/src/api/vite/plugins/main.ts +1 -9
  215. package/src/api/vite/plugins/schema-assets.ts +364 -0
  216. package/src/api/vite/plugins/serve.ts +15 -8
  217. package/src/cli/commands/open.ts +1 -1
  218. package/src/lib/grafaid/schema/schema.ts +1 -0
  219. package/src/lib/graphql-change/change-groups.ts +57 -0
  220. package/src/lib/kit-temp.ts +15 -2
  221. package/src/lib/mask/$.test.ts +3 -3
  222. package/src/lib/path-map/$.test.ts +22 -19
  223. package/src/lib/path-map/path-map.ts +3 -1
  224. package/src/lib/react-router-aid/react-router-aid.ts +12 -6
  225. package/src/project-data.ts +3 -11
  226. package/src/template/components/Changelog.tsx +16 -67
  227. package/src/template/components/CodeBlock.tsx +3 -5
  228. package/src/template/components/ComponentDispatch.tsx +42 -0
  229. package/src/template/components/ReferenceLink.tsx +34 -0
  230. package/src/template/components/TypeAnnotation.tsx +5 -7
  231. package/src/template/components/TypeFieldsLinkList.tsx +20 -23
  232. package/src/template/components/TypeIndex.tsx +10 -12
  233. package/src/template/components/VersionSelector.tsx +50 -0
  234. package/src/template/components/graphql/type-link.tsx +4 -3
  235. package/src/template/hooks/useVersionPath.ts +10 -0
  236. package/src/template/{components → layouts}/ChangelogLayout.tsx +1 -1
  237. package/src/template/layouts/index.ts +1 -0
  238. package/src/template/lib/fetch-text.ts +13 -0
  239. package/src/template/lib/polen-url.ts +20 -0
  240. package/src/template/lib/schema-utils/constants.ts +4 -0
  241. package/src/template/lib/schema-utils/schema-utils.ts +42 -0
  242. package/src/template/routes/changelog.tsx +19 -10
  243. package/src/template/routes/index.tsx +2 -2
  244. package/src/template/routes/pages.tsx +109 -0
  245. package/src/template/routes/reference.tsx +112 -12
  246. package/src/template/routes/root.tsx +11 -112
  247. package/src/template/server/app.ts +47 -14
  248. package/src/template/server/main.ts +9 -1
  249. package/src/template/server/ssg/generate.ts +2 -2
  250. package/src/template/server/ssg/get-route-paths.test.ts +132 -0
  251. package/src/template/server/ssg/get-route-paths.ts +91 -27
  252. package/src/template/sources/schema-source.ts +69 -0
  253. package/build/lib/graphql-document/$$.d.ts +0 -5
  254. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  255. package/build/lib/graphql-document/$$.js +0 -5
  256. package/build/lib/graphql-document/$$.js.map +0 -1
  257. package/build/lib/graphql-document/$.d.ts +0 -2
  258. package/build/lib/graphql-document/$.d.ts.map +0 -1
  259. package/build/lib/graphql-document/$.js +0 -2
  260. package/build/lib/graphql-document/$.js.map +0 -1
  261. package/build/lib/graphql-document/analysis.d.ts +0 -44
  262. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  263. package/build/lib/graphql-document/analysis.js +0 -361
  264. package/build/lib/graphql-document/analysis.js.map +0 -1
  265. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  266. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  267. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -151
  268. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  269. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  270. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  271. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -27
  272. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  273. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  274. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  275. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -50
  276. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  277. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  278. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  279. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  280. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  281. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  282. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  283. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -144
  284. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  285. package/build/lib/graphql-document/components/index.d.ts +0 -5
  286. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  287. package/build/lib/graphql-document/components/index.js +0 -5
  288. package/build/lib/graphql-document/components/index.js.map +0 -1
  289. package/build/lib/graphql-document/example.d.ts +0 -25
  290. package/build/lib/graphql-document/example.d.ts.map +0 -1
  291. package/build/lib/graphql-document/example.js +0 -140
  292. package/build/lib/graphql-document/example.js.map +0 -1
  293. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  294. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  295. package/build/lib/graphql-document/graphql-document.js +0 -36
  296. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  297. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  298. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  299. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  300. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  301. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  302. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  303. package/build/lib/graphql-document/positioning-simple.js +0 -185
  304. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  305. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  306. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  307. package/build/lib/graphql-document/schema-context.js +0 -11
  308. package/build/lib/graphql-document/schema-context.js.map +0 -1
  309. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  310. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  311. package/build/lib/graphql-document/schema-integration.js +0 -328
  312. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  313. package/build/lib/graphql-document/types.d.ts +0 -117
  314. package/build/lib/graphql-document/types.d.ts.map +0 -1
  315. package/build/lib/graphql-document/types.js +0 -2
  316. package/build/lib/graphql-document/types.js.map +0 -1
  317. package/build/template/components/ChangelogLayout.d.ts.map +0 -1
  318. package/build/template/components/ChangelogLayout.js.map +0 -1
  319. package/build/template/components/CodeHikePre.d.ts +0 -16
  320. package/build/template/components/CodeHikePre.d.ts.map +0 -1
  321. package/build/template/components/CodeHikePre.js +0 -37
  322. package/build/template/components/CodeHikePre.js.map +0 -1
  323. package/build/template/routes/reference.$type.$field.d.ts +0 -5
  324. package/build/template/routes/reference.$type.$field.d.ts.map +0 -1
  325. package/build/template/routes/reference.$type.$field.js +0 -31
  326. package/build/template/routes/reference.$type.$field.js.map +0 -1
  327. package/build/template/routes/reference.$type.d.ts +0 -5
  328. package/build/template/routes/reference.$type.d.ts.map +0 -1
  329. package/build/template/routes/reference.$type.js +0 -23
  330. package/build/template/routes/reference.$type.js.map +0 -1
  331. package/src/lib/graphql-document/$$.ts +0 -4
  332. package/src/lib/graphql-document/$.test.ts +0 -132
  333. package/src/lib/graphql-document/$.ts +0 -1
  334. package/src/lib/graphql-document/README.md +0 -102
  335. package/src/lib/graphql-document/analysis.ts +0 -415
  336. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -265
  337. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  338. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -46
  339. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -199
  340. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  341. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -144
  342. package/src/lib/graphql-document/components/index.ts +0 -4
  343. package/src/lib/graphql-document/demo.md +0 -155
  344. package/src/lib/graphql-document/example.ts +0 -163
  345. package/src/lib/graphql-document/graphql-document.ts +0 -37
  346. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  347. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  348. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  349. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  350. package/src/lib/graphql-document/schema-context.tsx +0 -20
  351. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  352. package/src/lib/graphql-document/schema-integration.ts +0 -488
  353. package/src/lib/graphql-document/types.ts +0 -129
  354. package/src/template/components/CodeHikePre.tsx +0 -51
  355. package/src/template/routes/reference.$type.$field.tsx +0 -34
  356. package/src/template/routes/reference.$type.tsx +0 -27
  357. /package/build/template/{components → layouts}/ChangelogLayout.d.ts +0 -0
@@ -1,36 +0,0 @@
1
- /**
2
- * GraphQL Document Component Library
3
- *
4
- * Transform static GraphQL code blocks into interactive documentation with
5
- * hyperlinks, tooltips, and schema validation.
6
- *
7
- * ## Features
8
- * - Hyperlinked identifiers that navigate to reference documentation
9
- * - Hover tooltips showing type information and descriptions
10
- * - Schema validation with error highlighting
11
- * - Build-time GraphQL validation
12
- * - Support for all GraphQL operations (queries, mutations, subscriptions, fragments)
13
- *
14
- * ## Usage
15
- * ```typescript
16
- * import { GraphQLDocument } from 'polen/lib/graphql-document'
17
- *
18
- * <GraphQLDocument schema={schema}>
19
- * {`query { user { name } }`}
20
- * </GraphQLDocument>
21
- * ```
22
- *
23
- * @see {@link GraphQLDocumentWithSchema} for MDX integration
24
- * @see {@link GraphQLDocument} for the main React component
25
- */
26
- export * from './analysis.js';
27
- export * from './components/index.js';
28
- export * from './positioning-simple.js';
29
- export * from './schema-integration.js';
30
- export * from './types.js';
31
- // Re-export key functions for convenience
32
- export { analyze, analyzer, extractIdentifiers } from './analysis.js';
33
- export { GraphQLDocument } from './components/GraphQLDocument.js';
34
- export { createSimpleOverlay, createSimplePositionCalculator } from './positioning-simple.js';
35
- export { analyzeWithSchema, createPolenSchemaResolver } from './schema-integration.js';
36
- //# sourceMappingURL=graphql-document.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-document.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/graphql-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAE1B,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,43 +0,0 @@
1
- /**
2
- * State management for GraphQL document tooltips
3
- *
4
- * Handles hover delays, pinning, and multiple tooltip coordination
5
- */
6
- export interface TooltipState {
7
- /** Currently visible tooltip (via hover) */
8
- hoveredId: string | null;
9
- /** Set of pinned tooltip IDs */
10
- pinnedIds: Set<string>;
11
- /** ID pending show (waiting for delay) */
12
- pendingShowId: string | null;
13
- /** ID pending hide (waiting for grace period) */
14
- pendingHideId: string | null;
15
- }
16
- export interface UseTooltipStateOptions {
17
- /** Delay before showing tooltip on hover (ms) */
18
- showDelay?: number;
19
- /** Delay before hiding tooltip on mouse leave (ms) */
20
- hideDelay?: number;
21
- /** Whether to allow multiple pinned tooltips */
22
- allowMultiplePins?: boolean;
23
- }
24
- export interface UseTooltipStateReturn {
25
- /** Check if a tooltip should be visible */
26
- isOpen: (id: string) => boolean;
27
- /** Check if a tooltip is pinned */
28
- isPinned: (id: string) => boolean;
29
- /** Handle hover start */
30
- onHoverStart: (id: string) => void;
31
- /** Handle hover end */
32
- onHoverEnd: (id: string) => void;
33
- /** Handle click (toggle pin) */
34
- onTogglePin: (id: string) => void;
35
- /** Handle tooltip content hover (cancels hide) */
36
- onTooltipHover: (id: string) => void;
37
- /** Unpin a specific tooltip */
38
- unpin: (id: string) => void;
39
- /** Unpin all tooltips */
40
- unpinAll: () => void;
41
- }
42
- export declare const useTooltipState: (options?: UseTooltipStateOptions) => UseTooltipStateReturn;
43
- //# sourceMappingURL=use-tooltip-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tooltip-state.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/hooks/use-tooltip-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,gCAAgC;IAChC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iDAAiD;IACjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IACjC,yBAAyB;IACzB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,uBAAuB;IACvB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,gCAAgC;IAChC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,kDAAkD;IAClD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,+BAA+B;IAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,eAAO,MAAM,eAAe,GAAI,UAAS,sBAA2B,KAAG,qBA+ItE,CAAA"}
@@ -1,132 +0,0 @@
1
- /**
2
- * State management for GraphQL document tooltips
3
- *
4
- * Handles hover delays, pinning, and multiple tooltip coordination
5
- */
6
- import { React } from '#dep/react/index';
7
- export const useTooltipState = (options = {}) => {
8
- const { showDelay = 300, hideDelay = 200, allowMultiplePins = true, } = options;
9
- const [hoveredId, setHoveredId] = React.useState(null);
10
- const [pinnedIds, setPinnedIds] = React.useState(new Set());
11
- const [pendingShowId, setPendingShowId] = React.useState(null);
12
- const [pendingHideId, setPendingHideId] = React.useState(null);
13
- // Timer refs
14
- const showTimerRef = React.useRef(null);
15
- const hideTimerRef = React.useRef(null);
16
- // Clear any pending timers
17
- const clearTimers = React.useCallback(() => {
18
- if (showTimerRef.current) {
19
- clearTimeout(showTimerRef.current);
20
- showTimerRef.current = null;
21
- }
22
- if (hideTimerRef.current) {
23
- clearTimeout(hideTimerRef.current);
24
- hideTimerRef.current = null;
25
- }
26
- setPendingShowId(null);
27
- setPendingHideId(null);
28
- }, []);
29
- // Check if tooltip should be visible
30
- const isOpen = React.useCallback((id) => {
31
- return hoveredId === id || pinnedIds.has(id);
32
- }, [hoveredId, pinnedIds]);
33
- // Check if tooltip is pinned
34
- const isPinned = React.useCallback((id) => {
35
- return pinnedIds.has(id);
36
- }, [pinnedIds]);
37
- // Handle hover start
38
- const onHoverStart = React.useCallback((id) => {
39
- // Don't show if already pinned
40
- if (pinnedIds.has(id))
41
- return;
42
- // Cancel any pending hide for this ID
43
- if (pendingHideId === id) {
44
- clearTimeout(hideTimerRef.current);
45
- hideTimerRef.current = null;
46
- setPendingHideId(null);
47
- return;
48
- }
49
- // Clear any other pending operations
50
- clearTimers();
51
- // Schedule show
52
- setPendingShowId(id);
53
- showTimerRef.current = setTimeout(() => {
54
- setHoveredId(id);
55
- setPendingShowId(null);
56
- }, showDelay);
57
- }, [pinnedIds, pendingHideId, clearTimers, showDelay]);
58
- // Handle hover end
59
- const onHoverEnd = React.useCallback((id) => {
60
- // Don't hide if pinned
61
- if (pinnedIds.has(id))
62
- return;
63
- // Cancel pending show if still waiting
64
- if (pendingShowId === id) {
65
- clearTimeout(showTimerRef.current);
66
- showTimerRef.current = null;
67
- setPendingShowId(null);
68
- return;
69
- }
70
- // Only hide if currently showing this tooltip
71
- if (hoveredId === id) {
72
- setPendingHideId(id);
73
- hideTimerRef.current = setTimeout(() => {
74
- // First set hovered to null to trigger close animation
75
- setHoveredId(null);
76
- setPendingHideId(null);
77
- }, hideDelay);
78
- }
79
- }, [pinnedIds, pendingShowId, hoveredId, hideDelay]);
80
- // Handle tooltip content hover (cancels hide)
81
- const onTooltipHover = React.useCallback((id) => {
82
- if (pendingHideId === id) {
83
- clearTimeout(hideTimerRef.current);
84
- hideTimerRef.current = null;
85
- setPendingHideId(null);
86
- }
87
- }, [pendingHideId]);
88
- // Toggle pin state
89
- const onTogglePin = React.useCallback((id) => {
90
- clearTimers();
91
- setPinnedIds((prev) => {
92
- const next = new Set(prev);
93
- if (next.has(id)) {
94
- // Unpin
95
- next.delete(id);
96
- setHoveredId(null); // Also clear hover state
97
- }
98
- else {
99
- // Pin
100
- if (!allowMultiplePins) {
101
- next.clear(); // Clear other pins
102
- }
103
- next.add(id);
104
- setHoveredId(null); // Clear hover state since it's now pinned
105
- }
106
- return next;
107
- });
108
- }, [clearTimers, allowMultiplePins]);
109
- // Unpin specific tooltip
110
- const unpin = React.useCallback((id) => {
111
- setPinnedIds((prev) => {
112
- const next = new Set(prev);
113
- next.delete(id);
114
- return next;
115
- });
116
- }, []);
117
- // Unpin all tooltips
118
- const unpinAll = React.useCallback(() => {
119
- setPinnedIds(new Set());
120
- }, []);
121
- return {
122
- isOpen,
123
- isPinned,
124
- onHoverStart,
125
- onHoverEnd,
126
- onTogglePin,
127
- onTooltipHover,
128
- unpin,
129
- unpinAll,
130
- };
131
- };
132
- //# sourceMappingURL=use-tooltip-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tooltip-state.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/hooks/use-tooltip-state.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Layer 3: Simplified Positioning & Layout Engine
3
- *
4
- * Maps GraphQL AST positions to DOM coordinates for overlay placement.
5
- * This simplified version focuses on working with Polen's existing infrastructure.
6
- */
7
- import type { Identifier } from './types.js';
8
- /**
9
- * DOM position for rendering overlays
10
- */
11
- export interface DOMPosition {
12
- /** Distance from top of container in pixels */
13
- top: number;
14
- /** Distance from left of container in pixels */
15
- left: number;
16
- /** Width of the identifier in pixels */
17
- width: number;
18
- /** Height of the identifier in pixels */
19
- height: number;
20
- }
21
- /**
22
- * Position calculation result
23
- */
24
- export interface PositionResult {
25
- /** The calculated DOM position */
26
- position: DOMPosition;
27
- /** The identifier this position is for */
28
- identifier: Identifier;
29
- }
30
- /**
31
- * Simplified position calculator for syntax-highlighted code
32
- *
33
- * This version uses a more straightforward approach:
34
- * 1. Find the line element by line number
35
- * 2. Search for the identifier text within that line
36
- * 3. Create a span around the identifier for positioning
37
- *
38
- * This approach modifies the DOM but is more reliable for testing
39
- * and works well with React's reconciliation.
40
- */
41
- export declare class SimplePositionCalculator {
42
- /**
43
- * Prepare a code block for positioning by wrapping identifiers in spans
44
- */
45
- prepareCodeBlock(containerElement: Element, identifiers: Identifier[]): void;
46
- /**
47
- * Get positions of all wrapped identifiers
48
- */
49
- getIdentifierPositions(containerElement: Element, relativeToElement?: Element): Map<string, PositionResult>;
50
- }
51
- /**
52
- * Create invisible overlay for a position
53
- */
54
- export declare const createSimpleOverlay: (position: DOMPosition, identifier: Identifier, options?: {
55
- onClick?: (identifier: Identifier) => void;
56
- onHover?: (identifier: Identifier, event: MouseEvent) => void;
57
- className?: string;
58
- }) => HTMLElement;
59
- /**
60
- * Factory function for position calculator
61
- */
62
- export declare const createSimplePositionCalculator: () => SimplePositionCalculator;
63
- //# sourceMappingURL=positioning-simple.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"positioning-simple.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/positioning-simple.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,QAAQ,EAAE,WAAW,CAAA;IACrB,0CAA0C;IAC1C,UAAU,EAAE,UAAU,CAAA;CACvB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,gBAAgB,CACd,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,UAAU,EAAE,GACxB,IAAI;IAsGP;;OAEG;IACH,sBAAsB,CACpB,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;CA2C/B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,WAAW,EACrB,YAAY,UAAU,EACtB,UAAU;IACR,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KACA,WAqCF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,QAAO,wBAEjD,CAAA"}
@@ -1,185 +0,0 @@
1
- /**
2
- * Layer 3: Simplified Positioning & Layout Engine
3
- *
4
- * Maps GraphQL AST positions to DOM coordinates for overlay placement.
5
- * This simplified version focuses on working with Polen's existing infrastructure.
6
- */
7
- /**
8
- * Simplified position calculator for syntax-highlighted code
9
- *
10
- * This version uses a more straightforward approach:
11
- * 1. Find the line element by line number
12
- * 2. Search for the identifier text within that line
13
- * 3. Create a span around the identifier for positioning
14
- *
15
- * This approach modifies the DOM but is more reliable for testing
16
- * and works well with React's reconciliation.
17
- */
18
- export class SimplePositionCalculator {
19
- /**
20
- * Prepare a code block for positioning by wrapping identifiers in spans
21
- */
22
- prepareCodeBlock(containerElement, identifiers) {
23
- // Get the full text content of the container
24
- const fullText = containerElement.textContent || ``;
25
- const lines = fullText.split(`\n`);
26
- // Build a map of line start positions in the full text
27
- const lineStartPositions = [0];
28
- for (let i = 0; i < lines.length - 1; i++) {
29
- const lineLength = lines[i]?.length ?? 0;
30
- lineStartPositions.push(lineStartPositions[i] + lineLength + 1); // +1 for newline
31
- }
32
- // Process identifiers by line
33
- for (const identifier of identifiers) {
34
- const lineIndex = identifier.position.line - 1;
35
- if (lineIndex >= lines.length || lineIndex < 0)
36
- continue;
37
- const lineText = lines[lineIndex];
38
- if (!lineText)
39
- continue;
40
- const columnIndex = identifier.position.column - 1;
41
- // Check if the identifier exists at the expected position
42
- if (lineText.substring(columnIndex).startsWith(identifier.name)) {
43
- // Calculate the absolute position in the full text
44
- const lineStartPosition = lineStartPositions[lineIndex] ?? 0;
45
- const absolutePosition = lineStartPosition + columnIndex;
46
- // Check if already wrapped at this specific position
47
- const existingWrapped = containerElement.querySelectorAll(`[data-graphql-id]`);
48
- let alreadyWrapped = false;
49
- for (const wrapped of existingWrapped) {
50
- if (wrapped.textContent === identifier.name) {
51
- const startPos = parseInt(wrapped.getAttribute(`data-graphql-start`) || `0`);
52
- if (startPos === identifier.position.start) {
53
- alreadyWrapped = true;
54
- break;
55
- }
56
- }
57
- }
58
- if (alreadyWrapped)
59
- continue;
60
- // Create wrapper span
61
- const wrapper = document.createElement(`span`);
62
- const id = `${identifier.position.start}-${identifier.name}-${identifier.kind}`;
63
- wrapper.setAttribute(`data-graphql-id`, id);
64
- wrapper.setAttribute(`data-graphql-name`, identifier.name);
65
- wrapper.setAttribute(`data-graphql-kind`, identifier.kind);
66
- wrapper.setAttribute(`data-graphql-start`, String(identifier.position.start));
67
- wrapper.setAttribute(`data-graphql-end`, String(identifier.position.end));
68
- wrapper.setAttribute(`data-graphql-line`, String(identifier.position.line));
69
- wrapper.setAttribute(`data-graphql-column`, String(identifier.position.column));
70
- wrapper.setAttribute(`data-graphql-path`, identifier.schemaPath.join(`,`));
71
- // Find the position in the container and wrap the text
72
- const walker = document.createTreeWalker(containerElement, NodeFilter.SHOW_TEXT, null);
73
- let currentPos = 0;
74
- let node;
75
- while (node = walker.nextNode()) {
76
- const textNode = node;
77
- const text = textNode.textContent || ``;
78
- // Check if this text node contains our identifier
79
- if (currentPos <= absolutePosition && absolutePosition < currentPos + text.length) {
80
- const relativePos = absolutePosition - currentPos;
81
- if (text.substring(relativePos).startsWith(identifier.name)) {
82
- // Split the text node
83
- const before = text.substring(0, relativePos);
84
- const identifierText = identifier.name;
85
- const after = text.substring(relativePos + identifierText.length);
86
- const parent = textNode.parentNode;
87
- if (before) {
88
- parent.insertBefore(document.createTextNode(before), textNode);
89
- }
90
- wrapper.textContent = identifierText;
91
- parent.insertBefore(wrapper, textNode);
92
- if (after) {
93
- parent.insertBefore(document.createTextNode(after), textNode);
94
- }
95
- parent.removeChild(textNode);
96
- break;
97
- }
98
- }
99
- currentPos += text.length;
100
- }
101
- }
102
- }
103
- }
104
- /**
105
- * Get positions of all wrapped identifiers
106
- */
107
- getIdentifierPositions(containerElement, relativeToElement) {
108
- const results = new Map();
109
- // Find all wrapped identifiers
110
- const wrappedIdentifiers = containerElement.querySelectorAll(`[data-graphql-id]`);
111
- // Use the provided element for relative positioning, or the container itself
112
- const referenceElement = relativeToElement || containerElement;
113
- for (const element of wrappedIdentifiers) {
114
- const id = element.getAttribute(`data-graphql-id`);
115
- if (!id)
116
- continue;
117
- // Get position relative to the reference element
118
- const referenceRect = referenceElement.getBoundingClientRect();
119
- const elementRect = element.getBoundingClientRect();
120
- const position = {
121
- top: elementRect.top - referenceRect.top,
122
- left: elementRect.left - referenceRect.left,
123
- width: elementRect.width,
124
- height: elementRect.height,
125
- };
126
- // Reconstruct identifier from data attributes
127
- const identifier = {
128
- name: element.getAttribute(`data-graphql-name`) || ``,
129
- kind: (element.getAttribute(`data-graphql-kind`) || `Field`),
130
- position: {
131
- start: parseInt(element.getAttribute(`data-graphql-start`) || `0`),
132
- end: parseInt(element.getAttribute(`data-graphql-end`) || `0`),
133
- line: parseInt(element.getAttribute(`data-graphql-line`) || `1`),
134
- column: parseInt(element.getAttribute(`data-graphql-column`) || `1`),
135
- },
136
- schemaPath: (element.getAttribute(`data-graphql-path`) || ``).split(`,`).filter(Boolean),
137
- context: { selectionPath: [] },
138
- };
139
- results.set(id, { position, identifier });
140
- }
141
- return results;
142
- }
143
- }
144
- /**
145
- * Create invisible overlay for a position
146
- */
147
- export const createSimpleOverlay = (position, identifier, options) => {
148
- const overlay = document.createElement(`div`);
149
- // Base styles for positioning
150
- overlay.style.position = `absolute`;
151
- overlay.style.top = `${position.top}px`;
152
- overlay.style.left = `${position.left}px`;
153
- overlay.style.width = `${position.width}px`;
154
- overlay.style.height = `${position.height}px`;
155
- overlay.style.cursor = `pointer`;
156
- overlay.style.zIndex = `10`;
157
- // Add custom class if provided
158
- if (options?.className) {
159
- overlay.className = options.className;
160
- }
161
- // Data attributes
162
- overlay.setAttribute(`data-graphql-overlay`, `true`);
163
- overlay.setAttribute(`data-graphql-name`, identifier.name);
164
- overlay.setAttribute(`data-graphql-kind`, identifier.kind);
165
- // Event handlers
166
- if (options?.onClick) {
167
- overlay.addEventListener(`click`, (e) => {
168
- e.preventDefault();
169
- options.onClick(identifier);
170
- });
171
- }
172
- if (options?.onHover) {
173
- overlay.addEventListener(`mouseenter`, (e) => {
174
- options.onHover(identifier, e);
175
- });
176
- }
177
- return overlay;
178
- };
179
- /**
180
- * Factory function for position calculator
181
- */
182
- export const createSimplePositionCalculator = () => {
183
- return new SimplePositionCalculator();
184
- };
185
- //# sourceMappingURL=positioning-simple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"positioning-simple.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/positioning-simple.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { GraphQLSchema } from 'graphql';
2
- import React from 'react';
3
- export declare const GraphQLSchemaContext: React.Context<GraphQLSchema | null>;
4
- export declare const useGraphQLSchema: () => GraphQLSchema | null;
5
- export declare const GraphQLSchemaProvider: React.FC<React.PropsWithChildren<{
6
- schema: GraphQLSchema | null;
7
- }>>;
8
- //# sourceMappingURL=schema-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-context.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/schema-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,oBAAoB,qCAAkD,CAAA;AAEnF,eAAO,MAAM,gBAAgB,4BAG5B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAAC,CASrG,CAAA"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- export const GraphQLSchemaContext = React.createContext(null);
4
- export const useGraphQLSchema = () => {
5
- const schema = React.useContext(GraphQLSchemaContext);
6
- return schema;
7
- };
8
- export const GraphQLSchemaProvider = ({ children, schema, }) => {
9
- return (_jsx(GraphQLSchemaContext.Provider, { value: schema, children: children }));
10
- };
11
- //# sourceMappingURL=schema-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-context.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/schema-context.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAuB,IAAI,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAwE,CAAC,EACzG,QAAQ,EACR,MAAM,GACP,EAAE,EAAE;IACH,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACzC,QAAQ,GACqB,CACjC,CAAA;AACH,CAAC,CAAA"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Layer 2: Schema Integration
3
- *
4
- * Bridge between GraphQL analysis and Polen's schema system.
5
- * Resolves identifiers against the actual schema, extracts documentation,
6
- * and generates reference URLs for navigation.
7
- */
8
- import { type GraphQLSchema, type GraphQLType } from 'graphql';
9
- import type { Identifier } from './types.js';
10
- /**
11
- * Documentation extracted from GraphQL schema
12
- */
13
- export interface Documentation {
14
- /** Description from schema SDL or introspection */
15
- description?: string;
16
- /** Type signature (e.g., "String!", "[User!]!") */
17
- typeInfo: string;
18
- /** Whether this field/type is deprecated */
19
- deprecated?: {
20
- reason: string;
21
- replacement?: string;
22
- };
23
- /** Default value for arguments */
24
- defaultValue?: string;
25
- }
26
- /**
27
- * Result of resolving an identifier against the schema
28
- */
29
- export interface SchemaResolution {
30
- /** Whether the identifier exists in the schema */
31
- exists: boolean;
32
- /** Documentation extracted from schema */
33
- documentation?: Documentation;
34
- /** URL to the reference page for this identifier */
35
- referenceUrl: string;
36
- /** Whether this identifier is deprecated */
37
- deprecated?: {
38
- reason: string;
39
- replacement?: string;
40
- };
41
- /** The GraphQL type if this is a type identifier */
42
- graphqlType?: GraphQLType;
43
- }
44
- /**
45
- * Interface for resolving GraphQL identifiers against a schema
46
- */
47
- export interface SchemaResolver {
48
- /**
49
- * Resolve an identifier against the schema
50
- */
51
- resolveIdentifier(identifier: Identifier): SchemaResolution | null;
52
- /**
53
- * Get documentation for a schema path
54
- */
55
- getDocumentation(schemaPath: string[]): Documentation | null;
56
- /**
57
- * Generate a reference URL for a schema path
58
- */
59
- generateReferenceLink(schemaPath: string[]): string;
60
- /**
61
- * Check if a type exists in the schema
62
- */
63
- typeExists(typeName: string): boolean;
64
- /**
65
- * Get all available types for validation
66
- */
67
- getAllTypes(): string[];
68
- }
69
- /**
70
- * Configuration for URL generation
71
- */
72
- export interface RouteConfig {
73
- /** Base path for reference pages (default: "/reference") */
74
- basePath?: string;
75
- /** Whether to include fragments in URLs (default: true) */
76
- includeFragments?: boolean;
77
- }
78
- /**
79
- * Polen's implementation of SchemaResolver
80
- */
81
- export declare class PolenSchemaResolver implements SchemaResolver {
82
- private schema;
83
- private routeConfig;
84
- constructor(schema: GraphQLSchema, routeConfig?: RouteConfig);
85
- /**
86
- * Resolve an identifier against the schema
87
- */
88
- resolveIdentifier(identifier: Identifier): SchemaResolution | null;
89
- /**
90
- * Get documentation for a schema path
91
- */
92
- getDocumentation(schemaPath: string[]): Documentation | null;
93
- /**
94
- * Generate a reference URL for a schema path
95
- */
96
- generateReferenceLink(schemaPath: string[]): string;
97
- /**
98
- * Check if a type exists in the schema
99
- */
100
- typeExists(typeName: string): boolean;
101
- /**
102
- * Get all available types for validation
103
- */
104
- getAllTypes(): string[];
105
- private resolveType;
106
- private resolveField;
107
- private resolveArgument;
108
- private resolveDirective;
109
- private getFieldFromType;
110
- private getTypeSignature;
111
- }
112
- /**
113
- * Create a schema resolver for Polen
114
- */
115
- export declare const createPolenSchemaResolver: (schema: GraphQLSchema, routeConfig?: RouteConfig) => SchemaResolver;
116
- /**
117
- * Enhanced analysis result with schema resolution
118
- */
119
- export interface SchemaAwareAnalysisResult {
120
- /** Original analysis result */
121
- analysis: import('./types.js').AnalysisResult;
122
- /** Schema resolutions for all identifiers */
123
- resolutions: Map<string, SchemaResolution>;
124
- /** Validation errors from schema checking */
125
- schemaErrors: {
126
- identifier: Identifier;
127
- message: string;
128
- severity: `error` | `warning`;
129
- }[];
130
- }
131
- /**
132
- * Perform schema-aware analysis of a GraphQL document
133
- */
134
- export declare const analyzeWithSchema: (source: string, schema: GraphQLSchema, routeConfig?: RouteConfig) => SchemaAwareAnalysisResult;
135
- //# sourceMappingURL=schema-integration.d.ts.map