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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/README.md +1 -2
  2. package/build/api/builder/builder.js +1 -1
  3. package/build/api/builder/builder.js.map +1 -1
  4. package/build/api/config/load.js +6 -6
  5. package/build/api/config/load.js.map +1 -1
  6. package/build/api/config-resolver/resolve.js +2 -2
  7. package/build/api/config-resolver/resolve.js.map +1 -1
  8. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  9. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  10. package/build/api/vite/plugins/branding/index.js +4 -4
  11. package/build/api/vite/plugins/branding/index.js.map +1 -1
  12. package/build/api/vite/plugins/build.d.ts.map +1 -1
  13. package/build/api/vite/plugins/build.js +4 -12
  14. package/build/api/vite/plugins/build.js.map +1 -1
  15. package/build/api/vite/plugins/core.d.ts +2 -2
  16. package/build/api/vite/plugins/core.d.ts.map +1 -1
  17. package/build/api/vite/plugins/core.js +13 -13
  18. package/build/api/vite/plugins/core.js.map +1 -1
  19. package/build/api/vite/plugins/pages.d.ts +14 -8
  20. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  21. package/build/api/vite/plugins/pages.js +185 -111
  22. package/build/api/vite/plugins/pages.js.map +1 -1
  23. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  24. package/build/api/vite/plugins/serve.js +12 -52
  25. package/build/api/vite/plugins/serve.js.map +1 -1
  26. package/build/cli/_/self-contained-mode.js +5 -5
  27. package/build/cli/_/self-contained-mode.js.map +1 -1
  28. package/build/lib/demos/config-schema.d.ts +20 -20
  29. package/build/lib/file-router/diagnostic-reporter.js +2 -2
  30. package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
  31. package/build/lib/file-router/file-router.d.ts +2 -0
  32. package/build/lib/file-router/file-router.d.ts.map +1 -1
  33. package/build/lib/file-router/file-router.js +2 -0
  34. package/build/lib/file-router/file-router.js.map +1 -1
  35. package/build/lib/file-router/route.d.ts +0 -2
  36. package/build/lib/file-router/route.d.ts.map +1 -1
  37. package/build/lib/file-router/route.js.map +1 -1
  38. package/build/lib/file-router/scan-tree.d.ts +20 -0
  39. package/build/lib/file-router/scan-tree.d.ts.map +1 -0
  40. package/build/lib/file-router/scan-tree.js +158 -0
  41. package/build/lib/file-router/scan-tree.js.map +1 -0
  42. package/build/lib/file-router/scan.d.ts.map +1 -1
  43. package/build/lib/file-router/scan.js +13 -22
  44. package/build/lib/file-router/scan.js.map +1 -1
  45. package/build/lib/file-router/sidebar/index.d.ts +3 -0
  46. package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
  47. package/build/lib/file-router/sidebar/index.js +4 -0
  48. package/build/lib/file-router/sidebar/index.js.map +1 -0
  49. package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
  50. package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
  51. package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
  52. package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
  53. package/build/lib/file-router/sidebar/types.d.ts +17 -0
  54. package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
  55. package/build/lib/file-router/sidebar/types.js.map +1 -0
  56. package/build/lib/github-actions/runner.js +2 -2
  57. package/build/lib/github-actions/runner.js.map +1 -1
  58. package/build/lib/github-actions/schemas/context.d.ts +2 -2
  59. package/build/lib/kit-temp.d.ts +0 -103
  60. package/build/lib/kit-temp.d.ts.map +1 -1
  61. package/build/lib/kit-temp.js +3 -239
  62. package/build/lib/kit-temp.js.map +1 -1
  63. package/build/lib/tree/index.d.ts +3 -0
  64. package/build/lib/tree/index.d.ts.map +1 -0
  65. package/build/lib/tree/index.js +2 -0
  66. package/build/lib/tree/index.js.map +1 -0
  67. package/build/lib/tree/tree.d.ts +62 -0
  68. package/build/lib/tree/tree.d.ts.map +1 -0
  69. package/build/lib/tree/tree.js +134 -0
  70. package/build/lib/tree/tree.js.map +1 -0
  71. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +8 -1
  72. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  73. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +53 -48
  74. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  75. package/build/package-paths.js +3 -3
  76. package/build/package-paths.js.map +1 -1
  77. package/build/sandbox.js +2 -17
  78. package/build/sandbox.js.map +1 -1
  79. package/build/singletons/debug.d.ts +1 -1
  80. package/build/singletons/debug.d.ts.map +1 -1
  81. package/build/singletons/debug.js +1 -1
  82. package/build/singletons/debug.js.map +1 -1
  83. package/build/template/components/ArgumentAnnotation.jsx +16 -0
  84. package/build/template/components/ArgumentAnnotation.jsx.map +1 -0
  85. package/build/template/components/ArgumentList.jsx +16 -0
  86. package/build/template/components/ArgumentList.jsx.map +1 -0
  87. package/build/template/components/ArgumentListAnnotation.jsx +23 -0
  88. package/build/template/components/ArgumentListAnnotation.jsx.map +1 -0
  89. package/build/template/components/Changelog.jsx +68 -0
  90. package/build/template/components/Changelog.jsx.map +1 -0
  91. package/build/template/components/{CodeBlock.js → CodeBlock.jsx} +5 -4
  92. package/build/template/components/{CodeBlock.js.map → CodeBlock.jsx.map} +1 -1
  93. package/build/template/components/DeprecationReason.jsx +10 -0
  94. package/build/template/components/DeprecationReason.jsx.map +1 -0
  95. package/build/template/components/Description.jsx +10 -0
  96. package/build/template/components/Description.jsx.map +1 -0
  97. package/build/template/components/Field.jsx +22 -0
  98. package/build/template/components/Field.jsx.map +1 -0
  99. package/build/template/components/{FieldList.js → FieldList.jsx} +5 -4
  100. package/build/template/components/FieldList.jsx.map +1 -0
  101. package/build/template/components/{FieldListSection.js → FieldListSection.jsx} +6 -4
  102. package/build/template/components/FieldListSection.jsx.map +1 -0
  103. package/build/template/components/Link.d.ts +2 -2
  104. package/build/template/components/Link.d.ts.map +1 -1
  105. package/build/template/components/{Link.js → Link.jsx} +9 -17
  106. package/build/template/components/Link.jsx.map +1 -0
  107. package/build/template/components/Logo.jsx +29 -0
  108. package/build/template/components/Logo.jsx.map +1 -0
  109. package/build/template/components/{Markdown.js → Markdown.jsx} +2 -3
  110. package/build/template/components/Markdown.jsx.map +1 -0
  111. package/build/template/components/MissingSchema.d.ts +1 -1
  112. package/build/template/components/MissingSchema.d.ts.map +1 -1
  113. package/build/template/components/MissingSchema.jsx +4 -0
  114. package/build/template/components/MissingSchema.jsx.map +1 -0
  115. package/build/template/components/NamedType.jsx +17 -0
  116. package/build/template/components/NamedType.jsx.map +1 -0
  117. package/build/template/components/{RadixLink.js → RadixLink.jsx} +1 -1
  118. package/build/template/components/RadixLink.jsx.map +1 -0
  119. package/build/template/components/Texts/{MinorHeading.js → MinorHeading.jsx} +3 -4
  120. package/build/template/components/Texts/MinorHeading.jsx.map +1 -0
  121. package/build/template/components/Texts/texts.js +1 -1
  122. package/build/template/components/Texts/texts.js.map +1 -1
  123. package/build/template/components/{TypeAnnotation.js → TypeAnnotation.jsx} +18 -8
  124. package/build/template/components/TypeAnnotation.jsx.map +1 -0
  125. package/build/template/components/TypeFieldsLinkList.jsx +17 -0
  126. package/build/template/components/TypeFieldsLinkList.jsx.map +1 -0
  127. package/build/template/components/TypeIndex.jsx +27 -0
  128. package/build/template/components/TypeIndex.jsx.map +1 -0
  129. package/build/template/components/graphql/graphql.d.ts +2 -2
  130. package/build/template/components/graphql/graphql.jsx +3 -0
  131. package/build/template/components/graphql/graphql.jsx.map +1 -0
  132. package/build/template/components/graphql/index.d.ts +1 -1
  133. package/build/template/components/graphql/index.js +1 -1
  134. package/build/template/components/graphql/index.js.map +1 -1
  135. package/build/template/components/graphql/{type-kind-icon.js → type-kind-icon.jsx} +2 -3
  136. package/build/template/components/graphql/type-kind-icon.jsx.map +1 -0
  137. package/build/template/components/graphql/type-link.jsx +16 -0
  138. package/build/template/components/graphql/type-link.jsx.map +1 -0
  139. package/build/template/components/sidebar/Sidebar.d.ts +3 -3
  140. package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
  141. package/build/template/components/sidebar/Sidebar.jsx +15 -0
  142. package/build/template/components/sidebar/Sidebar.jsx.map +1 -0
  143. package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
  144. package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
  145. package/build/template/components/sidebar/{SidebarItem.js → SidebarItem.jsx} +35 -18
  146. package/build/template/components/sidebar/SidebarItem.jsx.map +1 -0
  147. package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
  148. package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
  149. package/build/template/components/sidebar/ToggleButton.jsx +6 -0
  150. package/build/template/components/sidebar/ToggleButton.jsx.map +1 -0
  151. package/build/template/entry.client.d.ts +0 -1
  152. package/build/template/entry.client.d.ts.map +1 -1
  153. package/build/template/{entry.client.js → entry.client.jsx} +9 -5
  154. package/build/template/entry.client.jsx.map +1 -0
  155. package/build/template/routes/changelog.d.ts +1 -1
  156. package/build/template/routes/{changelog.js → changelog.jsx} +4 -5
  157. package/build/template/routes/changelog.jsx.map +1 -0
  158. package/build/template/routes/{index.js → index.jsx} +2 -3
  159. package/build/template/routes/index.jsx.map +1 -0
  160. package/build/template/routes/reference.$type.$field.d.ts +1 -1
  161. package/build/template/routes/{reference.$type.$field.js → reference.$type.$field.jsx} +5 -6
  162. package/build/template/routes/reference.$type.$field.jsx.map +1 -0
  163. package/build/template/routes/reference.$type.d.ts +1 -1
  164. package/build/template/routes/{reference.$type.js → reference.$type.jsx} +5 -6
  165. package/build/template/routes/reference.$type.jsx.map +1 -0
  166. package/build/template/routes/reference.d.ts +2 -2
  167. package/build/template/routes/reference.d.ts.map +1 -1
  168. package/build/template/routes/{reference.js → reference.jsx} +12 -7
  169. package/build/template/routes/reference.jsx.map +1 -0
  170. package/build/template/routes/root.d.ts +2 -2
  171. package/build/template/routes/root.d.ts.map +1 -1
  172. package/build/template/routes/root.jsx +188 -0
  173. package/build/template/routes/root.jsx.map +1 -0
  174. package/build/template/routes.jsx +5 -0
  175. package/build/template/routes.jsx.map +1 -0
  176. package/build/template/server/app.d.ts +1 -8
  177. package/build/template/server/app.d.ts.map +1 -1
  178. package/build/template/server/app.js +21 -21
  179. package/build/template/server/app.js.map +1 -1
  180. package/build/template/server/main.js +1 -2
  181. package/build/template/server/main.js.map +1 -1
  182. package/build/template/server/render-page.d.ts +3 -0
  183. package/build/template/server/render-page.d.ts.map +1 -0
  184. package/build/template/server/{create-page-html-response.js → render-page.jsx} +17 -11
  185. package/build/template/server/render-page.jsx.map +1 -0
  186. package/build/template/server/ssg/generate.d.ts.map +1 -1
  187. package/build/template/server/ssg/generate.js +34 -33
  188. package/build/template/server/ssg/generate.js.map +1 -1
  189. package/build/template/server/ssg/get-route-paths.js +1 -1
  190. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  191. package/build/template/server/view.js +1 -1
  192. package/build/template/server/view.js.map +1 -1
  193. package/package.json +9 -66
  194. package/src/api/config/load.ts +5 -5
  195. package/src/api/config-resolver/resolve.ts +2 -2
  196. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
  197. package/src/api/singletons/markdown/markdown.test.ts +1 -1
  198. package/src/api/vite/plugins/branding/index.ts +4 -4
  199. package/src/api/vite/plugins/build.ts +89 -97
  200. package/src/api/vite/plugins/core.ts +16 -18
  201. package/src/api/vite/plugins/pages.ts +209 -135
  202. package/src/api/vite/plugins/serve.ts +14 -67
  203. package/src/cli/_/self-contained-mode.ts +5 -5
  204. package/src/lib/deployment/$$.ts +1 -1
  205. package/src/lib/deployment/$.test.ts +3 -3
  206. package/src/lib/deployment/$.ts +1 -1
  207. package/src/lib/file-router/diagnostic-reporter.ts +2 -2
  208. package/src/lib/file-router/file-router.ts +2 -0
  209. package/src/lib/file-router/linter.test.ts +0 -2
  210. package/src/lib/file-router/route.ts +0 -2
  211. package/src/lib/file-router/scan-tree.test.ts +189 -0
  212. package/src/lib/file-router/scan-tree.ts +205 -0
  213. package/src/lib/file-router/scan.ts +14 -26
  214. package/src/lib/file-router/sidebar/index.ts +3 -0
  215. package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
  216. package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
  217. package/src/lib/file-router/sidebar/types.ts +19 -0
  218. package/src/lib/kit-temp.test.ts +7 -19
  219. package/src/lib/kit-temp.ts +5 -307
  220. package/src/lib/task/$.test.ts +3 -3
  221. package/src/lib/tree/index.ts +2 -0
  222. package/src/lib/tree/tree.test.ts +117 -0
  223. package/src/lib/tree/tree.ts +183 -0
  224. package/src/lib/version-history/index.test.ts +4 -12
  225. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +58 -52
  226. package/src/package-paths.ts +3 -3
  227. package/src/sandbox.ts +1 -20
  228. package/src/singletons/debug.ts +1 -1
  229. package/src/template/components/ArgumentAnnotation.tsx +1 -1
  230. package/src/template/components/ArgumentList.tsx +1 -1
  231. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  232. package/src/template/components/DeprecationReason.tsx +1 -1
  233. package/src/template/components/Description.tsx +1 -1
  234. package/src/template/components/Field.tsx +4 -4
  235. package/src/template/components/FieldList.tsx +1 -1
  236. package/src/template/components/FieldListSection.tsx +1 -1
  237. package/src/template/components/Link.tsx +14 -22
  238. package/src/template/components/NamedType.tsx +2 -2
  239. package/src/template/components/TypeAnnotation.tsx +1 -1
  240. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  241. package/src/template/components/TypeIndex.tsx +1 -1
  242. package/src/template/components/graphql/graphql.tsx +2 -2
  243. package/src/template/components/graphql/index.ts +1 -1
  244. package/src/template/components/graphql/type-link.tsx +2 -2
  245. package/src/template/components/sidebar/Sidebar.tsx +2 -2
  246. package/src/template/components/sidebar/SidebarItem.tsx +14 -14
  247. package/src/template/entry.client.tsx +5 -2
  248. package/src/template/routes/changelog.tsx +1 -1
  249. package/src/template/routes/reference.$type.$field.tsx +3 -3
  250. package/src/template/routes/reference.$type.tsx +3 -3
  251. package/src/template/routes/reference.tsx +10 -6
  252. package/src/template/routes/root.tsx +108 -112
  253. package/src/template/routes.tsx +1 -1
  254. package/src/template/server/app.ts +23 -33
  255. package/src/template/server/main.ts +1 -2
  256. package/src/template/server/{create-page-html-response.ts → render-page.tsx} +16 -19
  257. package/src/template/server/ssg/generate.ts +72 -68
  258. package/src/template/server/ssg/get-route-paths.ts +1 -1
  259. package/src/template/server/view.ts +1 -1
  260. package/src/template/styles/code-block.css +0 -32
  261. package/build/api/content/$$.d.ts +0 -7
  262. package/build/api/content/$$.d.ts.map +0 -1
  263. package/build/api/content/$$.js +0 -7
  264. package/build/api/content/$$.js.map +0 -1
  265. package/build/api/content/$.d.ts +0 -2
  266. package/build/api/content/$.d.ts.map +0 -1
  267. package/build/api/content/$.js +0 -2
  268. package/build/api/content/$.js.map +0 -1
  269. package/build/api/content/metadata.d.ts +0 -10
  270. package/build/api/content/metadata.d.ts.map +0 -1
  271. package/build/api/content/metadata.js +0 -9
  272. package/build/api/content/metadata.js.map +0 -1
  273. package/build/api/content/navbar.d.ts +0 -10
  274. package/build/api/content/navbar.d.ts.map +0 -1
  275. package/build/api/content/navbar.js +0 -45
  276. package/build/api/content/navbar.js.map +0 -1
  277. package/build/api/content/page.d.ts +0 -11
  278. package/build/api/content/page.d.ts.map +0 -1
  279. package/build/api/content/page.js +0 -2
  280. package/build/api/content/page.js.map +0 -1
  281. package/build/api/content/scan.d.ts +0 -19
  282. package/build/api/content/scan.d.ts.map +0 -1
  283. package/build/api/content/scan.js +0 -90
  284. package/build/api/content/scan.js.map +0 -1
  285. package/build/api/content/sidebar.d.ts +0 -104
  286. package/build/api/content/sidebar.d.ts.map +0 -1
  287. package/build/api/content/sidebar.js +0 -166
  288. package/build/api/content/sidebar.js.map +0 -1
  289. package/build/api/content/utils.d.ts +0 -5
  290. package/build/api/content/utils.d.ts.map +0 -1
  291. package/build/api/content/utils.js +0 -8
  292. package/build/api/content/utils.js.map +0 -1
  293. package/build/exports/components.d.ts +0 -5
  294. package/build/exports/components.d.ts.map +0 -1
  295. package/build/exports/components.js +0 -5
  296. package/build/exports/components.js.map +0 -1
  297. package/build/lib/graphql-document/$$.d.ts +0 -5
  298. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  299. package/build/lib/graphql-document/$$.js +0 -5
  300. package/build/lib/graphql-document/$$.js.map +0 -1
  301. package/build/lib/graphql-document/$.d.ts +0 -2
  302. package/build/lib/graphql-document/$.d.ts.map +0 -1
  303. package/build/lib/graphql-document/$.js +0 -2
  304. package/build/lib/graphql-document/$.js.map +0 -1
  305. package/build/lib/graphql-document/analysis.d.ts +0 -44
  306. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  307. package/build/lib/graphql-document/analysis.js +0 -361
  308. package/build/lib/graphql-document/analysis.js.map +0 -1
  309. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  310. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  311. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  312. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  313. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  314. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  315. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -142
  316. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  317. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  318. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  319. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -45
  320. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  321. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  322. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  323. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -48
  324. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  325. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  326. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  327. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  328. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  329. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  330. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  331. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -167
  332. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  333. package/build/lib/graphql-document/components/index.d.ts +0 -6
  334. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  335. package/build/lib/graphql-document/components/index.js +0 -6
  336. package/build/lib/graphql-document/components/index.js.map +0 -1
  337. package/build/lib/graphql-document/example.d.ts +0 -25
  338. package/build/lib/graphql-document/example.d.ts.map +0 -1
  339. package/build/lib/graphql-document/example.js +0 -140
  340. package/build/lib/graphql-document/example.js.map +0 -1
  341. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  342. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  343. package/build/lib/graphql-document/graphql-document.js +0 -36
  344. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  345. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  346. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  347. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  348. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  349. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  350. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  351. package/build/lib/graphql-document/positioning-simple.js +0 -185
  352. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  353. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  354. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  355. package/build/lib/graphql-document/schema-context.js +0 -11
  356. package/build/lib/graphql-document/schema-context.js.map +0 -1
  357. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  358. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  359. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  360. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  361. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  362. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  363. package/build/lib/graphql-document/schema-integration.js +0 -328
  364. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  365. package/build/lib/graphql-document/types.d.ts +0 -117
  366. package/build/lib/graphql-document/types.d.ts.map +0 -1
  367. package/build/lib/graphql-document/types.js.map +0 -1
  368. package/build/template/components/ArgumentAnnotation.js +0 -10
  369. package/build/template/components/ArgumentAnnotation.js.map +0 -1
  370. package/build/template/components/ArgumentList.js +0 -9
  371. package/build/template/components/ArgumentList.js.map +0 -1
  372. package/build/template/components/ArgumentListAnnotation.js +0 -15
  373. package/build/template/components/ArgumentListAnnotation.js.map +0 -1
  374. package/build/template/components/Changelog.js +0 -44
  375. package/build/template/components/Changelog.js.map +0 -1
  376. package/build/template/components/CodeBlockEnhancer.d.ts +0 -2
  377. package/build/template/components/CodeBlockEnhancer.d.ts.map +0 -1
  378. package/build/template/components/CodeBlockEnhancer.js +0 -175
  379. package/build/template/components/CodeBlockEnhancer.js.map +0 -1
  380. package/build/template/components/DeprecationReason.js +0 -9
  381. package/build/template/components/DeprecationReason.js.map +0 -1
  382. package/build/template/components/Description.js +0 -9
  383. package/build/template/components/Description.js.map +0 -1
  384. package/build/template/components/Field.js +0 -14
  385. package/build/template/components/Field.js.map +0 -1
  386. package/build/template/components/FieldList.js.map +0 -1
  387. package/build/template/components/FieldListSection.js.map +0 -1
  388. package/build/template/components/HamburgerMenu.d.ts +0 -9
  389. package/build/template/components/HamburgerMenu.d.ts.map +0 -1
  390. package/build/template/components/HamburgerMenu.js +0 -30
  391. package/build/template/components/HamburgerMenu.js.map +0 -1
  392. package/build/template/components/Link.js.map +0 -1
  393. package/build/template/components/Logo.js +0 -20
  394. package/build/template/components/Logo.js.map +0 -1
  395. package/build/template/components/MDXComponents.d.ts +0 -11
  396. package/build/template/components/MDXComponents.d.ts.map +0 -1
  397. package/build/template/components/MDXComponents.js +0 -70
  398. package/build/template/components/MDXComponents.js.map +0 -1
  399. package/build/template/components/Markdown.js.map +0 -1
  400. package/build/template/components/MissingSchema.js +0 -5
  401. package/build/template/components/MissingSchema.js.map +0 -1
  402. package/build/template/components/NamedType.js +0 -12
  403. package/build/template/components/NamedType.js.map +0 -1
  404. package/build/template/components/NotFound.d.ts +0 -2
  405. package/build/template/components/NotFound.d.ts.map +0 -1
  406. package/build/template/components/NotFound.js +0 -7
  407. package/build/template/components/NotFound.js.map +0 -1
  408. package/build/template/components/RadixLink.js.map +0 -1
  409. package/build/template/components/TestComponent.d.ts +0 -5
  410. package/build/template/components/TestComponent.d.ts.map +0 -1
  411. package/build/template/components/TestComponent.js +0 -7
  412. package/build/template/components/TestComponent.js.map +0 -1
  413. package/build/template/components/Texts/MinorHeading.js.map +0 -1
  414. package/build/template/components/ThemeToggle.d.ts +0 -3
  415. package/build/template/components/ThemeToggle.d.ts.map +0 -1
  416. package/build/template/components/ThemeToggle.js +0 -9
  417. package/build/template/components/ThemeToggle.js.map +0 -1
  418. package/build/template/components/TypeAnnotation.js.map +0 -1
  419. package/build/template/components/TypeFieldsLinkList.js +0 -9
  420. package/build/template/components/TypeFieldsLinkList.js.map +0 -1
  421. package/build/template/components/TypeIndex.js +0 -17
  422. package/build/template/components/TypeIndex.js.map +0 -1
  423. package/build/template/components/content/$$.d.ts +0 -3
  424. package/build/template/components/content/$$.d.ts.map +0 -1
  425. package/build/template/components/content/$$.js +0 -3
  426. package/build/template/components/content/$$.js.map +0 -1
  427. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
  428. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
  429. package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
  430. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
  431. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
  432. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
  433. package/build/template/components/content/GraphQLDocumentWrapper.js +0 -63
  434. package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
  435. package/build/template/components/graphql/graphql.js +0 -3
  436. package/build/template/components/graphql/graphql.js.map +0 -1
  437. package/build/template/components/graphql/type-kind-icon.js.map +0 -1
  438. package/build/template/components/graphql/type-link.js +0 -11
  439. package/build/template/components/graphql/type-link.js.map +0 -1
  440. package/build/template/components/sidebar/Sidebar.js +0 -11
  441. package/build/template/components/sidebar/Sidebar.js.map +0 -1
  442. package/build/template/components/sidebar/SidebarItem.js.map +0 -1
  443. package/build/template/components/sidebar/ToggleButton.js +0 -5
  444. package/build/template/components/sidebar/ToggleButton.js.map +0 -1
  445. package/build/template/contexts/ThemeContext.d.ts +0 -12
  446. package/build/template/contexts/ThemeContext.d.ts.map +0 -1
  447. package/build/template/contexts/ThemeContext.js +0 -40
  448. package/build/template/contexts/ThemeContext.js.map +0 -1
  449. package/build/template/entry.client.js.map +0 -1
  450. package/build/template/hooks/useClientOnly.d.ts +0 -9
  451. package/build/template/hooks/useClientOnly.d.ts.map +0 -1
  452. package/build/template/hooks/useClientOnly.js +0 -16
  453. package/build/template/hooks/useClientOnly.js.map +0 -1
  454. package/build/template/routes/changelog.js.map +0 -1
  455. package/build/template/routes/index.js.map +0 -1
  456. package/build/template/routes/reference.$type.$field.js.map +0 -1
  457. package/build/template/routes/reference.$type.js.map +0 -1
  458. package/build/template/routes/reference.js.map +0 -1
  459. package/build/template/routes/root.js +0 -138
  460. package/build/template/routes/root.js.map +0 -1
  461. package/build/template/routes.js +0 -5
  462. package/build/template/routes.js.map +0 -1
  463. package/build/template/server/create-page-html-response.d.ts +0 -7
  464. package/build/template/server/create-page-html-response.d.ts.map +0 -1
  465. package/build/template/server/create-page-html-response.js.map +0 -1
  466. package/build/template/server/middleware/page.d.ts +0 -4
  467. package/build/template/server/middleware/page.d.ts.map +0 -1
  468. package/build/template/server/middleware/page.js +0 -15
  469. package/build/template/server/middleware/page.js.map +0 -1
  470. package/build/template/server/middleware/unsupported-assets.d.ts +0 -10
  471. package/build/template/server/middleware/unsupported-assets.d.ts.map +0 -1
  472. package/build/template/server/middleware/unsupported-assets.js +0 -21
  473. package/build/template/server/middleware/unsupported-assets.js.map +0 -1
  474. package/build/template/styles/code-block.css +0 -218
  475. package/src/api/content/$$.ts +0 -6
  476. package/src/api/content/$.test.ts +0 -72
  477. package/src/api/content/$.ts +0 -1
  478. package/src/api/content/metadata.ts +0 -11
  479. package/src/api/content/navbar.test.ts +0 -55
  480. package/src/api/content/navbar.ts +0 -61
  481. package/src/api/content/page.ts +0 -12
  482. package/src/api/content/scan.ts +0 -117
  483. package/src/api/content/sidebar.test.ts +0 -297
  484. package/src/api/content/sidebar.ts +0 -283
  485. package/src/api/content/utils.ts +0 -7
  486. package/src/exports/components.ts +0 -4
  487. package/src/lib/graphql-document/$$.ts +0 -4
  488. package/src/lib/graphql-document/$.test.ts +0 -132
  489. package/src/lib/graphql-document/$.ts +0 -1
  490. package/src/lib/graphql-document/README.md +0 -102
  491. package/src/lib/graphql-document/analysis.ts +0 -415
  492. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  493. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -262
  494. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  495. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -70
  496. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -197
  497. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  498. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -167
  499. package/src/lib/graphql-document/components/index.ts +0 -5
  500. package/src/lib/graphql-document/demo.md +0 -155
  501. package/src/lib/graphql-document/example.ts +0 -163
  502. package/src/lib/graphql-document/graphql-document.ts +0 -37
  503. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  504. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  505. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  506. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  507. package/src/lib/graphql-document/schema-context.tsx +0 -20
  508. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  509. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  510. package/src/lib/graphql-document/schema-integration.ts +0 -497
  511. package/src/lib/graphql-document/types.ts +0 -129
  512. package/src/template/components/CodeBlockEnhancer.tsx +0 -192
  513. package/src/template/components/HamburgerMenu.tsx +0 -96
  514. package/src/template/components/MDXComponents.tsx +0 -101
  515. package/src/template/components/NotFound.tsx +0 -28
  516. package/src/template/components/TestComponent.tsx +0 -6
  517. package/src/template/components/ThemeToggle.tsx +0 -21
  518. package/src/template/components/content/$$.ts +0 -2
  519. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
  520. package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -89
  521. package/src/template/contexts/ThemeContext.tsx +0 -60
  522. package/src/template/hooks/useClientOnly.ts +0 -21
  523. package/src/template/server/middleware/page.ts +0 -19
  524. package/src/template/server/middleware/unsupported-assets.ts +0 -25
  525. /package/build/lib/{graphql-document → file-router/sidebar}/types.js +0 -0
@@ -1,248 +0,0 @@
1
- /**
2
- * @vitest-environment jsdom
3
- */
4
-
5
- import { beforeEach, describe, expect, it } from 'vitest'
6
- import { createSimpleOverlay, createSimplePositionCalculator } from './positioning-simple.ts'
7
- import type { Identifier } from './types.ts'
8
-
9
- // Helper to create test identifier
10
- const createTestIdentifier = (
11
- name: string,
12
- line: number,
13
- column: number,
14
- kind: Identifier['kind'] = 'Field',
15
- ): Identifier => ({
16
- name,
17
- kind,
18
- position: {
19
- start: column - 1,
20
- end: column - 1 + name.length,
21
- line,
22
- column,
23
- },
24
- schemaPath: [name],
25
- context: { selectionPath: [] },
26
- })
27
-
28
- describe('Simple Positioning Engine', () => {
29
- describe('SimplePositionCalculator', () => {
30
- const calculator = createSimplePositionCalculator()
31
-
32
- it('should wrap identifiers in spans', () => {
33
- const container = document.createElement('div')
34
- container.innerHTML = `
35
- <pre class="shiki">
36
- <code>query GetUser {
37
- user {
38
- name
39
- }
40
- }</code>
41
- </pre>
42
- `
43
-
44
- const identifiers = [
45
- createTestIdentifier('query', 1, 1),
46
- createTestIdentifier('user', 2, 3, 'Field'),
47
- createTestIdentifier('name', 3, 5, 'Field'),
48
- ]
49
-
50
- const codeElement = container.querySelector('code')!
51
- calculator.prepareCodeBlock(codeElement, identifiers)
52
-
53
- // Check that identifiers were wrapped
54
- const wrappedElements = container.querySelectorAll('[data-graphql-id]')
55
- expect(wrappedElements.length).toBe(3)
56
-
57
- // Check first wrapped element
58
- const firstWrapped = wrappedElements[0] as HTMLElement
59
- expect(firstWrapped.textContent).toBe('query')
60
- expect(firstWrapped.getAttribute('data-graphql-name')).toBe('query')
61
- expect(firstWrapped.getAttribute('data-graphql-kind')).toBe('Field')
62
- })
63
-
64
- it('should handle multiple identifiers in same line', () => {
65
- const container = document.createElement('div')
66
- container.innerHTML = `
67
- <pre class="shiki">
68
- <code>query GetUserById($id: ID!) {</code>
69
- </pre>
70
- `
71
-
72
- const identifiers = [
73
- createTestIdentifier('query', 1, 1),
74
- createTestIdentifier('GetUserById', 1, 7),
75
- createTestIdentifier('$id', 1, 19, 'Variable'),
76
- createTestIdentifier('ID', 1, 24, 'Type'),
77
- ]
78
-
79
- const codeElement = container.querySelector('code')!
80
- calculator.prepareCodeBlock(codeElement, identifiers)
81
-
82
- const wrappedElements = container.querySelectorAll('[data-graphql-id]')
83
- expect(wrappedElements.length).toBe(4)
84
- })
85
-
86
- it('should get positions of wrapped identifiers', () => {
87
- const container = document.createElement('div')
88
- container.innerHTML = `
89
- <pre class="shiki">
90
- <code>
91
- <span class="line"><span data-graphql-id="0-user-Field" data-graphql-name="user" data-graphql-kind="Field" data-graphql-start="0" data-graphql-end="4" data-graphql-line="1" data-graphql-column="1" data-graphql-path="user">user</span> {</span>
92
- </code>
93
- </pre>
94
- `
95
-
96
- // Mock getBoundingClientRect
97
- container.getBoundingClientRect = () => ({
98
- top: 0,
99
- left: 0,
100
- right: 100,
101
- bottom: 100,
102
- width: 100,
103
- height: 100,
104
- x: 0,
105
- y: 0,
106
- toJSON: () => ({}),
107
- })
108
-
109
- const userSpan = container.querySelector('[data-graphql-id]') as HTMLElement
110
- userSpan.getBoundingClientRect = () => ({
111
- top: 10,
112
- left: 20,
113
- right: 60,
114
- bottom: 30,
115
- width: 40,
116
- height: 20,
117
- x: 20,
118
- y: 10,
119
- toJSON: () => ({}),
120
- })
121
-
122
- const positions = calculator.getIdentifierPositions(container)
123
-
124
- expect(positions.size).toBe(1)
125
- const result = positions.get('0-user-Field')
126
- expect(result).toBeDefined()
127
- expect(result!.position).toEqual({
128
- top: 10,
129
- left: 20,
130
- width: 40,
131
- height: 20,
132
- })
133
- expect(result!.identifier.name).toBe('user')
134
- expect(result!.identifier.kind).toBe('Field')
135
- })
136
-
137
- it('should skip already wrapped identifiers', () => {
138
- const container = document.createElement('div')
139
- container.innerHTML = `
140
- <pre class="shiki">
141
- <code><span data-graphql-id="existing">user</span> {</code>
142
- </pre>
143
- `
144
-
145
- const identifiers = [
146
- createTestIdentifier('user', 1, 1),
147
- ]
148
-
149
- const codeElement = container.querySelector('code')!
150
- calculator.prepareCodeBlock(codeElement, identifiers)
151
-
152
- // Should still only have one wrapped element
153
- const wrappedElements = container.querySelectorAll('[data-graphql-id]')
154
- expect(wrappedElements.length).toBe(1)
155
- expect(wrappedElements[0]!.getAttribute('data-graphql-id')).toBe('existing')
156
- })
157
-
158
- it('should handle empty lines gracefully', () => {
159
- const container = document.createElement('div')
160
- container.innerHTML = `
161
- <pre class="shiki">
162
- <code>query {
163
-
164
- user</code>
165
- </pre>
166
- `
167
-
168
- const identifiers = [
169
- createTestIdentifier('query', 1, 1),
170
- createTestIdentifier('user', 3, 3),
171
- ]
172
-
173
- const codeElement = container.querySelector('code')!
174
- expect(() => {
175
- calculator.prepareCodeBlock(codeElement, identifiers)
176
- }).not.toThrow()
177
-
178
- const wrappedElements = container.querySelectorAll('[data-graphql-id]')
179
- expect(wrappedElements.length).toBe(2)
180
- })
181
- })
182
-
183
- describe('createSimpleOverlay', () => {
184
- it('should create positioned overlay element', () => {
185
- const position = { top: 10, left: 20, width: 40, height: 20 }
186
- const identifier = createTestIdentifier('user', 1, 1)
187
-
188
- const overlay = createSimpleOverlay(position, identifier)
189
-
190
- expect(overlay.style.position).toBe('absolute')
191
- expect(overlay.style.top).toBe('10px')
192
- expect(overlay.style.left).toBe('20px')
193
- expect(overlay.style.width).toBe('40px')
194
- expect(overlay.style.height).toBe('20px')
195
- expect(overlay.style.cursor).toBe('pointer')
196
- expect(overlay.getAttribute('data-graphql-overlay')).toBe('true')
197
- expect(overlay.getAttribute('data-graphql-name')).toBe('user')
198
- expect(overlay.getAttribute('data-graphql-kind')).toBe('Field')
199
- })
200
-
201
- it('should handle click events', () => {
202
- const position = { top: 10, left: 20, width: 40, height: 20 }
203
- const identifier = createTestIdentifier('user', 1, 1)
204
- let clickedIdentifier: Identifier | null = null
205
-
206
- const overlay = createSimpleOverlay(position, identifier, {
207
- onClick: (id) => {
208
- clickedIdentifier = id
209
- },
210
- })
211
-
212
- // Simulate click
213
- const event = new MouseEvent('click')
214
- overlay.dispatchEvent(event)
215
-
216
- expect(clickedIdentifier).toBe(identifier)
217
- })
218
-
219
- it('should handle hover events', () => {
220
- const position = { top: 10, left: 20, width: 40, height: 20 }
221
- const identifier = createTestIdentifier('user', 1, 1)
222
- let hoveredIdentifier: Identifier | null = null
223
-
224
- const overlay = createSimpleOverlay(position, identifier, {
225
- onHover: (id) => {
226
- hoveredIdentifier = id
227
- },
228
- })
229
-
230
- // Simulate hover
231
- const event = new MouseEvent('mouseenter')
232
- overlay.dispatchEvent(event)
233
-
234
- expect(hoveredIdentifier).toBe(identifier)
235
- })
236
-
237
- it('should apply custom className', () => {
238
- const position = { top: 10, left: 20, width: 40, height: 20 }
239
- const identifier = createTestIdentifier('user', 1, 1)
240
-
241
- const overlay = createSimpleOverlay(position, identifier, {
242
- className: 'custom-overlay-class',
243
- })
244
-
245
- expect(overlay.className).toBe('custom-overlay-class')
246
- })
247
- })
248
- })
@@ -1,260 +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
- import type { Identifier } from './types.ts'
9
-
10
- /**
11
- * DOM position for rendering overlays
12
- */
13
- export interface DOMPosition {
14
- /** Distance from top of container in pixels */
15
- top: number
16
- /** Distance from left of container in pixels */
17
- left: number
18
- /** Width of the identifier in pixels */
19
- width: number
20
- /** Height of the identifier in pixels */
21
- height: number
22
- }
23
-
24
- /**
25
- * Position calculation result
26
- */
27
- export interface PositionResult {
28
- /** The calculated DOM position */
29
- position: DOMPosition
30
- /** The identifier this position is for */
31
- identifier: Identifier
32
- }
33
-
34
- /**
35
- * Simplified position calculator for Shiki-rendered code
36
- *
37
- * This version uses a more straightforward approach:
38
- * 1. Find the line element by line number
39
- * 2. Search for the identifier text within that line
40
- * 3. Create a span around the identifier for positioning
41
- *
42
- * This approach modifies the DOM but is more reliable for testing
43
- * and works well with React's reconciliation.
44
- */
45
- export class SimplePositionCalculator {
46
- /**
47
- * Prepare a code block for positioning by wrapping identifiers in spans
48
- */
49
- prepareCodeBlock(
50
- containerElement: Element,
51
- identifiers: Identifier[],
52
- ): void {
53
- // Get the full text content of the container
54
- const fullText = containerElement.textContent || ''
55
- const lines = fullText.split('\n')
56
-
57
- // Build a map of line start positions in the full text
58
- const lineStartPositions: number[] = [0]
59
- for (let i = 0; i < lines.length - 1; i++) {
60
- const lineLength = lines[i]?.length ?? 0
61
- lineStartPositions.push(lineStartPositions[i]! + lineLength + 1) // +1 for newline
62
- }
63
-
64
- // Process identifiers by line
65
- for (const identifier of identifiers) {
66
- const lineIndex = identifier.position.line - 1
67
- if (lineIndex >= lines.length || lineIndex < 0) continue
68
-
69
- const lineText = lines[lineIndex]
70
- if (!lineText) continue
71
-
72
- const columnIndex = identifier.position.column - 1
73
-
74
- // Check if the identifier exists at the expected position
75
- if (lineText.substring(columnIndex).startsWith(identifier.name)) {
76
- // Calculate the absolute position in the full text
77
- const lineStartPosition = lineStartPositions[lineIndex] ?? 0
78
- const absolutePosition = lineStartPosition + columnIndex
79
-
80
- // Check if already wrapped at this specific position
81
- const existingWrapped = containerElement.querySelectorAll(`[data-graphql-id]`)
82
- let alreadyWrapped = false
83
- for (const wrapped of existingWrapped) {
84
- if (wrapped.textContent === identifier.name) {
85
- const startPos = parseInt(wrapped.getAttribute('data-graphql-start') || '0')
86
- if (startPos === identifier.position.start) {
87
- alreadyWrapped = true
88
- break
89
- }
90
- }
91
- }
92
- if (alreadyWrapped) continue
93
-
94
- // Create wrapper span
95
- const wrapper = document.createElement('span')
96
- const id = `${identifier.position.start}-${identifier.name}-${identifier.kind}`
97
- wrapper.setAttribute('data-graphql-id', id)
98
- wrapper.setAttribute('data-graphql-name', identifier.name)
99
- wrapper.setAttribute('data-graphql-kind', identifier.kind)
100
- wrapper.setAttribute('data-graphql-start', String(identifier.position.start))
101
- wrapper.setAttribute('data-graphql-end', String(identifier.position.end))
102
- wrapper.setAttribute('data-graphql-line', String(identifier.position.line))
103
- wrapper.setAttribute('data-graphql-column', String(identifier.position.column))
104
- wrapper.setAttribute('data-graphql-path', identifier.schemaPath.join(','))
105
-
106
- // Find the position in the container and wrap the text
107
- const walker = document.createTreeWalker(
108
- containerElement,
109
- NodeFilter.SHOW_TEXT,
110
- null,
111
- )
112
-
113
- let currentPos = 0
114
- let node: Node | null
115
-
116
- while (node = walker.nextNode()) {
117
- const textNode = node as Text
118
- const text = textNode.textContent || ''
119
-
120
- // Check if this text node contains our identifier
121
- if (currentPos <= absolutePosition && absolutePosition < currentPos + text.length) {
122
- const relativePos = absolutePosition - currentPos
123
-
124
- if (text.substring(relativePos).startsWith(identifier.name)) {
125
- // Split the text node
126
- const before = text.substring(0, relativePos)
127
- const identifierText = identifier.name
128
- const after = text.substring(relativePos + identifierText.length)
129
-
130
- const parent = textNode.parentNode!
131
-
132
- if (before) {
133
- parent.insertBefore(document.createTextNode(before), textNode)
134
- }
135
-
136
- wrapper.textContent = identifierText
137
- parent.insertBefore(wrapper, textNode)
138
-
139
- if (after) {
140
- parent.insertBefore(document.createTextNode(after), textNode)
141
- }
142
-
143
- parent.removeChild(textNode)
144
- break
145
- }
146
- }
147
-
148
- currentPos += text.length
149
- }
150
- }
151
- }
152
- }
153
-
154
- /**
155
- * Get positions of all wrapped identifiers
156
- */
157
- getIdentifierPositions(
158
- containerElement: Element,
159
- relativeToElement?: Element,
160
- ): Map<string, PositionResult> {
161
- const results = new Map<string, PositionResult>()
162
-
163
- // Find all wrapped identifiers
164
- const wrappedIdentifiers = containerElement.querySelectorAll('[data-graphql-id]')
165
-
166
- // Use the provided element for relative positioning, or the container itself
167
- const referenceElement = relativeToElement || containerElement
168
-
169
- for (const element of wrappedIdentifiers) {
170
- const id = element.getAttribute('data-graphql-id')
171
- if (!id) continue
172
-
173
- // Get position relative to the reference element
174
- const referenceRect = referenceElement.getBoundingClientRect()
175
- const elementRect = element.getBoundingClientRect()
176
-
177
- const position: DOMPosition = {
178
- top: elementRect.top - referenceRect.top,
179
- left: elementRect.left - referenceRect.left,
180
- width: elementRect.width,
181
- height: elementRect.height,
182
- }
183
-
184
- // Reconstruct identifier from data attributes
185
- const identifier: Identifier = {
186
- name: element.getAttribute('data-graphql-name') || '',
187
- kind: (element.getAttribute('data-graphql-kind') || 'Field') as Identifier['kind'],
188
- position: {
189
- start: parseInt(element.getAttribute('data-graphql-start') || '0'),
190
- end: parseInt(element.getAttribute('data-graphql-end') || '0'),
191
- line: parseInt(element.getAttribute('data-graphql-line') || '1'),
192
- column: parseInt(element.getAttribute('data-graphql-column') || '1'),
193
- },
194
- schemaPath: (element.getAttribute('data-graphql-path') || '').split(',').filter(Boolean),
195
- context: { selectionPath: [] },
196
- }
197
-
198
- results.set(id, { position, identifier })
199
- }
200
-
201
- return results
202
- }
203
- }
204
-
205
- /**
206
- * Create invisible overlay for a position
207
- */
208
- export const createSimpleOverlay = (
209
- position: DOMPosition,
210
- identifier: Identifier,
211
- options?: {
212
- onClick?: (identifier: Identifier) => void
213
- onHover?: (identifier: Identifier, event: MouseEvent) => void
214
- className?: string
215
- },
216
- ): HTMLElement => {
217
- const overlay = document.createElement('div')
218
-
219
- // Base styles for positioning
220
- overlay.style.position = 'absolute'
221
- overlay.style.top = `${position.top}px`
222
- overlay.style.left = `${position.left}px`
223
- overlay.style.width = `${position.width}px`
224
- overlay.style.height = `${position.height}px`
225
- overlay.style.cursor = 'pointer'
226
- overlay.style.zIndex = '10'
227
-
228
- // Add custom class if provided
229
- if (options?.className) {
230
- overlay.className = options.className
231
- }
232
-
233
- // Data attributes
234
- overlay.setAttribute('data-graphql-overlay', 'true')
235
- overlay.setAttribute('data-graphql-name', identifier.name)
236
- overlay.setAttribute('data-graphql-kind', identifier.kind)
237
-
238
- // Event handlers
239
- if (options?.onClick) {
240
- overlay.addEventListener('click', (e) => {
241
- e.preventDefault()
242
- options.onClick!(identifier)
243
- })
244
- }
245
-
246
- if (options?.onHover) {
247
- overlay.addEventListener('mouseenter', (e) => {
248
- options.onHover!(identifier, e)
249
- })
250
- }
251
-
252
- return overlay
253
- }
254
-
255
- /**
256
- * Factory function for position calculator
257
- */
258
- export const createSimplePositionCalculator = (): SimplePositionCalculator => {
259
- return new SimplePositionCalculator()
260
- }
@@ -1,20 +0,0 @@
1
- import type { GraphQLSchema } from 'graphql'
2
- import React from 'react'
3
-
4
- export const GraphQLSchemaContext = React.createContext<GraphQLSchema | null>(null)
5
-
6
- export const useGraphQLSchema = () => {
7
- const schema = React.useContext(GraphQLSchemaContext)
8
- return schema
9
- }
10
-
11
- export const GraphQLSchemaProvider: React.FC<React.PropsWithChildren<{ schema: GraphQLSchema | null }>> = ({
12
- children,
13
- schema,
14
- }) => {
15
- return (
16
- <GraphQLSchemaContext.Provider value={schema}>
17
- {children}
18
- </GraphQLSchemaContext.Provider>
19
- )
20
- }