UNPKG

infinity-forge

Version:
52 lines 2.67 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); }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Accordions = Accordions; var jsx_runtime_1 = require("react/jsx-runtime"); var react_1 = require("react"); var component_1 = require("../component.js"); function Accordions(_a) { var items = _a.items, Component = _a.Component, configurations = _a.configurations; var _b = (0, react_1.useState)(undefined), indexOpened = _b[0], setIndexOpened = _b[1]; var isMultiple = configurations.isMultiple; var accordionProps = (configurations === null || configurations === void 0 ? void 0 : configurations.accordion) || {}; return items === null || items === void 0 ? void 0 : items.map(function (item, index) { var isOpen = isMultiple && Array.isArray(indexOpened) ? indexOpened.includes(index) : indexOpened === index; return ((0, jsx_runtime_1.jsx)(component_1.Accordion, __assign({ controlledIsOpen: isOpen, itemProps: item, click: function () { setIndexOpened(function (oldState) { if (isMultiple) { var oldArray = Array.isArray(oldState) ? oldState : []; var alreadyOpen = oldArray.includes(index); if (alreadyOpen) { return oldArray.filter(function (i) { return i !== index; }); } else { return __spreadArray(__spreadArray([], oldArray, true), [index], false); } } // Comportamento padrão (apenas um aberto por vez) return index === oldState ? undefined : index; }); } }, accordionProps, { children: (0, jsx_runtime_1.jsx)(Component, __assign({}, item)) }), (item === null || item === void 0 ? void 0 : item.id) || index)); }); } //# sourceMappingURL=index.js.map