import { __extends } from "tslib";
import * as React from 'react';
import { Link } from '@fluentui/react/lib/Link';
import { Checkbox } from '@fluentui/react/lib/Checkbox';
import { ExampleCard, ComponentPage, PropertiesTableSet, } from '@fluentui/react-docsite-components';
import { TilesListBasicExample } from './TilesList.Basic.Example';
var TilesListBasicExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react-experiments/TilesList/TilesList.Basic.Example.tsx');
import { TilesListDocumentExample } from './TilesList.Document.Example';
var TilesListDocumentExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react-experiments/TilesList/TilesList.Document.Example.tsx');
import { TilesListMediaExample } from './TilesList.Media.Example';
var TilesListMediaExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react-experiments/TilesList/TilesList.Media.Example.tsx');
var TilesListPage = /** @class */ (function (_super) {
    __extends(TilesListPage, _super);
    function TilesListPage(props) {
        var _this = _super.call(this, props) || this;
        _this._onIsLargeChanged = function (event, checked) {
            _this.setState({
                size: checked ? 'large' : 'small',
            });
        };
        _this.state = {
            size: 'large',
        };
        return _this;
    }
    TilesListPage.prototype.render = function () {
        var size = this.state.size;
        return (React.createElement(ComponentPage, { title: "TilesList", componentName: "TilesListExample", exampleCards: React.createElement("div", null,
                React.createElement(ExampleCard, { title: "TilesList with basic tiles", isOptIn: true, code: TilesListBasicExampleCode },
                    React.createElement(TilesListBasicExample, null)),
                React.createElement(ExampleCard, { title: "TilesList with document tiles and placeholders when data is missing", isOptIn: true, code: TilesListDocumentExampleCode },
                    React.createElement(Checkbox, { label: "Use large tiles", checked: size === 'large', onChange: this._onIsLargeChanged }),
                    React.createElement(TilesListDocumentExample, { tileSize: size })),
                React.createElement(ExampleCard, { title: "TilesList with media tiles", isOptIn: true, code: TilesListMediaExampleCode },
                    React.createElement(TilesListMediaExample, null))), propertiesTables: React.createElement(PropertiesTableSet, { sources: [
                    require('!raw-loader?esModule=false!@fluentui/react-experiments/src/components/TilesList/TilesList.types.ts'),
                ] }), overview: React.createElement("div", null,
                React.createElement("p", null,
                    React.createElement("code", null, "TilesList"),
                    " is a specialization of the",
                    ' ',
                    React.createElement(Link, { href: "#/examples/List", underline: true },
                        React.createElement("code", null, "List")),
                    ' ',
                    "component. It is intended to represent items visually using one or more content-focused flowing grids."),
                React.createElement("p", null,
                    React.createElement("code", null, "TilesList"),
                    " is designed to be used in conjunction with the ",
                    React.createElement("code", null, "Tile"),
                    " component.",
                    ' ',
                    React.createElement("code", null, "Tile"),
                    " provides a standardized form for a focusable and selectable content item.")), dos: React.createElement("div", null,
                React.createElement("ul", null,
                    React.createElement("li", null, "Use them to represent a large collection of items visually."))), donts: React.createElement("div", null,
                React.createElement("ul", null,
                    React.createElement("li", null, "Use them for general layout of components that are not part of the same set."))), isHeaderVisible: this.props.isHeaderVisible }));
    };
    return TilesListPage;
}(React.Component));
export { TilesListPage };
//# sourceMappingURL=TilesListPage.js.map