@scalar/api-reference-editor
TypeScript icon, indicating that this package has built-in type declarations

0.2.31 • Public • Published

API Reference Editor

Scalar API references with an integrated editor. The editor can be used in two ways:

Internal State Management

You (optionally) provide an initial value and the editor will manage any changes internally.

<!doctype html>
<html>
  <head>
    <title>API Reference Editor</title>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1" />
    <!-- TODO: Update import script -->
    <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference-editor"></script>
  </head>
  <body>
    <div id="scalar-api-reference" />
    <script>
      import { mountApiReferenceEditable } from '@scalar/api-reference-editor'

      mountApiReferenceEditable('#scalar-api-reference')
    </script>
  </body>
</html>

External State Management

To have additional control over when the references are updated you can provide a configuration.spec.content value and then handle the custom event that is emitted from the Editor component. A handler can be passed directly to the mountApiReferenceEditable function or you can attach an event listener for scalar-update to the mounted div.

If you wish to have external UI that updates the spec then updateSpecValue can be used to force update the content.

<!doctype html>
<html>
  <head>
    <title>API Reference Editor</title>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1" />
    <!-- TODO: Update import script -->
    <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference-editor"></script>
  </head>
  <body>
    <div id="scalar-api-reference" />
    <script>
      import { mountApiReferenceEditable } from '@scalar/api-reference-editor'

      const externalState = {
        value: ''
      }

      const { updateSpecValue} = mountApiReferenceEditable(
        '#scalar-api-reference',
        { content: '' },
        (v: string) => {
          console.log('The value is updated!')
          updateSpecValue(v) // Updates the rendered spec
          externalState.value = v
        }
      )
    </script>
  </body>
</html>

Package Sidebar

Install

npm i @scalar/api-reference-editor

Weekly Downloads

384

Version

0.2.31

License

MIT

Unpacked Size

87.3 kB

Total Files

23

Last publish

Collaborators

  • amritkahlon
  • cameronrohani
  • marclave
  • tommastro
  • scalar_geoff
  • hwkr
  • mason-little
  • hanspagel