UNPKG

@littlespoon/accordion

Version:
34 lines 1.54 kB
"use strict"; 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