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 +0,0 @@
1
- {"version":3,"file":"graphql-document-styles.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/graphql-document-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2InC,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from './GraphQLDocument.js';
2
- export * from './GraphQLDocumentWithSchema.js';
3
- export * from './GraphQLIdentifierPopover.js';
4
- export * from './IdentifierLink.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from './GraphQLDocument.js';
2
- export * from './GraphQLDocumentWithSchema.js';
3
- export * from './GraphQLIdentifierPopover.js';
4
- export * from './IdentifierLink.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qBAAqB,CAAA"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Example usage of the GraphQL Document Analysis library
3
- *
4
- * This demonstrates how to use the foundational layer for extracting
5
- * identifiers and context from GraphQL documents - the building block
6
- * for the interactive GraphQL Document Component.
7
- */
8
- import { GraphQLDocument } from './$.js';
9
- /**
10
- * Demonstrate basic analysis
11
- */
12
- export declare const analyzeExample: () => GraphQLDocument.AnalysisResult;
13
- /**
14
- * Demonstrate identifier lookup by position
15
- */
16
- export declare const demonstratePositionLookup: () => void;
17
- /**
18
- * Demonstrate how this enables hyperlink generation
19
- */
20
- export declare const demonstrateHyperlinkGeneration: () => void;
21
- /**
22
- * Show the foundation for hover tooltips
23
- */
24
- export declare const demonstrateTooltipFoundation: () => void;
25
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/example.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AA2BxC;;GAEG;AACH,eAAO,MAAM,cAAc,sCAsB1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,YA2BrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,YAsB1C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,YAiBxC,CAAA"}
@@ -1,140 +0,0 @@
1
- /**
2
- * Example usage of the GraphQL Document Analysis library
3
- *
4
- * This demonstrates how to use the foundational layer for extracting
5
- * identifiers and context from GraphQL documents - the building block
6
- * for the interactive GraphQL Document Component.
7
- */
8
- import { GraphQLDocument } from './$.js';
9
- // Example GraphQL query with various constructs
10
- const exampleQuery = `
11
- query GetUserWithProjects($id: ID!, $limit: Int = 10) {
12
- user(id: $id) {
13
- name
14
- projects(first: $limit) {
15
- name
16
- isPrivate
17
- owner {
18
- name
19
- }
20
- }
21
- ... on EnterpriseUser {
22
- organization
23
- }
24
- }
25
- }
26
-
27
- fragment UserBasics on User {
28
- name
29
- email
30
- role
31
- }
32
- `;
33
- /**
34
- * Demonstrate basic analysis
35
- */
36
- export const analyzeExample = () => {
37
- console.log(`🔍 Analyzing GraphQL Document...\n`);
38
- const result = GraphQLDocument.analyze(exampleQuery);
39
- console.log(`✅ Valid: ${result.isValid}`);
40
- console.log(`📊 Total identifiers: ${result.identifiers.all.length}`);
41
- console.log(`🚨 Errors: ${result.errors.length}\n`);
42
- // Show identifiers by kind
43
- for (const [kind, identifiers] of result.identifiers.byKind) {
44
- console.log(`${getKindEmoji(kind)} ${kind} (${identifiers.length}):`);
45
- for (const identifier of identifiers) {
46
- const pos = `${identifier.position.line}:${identifier.position.column}`;
47
- const path = identifier.schemaPath.join(` → `);
48
- const parent = identifier.parentType ? ` (in ${identifier.parentType})` : ``;
49
- console.log(` • ${identifier.name}${parent} → ${path} @ ${pos}`);
50
- }
51
- console.log();
52
- }
53
- return result;
54
- };
55
- /**
56
- * Demonstrate identifier lookup by position
57
- */
58
- export const demonstratePositionLookup = () => {
59
- console.log(`📍 Position-based Identifier Lookup...\n`);
60
- const identifiers = GraphQLDocument.extractIdentifiers(exampleQuery);
61
- // Find identifier at a specific position (e.g., cursor position in an editor)
62
- const targetPosition = 180; // Approximate position of "abilities" field
63
- // Find the closest identifier to this position
64
- let closestIdentifier = null;
65
- let closestDistance = Infinity;
66
- for (const identifier of identifiers.all) {
67
- const distance = Math.abs(identifier.position.start - targetPosition);
68
- if (distance < closestDistance) {
69
- closestDistance = distance;
70
- closestIdentifier = identifier;
71
- }
72
- }
73
- if (closestIdentifier) {
74
- console.log(`🎯 Identifier near position ${targetPosition}:`);
75
- console.log(` Name: ${closestIdentifier.name}`);
76
- console.log(` Kind: ${closestIdentifier.kind}`);
77
- console.log(` Schema Path: ${closestIdentifier.schemaPath.join(` → `)}`);
78
- console.log(` Context: ${JSON.stringify(closestIdentifier.context, null, 2)}`);
79
- }
80
- };
81
- /**
82
- * Demonstrate how this enables hyperlink generation
83
- */
84
- export const demonstrateHyperlinkGeneration = () => {
85
- console.log(`🔗 Hyperlink Generation Preview...\n`);
86
- const identifiers = GraphQLDocument.extractIdentifiers(exampleQuery);
87
- // Show how each identifier could become a hyperlink
88
- const typeIdentifiers = identifiers.byKind.get(`Type`) || [];
89
- const fieldIdentifiers = identifiers.byKind.get(`Field`) || [];
90
- console.log(`📝 Type References → Schema Links:`);
91
- for (const identifier of typeIdentifiers) {
92
- const referenceUrl = `/reference/${identifier.name}`;
93
- console.log(` ${identifier.name} → ${referenceUrl}`);
94
- }
95
- console.log(`\n📝 Field References → Schema Links:`);
96
- for (const identifier of fieldIdentifiers.slice(0, 5)) { // Show first 5
97
- const referenceUrl = identifier.parentType
98
- ? `/reference/${identifier.parentType}#${identifier.name}`
99
- : `/reference/${identifier.name}`;
100
- console.log(` ${identifier.name} → ${referenceUrl}`);
101
- }
102
- };
103
- /**
104
- * Show the foundation for hover tooltips
105
- */
106
- export const demonstrateTooltipFoundation = () => {
107
- console.log(`💬 Tooltip Foundation...\n`);
108
- const identifiers = GraphQLDocument.extractIdentifiers(exampleQuery);
109
- // Show context information that would be displayed in tooltips
110
- const fieldIdentifiers = identifiers.byKind.get(`Field`) || [];
111
- for (const identifier of fieldIdentifiers.slice(0, 3)) { // Show first 3
112
- console.log(`🏷️ ${identifier.name}:`);
113
- console.log(` Position: Line ${identifier.position.line}, Column ${identifier.position.column}`);
114
- console.log(` Schema Path: ${identifier.schemaPath.join(` → `)}`);
115
- console.log(` Parent Type: ${identifier.parentType || `Root`}`);
116
- console.log(` Operation: ${identifier.context.operationType || `None`}`);
117
- console.log(` Selection Path: ${identifier.context.selectionPath.join(` → `)}`);
118
- console.log();
119
- }
120
- };
121
- // Helper function
122
- const getKindEmoji = (kind) => {
123
- const emojis = {
124
- 'Type': `🏷️`,
125
- 'Field': `📋`,
126
- 'Argument': `⚙️`,
127
- 'Variable': `💰`,
128
- 'Directive': `🎯`,
129
- 'Fragment': `🧩`,
130
- };
131
- return emojis[kind] || `❓`;
132
- };
133
- // Run example if executed directly
134
- if (import.meta.url === `file://${process.argv[1]}`) {
135
- analyzeExample();
136
- demonstratePositionLookup();
137
- demonstrateHyperlinkGeneration();
138
- demonstrateTooltipFoundation();
139
- }
140
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/example.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * GraphQL Document Component Library
3
- *
4
- * Transform static GraphQL code blocks into interactive documentation with
5
- * hyperlinks, tooltips, and schema validation.
6
- *
7
- * ## Features
8
- * - Hyperlinked identifiers that navigate to reference documentation
9
- * - Hover tooltips showing type information and descriptions
10
- * - Schema validation with error highlighting
11
- * - Build-time GraphQL validation
12
- * - Support for all GraphQL operations (queries, mutations, subscriptions, fragments)
13
- *
14
- * ## Usage
15
- * ```typescript
16
- * import { GraphQLDocument } from 'polen/lib/graphql-document'
17
- *
18
- * <GraphQLDocument schema={schema}>
19
- * {`query { user { name } }`}
20
- * </GraphQLDocument>
21
- * ```
22
- *
23
- * @see {@link GraphQLDocumentWithSchema} for MDX integration
24
- * @see {@link GraphQLDocument} for the main React component
25
- */
26
- export * from './analysis.js';
27
- export * from './components/index.js';
28
- export * from './positioning-simple.js';
29
- export * from './schema-integration.js';
30
- export * from './types.js';
31
- export { analyze, analyzer, extractIdentifiers } from './analysis.js';
32
- export { GraphQLDocument } from './components/GraphQLDocument.js';
33
- export { createSimpleOverlay, createSimplePositionCalculator } from './positioning-simple.js';
34
- export { analyzeWithSchema, createPolenSchemaResolver } from './schema-integration.js';
35
- //# sourceMappingURL=graphql-document.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-document.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/graphql-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAG1B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,36 +0,0 @@
1
- /**
2
- * GraphQL Document Component Library
3
- *
4
- * Transform static GraphQL code blocks into interactive documentation with
5
- * hyperlinks, tooltips, and schema validation.
6
- *
7
- * ## Features
8
- * - Hyperlinked identifiers that navigate to reference documentation
9
- * - Hover tooltips showing type information and descriptions
10
- * - Schema validation with error highlighting
11
- * - Build-time GraphQL validation
12
- * - Support for all GraphQL operations (queries, mutations, subscriptions, fragments)
13
- *
14
- * ## Usage
15
- * ```typescript
16
- * import { GraphQLDocument } from 'polen/lib/graphql-document'
17
- *
18
- * <GraphQLDocument schema={schema}>
19
- * {`query { user { name } }`}
20
- * </GraphQLDocument>
21
- * ```
22
- *
23
- * @see {@link GraphQLDocumentWithSchema} for MDX integration
24
- * @see {@link GraphQLDocument} for the main React component
25
- */
26
- export * from './analysis.js';
27
- export * from './components/index.js';
28
- export * from './positioning-simple.js';
29
- export * from './schema-integration.js';
30
- export * from './types.js';
31
- // Re-export key functions for convenience
32
- export { analyze, analyzer, extractIdentifiers } from './analysis.js';
33
- export { GraphQLDocument } from './components/GraphQLDocument.js';
34
- export { createSimpleOverlay, createSimplePositionCalculator } from './positioning-simple.js';
35
- export { analyzeWithSchema, createPolenSchemaResolver } from './schema-integration.js';
36
- //# sourceMappingURL=graphql-document.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-document.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/graphql-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAE1B,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,43 +0,0 @@
1
- /**
2
- * State management for GraphQL document tooltips
3
- *
4
- * Handles hover delays, pinning, and multiple tooltip coordination
5
- */
6
- export interface TooltipState {
7
- /** Currently visible tooltip (via hover) */
8
- hoveredId: string | null;
9
- /** Set of pinned tooltip IDs */
10
- pinnedIds: Set<string>;
11
- /** ID pending show (waiting for delay) */
12
- pendingShowId: string | null;
13
- /** ID pending hide (waiting for grace period) */
14
- pendingHideId: string | null;
15
- }
16
- export interface UseTooltipStateOptions {
17
- /** Delay before showing tooltip on hover (ms) */
18
- showDelay?: number;
19
- /** Delay before hiding tooltip on mouse leave (ms) */
20
- hideDelay?: number;
21
- /** Whether to allow multiple pinned tooltips */
22
- allowMultiplePins?: boolean;
23
- }
24
- export interface UseTooltipStateReturn {
25
- /** Check if a tooltip should be visible */
26
- isOpen: (id: string) => boolean;
27
- /** Check if a tooltip is pinned */
28
- isPinned: (id: string) => boolean;
29
- /** Handle hover start */
30
- onHoverStart: (id: string) => void;
31
- /** Handle hover end */
32
- onHoverEnd: (id: string) => void;
33
- /** Handle click (toggle pin) */
34
- onTogglePin: (id: string) => void;
35
- /** Handle tooltip content hover (cancels hide) */
36
- onTooltipHover: (id: string) => void;
37
- /** Unpin a specific tooltip */
38
- unpin: (id: string) => void;
39
- /** Unpin all tooltips */
40
- unpinAll: () => void;
41
- }
42
- export declare const useTooltipState: (options?: UseTooltipStateOptions) => UseTooltipStateReturn;
43
- //# sourceMappingURL=use-tooltip-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tooltip-state.d.ts","sourceRoot":"","sources":["../../../../src/lib/graphql-document/hooks/use-tooltip-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,gCAAgC;IAChC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iDAAiD;IACjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IACjC,yBAAyB;IACzB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,uBAAuB;IACvB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,gCAAgC;IAChC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,kDAAkD;IAClD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,+BAA+B;IAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,eAAO,MAAM,eAAe,GAAI,UAAS,sBAA2B,KAAG,qBA+ItE,CAAA"}
@@ -1,132 +0,0 @@
1
- /**
2
- * State management for GraphQL document tooltips
3
- *
4
- * Handles hover delays, pinning, and multiple tooltip coordination
5
- */
6
- import { React } from '#dep/react/index';
7
- export const useTooltipState = (options = {}) => {
8
- const { showDelay = 300, hideDelay = 200, allowMultiplePins = true, } = options;
9
- const [hoveredId, setHoveredId] = React.useState(null);
10
- const [pinnedIds, setPinnedIds] = React.useState(new Set());
11
- const [pendingShowId, setPendingShowId] = React.useState(null);
12
- const [pendingHideId, setPendingHideId] = React.useState(null);
13
- // Timer refs
14
- const showTimerRef = React.useRef(null);
15
- const hideTimerRef = React.useRef(null);
16
- // Clear any pending timers
17
- const clearTimers = React.useCallback(() => {
18
- if (showTimerRef.current) {
19
- clearTimeout(showTimerRef.current);
20
- showTimerRef.current = null;
21
- }
22
- if (hideTimerRef.current) {
23
- clearTimeout(hideTimerRef.current);
24
- hideTimerRef.current = null;
25
- }
26
- setPendingShowId(null);
27
- setPendingHideId(null);
28
- }, []);
29
- // Check if tooltip should be visible
30
- const isOpen = React.useCallback((id) => {
31
- return hoveredId === id || pinnedIds.has(id);
32
- }, [hoveredId, pinnedIds]);
33
- // Check if tooltip is pinned
34
- const isPinned = React.useCallback((id) => {
35
- return pinnedIds.has(id);
36
- }, [pinnedIds]);
37
- // Handle hover start
38
- const onHoverStart = React.useCallback((id) => {
39
- // Don't show if already pinned
40
- if (pinnedIds.has(id))
41
- return;
42
- // Cancel any pending hide for this ID
43
- if (pendingHideId === id) {
44
- clearTimeout(hideTimerRef.current);
45
- hideTimerRef.current = null;
46
- setPendingHideId(null);
47
- return;
48
- }
49
- // Clear any other pending operations
50
- clearTimers();
51
- // Schedule show
52
- setPendingShowId(id);
53
- showTimerRef.current = setTimeout(() => {
54
- setHoveredId(id);
55
- setPendingShowId(null);
56
- }, showDelay);
57
- }, [pinnedIds, pendingHideId, clearTimers, showDelay]);
58
- // Handle hover end
59
- const onHoverEnd = React.useCallback((id) => {
60
- // Don't hide if pinned
61
- if (pinnedIds.has(id))
62
- return;
63
- // Cancel pending show if still waiting
64
- if (pendingShowId === id) {
65
- clearTimeout(showTimerRef.current);
66
- showTimerRef.current = null;
67
- setPendingShowId(null);
68
- return;
69
- }
70
- // Only hide if currently showing this tooltip
71
- if (hoveredId === id) {
72
- setPendingHideId(id);
73
- hideTimerRef.current = setTimeout(() => {
74
- // First set hovered to null to trigger close animation
75
- setHoveredId(null);
76
- setPendingHideId(null);
77
- }, hideDelay);
78
- }
79
- }, [pinnedIds, pendingShowId, hoveredId, hideDelay]);
80
- // Handle tooltip content hover (cancels hide)
81
- const onTooltipHover = React.useCallback((id) => {
82
- if (pendingHideId === id) {
83
- clearTimeout(hideTimerRef.current);
84
- hideTimerRef.current = null;
85
- setPendingHideId(null);
86
- }
87
- }, [pendingHideId]);
88
- // Toggle pin state
89
- const onTogglePin = React.useCallback((id) => {
90
- clearTimers();
91
- setPinnedIds((prev) => {
92
- const next = new Set(prev);
93
- if (next.has(id)) {
94
- // Unpin
95
- next.delete(id);
96
- setHoveredId(null); // Also clear hover state
97
- }
98
- else {
99
- // Pin
100
- if (!allowMultiplePins) {
101
- next.clear(); // Clear other pins
102
- }
103
- next.add(id);
104
- setHoveredId(null); // Clear hover state since it's now pinned
105
- }
106
- return next;
107
- });
108
- }, [clearTimers, allowMultiplePins]);
109
- // Unpin specific tooltip
110
- const unpin = React.useCallback((id) => {
111
- setPinnedIds((prev) => {
112
- const next = new Set(prev);
113
- next.delete(id);
114
- return next;
115
- });
116
- }, []);
117
- // Unpin all tooltips
118
- const unpinAll = React.useCallback(() => {
119
- setPinnedIds(new Set());
120
- }, []);
121
- return {
122
- isOpen,
123
- isPinned,
124
- onHoverStart,
125
- onHoverEnd,
126
- onTogglePin,
127
- onTooltipHover,
128
- unpin,
129
- unpinAll,
130
- };
131
- };
132
- //# sourceMappingURL=use-tooltip-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tooltip-state.js","sourceRoot":"","sources":["../../../../src/lib/graphql-document/hooks/use-tooltip-state.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Layer 3: Simplified Positioning & Layout Engine
3
- *
4
- * Maps GraphQL AST positions to DOM coordinates for overlay placement.
5
- * This simplified version focuses on working with Polen's existing infrastructure.
6
- */
7
- import type { Identifier } from './types.js';
8
- /**
9
- * DOM position for rendering overlays
10
- */
11
- export interface DOMPosition {
12
- /** Distance from top of container in pixels */
13
- top: number;
14
- /** Distance from left of container in pixels */
15
- left: number;
16
- /** Width of the identifier in pixels */
17
- width: number;
18
- /** Height of the identifier in pixels */
19
- height: number;
20
- }
21
- /**
22
- * Position calculation result
23
- */
24
- export interface PositionResult {
25
- /** The calculated DOM position */
26
- position: DOMPosition;
27
- /** The identifier this position is for */
28
- identifier: Identifier;
29
- }
30
- /**
31
- * Simplified position calculator for syntax-highlighted code
32
- *
33
- * This version uses a more straightforward approach:
34
- * 1. Find the line element by line number
35
- * 2. Search for the identifier text within that line
36
- * 3. Create a span around the identifier for positioning
37
- *
38
- * This approach modifies the DOM but is more reliable for testing
39
- * and works well with React's reconciliation.
40
- */
41
- export declare class SimplePositionCalculator {
42
- /**
43
- * Prepare a code block for positioning by wrapping identifiers in spans
44
- */
45
- prepareCodeBlock(containerElement: Element, identifiers: Identifier[]): void;
46
- /**
47
- * Get positions of all wrapped identifiers
48
- */
49
- getIdentifierPositions(containerElement: Element, relativeToElement?: Element): Map<string, PositionResult>;
50
- }
51
- /**
52
- * Create invisible overlay for a position
53
- */
54
- export declare const createSimpleOverlay: (position: DOMPosition, identifier: Identifier, options?: {
55
- onClick?: (identifier: Identifier) => void;
56
- onHover?: (identifier: Identifier, event: MouseEvent) => void;
57
- className?: string;
58
- }) => HTMLElement;
59
- /**
60
- * Factory function for position calculator
61
- */
62
- export declare const createSimplePositionCalculator: () => SimplePositionCalculator;
63
- //# sourceMappingURL=positioning-simple.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"positioning-simple.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/positioning-simple.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,QAAQ,EAAE,WAAW,CAAA;IACrB,0CAA0C;IAC1C,UAAU,EAAE,UAAU,CAAA;CACvB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,gBAAgB,CACd,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,UAAU,EAAE,GACxB,IAAI;IAsGP;;OAEG;IACH,sBAAsB,CACpB,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;CA2C/B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,WAAW,EACrB,YAAY,UAAU,EACtB,UAAU;IACR,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KACA,WAqCF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,QAAO,wBAEjD,CAAA"}