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.
- package/build/api/api.d.ts +1 -0
- package/build/api/api.d.ts.map +1 -1
- package/build/api/api.js +1 -0
- package/build/api/api.js.map +1 -1
- package/build/api/config/configurator.d.ts +20 -3
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +27 -3
- package/build/api/config/configurator.js.map +1 -1
- package/build/api/schema/data-sources/memory/memory.d.ts +2 -2
- package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
- package/build/api/schema/data-sources/memory/memory.js +1 -3
- package/build/api/schema/data-sources/memory/memory.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts +7 -3
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +15 -11
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +16 -7
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +26 -7
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts +7 -2
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.js +13 -5
- package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
- package/build/api/schema/metadata.d.ts +8 -0
- package/build/api/schema/metadata.d.ts.map +1 -0
- package/build/api/schema/metadata.js +19 -0
- package/build/api/schema/metadata.js.map +1 -0
- package/build/api/schema/read.d.ts +3 -3
- package/build/api/schema/read.d.ts.map +1 -1
- package/build/api/schema/read.js.map +1 -1
- package/build/api/schema/schema.d.ts +33 -2
- package/build/api/schema/schema.d.ts.map +1 -1
- package/build/api/schema/schema.js +42 -0
- package/build/api/schema/schema.js.map +1 -1
- package/build/api/schema-source/index.d.ts +2 -0
- package/build/api/schema-source/index.d.ts.map +1 -0
- package/build/api/schema-source/index.js +2 -0
- package/build/api/schema-source/index.js.map +1 -0
- package/build/api/schema-source/schema-source.d.ts +33 -0
- package/build/api/schema-source/schema-source.d.ts.map +1 -0
- package/build/api/schema-source/schema-source.js +137 -0
- package/build/api/schema-source/schema-source.js.map +1 -0
- package/build/api/vite/plugins/core.d.ts +1 -0
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +21 -18
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/schema-assets.d.ts +22 -0
- package/build/api/vite/plugins/schema-assets.d.ts.map +1 -0
- package/build/api/vite/plugins/schema-assets.js +269 -0
- package/build/api/vite/plugins/schema-assets.js.map +1 -0
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +11 -0
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/lib/graphql-change/change-groups.d.ts +2 -0
- package/build/lib/graphql-change/change-groups.d.ts.map +1 -1
- package/build/lib/graphql-change/change-groups.js +54 -0
- package/build/lib/graphql-change/change-groups.js.map +1 -1
- package/build/lib/kit-temp.d.ts +9 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +12 -0
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/path-map/path-map.d.ts.map +1 -1
- package/build/lib/path-map/path-map.js +3 -1
- package/build/lib/path-map/path-map.js.map +1 -1
- package/build/project-data.d.ts +3 -11
- package/build/project-data.d.ts.map +1 -1
- package/build/template/components/Changelog.d.ts +3 -3
- package/build/template/components/Changelog.d.ts.map +1 -1
- package/build/template/components/Changelog.js +8 -84
- package/build/template/components/Changelog.js.map +1 -1
- package/build/template/components/CodeBlock.d.ts +2 -0
- package/build/template/components/CodeBlock.d.ts.map +1 -1
- package/build/template/components/CodeBlock.js +1 -4
- package/build/template/components/CodeBlock.js.map +1 -1
- package/build/template/components/ComponentDispatch.d.ts +34 -0
- package/build/template/components/ComponentDispatch.d.ts.map +1 -0
- package/build/template/components/ComponentDispatch.js +33 -0
- package/build/template/components/ComponentDispatch.js.map +1 -0
- package/build/template/components/ReferenceLink.d.ts +19 -0
- package/build/template/components/ReferenceLink.d.ts.map +1 -0
- package/build/template/components/ReferenceLink.js +19 -0
- package/build/template/components/ReferenceLink.js.map +1 -0
- package/build/template/components/TypeAnnotation.d.ts.map +1 -1
- package/build/template/components/TypeAnnotation.js +3 -3
- package/build/template/components/TypeAnnotation.js.map +1 -1
- package/build/template/components/TypeFieldsLinkList.d.ts.map +1 -1
- package/build/template/components/TypeFieldsLinkList.js +4 -4
- package/build/template/components/TypeFieldsLinkList.js.map +1 -1
- package/build/template/components/TypeIndex.js +2 -2
- package/build/template/components/TypeIndex.js.map +1 -1
- package/build/template/components/VersionSelector.d.ts +7 -0
- package/build/template/components/VersionSelector.d.ts.map +1 -0
- package/build/template/components/VersionSelector.js +30 -0
- package/build/template/components/VersionSelector.js.map +1 -0
- package/build/template/components/graphql/type-link.d.ts.map +1 -1
- package/build/template/components/graphql/type-link.js +2 -2
- package/build/template/components/graphql/type-link.js.map +1 -1
- package/build/template/hooks/useVersionPath.d.ts +6 -0
- package/build/template/hooks/useVersionPath.d.ts.map +1 -0
- package/build/template/hooks/useVersionPath.js +10 -0
- package/build/template/hooks/useVersionPath.js.map +1 -0
- package/build/template/layouts/ChangelogLayout.d.ts.map +1 -0
- package/build/template/{components → layouts}/ChangelogLayout.js +1 -1
- package/build/template/layouts/ChangelogLayout.js.map +1 -0
- package/build/template/layouts/index.d.ts +1 -0
- package/build/template/layouts/index.d.ts.map +1 -1
- package/build/template/layouts/index.js +1 -0
- package/build/template/layouts/index.js.map +1 -1
- package/build/template/lib/fetch-text.d.ts +8 -0
- package/build/template/lib/fetch-text.d.ts.map +1 -0
- package/build/template/lib/fetch-text.js +14 -0
- package/build/template/lib/fetch-text.js.map +1 -0
- package/build/template/lib/polen-url.d.ts +14 -0
- package/build/template/lib/polen-url.d.ts.map +1 -1
- package/build/template/lib/polen-url.js +16 -0
- package/build/template/lib/polen-url.js.map +1 -1
- package/build/template/lib/schema-utils/constants.d.ts +5 -0
- package/build/template/lib/schema-utils/constants.d.ts.map +1 -0
- package/build/template/lib/schema-utils/constants.js +5 -0
- package/build/template/lib/schema-utils/constants.js.map +1 -0
- package/build/template/lib/schema-utils/schema-utils.d.ts +15 -0
- package/build/template/lib/schema-utils/schema-utils.d.ts.map +1 -0
- package/build/template/lib/schema-utils/schema-utils.js +37 -0
- package/build/template/lib/schema-utils/schema-utils.js.map +1 -0
- package/build/template/routes/changelog.d.ts +4 -3
- package/build/template/routes/changelog.d.ts.map +1 -1
- package/build/template/routes/changelog.js +13 -7
- package/build/template/routes/changelog.js.map +1 -1
- package/build/template/routes/pages.d.ts +10 -0
- package/build/template/routes/pages.d.ts.map +1 -0
- package/build/template/routes/pages.js +76 -0
- package/build/template/routes/pages.js.map +1 -0
- package/build/template/routes/reference.$type.$field.js +1 -1
- package/build/template/routes/reference.$type.$field.js.map +1 -1
- package/build/template/routes/reference.$type.d.ts +4 -0
- package/build/template/routes/reference.$type.d.ts.map +1 -1
- package/build/template/routes/reference.$type.js +2 -0
- package/build/template/routes/reference.$type.js.map +1 -1
- package/build/template/routes/reference.d.ts +9 -3
- package/build/template/routes/reference.d.ts.map +1 -1
- package/build/template/routes/reference.js +30 -8
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/routes/reference.version.$version.$type.$field.d.ts +6 -0
- package/build/template/routes/reference.version.$version.$type.$field.d.ts.map +1 -0
- package/build/template/routes/reference.version.$version.$type.$field.js +32 -0
- package/build/template/routes/reference.version.$version.$type.$field.js.map +1 -0
- package/build/template/routes/reference.version.$version.$type.d.ts +11 -0
- package/build/template/routes/reference.version.$version.$type.d.ts.map +1 -0
- package/build/template/routes/reference.version.$version.$type.js +26 -0
- package/build/template/routes/reference.version.$version.$type.js.map +1 -0
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.js +8 -72
- package/build/template/routes/root.js.map +1 -1
- package/build/template/server/app.d.ts +22 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +19 -9
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/main.js +9 -1
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/ssg/generate.js +2 -2
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.d.ts +1 -1
- package/build/template/server/ssg/get-route-paths.d.ts.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +51 -27
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/sources/schema-source.d.ts +15 -0
- package/build/template/sources/schema-source.d.ts.map +1 -0
- package/build/template/sources/schema-source.js +63 -0
- package/build/template/sources/schema-source.js.map +1 -0
- package/package.json +1 -1
- package/src/api/api.ts +1 -0
- package/src/api/config/configurator.ts +51 -6
- package/src/api/schema/data-sources/memory/memory.ts +3 -5
- package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +29 -13
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +56 -16
- package/src/api/schema/data-sources/schema-file/schema-file.ts +16 -7
- package/src/api/schema/metadata.ts +23 -0
- package/src/api/schema/read.ts +3 -3
- package/src/api/schema/schema.ts +62 -2
- package/src/api/schema-source/index.ts +1 -0
- package/src/api/schema-source/schema-source.ts +189 -0
- package/src/api/vite/plugins/core.ts +23 -18
- package/src/api/vite/plugins/schema-assets.ts +317 -0
- package/src/api/vite/plugins/serve.ts +15 -8
- package/src/lib/graphql-change/change-groups.ts +57 -0
- package/src/lib/kit-temp.ts +13 -0
- package/src/lib/path-map/$.test.ts +22 -19
- package/src/lib/path-map/path-map.ts +3 -1
- package/src/project-data.ts +3 -11
- package/src/template/components/Changelog.tsx +16 -67
- package/src/template/components/CodeBlock.tsx +3 -5
- package/src/template/components/ComponentDispatch.tsx +42 -0
- package/src/template/components/ReferenceLink.tsx +34 -0
- package/src/template/components/TypeAnnotation.tsx +5 -7
- package/src/template/components/TypeFieldsLinkList.tsx +20 -23
- package/src/template/components/TypeIndex.tsx +10 -12
- package/src/template/components/VersionSelector.tsx +50 -0
- package/src/template/components/graphql/type-link.tsx +4 -3
- package/src/template/hooks/useVersionPath.ts +10 -0
- package/src/template/{components → layouts}/ChangelogLayout.tsx +1 -1
- package/src/template/layouts/index.ts +1 -0
- package/src/template/lib/fetch-text.ts +13 -0
- package/src/template/lib/polen-url.ts +20 -0
- package/src/template/lib/schema-utils/constants.ts +4 -0
- package/src/template/lib/schema-utils/schema-utils.ts +42 -0
- package/src/template/routes/changelog.tsx +17 -8
- package/src/template/routes/pages.tsx +109 -0
- package/src/template/routes/reference.$type.$field.tsx +1 -1
- package/src/template/routes/reference.$type.tsx +2 -0
- package/src/template/routes/reference.tsx +38 -6
- package/src/template/routes/reference.version.$version.$type.$field.tsx +35 -0
- package/src/template/routes/reference.version.$version.$type.tsx +30 -0
- package/src/template/routes/root.tsx +8 -109
- package/src/template/server/app.ts +47 -14
- package/src/template/server/main.ts +9 -1
- package/src/template/server/ssg/generate.ts +2 -2
- package/src/template/server/ssg/get-route-paths.ts +53 -27
- package/src/template/sources/schema-source.ts +68 -0
- package/build/lib/graphql-document/$$.d.ts +0 -5
- package/build/lib/graphql-document/$$.d.ts.map +0 -1
- package/build/lib/graphql-document/$$.js +0 -5
- package/build/lib/graphql-document/$$.js.map +0 -1
- package/build/lib/graphql-document/$.d.ts +0 -2
- package/build/lib/graphql-document/$.d.ts.map +0 -1
- package/build/lib/graphql-document/$.js +0 -2
- package/build/lib/graphql-document/$.js.map +0 -1
- package/build/lib/graphql-document/analysis.d.ts +0 -44
- package/build/lib/graphql-document/analysis.d.ts.map +0 -1
- package/build/lib/graphql-document/analysis.js +0 -361
- package/build/lib/graphql-document/analysis.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +0 -151
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -27
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -50
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
- package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
- package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.js +0 -144
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
- package/build/lib/graphql-document/components/index.d.ts +0 -5
- package/build/lib/graphql-document/components/index.d.ts.map +0 -1
- package/build/lib/graphql-document/components/index.js +0 -5
- package/build/lib/graphql-document/components/index.js.map +0 -1
- package/build/lib/graphql-document/example.d.ts +0 -25
- package/build/lib/graphql-document/example.d.ts.map +0 -1
- package/build/lib/graphql-document/example.js +0 -140
- package/build/lib/graphql-document/example.js.map +0 -1
- package/build/lib/graphql-document/graphql-document.d.ts +0 -35
- package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
- package/build/lib/graphql-document/graphql-document.js +0 -36
- package/build/lib/graphql-document/graphql-document.js.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
- package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
- package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
- package/build/lib/graphql-document/positioning-simple.js +0 -185
- package/build/lib/graphql-document/positioning-simple.js.map +0 -1
- package/build/lib/graphql-document/schema-context.d.ts +0 -8
- package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-context.js +0 -11
- package/build/lib/graphql-document/schema-context.js.map +0 -1
- package/build/lib/graphql-document/schema-integration.d.ts +0 -135
- package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration.js +0 -328
- package/build/lib/graphql-document/schema-integration.js.map +0 -1
- package/build/lib/graphql-document/types.d.ts +0 -117
- package/build/lib/graphql-document/types.d.ts.map +0 -1
- package/build/lib/graphql-document/types.js +0 -2
- package/build/lib/graphql-document/types.js.map +0 -1
- package/build/template/components/ChangelogLayout.d.ts.map +0 -1
- package/build/template/components/ChangelogLayout.js.map +0 -1
- package/build/template/components/CodeHikePre.d.ts +0 -16
- package/build/template/components/CodeHikePre.d.ts.map +0 -1
- package/build/template/components/CodeHikePre.js +0 -37
- package/build/template/components/CodeHikePre.js.map +0 -1
- package/src/lib/graphql-document/$$.ts +0 -4
- package/src/lib/graphql-document/$.test.ts +0 -132
- package/src/lib/graphql-document/$.ts +0 -1
- package/src/lib/graphql-document/README.md +0 -102
- package/src/lib/graphql-document/analysis.ts +0 -415
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -265
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -46
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -199
- package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -144
- package/src/lib/graphql-document/components/index.ts +0 -4
- package/src/lib/graphql-document/demo.md +0 -155
- package/src/lib/graphql-document/example.ts +0 -163
- package/src/lib/graphql-document/graphql-document.ts +0 -37
- package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
- package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
- package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
- package/src/lib/graphql-document/positioning-simple.ts +0 -260
- package/src/lib/graphql-document/schema-context.tsx +0 -20
- package/src/lib/graphql-document/schema-integration.test.ts +0 -365
- package/src/lib/graphql-document/schema-integration.ts +0 -488
- package/src/lib/graphql-document/types.ts +0 -129
- package/src/template/components/CodeHikePre.tsx +0 -51
- /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
|