packages feed

morpheus-graphql-server-0.28.5: src/Data/Morpheus/Server/Playground/index.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>GraphiQL Explorer</title>
    <style>
      body {
        margin: 0;
      }

      #graphiql {
        height: 100dvh;
      }

      #graphiql:has(.loading) {
        height: 100vh;
        width: 100vw;
        display: flex;
        justify-content: center;
        align-items: center;
      }

      @keyframes spin { to { transform: rotate(1turn); } }
      .loading {
        position: relative;
        display: inline-block;
        width: 5em;
        height: 5em;
        margin: 0 .5em;
        font-size: 12px;
        text-indent: 999em;
        overflow: hidden;
        animation: spin 1s infinite steps(8);
      }
      .loading:before,
      .loading:after,
      .loading > div:before,
      .loading > div:after {
        content: '';
        position: absolute;
        top: 0;
        left: 2.25em;
        width: .5em;
        height: 1.5em;
        border-radius: .2em;
        background: #eee;
        box-shadow: 0 3.5em #eee;
        transform-origin: 50% 2.5em;
      }
      .loading:before {
        background: #555;
      }
      .loading:after {
        transform: rotate(-45deg);
        background: #777;
      }
      .loading > div:before {
        transform: rotate(-90deg);
        background: #999;
      }
      .loading > div:after {
        transform: rotate(-135deg);
        background: #bbb;
      }
    </style>
    <link rel="stylesheet" href="https://esm.sh/graphiql/dist/style.css" />
    <link rel="stylesheet" href="https://esm.sh/@graphiql/plugin-explorer/dist/style.css" />
    <script type="importmap">
      {
        "imports": {
          "react": "https://esm.sh/react@19.2.4",
          "react/": "https://esm.sh/react@19.2.4/",

          "react-dom": "https://esm.sh/react-dom@19.2.4",
          "react-dom/": "https://esm.sh/react-dom@19.2.4/",

          "graphiql": "https://esm.sh/graphiql?standalone&external=react,react-dom,@graphiql/react,graphql",
          "graphiql/": "https://esm.sh/graphiql/",
          "@graphiql/plugin-explorer": "https://esm.sh/@graphiql/plugin-explorer?standalone&external=react,@graphiql/react,graphql",
          "@graphiql/react": "https://esm.sh/@graphiql/react?standalone&external=react,react-dom,graphql,@graphiql/toolkit,@emotion/is-prop-valid",

          "@graphiql/toolkit": "https://esm.sh/@graphiql/toolkit?standalone&external=graphql",
          "graphql": "https://esm.sh/graphql@16.12.0",
          "@emotion/is-prop-valid": "data:text/javascript,"
        }
      }
    </script>
    <script type="module">
      import React from 'react';
      import ReactDOM from 'react-dom/client';
      import { GraphiQL, HISTORY_PLUGIN } from 'graphiql';
      import { createGraphiQLFetcher } from '@graphiql/toolkit';
      import { explorerPlugin } from '@graphiql/plugin-explorer';
      import 'graphiql/setup-workers/esm.sh';

      const wsLocation = window.location;
      wsLocation.protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
      const fetcher = createGraphiQLFetcher({
        url: window.location.href,
        subscriptionUrl: wsLocation.href,
      });
      const plugins = [HISTORY_PLUGIN, explorerPlugin()];

      function App() {
        return React.createElement(GraphiQL, {
          fetcher,
          plugins,
          defaultEditorToolsVisibility: true,
        });
      }

      const container = document.getElementById('graphiql');
      const root = ReactDOM.createRoot(container);
      root.render(React.createElement(App));
    </script>
  </head>
  <body>
    <div id="graphiql">
        <div class="loading"><div></div></div>
    </div>
  </body>
</html>