define(["require", "exports", "tslib", "react", "../../Utilities", "../../Check", "../Check/Check.classNames", "../Check/Check.styles", "./DetailsRowCheck.styles", "../../Utilities"], function (require, exports, tslib_1, React, Utilities_1, Check_1, Check_classNames_1, Check_styles_1, DetailsRowCheck_styles_1, Utilities_2) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var getClassNames = Utilities_2.classNamesFunction();
    var DetailsRowCheckBase = function (props) {
        var _a = props.canSelect, canSelect = _a === void 0 ? false : _a, _b = props.isSelected, isSelected = _b === void 0 ? false : _b, _c = props.anySelected, anySelected = _c === void 0 ? false : _c, _d = props.selected, selected = _d === void 0 ? false : _d, _e = props.isHeader, isHeader = _e === void 0 ? false : _e, className = props.className, checkClassName = props.checkClassName, styles = props.styles, theme = props.theme, compact = props.compact, buttonProps = tslib_1.__rest(props, ["canSelect", "isSelected", "anySelected", "selected", "isHeader", "className", "checkClassName", "styles", "theme", "compact"]);
        var isPressed = props.isSelected || props.selected;
        var checkStyles = Check_styles_1.getStyles({ theme: theme });
        var checkClassNames = Check_classNames_1.getClassNames(checkStyles, {
            theme: theme
        });
        var classNames = getClassNames(styles, {
            theme: theme,
            canSelect: canSelect,
            selected: isPressed,
            anySelected: anySelected,
            className: className,
            isHeader: isHeader,
            compact: compact
        });
        return (React.createElement("div", tslib_1.__assign({}, buttonProps, { role: "checkbox", className: Utilities_1.css(classNames.root, classNames.check, checkClassNames.checkHost), "aria-checked": isPressed, "data-selection-toggle": true, "data-automationid": "DetailsRowCheck" }),
            React.createElement(Check_1.Check, { checked: isPressed })));
    };
    exports.DetailsRowCheck = Utilities_1.styled(DetailsRowCheckBase, DetailsRowCheck_styles_1.getStyles, undefined, { scope: 'DetailsRowCheck' });
});
//# sourceMappingURL=DetailsRowCheck.js.map