@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
57 lines (54 loc) • 1.73 kB
JavaScript
import React from 'react';
import { AccordionItem_defaultProps } from "./props/defaultProps";
import { AccordionItem_propTypes } from "./props/propTypes";
import VelocityAnimation from "../VelocityAnimation/VelocityAnimation/VelocityAnimation";
import VelocityAnimationGroup from "../VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup";
export default function AccordionItem(props) {
let {
id,
selectMenu,
className,
children,
dataId,
dataSelectorId,
unMount,
unMountItem,
a11y,
innerClass,
equalityCheck,
selectedItem
} = props;
unMountItem = unMountItem !== undefined ? unMountItem : unMount;
let {
role
} = a11y;
function equalityChecking() {
return equalityCheck ? equalityCheck(id, selectedItem) : selectedItem == id;
}
function handleSelectMenu() {
selectMenu(id);
}
return /*#__PURE__*/React.createElement("div", {
className: className ? className : '',
"data-id": dataId,
"data-test-id": dataId,
role: role,
"data-selector-id": dataSelectorId
}, /*#__PURE__*/React.createElement("div", {
className: innerClass ? innerClass : '',
onClick: handleSelectMenu
}, children[0]), unMountItem ? /*#__PURE__*/React.createElement(VelocityAnimationGroup, {
name: "slideDown",
isActive: equalityChecking()
}, children[1]) : /*#__PURE__*/React.createElement(VelocityAnimation, {
name: "slideDown",
isActive: equalityChecking()
}, children[1]));
}
AccordionItem.propTypes = AccordionItem_propTypes;
AccordionItem.defaultProps = AccordionItem_defaultProps; // if (__DOCS__) {
// AccordionItem.docs = {
// componentGroup: 'Animation',
// folderName: 'Style Guide'
// };
// }