Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"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