Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@photobox/interact

Package Overview
Dependencies
Maintainers
77
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@photobox/interact

Add interaction to HTML elements

  • 0.2.0
  • latest
  • npm
  • Socket score

Version published
Maintainers
77
Created
Source

Interact

Add interactions to elements: drag, resize, rotate.

Build status

CircleCI

Demo

To run the demo, just do yarn build and open /demo/dist/demo.html in your browser.

How to use

const listener = (event) => {
  /*
    event.target: HTMLElement: Interactable object
    event.currentTarget: HTMLElement: : Interactable object
    event.interaction: String: Current action: ['move', 'resize', 'rotate', null]
    event.edges: Object: Edges being moved on resize: {
      top: Boolean
      left: Boolean
      right: Boolean
      bottom: Boolean
    }
    event.rect: Object: Selection position on move: {
      top: Number
      left: Number
    }, Selection box on resize: {
      top: Number
      left: Number
      width: Number
      height: Number
    }
    event.rotate: Number: Rotation degree on rotate
    event.rotated: Boolean
  */
};

// interactable can be eaither a selector or a HTMLElement
Interaction.create(interactable, {
  // Enable resizing for the interactable. Default: false
  isResizable: true,
  // Enable dragging for the interactable. Default: false
  isDraggable: true,
  // Enable rotation for the interactable. Default: false
  isRotatable: true,
  // The rotation pivot. Default: [0, 0] (top, left)
  pivot: [0.5, 0.5],
  // The angle of rotation. Default: 5 (in degrees)
  rotationAngle: 15
})
// Event fired when the selection zone appears
.on('select', listener)
// Event fired when the selection zone dissapears
.on('unselect', listener)
// Event fired when a pointing device button is pressed on the interactable
.on('down', listener)
// Event fired when a pointing device button is released over the interactable
.on('up', listener)
// Event fired when the interactable is being moved
.on('move', listener)
// Event fired when the interactable is being resized
.on('resize', listener)
// Event fired when the interactable is being rotated
.on('rotate', listener);

Test

Just run yarn test.

You may want to use the demo app just to be sure everything's still OK :)

Publish

Use yarn version:[patch|minor|major] to update version. A commit is created with version bump in package.json. A tag is created too. If pushed to git, circleci will deploy a new version on npm.js from that tag.

❯ yarn version:patch
yarn run v1.7.0
$ yarn version --patch
info Current version: 0.0.24
info New version: 0.0.25
✨  Done in 3.79s.

❯ git push origin v0.0.25

FAQs

Package last updated on 28 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc