define(["require", "exports", "tslib", "react", "@uifabric/experiments", "@uifabric/experiments/lib/Utilities"], function (require, exports, tslib_1, React, experiments_1, Utilities_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    experiments_1.initializeFolderCovers();
    var FolderCoverWithImage = function (props) {
        var originalImageSize = props.originalImageSize, folderCoverProps = tslib_1.__rest(props, ["originalImageSize"]);
        var folderCover = React.createElement(experiments_1.FolderCover, tslib_1.__assign({}, folderCoverProps));
        var contentSize = experiments_1.getFolderCoverLayout(folderCover).contentSize;
        var imageSize = Utilities_1.fitContentToBounds({
            contentSize: originalImageSize,
            boundsSize: contentSize,
            mode: 'cover',
        });
        return experiments_1.renderFolderCoverWithLayout(folderCover, {
            children: React.createElement("img", { src: "//placehold.it/" + Math.round(imageSize.width) + "x" + Math.round(imageSize.height) }),
        });
    };
    var FolderCoverBasicExample = /** @class */ (function (_super) {
        tslib_1.__extends(FolderCoverBasicExample, _super);
        function FolderCoverBasicExample() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        FolderCoverBasicExample.prototype.render = function () {
            return (React.createElement("div", null,
                React.createElement("h3", null, "Large Default Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", metadata: 20, signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Fluent Large Default Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", metadata: 20, signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Fluent Large Default Cover -- item count only"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", metadata: 20 }),
                React.createElement("h3", null, "Large Default Cover -- signal icon only"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Small Default Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", metadata: 15 }),
                React.createElement("h3", null, "Fluent Small Default Cover - metadata only"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", metadata: 15 }),
                React.createElement("h3", null, "Large Media Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", folderCoverType: "media", metadata: 20, signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Small Media Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", folderCoverType: "media", metadata: 15 }),
                React.createElement("h3", null, "Small Media Cover -- signal icon only"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", folderCoverType: "media", signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Shared Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", folderCoverType: "media", metadata: 15, signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Large Linked Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "large", folderCoverType: "linked", metadata: 20, signal: React.createElement(experiments_1.SharedSignal, null) }),
                React.createElement("h3", null, "Small Linked Cover"),
                React.createElement(FolderCoverWithImage, { isFluent: false, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", folderCoverType: "linked", metadata: 15 }),
                React.createElement("h3", null, "Small Linked Cover -- signal icon only"),
                React.createElement(FolderCoverWithImage, { isFluent: true, originalImageSize: {
                        width: 200,
                        height: 150,
                    }, folderCoverSize: "small", folderCoverType: "linked", signal: React.createElement(experiments_1.SharedSignal, null) })));
        };
        return FolderCoverBasicExample;
    }(React.Component));
    exports.FolderCoverBasicExample = FolderCoverBasicExample;
});
//# sourceMappingURL=FolderCover.Basic.Example.js.map