Repository URL to install this package:
Version:
0.9.6 ▾
|
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const classnames_1 = __importDefault(require("classnames"));
// @todo
const ArrowIcon_1 = __importDefault(require("icons/ArrowIcon"));
const ArrowIcon_2 = __importDefault(require("icons/ArrowIcon"));
const _elements_1 = require("./_elements");
const AccordionHeader_1 = require("./AccordionHeader");
function toTitle(props) {
const title = props.children || props.text || props.title;
const activeText = props.activeText || title;
return props.isActive === true ? activeText : title;
}
// renderText
// renderIcon
class AccordionTitle extends react_1.default.PureComponent {
constructor() {
super(...arguments);
this.handleClick = event => {
const { isDisabled, onToggle } = this.props;
if (isDisabled === true) {
console.info('[Accordion] item disabled!');
}
else {
onToggle(event);
}
};
}
get title() {
return toTitle(this.props);
}
get defaultIcon() {
const { isActive, isPlusMinus } = this.props;
if (isPlusMinus === true) {
return react_1.default.createElement(ArrowIcon_2.default, { type: isActive ? 'minus' : 'plus' });
}
return (react_1.default.createElement(_elements_1.ArrowWrap, { key: "arrow" },
react_1.default.createElement(ArrowIcon_1.default, { up: isActive, down: !isActive, fat: true })));
}
render() {
const { isDisabled, isActive, shouldShowArrowIcon, qa } = this.props;
const title = this.title;
// @todo - into styled
const className = classnames_1.default({
title: true,
down: isActive,
disable: isDisabled,
});
const defaultIcon = shouldShowArrowIcon === true ? this.defaultIcon : '';
return (react_1.default.createElement(AccordionHeader_1.AccordionHeader, { key: "accordion-header", onClick: this.handleClick, className: className, "aria-expanded": !isActive, qa: qa },
react_1.default.createElement(_elements_1.Title, { key: "title" }, title),
defaultIcon));
}
}
AccordionTitle.defaultProps = {
title: '',
isActive: false,
isDisabled: false,
defaultIcon: '',
qa: '',
};
exports.AccordionTitle = AccordionTitle;
exports.default = AccordionTitle;
//# sourceMappingURL=AccordionTitle.js.map