1.0.0 • Published 2 years ago

@9am/img-tissue v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Demo

https://user-images.githubusercontent.com/1435457/169442632-62b8e967-6a4f-4c9f-a00f-c17cb436ad8f.mp4

Usage

  1. Installation

    npm install @9am/img-tissue
  2. ESM

    // HTML
    <img-tissue src="/url.png"></img-tissue>
    import { register } from '@9am/img-tissue'
    register({})

    or try it with skypack without installation

    import { register } from 'https://cdn.skypack.dev/@9am/img-tissue'
    register({})
  3. Zoom

    // js
    const tissue = document.querySelector('img-tissue')
    tissue.zoomIn({ clientX: 0, clientY: 0, duration: 300 })
    tissue.zoomOut({ clientX: 0, clientY: 0, duration: 300 })

API

  1. < img-tissue > attributes

    NameTypeDefaultDescription
    src{String}RequiredThe image URL
    title{String}''For screen readers
    column{Number}4Split area into {column} vertically
    row{Number}4Split area into {row} horizontally
  2. < img-tissue > methods

    NameParamsTypeDefaultDescription
    zoomIn({ clientX, clientY, duration }){Function}ZoomIn the image to target position
    zoomOut({ clientX, clientY, duration }){Function}ZoomOut the image to
    clientX{Number}RequiredX position on the client viewport
    clientY{Number}RequiredY position on the client viewport
    duration{Number}RequiredDuration of the animation(ms)
  3. register options

    NameTypeDefaultDescription
    tagName{String}img-tissueChange tag name of the web component

Development

  1. Install dependencies

    npm install

  2. Start dev server

    npm run dev

  3. Put images under ./demo/img, replace image URL in index.html

  4. Open localhost:3000 in the browser

Testing

TBD

License

MIT