JSPM

@sereneinserenade/tiptap-inline-suggestion

0.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 54
  • Score
    100M100P100Q75427F
  • License MIT

Tiptap Extension for adding inline suggestions. Ex. for AI autocompletion.

Package Exports

  • @sereneinserenade/tiptap-inline-suggestion
  • @sereneinserenade/tiptap-inline-suggestion/dist/index.cjs.js
  • @sereneinserenade/tiptap-inline-suggestion/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sereneinserenade/tiptap-inline-suggestion) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

InlineSuggestion

A tiptap extension that allows you to add inline suggestions to your editor.

Live Demo: https://sereneinserenade.github.io/tiptap-inline-suggestion/

Video Demo

https://github.com/sereneinserenade/tiptap-inline-suggestion/assets/45892659/b69efd59-f853-4c03-9a03-85044e43f58a

Installation

npm install @sereneinserenade/tiptap-inline-suggestion

Usage

Add InlineSuggestion extension to your list of extension for tiptap. Add a fetchAutocompletion function to the configuration object. This function should return a string. This string will be shown as a suggestion to the user.

Add styles to show the suggestion that gets stored in the attribute data-inline-suggestion. Below are styles I used for the demo, adjust it to your liking.

import { Editor } from "@tiptap/core";
import StarterKit from "@tiptap/starter-kit";
import InlineSuggestion from "@sereneinserenade/tiptap-inline-suggestion";

const editor = new Editor(
  {
    extensions: [
      StarterKit,
      // add InlineSuggestions to the array of tiptap extensions
      InlineSuggestion.configure(
        {
          fetchAutocompletion: async (query) => {
            // make request to your API or something else
            const res = await fetch(`YOUR_API_ENDPOINT?query=${query}`)

            const stringRes = res.suggestion; // or whatever your API returns

            return stringRes; // return value should always be a string
          }
        }
      ),
    ],
  }
)
[data-inline-suggestion]::after {
  content: attr(data-inline-suggestion);
  color: #999;
}

My

A ⭐️ to the repo if you 👍 / ❤️ what I'm doing would be much appreciated. If you're using this extension, it'd be very kind of you to ❤️ Sponsor me.

I've made a bunch of extensions for Tiptap 2, some of them are Resiable Images And Videos, Search and Replace, LanguageTool integration with tiptap. You can check it our here https://github.com/sereneinserenade#a-glance-of-my-projects.

License

MIT © Jeet Mandaliya(github: sereneinserenade)