JSPM

@remirror/extension-positioner

1.0.0-next.54
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 53460
  • Score
    100M100P100Q185487F
  • License MIT

Reposition your elements with every state update.

Package Exports

  • @remirror/extension-positioner
  • @remirror/extension-positioner/dist/extension-positioner.browser.cjs.js
  • @remirror/extension-positioner/dist/extension-positioner.browser.esm.js
  • @remirror/extension-positioner/dist/extension-positioner.cjs.js
  • @remirror/extension-positioner/dist/extension-positioner.esm.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 (@remirror/extension-positioner) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@remirror/extension-positioner

Reposition your elements with every state update.

Version Weekly Downloads Bundled size Typed Codebase MIT License

Installation

# yarn
yarn add @remirror/extension-positioner@next @remirror/pm@next

# pnpm
pnpm add @remirror/extension-positioner@next @remirror/pm@next

# npm
npm install @remirror/extension-positioner@next @remirror/pm@next

This is included by default when you install the recommended remirror package. All exports are also available via the entry-point, remirror/extension/positioner.

Usage

An extension for tracking the position of the provided element relative to the prosemirror editor. Can be used to find the top / left position in order to position the element as a hover menu.

import { PositionerExtension } from 'remirror/extension/positioner';

const extension = new PositionerExtension();

const dispose = extension.addCustomHandler({
  positioner: 'bubble',
  element,
  onChange: ({ isActive, top, left }) => {
    // do something
  },
});

// Later in the app
dispose(); // Remove the positioner.