Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-sanfona

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-sanfona

React accessible accordion component

  • 0.0.14
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

react-sanfona

NPM info

Travis build status dependencies devDependency Status

React accordion component

giphy 1

Usage

CommonJS

Install via NPM:

npm install react-sanfona

Then:

import { Accordion, AccordionItem } from 'react-sanfona';

…

	render: function () {
		return (
			<Accordion>
				{[1, 2, 3, 4, 5].map((item) => {
					return (
						<AccordionItem title={`Item ${ item }`} slug={item} key={item}>
							<div>
								{`Item ${ item } content`}
								{item === 3 ? <p><img src="https://cloud.githubusercontent.com/assets/38787/8015584/2883817e-0bda-11e5-9662-b7daf40e8c27.gif" /></p> : null}
							</div>
						</AccordionItem>
					);
				})}
			</Accordion>
		);
	}

…

Browser

Download or install via bower:

bower install react-sanfona

Then:

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.7.7/babel.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react-dom.min.js"></script>
<script src="react-sanfona/dist/react-sanfona.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	var input = `
		var Accordion = ReactSanfona.default.Accordion;
		var AccordionItem = ReactSanfona.default.AccordionItem;

		ReactDOM.render(
		    <Accordion>
		      {[1, 2, 3, 4, 5].map(function (item) {
		        return (
		          <AccordionItem title={'Item' + item} key={item} titleColor="blue">
		            <div>
		              {'Item ' +  item + ' content'}
		              {item === 3 ? <p><img src="https://cloud.githubusercontent.com/assets/38787/8015584/2883817e-0bda-11e5-9662-b7daf40e8c27.gif" /></p> : null}
		            </div>
		          </AccordionItem>
		        );
		      })}
		    </Accordion>,
		    document.getElementById('demo')
		);
	`

	var output = Babel.transform(input, { presets: ['es2015', 'react'] }).code;
	var script = document.createElement('script');
	script.innerHTML = output;
	document.body.appendChild(script);
</script>

options / PropTypes

Accordion
PropertyTypeDescriptionDefault
allowMultipleBooleanAllow multiple items to be open at the same time.false
activeItemsArrayReceives either an array of indexes or a single index. Each index corresponds to the item order, starting from 0. Ex: activeItems={0}, activeItems=[0, 1, 2][0]
openNextAccordionItemBooleanOpens the next accordion item after the previous one is closed. Defaults first one as active and applies for each accordion item except the last one. Not compatible when passing in a custom slugfalse
classNameStringCustom classname applied to root divnull
styleObjectInline styles applied to root divnull
onChangeFunctionTriggered when component updates and passes new state as an argumentnull
AccordionItem
PropertyTypeDescriptionDefault
titleStringText to display in header.null
slugString/NumberKey used in activeItems lookupnull
expandedBooleanIf item body should be expanded or notfalse
onExpandedFunctionCallback for when item is expandednull
onClosedFunctionCallback for when item closesnull
classNameStringCustom classname applied to root item divnull
bodyClassNameStringCustom classname applied to the accordion item bodynull
expandedClassNameStringCustom classname applied when accordion is expandednull
titleClassNameStringCustom classname applied to accordion item header textnull

Styling with classnames

ClassnameTargets
react-sanfonaAccordion container
react-sanfona-itemAccordionItem container
react-sanfona-item-expandedAccordionItem container when expanded
react-sanfona-item-titleAccordionItem header text
react-sanfona-item-bodyAccordionItem body container
react-sanfona-item-body-wrapperAccordionItem body children wrapper

development

npm install

npm run demo // served on localhost:8080

npm test

Keywords

FAQs

Package last updated on 02 Aug 2016

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