Socket
Socket
Sign inDemoInstall

react-pannable

Package Overview
Dependencies
Maintainers
1
Versions
105
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-pannable

Simulate pan gesture and scroll view for touch devices with [`React`](https://facebook.github.io/react/)


Version published
Weekly downloads
110
decreased by-13.39%
Maintainers
1
Weekly downloads
 
Created
Source

react-pannable

Simulate pan gesture and scroll view for touch devices with React

npm version npm license

Getting started

Install react-pannable using npm.

npm install --save react-pannable

Examples

All the examples!

Some Pannable demos

Some Pad demos

API Reference

Pannable

Pannable provides a pan gesture simulation on recent mobile browsers for iOS and Android. It can also be used on mouse-base devices across on all evergreen browsers.

type Point = { x: number, y: number };
type PanEvent = {
  translation: Point,
  velocity: Point,
  target: HTMLElement,
};
Prop Types
PropertyTypeDefaultValueDescription
enabledbooleantrueIndicate whether the gesture listener is enabled. If you change this property to false while the gesture is listening, the gesture transitions to cancel.
shouldStartboolean,functiontrueWhether to start gesture listening. : (evt: PanEvent) => void
onStartfunction() => {}Callback invoked when the gesture starts listening.: (evt: PanEvent) => void
onMovefunction() => {}Callback invoked when the gesture moves.: (evt: PanEvent) => void
onEndfunction() => {}Callback invoked when the gesture ended listening.: (evt: PanEvent) => void
onCancelfunction() => {}Callback invoked when the gesture cancelled.: (evt: PanEvent) => void

Pad

Pad provides a scrollable content component on which overflow scrollbars are not natively supported. It also provides paging scroll implementation and multiple content layout mode.

type Point = { x: number, y: number };
type Size = { width: number, height: number };
type Rect = { x: number, y: number, width: number, height: number };
type Align = 'auto' | 'center' | 'start' | 'end' | number;
type PadEvent = {
  contentOffset: Point,
  contentVelocity: Point,
  dragging: boolean,
  decelerating: boolean,
  size: Size,
  contentSize: Size,
};
Prop Types
PropertyTypeDefaultValueDescription
childrenelement,ComponentnullRendered content. Can be a react component class, a render function, or a rendered element.:(pad: Pad) => element
widthnumber0The width of the bounding view.
heightnumber0The height of the bounding view.
contentWidthnumber0The width of the content view.
contentHeightnumber0The height of the content view.
scrollEnabledbooleantrueDetermines whether scrolling is enabled.
pagingEnabledbooleanfalseDetermines whether paging is enabled.
directionalLockEnabledbooleanfalseDetermines whether scrolling is disabled in a particular direction.
onScrollfunction() => {}Callback invoked when the content view scrolls.:({evt: PadEvent}) => void
Public Methods
scrollTo({ offset: Point, animated: boolean })

Sets the offset from the content view’s origin.

scrollToRect({ rect: Rect, align: Align, animated: boolean })

Scrolls a specific area of the content so that it is visible.

GeneralContent

GeneralContent automatically adjusts the size of content.

type Size = { width: number, height: number };
Prop Types
PropertyTypeDefaultValueDescription
widthnumber-1The width of the content. If you set this property to -1, it shrinks the content's width.
heightnumber-1The height of the content. If you set this property to -1, it shrinks the content's height.
onResizefunction() => {}Callback invoked when the content resize.:(size: Size) => void

GridContent

GridContent displays data in multiple rows and columns with the same size.

type Size = { width: number, height: number };
type Rect = { x: number, y: number, width: number, height: number };
type LayoutAttrs = {
  itemIndex: number,
  rowIndex: number,
  columnIndex: number,
  x: number,
  y: number,
  width: number,
  height: number,
};
Prop Types
PropertyTypeDefaultValueDescription
direction'vertical','horizontal''vertical'The direction of the grid.
widthnumber-1The width of the content. If you set this property to -1, it shrinks the content's width.
heightnumber-1The height of the content. If you set this property to -1, it shrinks the content's height.
rowSpacingnumber0The minimum spacing to use between rows of items in the grid.
columnSpacingnumber0The minimum spacing to use between columns of items in the grid.
itemCountnumber0The number of items.
itemWidthnumber0The width of the item.
itemHeightnumber0The height of the item.
renderItemfunction() => nullThe renderer of the item.:(attrs: LayoutAttrs) => element
visibleRectRect{ x: 0, y: 0, width: 0, height: 0 }The area of the visible content.
onResizefunction() => {}Callback invoked when the content resize.:(size: Size) => void
Public Methods
getItemRect({ itemIndex: number, rowIndex: number, columnIndex: number })

Returns the area of item at the specified indexes.

ListContent

ListContent displays data in a single line of customizable items.

type Size = { width: number, height: number };
type Rect = { x: number, y: number, width: number, height: number };
type LayoutAttrs = {
  itemIndex: number,
  x: number,
  y: number,
  width: number,
  height: number,
  Item: ItemContent,
};
Prop Types
PropertyTypeDefaultValueDescription
direction'vertical','horizontal''vertical'The direction of the list.
widthnumber-1The width of the content. If you set this property to -1, it shrinks the content's width.
heightnumber-1The height of the content. If you set this property to -1, it shrinks the content's height.
spacingnumber0The minimum spacing to use between items in the list.
itemCountnumber0The number of items.
estimatedItemWidthnumber0The estimated width of the item.
estimatedItemHeightnumber0The estimated height of the item.
renderItemfunction() => nullThe renderer of the item.:(attrs: LayoutAttrs) => element
visibleRectRect{ x: 0, y: 0, width: 0, height: 0 }The area of the visible content.
onResizefunction() => {}Callback invoked when the content resize.:(size: Size) => void
Public Methods
getItemRect({ itemIndex: number })

Returns the area of item at the specified index.

ItemContent

ItemContent adjusts the size of content by hash property.

type Size = { width: number, height: number };
Prop Types
PropertyTypeDefaultValueDescription
widthnumber-1The width of the content. If you set this property to -1, it shrinks the content's width.
heightnumber-1The height of the content. If you set this property to -1, it shrinks the content's height.
hashstring'Item'The hash of the content. if this property changes, the content size recalculates.
getSizeByHashfunction() => nullThe content size getter by hash.:(hash: string) => Size
onResizefunction() => {}Callback invoked when the content resize.:(size: Size, hash: string) => void

License

MIT License

Keywords

FAQs

Package last updated on 13 Mar 2019

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