@littlespoon/accordion
Version:
Little Spoon accordion
34 lines • 1.54 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccordionItem = exports.useAccordionController = exports.Accordion = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
var styled_1 = require("./styled");
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return styled_1.List; } });
exports.default = styled_1.List;
/* istanbul ignore next */
function useAccordionController() {
var _a = (0, react_1.useState)(), activeItem = _a[0], setActiveItem = _a[1];
var handleItemClick = function (index) {
setActiveItem(function (prev) { return (prev === index ? null : index); });
};
return { activeItem: activeItem, handleItemClick: handleItemClick };
}
exports.useAccordionController = useAccordionController;
function AccordionItem(_a) {
var children = _a.children, className = _a.className;
return ((0, jsx_runtime_1.jsxs)(styled_1.Item, __assign({ className: className }, { children: [children, (0, jsx_runtime_1.jsx)(styled_1.Divider, {})] })));
}
exports.AccordionItem = AccordionItem;
//# sourceMappingURL=Accordion.js.map