polen 0.10.0 → 0.11.0-next.1

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 (314) 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 +20 -3
  6. package/build/api/config/configurator.d.ts.map +1 -1
  7. package/build/api/config/configurator.js +27 -3
  8. package/build/api/config/configurator.js.map +1 -1
  9. package/build/api/schema/data-sources/memory/memory.d.ts +2 -2
  10. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  11. package/build/api/schema/data-sources/memory/memory.js +1 -3
  12. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  13. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts +7 -3
  14. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts.map +1 -1
  15. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +15 -11
  16. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  17. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +16 -7
  18. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  19. package/build/api/schema/data-sources/schema-directory/schema-directory.js +26 -7
  20. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  21. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +7 -2
  22. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  23. package/build/api/schema/data-sources/schema-file/schema-file.js +13 -5
  24. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  25. package/build/api/schema/metadata.d.ts +8 -0
  26. package/build/api/schema/metadata.d.ts.map +1 -0
  27. package/build/api/schema/metadata.js +19 -0
  28. package/build/api/schema/metadata.js.map +1 -0
  29. package/build/api/schema/read.d.ts +3 -3
  30. package/build/api/schema/read.d.ts.map +1 -1
  31. package/build/api/schema/read.js.map +1 -1
  32. package/build/api/schema/schema.d.ts +33 -2
  33. package/build/api/schema/schema.d.ts.map +1 -1
  34. package/build/api/schema/schema.js +42 -0
  35. package/build/api/schema/schema.js.map +1 -1
  36. package/build/api/schema-source/index.d.ts +2 -0
  37. package/build/api/schema-source/index.d.ts.map +1 -0
  38. package/build/api/schema-source/index.js +2 -0
  39. package/build/api/schema-source/index.js.map +1 -0
  40. package/build/api/schema-source/schema-source.d.ts +33 -0
  41. package/build/api/schema-source/schema-source.d.ts.map +1 -0
  42. package/build/api/schema-source/schema-source.js +137 -0
  43. package/build/api/schema-source/schema-source.js.map +1 -0
  44. package/build/api/vite/plugins/core.d.ts +1 -0
  45. package/build/api/vite/plugins/core.d.ts.map +1 -1
  46. package/build/api/vite/plugins/core.js +21 -18
  47. package/build/api/vite/plugins/core.js.map +1 -1
  48. package/build/api/vite/plugins/schema-assets.d.ts +22 -0
  49. package/build/api/vite/plugins/schema-assets.d.ts.map +1 -0
  50. package/build/api/vite/plugins/schema-assets.js +269 -0
  51. package/build/api/vite/plugins/schema-assets.js.map +1 -0
  52. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  53. package/build/api/vite/plugins/serve.js +11 -0
  54. package/build/api/vite/plugins/serve.js.map +1 -1
  55. package/build/lib/graphql-change/change-groups.d.ts +2 -0
  56. package/build/lib/graphql-change/change-groups.d.ts.map +1 -1
  57. package/build/lib/graphql-change/change-groups.js +54 -0
  58. package/build/lib/graphql-change/change-groups.js.map +1 -1
  59. package/build/lib/kit-temp.d.ts +9 -0
  60. package/build/lib/kit-temp.d.ts.map +1 -1
  61. package/build/lib/kit-temp.js +12 -0
  62. package/build/lib/kit-temp.js.map +1 -1
  63. package/build/lib/path-map/path-map.d.ts.map +1 -1
  64. package/build/lib/path-map/path-map.js +3 -1
  65. package/build/lib/path-map/path-map.js.map +1 -1
  66. package/build/project-data.d.ts +3 -11
  67. package/build/project-data.d.ts.map +1 -1
  68. package/build/template/components/Changelog.d.ts +3 -3
  69. package/build/template/components/Changelog.d.ts.map +1 -1
  70. package/build/template/components/Changelog.js +8 -84
  71. package/build/template/components/Changelog.js.map +1 -1
  72. package/build/template/components/CodeBlock.d.ts +2 -0
  73. package/build/template/components/CodeBlock.d.ts.map +1 -1
  74. package/build/template/components/CodeBlock.js +1 -4
  75. package/build/template/components/CodeBlock.js.map +1 -1
  76. package/build/template/components/ComponentDispatch.d.ts +34 -0
  77. package/build/template/components/ComponentDispatch.d.ts.map +1 -0
  78. package/build/template/components/ComponentDispatch.js +33 -0
  79. package/build/template/components/ComponentDispatch.js.map +1 -0
  80. package/build/template/components/ReferenceLink.d.ts +19 -0
  81. package/build/template/components/ReferenceLink.d.ts.map +1 -0
  82. package/build/template/components/ReferenceLink.js +19 -0
  83. package/build/template/components/ReferenceLink.js.map +1 -0
  84. package/build/template/components/TypeAnnotation.d.ts.map +1 -1
  85. package/build/template/components/TypeAnnotation.js +3 -3
  86. package/build/template/components/TypeAnnotation.js.map +1 -1
  87. package/build/template/components/TypeFieldsLinkList.d.ts.map +1 -1
  88. package/build/template/components/TypeFieldsLinkList.js +4 -4
  89. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  90. package/build/template/components/TypeIndex.js +2 -2
  91. package/build/template/components/TypeIndex.js.map +1 -1
  92. package/build/template/components/VersionSelector.d.ts +7 -0
  93. package/build/template/components/VersionSelector.d.ts.map +1 -0
  94. package/build/template/components/VersionSelector.js +30 -0
  95. package/build/template/components/VersionSelector.js.map +1 -0
  96. package/build/template/components/graphql/type-link.d.ts.map +1 -1
  97. package/build/template/components/graphql/type-link.js +2 -2
  98. package/build/template/components/graphql/type-link.js.map +1 -1
  99. package/build/template/hooks/useVersionPath.d.ts +6 -0
  100. package/build/template/hooks/useVersionPath.d.ts.map +1 -0
  101. package/build/template/hooks/useVersionPath.js +10 -0
  102. package/build/template/hooks/useVersionPath.js.map +1 -0
  103. package/build/template/layouts/ChangelogLayout.d.ts.map +1 -0
  104. package/build/template/{components → layouts}/ChangelogLayout.js +1 -1
  105. package/build/template/layouts/ChangelogLayout.js.map +1 -0
  106. package/build/template/layouts/index.d.ts +1 -0
  107. package/build/template/layouts/index.d.ts.map +1 -1
  108. package/build/template/layouts/index.js +1 -0
  109. package/build/template/layouts/index.js.map +1 -1
  110. package/build/template/lib/fetch-text.d.ts +8 -0
  111. package/build/template/lib/fetch-text.d.ts.map +1 -0
  112. package/build/template/lib/fetch-text.js +14 -0
  113. package/build/template/lib/fetch-text.js.map +1 -0
  114. package/build/template/lib/polen-url.d.ts +14 -0
  115. package/build/template/lib/polen-url.d.ts.map +1 -1
  116. package/build/template/lib/polen-url.js +16 -0
  117. package/build/template/lib/polen-url.js.map +1 -1
  118. package/build/template/lib/schema-utils/constants.d.ts +5 -0
  119. package/build/template/lib/schema-utils/constants.d.ts.map +1 -0
  120. package/build/template/lib/schema-utils/constants.js +5 -0
  121. package/build/template/lib/schema-utils/constants.js.map +1 -0
  122. package/build/template/lib/schema-utils/schema-utils.d.ts +15 -0
  123. package/build/template/lib/schema-utils/schema-utils.d.ts.map +1 -0
  124. package/build/template/lib/schema-utils/schema-utils.js +37 -0
  125. package/build/template/lib/schema-utils/schema-utils.js.map +1 -0
  126. package/build/template/routes/changelog.d.ts +4 -3
  127. package/build/template/routes/changelog.d.ts.map +1 -1
  128. package/build/template/routes/changelog.js +13 -7
  129. package/build/template/routes/changelog.js.map +1 -1
  130. package/build/template/routes/pages.d.ts +10 -0
  131. package/build/template/routes/pages.d.ts.map +1 -0
  132. package/build/template/routes/pages.js +76 -0
  133. package/build/template/routes/pages.js.map +1 -0
  134. package/build/template/routes/reference.$type.$field.js +1 -1
  135. package/build/template/routes/reference.$type.$field.js.map +1 -1
  136. package/build/template/routes/reference.$type.d.ts +4 -0
  137. package/build/template/routes/reference.$type.d.ts.map +1 -1
  138. package/build/template/routes/reference.$type.js +2 -0
  139. package/build/template/routes/reference.$type.js.map +1 -1
  140. package/build/template/routes/reference.d.ts +9 -3
  141. package/build/template/routes/reference.d.ts.map +1 -1
  142. package/build/template/routes/reference.js +30 -8
  143. package/build/template/routes/reference.js.map +1 -1
  144. package/build/template/routes/reference.version.$version.$type.$field.d.ts +6 -0
  145. package/build/template/routes/reference.version.$version.$type.$field.d.ts.map +1 -0
  146. package/build/template/routes/reference.version.$version.$type.$field.js +32 -0
  147. package/build/template/routes/reference.version.$version.$type.$field.js.map +1 -0
  148. package/build/template/routes/reference.version.$version.$type.d.ts +11 -0
  149. package/build/template/routes/reference.version.$version.$type.d.ts.map +1 -0
  150. package/build/template/routes/reference.version.$version.$type.js +26 -0
  151. package/build/template/routes/reference.version.$version.$type.js.map +1 -0
  152. package/build/template/routes/root.d.ts.map +1 -1
  153. package/build/template/routes/root.js +8 -72
  154. package/build/template/routes/root.js.map +1 -1
  155. package/build/template/server/app.d.ts +22 -1
  156. package/build/template/server/app.d.ts.map +1 -1
  157. package/build/template/server/app.js +19 -9
  158. package/build/template/server/app.js.map +1 -1
  159. package/build/template/server/main.js +9 -1
  160. package/build/template/server/main.js.map +1 -1
  161. package/build/template/server/ssg/generate.js +2 -2
  162. package/build/template/server/ssg/generate.js.map +1 -1
  163. package/build/template/server/ssg/get-route-paths.d.ts +1 -1
  164. package/build/template/server/ssg/get-route-paths.d.ts.map +1 -1
  165. package/build/template/server/ssg/get-route-paths.js +51 -27
  166. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  167. package/build/template/sources/schema-source.d.ts +15 -0
  168. package/build/template/sources/schema-source.d.ts.map +1 -0
  169. package/build/template/sources/schema-source.js +63 -0
  170. package/build/template/sources/schema-source.js.map +1 -0
  171. package/package.json +1 -1
  172. package/src/api/api.ts +1 -0
  173. package/src/api/config/configurator.ts +51 -6
  174. package/src/api/schema/data-sources/memory/memory.ts +3 -5
  175. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +29 -13
  176. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +56 -16
  177. package/src/api/schema/data-sources/schema-file/schema-file.ts +16 -7
  178. package/src/api/schema/metadata.ts +23 -0
  179. package/src/api/schema/read.ts +3 -3
  180. package/src/api/schema/schema.ts +62 -2
  181. package/src/api/schema-source/index.ts +1 -0
  182. package/src/api/schema-source/schema-source.ts +189 -0
  183. package/src/api/vite/plugins/core.ts +23 -18
  184. package/src/api/vite/plugins/schema-assets.ts +317 -0
  185. package/src/api/vite/plugins/serve.ts +15 -8
  186. package/src/lib/graphql-change/change-groups.ts +57 -0
  187. package/src/lib/kit-temp.ts +13 -0
  188. package/src/lib/path-map/$.test.ts +22 -19
  189. package/src/lib/path-map/path-map.ts +3 -1
  190. package/src/project-data.ts +3 -11
  191. package/src/template/components/Changelog.tsx +16 -67
  192. package/src/template/components/CodeBlock.tsx +3 -5
  193. package/src/template/components/ComponentDispatch.tsx +42 -0
  194. package/src/template/components/ReferenceLink.tsx +34 -0
  195. package/src/template/components/TypeAnnotation.tsx +5 -7
  196. package/src/template/components/TypeFieldsLinkList.tsx +20 -23
  197. package/src/template/components/TypeIndex.tsx +10 -12
  198. package/src/template/components/VersionSelector.tsx +50 -0
  199. package/src/template/components/graphql/type-link.tsx +4 -3
  200. package/src/template/hooks/useVersionPath.ts +10 -0
  201. package/src/template/{components → layouts}/ChangelogLayout.tsx +1 -1
  202. package/src/template/layouts/index.ts +1 -0
  203. package/src/template/lib/fetch-text.ts +13 -0
  204. package/src/template/lib/polen-url.ts +20 -0
  205. package/src/template/lib/schema-utils/constants.ts +4 -0
  206. package/src/template/lib/schema-utils/schema-utils.ts +42 -0
  207. package/src/template/routes/changelog.tsx +17 -8
  208. package/src/template/routes/pages.tsx +109 -0
  209. package/src/template/routes/reference.$type.$field.tsx +1 -1
  210. package/src/template/routes/reference.$type.tsx +2 -0
  211. package/src/template/routes/reference.tsx +38 -6
  212. package/src/template/routes/reference.version.$version.$type.$field.tsx +35 -0
  213. package/src/template/routes/reference.version.$version.$type.tsx +30 -0
  214. package/src/template/routes/root.tsx +8 -109
  215. package/src/template/server/app.ts +47 -14
  216. package/src/template/server/main.ts +9 -1
  217. package/src/template/server/ssg/generate.ts +2 -2
  218. package/src/template/server/ssg/get-route-paths.ts +53 -27
  219. package/src/template/sources/schema-source.ts +68 -0
  220. package/build/lib/graphql-document/$$.d.ts +0 -5
  221. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  222. package/build/lib/graphql-document/$$.js +0 -5
  223. package/build/lib/graphql-document/$$.js.map +0 -1
  224. package/build/lib/graphql-document/$.d.ts +0 -2
  225. package/build/lib/graphql-document/$.d.ts.map +0 -1
  226. package/build/lib/graphql-document/$.js +0 -2
  227. package/build/lib/graphql-document/$.js.map +0 -1
  228. package/build/lib/graphql-document/analysis.d.ts +0 -44
  229. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  230. package/build/lib/graphql-document/analysis.js +0 -361
  231. package/build/lib/graphql-document/analysis.js.map +0 -1
  232. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  233. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  234. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -151
  235. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  236. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  237. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  238. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -27
  239. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  240. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  241. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  242. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -50
  243. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  244. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  245. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  246. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  247. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  248. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  249. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  250. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -144
  251. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  252. package/build/lib/graphql-document/components/index.d.ts +0 -5
  253. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  254. package/build/lib/graphql-document/components/index.js +0 -5
  255. package/build/lib/graphql-document/components/index.js.map +0 -1
  256. package/build/lib/graphql-document/example.d.ts +0 -25
  257. package/build/lib/graphql-document/example.d.ts.map +0 -1
  258. package/build/lib/graphql-document/example.js +0 -140
  259. package/build/lib/graphql-document/example.js.map +0 -1
  260. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  261. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  262. package/build/lib/graphql-document/graphql-document.js +0 -36
  263. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  264. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  265. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  266. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  267. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  268. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  269. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  270. package/build/lib/graphql-document/positioning-simple.js +0 -185
  271. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  272. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  273. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  274. package/build/lib/graphql-document/schema-context.js +0 -11
  275. package/build/lib/graphql-document/schema-context.js.map +0 -1
  276. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  277. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  278. package/build/lib/graphql-document/schema-integration.js +0 -328
  279. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  280. package/build/lib/graphql-document/types.d.ts +0 -117
  281. package/build/lib/graphql-document/types.d.ts.map +0 -1
  282. package/build/lib/graphql-document/types.js +0 -2
  283. package/build/lib/graphql-document/types.js.map +0 -1
  284. package/build/template/components/ChangelogLayout.d.ts.map +0 -1
  285. package/build/template/components/ChangelogLayout.js.map +0 -1
  286. package/build/template/components/CodeHikePre.d.ts +0 -16
  287. package/build/template/components/CodeHikePre.d.ts.map +0 -1
  288. package/build/template/components/CodeHikePre.js +0 -37
  289. package/build/template/components/CodeHikePre.js.map +0 -1
  290. package/src/lib/graphql-document/$$.ts +0 -4
  291. package/src/lib/graphql-document/$.test.ts +0 -132
  292. package/src/lib/graphql-document/$.ts +0 -1
  293. package/src/lib/graphql-document/README.md +0 -102
  294. package/src/lib/graphql-document/analysis.ts +0 -415
  295. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -265
  296. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  297. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -46
  298. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -199
  299. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  300. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -144
  301. package/src/lib/graphql-document/components/index.ts +0 -4
  302. package/src/lib/graphql-document/demo.md +0 -155
  303. package/src/lib/graphql-document/example.ts +0 -163
  304. package/src/lib/graphql-document/graphql-document.ts +0 -37
  305. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  306. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  307. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  308. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  309. package/src/lib/graphql-document/schema-context.tsx +0 -20
  310. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  311. package/src/lib/graphql-document/schema-integration.ts +0 -488
  312. package/src/lib/graphql-document/types.ts +0 -129
  313. package/src/template/components/CodeHikePre.tsx +0 -51
  314. /package/build/template/{components → layouts}/ChangelogLayout.d.ts +0 -0
@@ -1,38 +0,0 @@
1
- import type { React } from '#dep/react/index';
2
- import type { GraphQLSchema } from 'graphql';
3
- /**
4
- * Options for the GraphQL document component
5
- */
6
- export interface GraphQLDocumentOptions {
7
- /** Whether to show debug overlays */
8
- debug?: boolean;
9
- /** Whether to disable interactive features */
10
- plain?: boolean;
11
- /** Custom navigation handler */
12
- onNavigate?: (url: string) => void;
13
- /** Whether to validate against schema */
14
- validate?: boolean;
15
- /** Custom class name for the container */
16
- className?: string;
17
- /** Custom render function for the code block */
18
- renderCode?: () => React.ReactNode;
19
- }
20
- /**
21
- * Props for the GraphQL document component
22
- */
23
- export interface GraphQLDocumentProps {
24
- /** The GraphQL document source code */
25
- children: string;
26
- /** GraphQL schema for validation and linking */
27
- schema?: GraphQLSchema;
28
- /** Component options */
29
- options?: GraphQLDocumentOptions;
30
- }
31
- /**
32
- * Interactive GraphQL document component
33
- *
34
- * Transforms static GraphQL code blocks into interactive documentation
35
- * with hyperlinks, tooltips, and schema validation.
36
- */
37
- export declare const GraphQLDocument: React.FC<GraphQLDocumentProps>;
38
- //# sourceMappingURL=GraphQLDocument.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLDocument.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLDocument.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAU5C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gCAAgC;IAChC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,wBAAwB;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwN1D,CAAA"}
@@ -1,151 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { React as ReactHooks } from '#dep/react/index';
3
- import { useNavigate } from 'react-router';
4
- import { analyze } from '../analysis.js';
5
- import { useTooltipState } from '../hooks/use-tooltip-state.js';
6
- import { createSimplePositionCalculator } from '../positioning-simple.js';
7
- import { createPolenSchemaResolver } from '../schema-integration.js';
8
- import { graphqlDocumentStyles } from './graphql-document-styles.js';
9
- import { IdentifierLink } from './IdentifierLink.js';
10
- /**
11
- * Interactive GraphQL document component
12
- *
13
- * Transforms static GraphQL code blocks into interactive documentation
14
- * with hyperlinks, tooltips, and schema validation.
15
- */
16
- export const GraphQLDocument = ({ children, schema, options = {}, }) => {
17
- const { debug = false, plain = false, onNavigate, validate = true, className = ``, renderCode, } = options;
18
- const navigate = useNavigate();
19
- const handleNavigate = onNavigate || ((url) => navigate(url));
20
- // Container ref for positioning calculations
21
- const containerRef = ReactHooks.useRef(null);
22
- const [isReady, setIsReady] = ReactHooks.useState(false);
23
- // Use tooltip state management
24
- const tooltipState = useTooltipState({
25
- showDelay: 300,
26
- hideDelay: 200, // Increased for smoother experience
27
- allowMultiplePins: true,
28
- });
29
- // Handle escape key to unpin all
30
- ReactHooks.useEffect(() => {
31
- const handleKeyDown = (event) => {
32
- if (event.key === `Escape`) {
33
- tooltipState.unpinAll();
34
- }
35
- };
36
- document.addEventListener(`keydown`, handleKeyDown);
37
- return () => {
38
- document.removeEventListener(`keydown`, handleKeyDown);
39
- };
40
- }, [tooltipState]);
41
- // Layer 1: Parse and analyze
42
- const analysisResult = ReactHooks.useMemo(() => {
43
- if (plain)
44
- return null;
45
- const result = analyze(children, { schema });
46
- // Debug logging handled by debug prop
47
- return result;
48
- }, [children, plain, schema, debug]);
49
- // Layer 2: Schema resolution
50
- const resolver = ReactHooks.useMemo(() => {
51
- if (!schema || plain)
52
- return null;
53
- return createPolenSchemaResolver(schema);
54
- }, [schema, plain]);
55
- const resolutions = ReactHooks.useMemo(() => {
56
- if (!analysisResult || !resolver) {
57
- return new Map();
58
- }
59
- const results = new Map();
60
- for (const [position, identifier] of analysisResult.identifiers.byPosition) {
61
- const resolution = resolver.resolveIdentifier(identifier);
62
- if (resolution) {
63
- results.set(position, resolution);
64
- }
65
- }
66
- return results;
67
- }, [analysisResult, resolver]);
68
- // Layer 3: Position calculation
69
- const positionCalculator = ReactHooks.useMemo(() => {
70
- if (plain)
71
- return null;
72
- return createSimplePositionCalculator();
73
- }, [plain]);
74
- const [positions, setPositions] = ReactHooks.useState(new Map());
75
- // Prepare code block and calculate positions after render
76
- ReactHooks.useEffect(() => {
77
- if (!containerRef.current || !analysisResult || !positionCalculator || plain) {
78
- // Skip position calculation - debug handled by debug prop
79
- return;
80
- }
81
- // Get the code element within the container
82
- const codeElement = containerRef.current.querySelector(`pre.code-block code`)
83
- || containerRef.current.querySelector(`pre code`)
84
- || containerRef.current.querySelector(`code`);
85
- if (!codeElement) {
86
- // No code element found - skip
87
- return;
88
- }
89
- // Prepare the code block (wrap identifiers)
90
- const identifiers = Array.from(analysisResult.identifiers.byPosition.values());
91
- // Prepare code block with identifiers
92
- positionCalculator.prepareCodeBlock(codeElement, identifiers);
93
- // Get positions after DOM update
94
- requestAnimationFrame(() => {
95
- // Pass containerRef.current as the reference element for positioning
96
- if (containerRef.current) {
97
- const newPositions = positionCalculator.getIdentifierPositions(codeElement, containerRef.current);
98
- // Position calculation complete
99
- setPositions(newPositions);
100
- setIsReady(true);
101
- }
102
- });
103
- }, [analysisResult, positionCalculator, plain]);
104
- // Handle resize events with debouncing
105
- ReactHooks.useEffect(() => {
106
- if (!containerRef.current || !positionCalculator || plain)
107
- return;
108
- let resizeTimer;
109
- const handleResize = () => {
110
- clearTimeout(resizeTimer);
111
- resizeTimer = setTimeout(() => {
112
- const codeElement = containerRef.current?.querySelector(`pre.code-block code`)
113
- || containerRef.current?.querySelector(`pre code`)
114
- || containerRef.current?.querySelector(`code`);
115
- if (codeElement && containerRef.current) {
116
- const newPositions = positionCalculator.getIdentifierPositions(codeElement, containerRef.current);
117
- setPositions(newPositions);
118
- }
119
- }, 100); // Debounce resize events
120
- };
121
- window.addEventListener(`resize`, handleResize);
122
- return () => {
123
- clearTimeout(resizeTimer);
124
- window.removeEventListener(`resize`, handleResize);
125
- };
126
- }, [positionCalculator, plain]);
127
- // Validation errors
128
- const validationErrors = ReactHooks.useMemo(() => {
129
- if (!validate || !analysisResult || !schema)
130
- return [];
131
- return analysisResult.errors;
132
- }, [validate, analysisResult, schema]);
133
- return (_jsxs(_Fragment, { children: [_jsx("style", { dangerouslySetInnerHTML: { __html: graphqlDocumentStyles } }), _jsxs("div", { ref: containerRef, className: `graphql-document ${className} ${debug ? `graphql-debug-mode` : ``} ${!isReady && !plain ? `graphql-loading` : ``}`, "data-testid": 'graphql-document', children: [renderCode
134
- ? (renderCode())
135
- : (_jsx("pre", { className: 'code-block', children: _jsx("code", { children: children }) })), !plain && isReady && (_jsx("div", { className: 'graphql-interaction-layer', style: { pointerEvents: `none` }, children: Array.from(positions.entries()).map(([id, { position, identifier }]) => {
136
- const startPos = identifier.position.start;
137
- const resolution = resolutions.get(startPos);
138
- if (!resolution)
139
- return null;
140
- return (_jsx(IdentifierLink, { identifier: identifier, resolution: resolution, position: position, onNavigate: handleNavigate, debug: debug, isOpen: tooltipState.isOpen(id), isPinned: tooltipState.isPinned(id), onHoverStart: () => {
141
- tooltipState.onHoverStart(id);
142
- }, onHoverEnd: () => {
143
- tooltipState.onHoverEnd(id);
144
- }, onTogglePin: () => {
145
- tooltipState.onTogglePin(id);
146
- }, onTooltipHover: () => {
147
- tooltipState.onTooltipHover(id);
148
- } }, id));
149
- }) })), validationErrors.length > 0 && (_jsx("div", { className: 'graphql-validation-errors', children: validationErrors.map((error, index) => (_jsx("div", { className: 'graphql-error', children: error.message }, index))) }))] })] }));
150
- };
151
- //# sourceMappingURL=GraphQLDocument.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLDocument.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLDocument.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { React } from '#dep/react/index';
2
- import { type GraphQLDocumentProps } from './GraphQLDocument.js';
3
- /**
4
- * GraphQL Document component that uses the schema context
5
- */
6
- export declare const GraphQLDocumentWithSchema: React.FC<Omit<GraphQLDocumentProps, `schema`>>;
7
- //# sourceMappingURL=GraphQLDocumentWithSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLDocumentWithSchema.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAqCpF,CAAA"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { useGraphQLSchema } from '../schema-context.js';
4
- import { GraphQLDocument } from './GraphQLDocument.js';
5
- /**
6
- * GraphQL Document component that uses the schema context
7
- */
8
- export const GraphQLDocumentWithSchema = (props) => {
9
- const schema = useGraphQLSchema();
10
- const [mounted, setMounted] = useState(false);
11
- useEffect(() => {
12
- setMounted(true);
13
- }, []);
14
- // Always render the same structure to avoid hydration issues
15
- const isInteractive = mounted && schema;
16
- if (!isInteractive) {
17
- // Static fallback
18
- return (_jsx("div", { className: 'graphql-document graphql-document-static', "data-testid": 'graphql-document', children: _jsx("pre", { style: {
19
- backgroundColor: `var(--gray-a2)`,
20
- color: `var(--gray-12)`,
21
- padding: `var(--space-3)`,
22
- borderRadius: `var(--radius-3)`,
23
- }, children: _jsx("code", { className: "language-graphql", children: props.children }) }) }));
24
- }
25
- return (_jsx(GraphQLDocument, { ...props, schema: schema }));
26
- };
27
- //# sourceMappingURL=GraphQLDocumentWithSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLDocumentWithSchema.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAA;AAEjF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAmD,CACvF,KAAK,EACL,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,6DAA6D;IAC7D,MAAM,aAAa,GAAG,OAAO,IAAI,MAAM,CAAA;IAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,kBAAkB;QAClB,OAAO,CACL,cAAK,SAAS,EAAC,0CAA0C,iBAAa,kBAAkB,YACtF,cACE,KAAK,EAAE;oBACL,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,gBAAgB;oBACvB,OAAO,EAAE,gBAAgB;oBACzB,YAAY,EAAE,iBAAiB;iBAChC,YAED,eAAM,SAAS,EAAC,kBAAkB,YAAE,KAAK,CAAC,QAAQ,GAAQ,GACtD,GACF,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,eAAe,OACV,KAAK,EACT,MAAM,EAAE,MAAM,GACd,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,33 +0,0 @@
1
- /**
2
- * GraphQL Identifier Popover using Radix Themes
3
- *
4
- * Displays rich information about GraphQL identifiers on hover/click
5
- */
6
- import type { React } from '#dep/react/index';
7
- import type { Documentation } from '../schema-integration.js';
8
- import type { Identifier } from '../types.js';
9
- export interface GraphQLIdentifierPopoverProps {
10
- /** The identifier being shown */
11
- identifier: Identifier;
12
- /** Documentation from schema */
13
- documentation: Documentation;
14
- /** Whether this identifier has an error */
15
- hasError?: boolean;
16
- /** Reference URL for "View docs" link */
17
- referenceUrl: string;
18
- /** Whether popover is open */
19
- open: boolean;
20
- /** Whether popover is pinned */
21
- isPinned: boolean;
22
- /** Callback when open state changes */
23
- onOpenChange: (open: boolean) => void;
24
- /** Callback to navigate to docs */
25
- onNavigate?: (url: string) => void;
26
- /** The trigger element */
27
- children: React.ReactNode;
28
- }
29
- /**
30
- * Popover content for GraphQL identifiers
31
- */
32
- export declare const GraphQLIdentifierPopover: React.FC<GraphQLIdentifierPopoverProps>;
33
- //# sourceMappingURL=GraphQLIdentifierPopover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLIdentifierPopover.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,WAAW,6BAA6B;IAC5C,iCAAiC;IACjC,UAAU,EAAE,UAAU,CAAA;IACtB,gCAAgC;IAChC,aAAa,EAAE,aAAa,CAAA;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,uCAAuC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,mCAAmC;IACnC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,0BAA0B;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAkK5E,CAAA"}
@@ -1,50 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Cross2Icon } from '@radix-ui/react-icons';
3
- import { Badge, Box, Flex, IconButton, Link, Popover, Text } from '@radix-ui/themes';
4
- /**
5
- * Popover content for GraphQL identifiers
6
- */
7
- export const GraphQLIdentifierPopover = ({ identifier, documentation, hasError = false, referenceUrl, open, isPinned, onOpenChange, onNavigate, children, }) => {
8
- // Determine badge color based on identifier kind
9
- const getBadgeColor = () => {
10
- switch (identifier.kind) {
11
- case `Type`:
12
- return `blue`;
13
- case `Field`:
14
- return `green`;
15
- case `Argument`:
16
- return `orange`;
17
- case `Variable`:
18
- return `purple`;
19
- case `Directive`:
20
- return `amber`;
21
- case `Fragment`:
22
- return `cyan`;
23
- default:
24
- return `gray`;
25
- }
26
- };
27
- return (_jsxs(Popover.Root, { open: open, onOpenChange: onOpenChange, children: [_jsx(Popover.Trigger, { children: children }), _jsx(Popover.Content, { className: 'graphql-identifier-popover', style: { maxWidth: 400 }, onInteractOutside: (e) => {
28
- // Prevent closing when clicking inside popover if pinned
29
- if (isPinned) {
30
- e.preventDefault();
31
- }
32
- }, children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', align: 'center', children: [_jsxs(Flex, { align: 'center', gap: '2', children: [_jsx(Text, { size: '2', weight: 'bold', children: identifier.name }), _jsx(Badge, { color: getBadgeColor(), size: '1', children: identifier.kind })] }), isPinned && (_jsx(IconButton, { size: '1', variant: 'ghost', onClick: () => {
33
- onOpenChange(false);
34
- }, "aria-label": 'Close popover', children: _jsx(Cross2Icon, {}) }))] }), _jsx(Box, { children: _jsxs(Text, { size: '1', color: 'gray', children: ["Type: ", _jsx(Text, { as: 'span', size: '1', style: { fontFamily: `monospace` }, children: documentation.typeInfo })] }) }), documentation.description && (_jsx(Box, { children: _jsx(Text, { size: '1', children: documentation.description }) })), documentation.defaultValue && (_jsx(Box, { children: _jsxs(Text, { size: '1', color: 'gray', children: ["Default:", ` `, _jsx(Text, { as: 'span', size: '1', style: { fontFamily: `monospace` }, children: documentation.defaultValue })] }) })), documentation.deprecated && (_jsxs(Box, { style: {
35
- padding: `8px`,
36
- backgroundColor: `var(--amber-2)`,
37
- borderRadius: `4px`,
38
- border: `1px solid var(--amber-6)`,
39
- }, children: [_jsxs(Text, { size: '1', color: 'amber', children: ["\u26A0\uFE0F Deprecated: ", documentation.deprecated.reason] }), documentation.deprecated.replacement && (_jsxs(Text, { size: '1', color: 'amber', children: ["Use ", documentation.deprecated.replacement, " instead."] }))] })), hasError && (_jsx(Box, { style: {
40
- padding: `8px`,
41
- backgroundColor: `var(--red-2)`,
42
- borderRadius: `4px`,
43
- border: `1px solid var(--red-6)`,
44
- }, children: _jsxs(Text, { size: '1', color: 'red', children: ["\u274C ", identifier.kind, " not found in schema"] }) })), _jsx(Box, { children: _jsxs(Text, { size: '1', color: 'gray', children: ["Path: ", identifier.schemaPath.join(` → `)] }) }), onNavigate && !hasError && (_jsx(Box, { children: _jsx(Link, { size: '1', href: referenceUrl, onClick: (e) => {
45
- e.preventDefault();
46
- onNavigate(referenceUrl);
47
- onOpenChange(false);
48
- }, children: "View full documentation \u2192" }) }))] }) })] }));
49
- };
50
- //# sourceMappingURL=GraphQLIdentifierPopover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphQLIdentifierPopover.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Interactive overlay for GraphQL identifiers
3
- */
4
- import type { React } from '#dep/react/index';
5
- import type { DOMPosition } from '../positioning-simple.js';
6
- import type { SchemaResolution } from '../schema-integration.js';
7
- import type { Identifier } from '../types.js';
8
- export interface IdentifierLinkProps {
9
- /** The GraphQL identifier */
10
- identifier: Identifier;
11
- /** Schema resolution information */
12
- resolution: SchemaResolution;
13
- /** DOM position for overlay placement */
14
- position: DOMPosition;
15
- /** Navigation handler */
16
- onNavigate: (url: string) => void;
17
- /** Whether to show debug visuals */
18
- debug?: boolean;
19
- /** Whether this tooltip is open */
20
- isOpen: boolean;
21
- /** Whether this tooltip is pinned */
22
- isPinned: boolean;
23
- /** Handle hover start */
24
- onHoverStart: () => void;
25
- /** Handle hover end */
26
- onHoverEnd: () => void;
27
- /** Toggle pin state */
28
- onTogglePin: () => void;
29
- /** Handle tooltip hover */
30
- onTooltipHover: () => void;
31
- }
32
- /**
33
- * Interactive overlay for a GraphQL identifier
34
- *
35
- * Renders an invisible clickable area over the identifier text
36
- * with hover popovers and navigation to schema reference pages.
37
- */
38
- export declare const IdentifierLink: React.FC<IdentifierLinkProps>;
39
- //# sourceMappingURL=IdentifierLink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdentifierLink.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/IdentifierLink.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,oCAAoC;IACpC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,WAAW,CAAA;IACrB,yBAAyB;IACzB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,uBAAuB;IACvB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,uBAAuB;IACvB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsHxD,CAAA"}
@@ -1,75 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { GraphQLIdentifierPopover } from './GraphQLIdentifierPopover.js';
3
- /**
4
- * Interactive overlay for a GraphQL identifier
5
- *
6
- * Renders an invisible clickable area over the identifier text
7
- * with hover popovers and navigation to schema reference pages.
8
- */
9
- export const IdentifierLink = ({ identifier, resolution, position, onNavigate, debug = false, isOpen, isPinned, onHoverStart, onHoverEnd, onTogglePin, onTooltipHover, }) => {
10
- // Determine visual state
11
- const isClickable = resolution.exists;
12
- const hasError = !resolution.exists && (identifier.kind === `Type` || identifier.kind === `Field`);
13
- const isDeprecated = !!resolution.deprecated;
14
- // Build class names
15
- const classNames = [
16
- `graphql-identifier-overlay`,
17
- `graphql-${identifier.kind.toLowerCase()}`,
18
- isClickable && `graphql-clickable`,
19
- hasError && `graphql-error`,
20
- isDeprecated && `graphql-deprecated`,
21
- isOpen && `graphql-hovered`,
22
- isOpen && `graphql-tooltip-open`,
23
- debug && `graphql-debug`,
24
- ].filter(Boolean).join(` `);
25
- const handleClick = (e) => {
26
- e.preventDefault();
27
- e.stopPropagation();
28
- onTogglePin();
29
- };
30
- // Create trigger element
31
- const triggerElement = isClickable
32
- ? (_jsx("a", { href: resolution.referenceUrl, className: classNames + ` graphql-identifier-link`, style: {
33
- position: `absolute`,
34
- top: position.top,
35
- left: position.left,
36
- width: position.width,
37
- height: position.height,
38
- cursor: `pointer`,
39
- zIndex: 10,
40
- pointerEvents: `auto`,
41
- display: `block`,
42
- textDecoration: `none`,
43
- // Debug mode visual
44
- ...(debug && {
45
- backgroundColor: hasError ? `rgba(239, 68, 68, 0.1)` : `rgba(59, 130, 246, 0.1)`,
46
- border: `1px solid ${hasError ? `rgba(239, 68, 68, 0.3)` : `rgba(59, 130, 246, 0.3)`}`,
47
- }),
48
- }, onClick: handleClick, onMouseEnter: onHoverStart, onMouseLeave: onHoverEnd, "aria-label": `${identifier.kind} ${identifier.name} - Click to view documentation`, "data-graphql-identifier": identifier.name, "data-graphql-kind": identifier.kind }))
49
- : (_jsx("div", { className: classNames, style: {
50
- position: `absolute`,
51
- top: position.top,
52
- left: position.left,
53
- width: position.width,
54
- height: position.height,
55
- cursor: `pointer`, // Make it clickable even for errors
56
- zIndex: 10,
57
- pointerEvents: `auto`,
58
- // Debug mode visual
59
- ...(debug && {
60
- backgroundColor: `rgba(239, 68, 68, 0.1)`,
61
- border: `1px solid rgba(239, 68, 68, 0.3)`,
62
- }),
63
- }, onClick: handleClick, onMouseEnter: onHoverStart, onMouseLeave: onHoverEnd, role: 'button', "aria-label": `${identifier.kind} ${identifier.name} - Click to view information`, "data-graphql-identifier": identifier.name, "data-graphql-kind": identifier.kind }));
64
- return (_jsx(GraphQLIdentifierPopover, { identifier: identifier, documentation: resolution.documentation || {
65
- description: hasError
66
- ? `${identifier.kind} "${identifier.name}" not found in schema. This ${identifier.kind.toLowerCase()} does not exist in the current GraphQL schema.`
67
- : `${identifier.kind}: ${identifier.name}`,
68
- typeInfo: identifier.kind,
69
- }, hasError: hasError, referenceUrl: resolution.referenceUrl, open: isOpen, isPinned: isPinned, onOpenChange: (open) => {
70
- if (!open && isPinned) {
71
- onTogglePin(); // Unpin when closing
72
- }
73
- }, onNavigate: isClickable ? onNavigate : undefined, children: triggerElement }));
74
- };
75
- //# sourceMappingURL=IdentifierLink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdentifierLink.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/IdentifierLink.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Minimal styles for GraphQL Document interactive code blocks
3
- */
4
- export declare const graphqlDocumentStyles = "\n/* Container styles */\n.graphql-document {\n position: relative;\n}\n\n.graphql-interaction-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n}\n\n.graphql-interaction-layer > * {\n pointer-events: auto;\n}\n\n/* Identifier overlay styles */\n.graphql-identifier-overlay {\n transition: background-color 0.2s ease;\n}\n\n/* Clickable identifiers get visual feedback */\n.graphql-identifier-overlay.graphql-clickable {\n /* Subtle underline effect using box-shadow to not affect layout */\n box-shadow: 0 1px 0 0 rgba(var(--accent-9), 0.3);\n transition: box-shadow 0.2s ease, background-color 0.2s ease;\n}\n\n.graphql-identifier-overlay.graphql-clickable:hover {\n background-color: rgba(var(--accent-3), 0.5);\n box-shadow: 0 1px 0 0 rgba(var(--accent-9), 0.6);\n}\n\n/* Active/open state */\n.graphql-identifier-overlay.graphql-tooltip-open {\n background-color: rgba(var(--accent-3), 0.5);\n box-shadow: 0 1px 0 0 var(--accent-9);\n}\n\n/* Error state */\n.graphql-identifier-overlay.graphql-error {\n box-shadow: 0 1.5px 0 0 var(--red-9);\n}\n\n.graphql-identifier-overlay.graphql-error:hover {\n background-color: rgba(var(--red-3), 0.5);\n}\n\n/* Deprecated state */\n.graphql-identifier-overlay.graphql-deprecated {\n text-decoration: line-through;\n opacity: 0.7;\n}\n\n/* Debug mode */\n.graphql-identifier-overlay.graphql-debug {\n background-color: rgba(59, 130, 246, 0.1) !important;\n border: 1px solid rgba(59, 130, 246, 0.3) !important;\n}\n\n/* Kind-specific colors */\n.graphql-identifier-overlay.graphql-type.graphql-clickable {\n box-shadow: 0 1px 0 0 rgba(var(--blue-9), 0.3);\n}\n\n.graphql-identifier-overlay.graphql-field.graphql-clickable {\n box-shadow: 0 1px 0 0 rgba(var(--green-9), 0.3);\n}\n\n.graphql-identifier-overlay.graphql-argument.graphql-clickable {\n box-shadow: 0 1px 0 0 rgba(var(--orange-9), 0.3);\n}\n\n.graphql-identifier-overlay.graphql-variable {\n box-shadow: 0 1px 0 0 rgba(var(--purple-9), 0.3);\n}\n\n.graphql-identifier-overlay.graphql-directive.graphql-clickable {\n box-shadow: 0 1px 0 0 rgba(var(--amber-9), 0.3);\n}\n\n/* Popover animation */\n.graphql-identifier-popover {\n animation: graphql-popover-show 150ms ease-out;\n}\n\n@keyframes graphql-popover-show {\n from {\n opacity: 0;\n transform: translateY(2px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Validation errors */\n.graphql-validation-errors {\n margin-top: 1rem;\n padding: 0.5rem;\n background-color: var(--red-2);\n border: 1px solid var(--red-6);\n border-radius: 4px;\n}\n\n.graphql-error {\n color: var(--red-11);\n font-size: 0.875rem;\n margin: 0.25rem 0;\n}\n\n/* Loading state */\n.graphql-document.graphql-loading {\n opacity: 0.6;\n pointer-events: none;\n}\n\n.graphql-document.graphql-loading::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 20px;\n height: 20px;\n margin: -10px 0 0 -10px;\n border: 2px solid var(--gray-6);\n border-top-color: var(--accent-9);\n border-radius: 50%;\n animation: graphql-spinner 0.8s linear infinite;\n}\n\n@keyframes graphql-spinner {\n to {\n transform: rotate(360deg);\n }\n}";
5
- //# sourceMappingURL=graphql-document-styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-document-styles.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/graphql-document-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,qBAAqB,gqGA2IhC,CAAA"}
@@ -1,144 +0,0 @@
1
- /**
2
- * Minimal styles for GraphQL Document interactive code blocks
3
- */
4
- export const graphqlDocumentStyles = `
5
- /* Container styles */
6
- .graphql-document {
7
- position: relative;
8
- }
9
-
10
- .graphql-interaction-layer {
11
- position: absolute;
12
- top: 0;
13
- left: 0;
14
- right: 0;
15
- bottom: 0;
16
- pointer-events: none;
17
- }
18
-
19
- .graphql-interaction-layer > * {
20
- pointer-events: auto;
21
- }
22
-
23
- /* Identifier overlay styles */
24
- .graphql-identifier-overlay {
25
- transition: background-color 0.2s ease;
26
- }
27
-
28
- /* Clickable identifiers get visual feedback */
29
- .graphql-identifier-overlay.graphql-clickable {
30
- /* Subtle underline effect using box-shadow to not affect layout */
31
- box-shadow: 0 1px 0 0 rgba(var(--accent-9), 0.3);
32
- transition: box-shadow 0.2s ease, background-color 0.2s ease;
33
- }
34
-
35
- .graphql-identifier-overlay.graphql-clickable:hover {
36
- background-color: rgba(var(--accent-3), 0.5);
37
- box-shadow: 0 1px 0 0 rgba(var(--accent-9), 0.6);
38
- }
39
-
40
- /* Active/open state */
41
- .graphql-identifier-overlay.graphql-tooltip-open {
42
- background-color: rgba(var(--accent-3), 0.5);
43
- box-shadow: 0 1px 0 0 var(--accent-9);
44
- }
45
-
46
- /* Error state */
47
- .graphql-identifier-overlay.graphql-error {
48
- box-shadow: 0 1.5px 0 0 var(--red-9);
49
- }
50
-
51
- .graphql-identifier-overlay.graphql-error:hover {
52
- background-color: rgba(var(--red-3), 0.5);
53
- }
54
-
55
- /* Deprecated state */
56
- .graphql-identifier-overlay.graphql-deprecated {
57
- text-decoration: line-through;
58
- opacity: 0.7;
59
- }
60
-
61
- /* Debug mode */
62
- .graphql-identifier-overlay.graphql-debug {
63
- background-color: rgba(59, 130, 246, 0.1) !important;
64
- border: 1px solid rgba(59, 130, 246, 0.3) !important;
65
- }
66
-
67
- /* Kind-specific colors */
68
- .graphql-identifier-overlay.graphql-type.graphql-clickable {
69
- box-shadow: 0 1px 0 0 rgba(var(--blue-9), 0.3);
70
- }
71
-
72
- .graphql-identifier-overlay.graphql-field.graphql-clickable {
73
- box-shadow: 0 1px 0 0 rgba(var(--green-9), 0.3);
74
- }
75
-
76
- .graphql-identifier-overlay.graphql-argument.graphql-clickable {
77
- box-shadow: 0 1px 0 0 rgba(var(--orange-9), 0.3);
78
- }
79
-
80
- .graphql-identifier-overlay.graphql-variable {
81
- box-shadow: 0 1px 0 0 rgba(var(--purple-9), 0.3);
82
- }
83
-
84
- .graphql-identifier-overlay.graphql-directive.graphql-clickable {
85
- box-shadow: 0 1px 0 0 rgba(var(--amber-9), 0.3);
86
- }
87
-
88
- /* Popover animation */
89
- .graphql-identifier-popover {
90
- animation: graphql-popover-show 150ms ease-out;
91
- }
92
-
93
- @keyframes graphql-popover-show {
94
- from {
95
- opacity: 0;
96
- transform: translateY(2px);
97
- }
98
- to {
99
- opacity: 1;
100
- transform: translateY(0);
101
- }
102
- }
103
-
104
- /* Validation errors */
105
- .graphql-validation-errors {
106
- margin-top: 1rem;
107
- padding: 0.5rem;
108
- background-color: var(--red-2);
109
- border: 1px solid var(--red-6);
110
- border-radius: 4px;
111
- }
112
-
113
- .graphql-error {
114
- color: var(--red-11);
115
- font-size: 0.875rem;
116
- margin: 0.25rem 0;
117
- }
118
-
119
- /* Loading state */
120
- .graphql-document.graphql-loading {
121
- opacity: 0.6;
122
- pointer-events: none;
123
- }
124
-
125
- .graphql-document.graphql-loading::after {
126
- content: '';
127
- position: absolute;
128
- top: 50%;
129
- left: 50%;
130
- width: 20px;
131
- height: 20px;
132
- margin: -10px 0 0 -10px;
133
- border: 2px solid var(--gray-6);
134
- border-top-color: var(--accent-9);
135
- border-radius: 50%;
136
- animation: graphql-spinner 0.8s linear infinite;
137
- }
138
-
139
- @keyframes graphql-spinner {
140
- to {
141
- transform: rotate(360deg);
142
- }
143
- }`;
144
- //# sourceMappingURL=graphql-document-styles.js.map