1.3.2 • Published 5 years ago

react-gesture-stack v1.3.2

Weekly downloads
106
License
MIT
Repository
github
Last release
5 years ago

react-gesture-stack

npm package Follow on Twitter

React-gesture-stack provides an iOS stack-like interface for use on the web. It supports gestures to "go back" in the stack. View the above example on CodeSandbox.

This was originally built for use in Sancho-UI.

Install

Install react-gesture-stack and its peer dependency react-gesture-responder using yarn or npm.

yarn add react-gesture-stack react-gesture-responder

Basic usage

import { Stack, StackItem, StackTitle } from "react-gesture-stack";
// optional styles
import "react-gesture-stack/src/styles.css";

function Simple() {
  const [index, setIndex] = React.useState(0);

  return (
    <Stack
      onIndexChange={i => setIndex(i)}
      index={index}
      style={{ width: "400px", height: "600px" }}
      items={[
        {
          title: <StackTitle title="First title" />,
          content: (
            <StackItem>
              <button onClick={() => setIndex(index + 1)}>View 2</button>
            </StackItem>
          )
        },
        {
          title: <StackTitle title="Second title" />,
          content: (
            <StackItem>
              <button onClick={() => setIndex(index + 1)}>View 3</button>
            </StackItem>
          )
        },
        {
          title: <StackTitle title="Third title" />,
          content: (
            <StackItem>
              <div>No more!</div>
            </StackItem>
          )
        }
      ]}
    />
  );
}

API

Stack

NameTypeDefault ValueDescription
index *numberThe index of stack item to show
onIndexChange *(i: number) => void;A callback requesting the active stack item change
items *StackItemList[]A list of stack items to render (see the above example)
disableNavbooleanfalseHide the top navigation pane
navHeightnumber50The height of the navigation pane (in px)

StackItem

NameTypeDefault ValueDescription
styleobjectOptional style attributes
childrenReact.NodeContent of the stack item

StackTitle

NameTypeDefault ValueDescription
titleReact.NodeThe title of the stack item
backTitlestring"Back"The title of the back button
contentAfterReact.NodeContent that appears to the right of the title
contentBeforeReact.NodeContent that appears to the left of the title (and replaces the back button)
backButtonReact.NodeRender a custom back button. You're responsible for listening to click handlers and updating the current index

License

MIT