0.0.17 • Published 7 months ago

@gluestack-ui/image-viewer v0.0.17

Weekly downloads
-
License
-
Repository
github
Last release
7 months ago

@gluestack-ui/image-viewer

Table of Contents

Installation

To use @gluestack-ui/image-viewer, install the package using either Yarn or npm:

$ yarn add @gluestack-ui/image-viewer

# or

$ npm i @gluestack-ui/image-viewer

Usage

The ImageViewer component provides a modal view for displaying and interacting with images, supporting features like pinch-to-zoom, double-tap zoom, and swipe up/down to dismiss. Here's an example of how to use this package:

import { createImageViewer } from '@gluestack-ui/image-viewer';
import { Root, Backdrop, Content, CloseButton } from './styled-components';

export const ImageViewer = createImageViewer({
  Root,
  Backdrop,
  Content,
  CloseButton,
});

Customizing the ImageViewer

Default styling of all these components can be found in the components/core/image-viewer file. For reference, you can view the source code of the styled ImageViewer components.

// import the styles
import {
  Root,
  Backdrop,
  Content,
  CloseButton,
} from '../components/core/image-viewer/styled-components';

// import the createImageViewer function
import { createImageViewer } from '@gluestack-ui/image-viewer';

// Understanding the API
const ImageViewer = createImageViewer({
  Root,
  Backdrop,
  Content,
  CloseButton,
});

// Using the ImageViewer component
export default () => (
  <ImageViewer isOpen={isOpen} onClose={onClose}>
    <ImageViewerBackdrop>
      <ImageViewerContent
        images={images}
        renderImages={({ item, index }) => {
          return (
            <ImageViewerImage
              source={{ uri: item.url }}
            />
          );
        }}
        keyExtractor={(item, index) => `${item.id}-${index}`}
      />
    </ImageViewerBackdrop>
  </ImageViewer>
);

Component Props

ImageViewer

PropTypeDefaultDescriptionRequired
isOpenbooleanfalseIf true, the image viewer modal will openYes
onClosefunction-Callback invoked when the image viewer modal is closedYes
childrenReactNode-The content to be rendered inside the image viewer_

ImageViewerContent

PropTypeDefaultDescriptionRequired
imagesArray-Array of image objects to displayYes
renderImages({item: any, index: number}) => ReactNode-Function to render each image itemYes
keyExtractor(item: any, index: number) => string-Function to extract the key for each image itemYes

More guides on how to get started are available here.

Contributing

We welcome contributions to the @gluestack-ui/image-viewer package. If you have an idea for a new feature or a bug fix, please read our contributing guide for instructions on how to submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

0.0.17

7 months ago

0.0.16

8 months ago

0.0.15

8 months ago

0.0.14

8 months ago

0.0.13

8 months ago

0.0.12

8 months ago

0.0.11

9 months ago

0.0.10

9 months ago

0.0.9

9 months ago

0.0.8

9 months ago

0.0.7

9 months ago

0.0.6

9 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago