0.2.34 • Published 5 years ago

react-sanfona-keona v0.2.34

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

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
titleString/ ObjectText or Object to display in header.null
slugString/NumberKey used in activeItems lookupnull
expandedBooleanIf item body should be expanded or notfalse
onExpandFunctionCallback for when item is expandednull
onCloseFunctionCallback 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
disabledBooleanIf item should be expanded or notfalse
disabledClassNameStringCustom classname applied to accordion item header text when item is disablednull

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
react-sanfona-item-disabledAccordionItem is disabled

development

npm install

npm run demo // served on localhost:8080

npm test
0.2.34

5 years ago

0.2.33

5 years ago

0.2.32

7 years ago

0.2.31

7 years ago

0.2.29

7 years ago

0.2.28

7 years ago

0.2.27

7 years ago

0.2.26

7 years ago

0.2.25

7 years ago

0.2.24

7 years ago

0.2.23

7 years ago

0.2.22

7 years ago

0.2.21

7 years ago

0.2.20

7 years ago

0.2.19

7 years ago

0.2.18

7 years ago

0.2.17

7 years ago

0.2.16

7 years ago

0.2.15

7 years ago

0.2.14

7 years ago

0.2.13

7 years ago

0.2.12

7 years ago

0.2.11

7 years ago

0.2.10

7 years ago

0.2.9

7 years ago

0.2.8

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago