1.10.27 • Published 1 month ago

@interactjs/interactjs v1.10.27

Weekly downloads
24,154
License
MIT
Repository
github
Last release
1 month ago

Features include:

  • inertia and snapping
  • multi-touch, simultaneous interactions
  • cross browser and device, supporting the desktop and mobile versions of Chrome, Firefox and Opera as well as Internet Explorer 9+
  • interaction with SVG elements
  • being standalone and customizable
  • not modifying the DOM except to change the cursor (but you can disable that)

Installation

  • npm: npm install interactjs
  • jsDelivr CDN: <script src="https://cdn.jsdelivr.net/npm/interactjs/dist/interact.min.js"></script>
  • unpkg CDN: <script src="https://unpkg.com/interactjs/dist/interact.min.js"></script>
  • Rails 5.1+:
    1. yarn add interactjs
    2. //= require interactjs/interact
  • Webjars SBT/Play 2: libraryDependencies ++= Seq("org.webjars.npm" % "interactjs" % version)

Typescript definitions

The project is written in Typescript and the npm package includes the type definitions, but if you need the typings alone, you can install them with:

npm install --save-dev @interactjs/types

Documentation

http://interactjs.io/docs

Example

var pixelSize = 16;

interact('.rainbow-pixel-canvas')
  .origin('self')
  .draggable({
    modifiers: [
      interact.modifiers.snap({
        // snap to the corners of a grid
        targets: [
          interact.snappers.grid({ x: pixelSize, y: pixelSize }),
        ],
      })
    ],
    listeners: {
      // draw colored squares on move
      move: function (event) {
        var context = event.target.getContext('2d'),
            // calculate the angle of the drag direction
            dragAngle = 180 * Math.atan2(event.dx, event.dy) / Math.PI;

        // set color based on drag angle and speed
        context.fillStyle = 'hsl(' + dragAngle + ', 86%, '
                            + (30 + Math.min(event.speed / 1000, 1) * 50) + '%)';

        // draw squares
        context.fillRect(event.pageX - pixelSize / 2, event.pageY - pixelSize / 2,
                         pixelSize, pixelSize);
      }
    }
  })
  // clear the canvas on doubletap
  .on('doubletap', function (event) {
    var context = event.target.getContext('2d');

    context.clearRect(0, 0, context.canvas.width, context.canvas.height);
  });

  function resizeCanvases () {
    [].forEach.call(document.querySelectorAll('.rainbow-pixel-canvas'), function (canvas) {
      canvas.width = document.body.clientWidth;
      canvas.height = window.innerHeight * 0.7;
    });
  }

  // interact.js can also add DOM event listeners
  interact(document).on('DOMContentLoaded', resizeCanvases);
  interact(window).on('resize', resizeCanvases);

See the above code in action at https://codepen.io/taye/pen/tCKAm

License

interact.js is released under the MIT License.

@infinitebrahmanuniverse/nolb-_inteasp-grid-layout1@everything-registry/sub-chunk-466hz-grid-layoutfork-vue-grid-layout@energiency/vue-grid-layoutliwenbo112logic-vue-grid-layoutl-grid-layout-master@fantage9/vue-grid-layout-v3@filif123/vue-grid-layout-v3monitor-vue-grid-layoutmod-grid-layoutfeng-grid-layoutetquaselement-pro-uifixed-vue-grid-layoutgrid-drag-layout-vue3grid-layout-v3m-grid-layoutmediway-uimediway-ui-myhmediway-ui-npmmediway-ui-npm-01mediway-ui1mediway-ui2mediway-ui3mediway-ui4@uniplore-public/vue3-drr-grid-layout@zalastax/nolb-_inteow_portalpaio-dragnewhope-grid-layoutdell-grid-layout@bdlite/vue-grid-layout@derpierre65/vue3-dragable-grid-layout@datahu/client@datahu/designer@happydemoney/vue-grid-layoutdatasoli-viewsolutaofficiadata-development-components@connecthing.io/vue3-drr-grid-layoutblp-grid-layout@jayli3n/vue3-drr-grid-layout@lts-ui/common@longteng/vue-grid-layoutdrag-resizable-layout@jxstjh/vue-grid-layout@jojoxd/vue-grid-layouttomatoes-grid-layouttxtec-layoutty-advanced-components@noction/vue-draggable-grid@nio-mop/vue-grid-layouttemporibusipsumtw-vue-grid-layout@nrr/vue-grid-layoutvue_npmampvuegridlayout-fixedforievue-grid-layout-horizontalvue-grid-layout-jpvue-grid-layout-jp2vue-grid-layout-js-purevue-grid-layout-lzyvue-grid-layout-maintainvue-grid-layout-plusvue-grid-layout-provue-grid-layout-satdvue-grid-layout-stepvue-grid-layout-ultravue-grid-layout-v3vue-grid-layout-v3-satdvue-grid-layout-void01vue-grid-layout-vue3vue-grid-layout-zwwvue-grid-layout3vue-grid-newvue-grid-layoutvue-grid-layout-bk-visionvue-grid-layout-dsh-v3vue-grid-layout-enhancevue-grid-layout-ext@piggaycheng/vue3-drr-grid-layoutvue-tile-layoutvue2-grid-layout-provue3-grid-layoutvue3-grid-layout-pnvvue3-grid-layout-testvue-ts-responsive-grid-layoutvue3-drr-grid-layoutvue3-drr-grid-layout-2vue3-drr-grid-layout-san@quentin.marechal/vue3-drr-grid-layoutzs-vue-grid-layout@widgetti/vue-grid-layout
1.10.27

1 month ago

1.10.26

5 months ago

1.10.25

5 months ago

1.10.24

5 months ago

1.10.22

6 months ago

1.10.23

6 months ago

1.10.20

6 months ago

1.10.21

6 months ago

1.10.19

8 months ago

1.10.18

9 months ago

1.10.15

2 years ago

1.10.16

2 years ago

1.10.14

2 years ago

1.10.17

2 years ago

1.10.13

2 years ago

1.10.12

2 years ago

1.10.11

3 years ago

1.10.10

3 years ago

1.10.9

3 years ago

1.10.8

3 years ago

1.10.7

3 years ago

1.10.6

3 years ago

1.10.5

3 years ago

1.10.4

3 years ago

1.10.3

3 years ago

1.10.2

3 years ago

1.10.1

3 years ago

1.10.0

4 years ago

1.9.22

4 years ago

1.9.21

4 years ago

1.9.20

4 years ago

1.9.19

4 years ago

1.9.18

4 years ago

1.9.17

4 years ago

1.9.16

4 years ago

1.9.15

4 years ago

1.9.14

4 years ago

1.9.13

4 years ago

1.9.12

4 years ago

1.9.11

4 years ago

1.9.10

4 years ago

1.9.9

4 years ago

1.9.8

4 years ago

1.9.7

4 years ago

1.9.6

4 years ago

1.9.5

4 years ago

1.9.4

4 years ago

1.9.3

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.8.5

4 years ago

1.8.4

4 years ago

1.8.3

4 years ago

1.8.2

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.8.0-rc.3

4 years ago

1.8.0-rc.2

4 years ago

1.8.0-rc.1

4 years ago

1.8.0-rc.0

4 years ago

1.8.0-alpha.7

4 years ago

1.7.3

4 years ago

1.8.0-alpha.6

4 years ago

1.8.0-alpha.4

4 years ago

1.8.0-alpha.5

4 years ago

1.8.0-alpha.3

4 years ago

1.8.0-alpha.2

4 years ago

1.8.0-alpha.1

4 years ago

1.7.2

4 years ago

1.8.0-alpha.0

4 years ago

1.7.1

4 years ago