New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-simple-collapsible-element

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-simple-collapsible-element

simple react collapsible supports nested elements

  • 3.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
15
decreased by-57.14%
Maintainers
1
Weekly downloads
 
Created
Source

react-simple-collapsible-element

npm Version

Demo

See example for demo, npm install and npm start

Why use this?

Simple, Lightweight, Production-ready, has all the common use cases covered. Data for the collapsible can be jsx or
pure JSON data coming from a CMS by non-technical people.

Install

$ npm install react-simple-collapsible-element --save

Usage

$ Production-ready Simple react collapsible supports nested element and custom styling.

example1.

import Collapsible from "react-simple-collapsible-element";

const data = [
  {
    title: "title 1",
    // title: <myReactComponent /> this is ok too!
    // title: (open) => open ? <PurchaseForm /> : <ProductCard />  this is ok too!
    content: "content 1" // content: <PayButton /> or content: (open) => <PayButton isActive={open} />
  },
  {
    // title and content can be a function or non-function.
    // open props is only true when the children which is content is open.
    title: open => (
      <h1 style={{ color: open ? "orange" : "white " }}>title 2</h1>
    ),
    // title: <h1>title 2</h1>   this is ok too!
    contentStyle: { backgroundColor: "red" }, // can be a classname also.
    activeContentStyle: "activeContentStyle", // classname
    content: open => (
      <ul>
        <li>{open ? "This content is currently open" : ""}</li>
        <li>content 2</li>
        <li>content 2</li>
      </ul>
    )
  }
];

return <Collapsible data={data} />;

example2.

import Collapsible from 'react-simple-collapsible-element';

const data = [
  {
    title: (open) => <h1>title 1 { open ? 'this is current opened!' : 'its close ATM'}</h1>,
    content: <span>content 1</span>,
    contentStyle: 'content-class'
  },
  {
    title: 'title 2',
    content: [
      {
        title: 'title 2 title 1',
        content: 'title 2 title 1 content',
        titleStyle: { backgroundColor: 'black' }, // can be a classname also.
        activeTitleStyle: 'activeTitleStyle',
        contentStyle: { backgroundColor: 'red' }, // can be a classname also.
        activeContentStyle: 'activeContentStyle'
      }
    ]
  }
];

return <Collapsible keepOpen={true or false} data={data} />;

Title and Content as a function

When title and content are functions, it takes a boolean as a params, it is false by default if the Collapsible is current closed.

Props

NameTypeDefaultDescription
titleElement, function, string'div'parent
contentElement, string, function, arraydivchild
keepOpenboolfalsewhether or not keep the current element open when click on other element
customTransitionStringheight .3s ease-outcustom transition
titleStyleString / ObjectundefinedCan be a style object or multiple classnames together.
contentStyleString / ObjectundefinedCan be a style object or multiple classnames together.
activeTitleStyleStringundefineda classname to pass to when the title is active.
activeContentStyleStringundefineda classname to pass to when the content is active.

Keywords

FAQs

Package last updated on 13 Jan 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