JSPM

  • Created
  • Published
  • Downloads 23272
  • Score
    100M100P100Q151299F
  • License MIT

Pure JavaScript color picker for react-native

Package Exports

  • reanimated-color-picker
  • reanimated-color-picker/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (reanimated-color-picker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🔴 🟢 🔵

Reanimated Color Picker

npm GitHub GitHub issues Platform

- Pure JavaScript color picker for react-native.

Example_1

Example_2

Example_3

🔹 Table of contents

🔹Prerequisites

🔹Installation

Note First we need to install react-native-gesture-handler(>=2.0.0) and react-native-reanimated(>=2.0.0),

  • Open a Terminal in the project root and run:
npm i reanimated-color-picker

🔹Usage

  • You can add, remove, rearrange or style the color picker's built-in components.

  • You can also add your components.

  • Check out the working example here.

import React, { useState } from 'react';
import { Button, Modal, View } from 'react-native';

import ColorPicker, { Panel1, Swatches, Preview, OpacitySlider, HueSlider } from 'reanimated-color-picker';

export default function App() {
  const [showModal, setShowModal] = useState(false);

  const onSelectColor = ({ hex }) => {
    // do something with the selected color
    console.log(hex);
  };

  return (
    <View style={styles.container}>
      <Button title='Color Picker' onPress={() => setShowModal1(true)} />

      <Modal visible={showModal}>
        <ColorPicker value='red' onComplete={onSelectColor}>
          <Preview />
          <Panel1 />
          <HueSlider />
          <OpacitySlider />
          <Swatches />
        </ColorPicker>

        <Button title='Ok' onPress={() => setShowModal(false)} />
      </Modal>
    </View>
  );
}

🔹API

🔺ColorPicker Wrapper

  • The ColorPicker Wrapper is responsible for managing the built-in components.

  • It has the following props:

🔸value

  • The initial value of the color picker.
  • Accepts 'hex', 'rgb', 'rgba', 'hsl', 'hsla' and named color formats.
  • type: string
  • default: '#418181'

🔸tracksHeight

  • Change all slider's track height.
  • type: number
  • default: 25

🔸thumbsSize

  • Change all slider's thumb size.
  • type: number
  • default: 35

🔸width

  • The width of the color picker's wrapper.
  • All built-in components will inherit this width.
  • type: number
  • default: 300

🔸style

  • Color picker's wrapper style.
  • If you want to change the width using the `width`` property.
  • type: object

Note some style properties will be overwritten.

🔸onChange

  • Called every time the color value changed.
  • The passed color object has the following properties: hex, rgb, rgba, hsl and hsla
  • type: (color: object) => void
  • default: null

🔸onComplete

  • Called when the user releases the slider handle or when a swatch is clicked.
  • The passed color object has the following properties: hex, rgb, rgba, hsl and hsla
  • type: (color: object) => void
  • default: null

🔺Built-in Components

🔸<Preview />

preview

  • The preview of the selected and the initial color.
Property Type Default Description
colorFormat string 'hex' preview color text format: 'hex', 'rgb', 'rgba', 'hsl', 'hsla', 'hsv' or 'hsva'
hideInitialColor boolean false hide the initial color preview part
hideText boolean false hide preview color text
style object / preview container style
textStyle object / preview text style

Note some style properties will be overwritten.

🔸<Panel1 />

panel1

  • A square-shaped slider (adobe style) used for changing the color's brightness and saturation.
Property Type Default Description
thumbSize number 35 panel handle (thumb) size (height*width)
style object / panle container style

Note some style properties will be overwritten.

🔸<Panel2 />

panel2

  • A square-shaped slider (windows style) used for changing the color's hue and saturation.
Property Type Default Description
thumbSize number 35 panel handle (thumb) size (height*width)
style object / panle container style

Note some style properties will be overwritten.

🔸<HueSlider />

hue

  • A slider used for changing the color's hue.
Property Type Default Description
thumbSize number 35 hue slider handle (thumb) size (height*width)
ringColor string #fff the color of the ring around the slider handle
style object / hue slider container style

Note some style properties will be overwritten.

🔸<SaturationSlider />

saturation

  • A slider used for changing the color's saturation.
Property Type Default Description
thumbSize number 35 saturation slider handle (thumb) size (height*width)
ringColor string #fff the color of the ring around the slider handle
style object / saturation slider container style

Note some style properties will be overwritten.

🔸<BrightnessSlider />

brightness

  • A slider to change color brightness.
Property Type Default Description
thumbSize number 35 brightness slider handle (thumb) size (height*width)
ringColor string #fff the color of the ring around the slider handle
style object / brightness slider container style

Note some style properties will be overwritten.

🔸<OpacitySlider />

opacity

  • A slider is used for changing the color's opacity.
Property Type Default Description
thumbSize number 35 opacity slider handle (thumb) size (height*width)
ringColor string #fff the color of the ring around the slider handle
style object / opacity slider container style

Note some style properties will be overwritten.

🔸<Swatches />

swatches

  • A list of colored swatches is used for quick color selection.
Property Type Default Description
colors string[ ] material colors custom swatches colors
style object / swatches container style
swatchStyle object / swatch style

Note some style properties will be overwritten.

🔹License