npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@atlaskit/editor-plugin-guideline

v1.2.16

Published

guideline plugin for @atlaskit/editor-core

Downloads

7,389

Readme

EditorPluginGuideline

guideline plugin for @atlaskit/editor-core

Usage

See packages/editor/editor-plugin-guideline/src/types.ts for detailed guideline config interface.

Example usage:

pluginInjectionApi?.dependencies?.guideline?.actions?.displayGuideline(view)({
  guidelines: [{
    key: "guideline_01"
    position: {
      x: -100
    }; // The position of the guideline
    active: true,
    style: "dashed",
    color: "rgba(0, 0, 0, 0.2)"
  }, 
  {
    key: "guideline_02"
    position: {
      x: 300
    };
    show: false,
  }]
});

A guideline config consists of three parts:

  • A unique key (required)
  • Position (required)
  • State/Style (optional)

This plugin was designed to be "dumb". Meaning that it only contains very basic logics to render the guidelines. Commonly used configurations and utils will be reside in the editor-common package.

Position:

The following diagram shows:

  • The layout of the guideline display area
  • The position of a guideline for a given X value.

The position value is defined as follow: type Position = { x: number };

  • When x is 0, a vertical line is displayed at the center of the editor (see the diagram above).
  • A negative value will move the line to the left, up to minus half of the editor width.
  • A positive value will move the line to the right, up to half of the editor width.
  • If a x value is outside of the visible range, if will be ignored. (See the todo section)

State/Style

We have the follow state/style configurations

type GuidelineConfig = {
  ...
  active?: boolean;
  show?: boolean;
  styles: {
    lineStyle?: 'dashed' | 'solid'; // default solid
    color?: CSSToken;
    capStyle?: 'line'
  }
};
  • active default false, equivalent to the highlight state in the grid plugin.
  • show default true and you can also hide a guideline, could be useful when you need animations.
  • styles.color: default undefined you can override the color of a guideline with a valid css color
  • styles.lineStyle default solid, and we also support dashed
  • styles.capStyle default undefined, and support line

TODO

  • [ ] Add unit/vr tests
  • [ ] Handle guidelines which are outside of visitable range.
  • [ ] Implement the Grid plug option, shouldCalcBreakoutGridLines?: boolean;
  • [ ] Retire the exist Grid plugin. and replace it with this plugin. Plugins currently use the grid plugin: media, table and card.
  • [ ] Investigate a better way to handle the color attribute, to avoid a fragmented experiences in the Editor.