react-accordion-ts
Version:
A ReactJS collapsible component
16 lines • 932 B
JavaScript
import * as React from 'react';
import { Panel } from './panel';
export var Accordion = function (_a) {
var _b = _a.open, open = _b === void 0 ? -1 : _b, items = _a.items, duration = _a.duration, multiple = _a.multiple;
var _c = React.useState(open), activeTab = _c[0], setActiveTab = _c[1];
return Array.isArray(items) && items.length ? (React.createElement("div", { className: "accordion", role: "tablist" }, items.map(function (_a, index) {
var open = _a.open, title = _a.title, content = _a.content;
return (React.createElement(Panel, { key: index, open: open, title: title, index: index, duration: duration, multiple: multiple, activeTab: activeTab, activatePanel: function (i) {
if (multiple) {
return;
}
setActiveTab(activeTab === i ? -1 : i);
} }, content));
}))) : null;
};
//# sourceMappingURL=accordion.js.map