UNPKG

@graphql-yoga/render-apollo-sandbox

Version:
24 lines (23 loc) 893 B
export function renderApolloSandbox(sandboxOpts) { return function renderApolloSandbox(graphiqlOpts) { const initialState = { document: graphiqlOpts.defaultQuery, headers: graphiqlOpts.headers, sharedHeaders: graphiqlOpts.additionalHeaders, ...sandboxOpts?.initialState, }; const finalOpts = { ...sandboxOpts, initialState, }; return /* HTML */ ` <div style="width: 100%; height: 100%;" id="embedded-sandbox"></div> <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js"></script> <script> const opts = ${JSON.stringify(finalOpts)}; opts.initialEndpoint ||= new URL(location.pathname, location.href).toString(); new window.EmbeddedSandbox(opts); </script> `; }; }