import { __assign, __extends } from "tslib";
import * as React from 'react';
import { Button } from '@uifabric/experiments';
import { Spinner, Stack } from 'office-ui-fabric-react';
var stackProps = { tokens: { childrenGap: 16 }, padding: 8, maxWidth: 400 };
var SlotsIconExample = /** @class */ (function (_super) {
    __extends(SlotsIconExample, _super);
    function SlotsIconExample() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    SlotsIconExample.prototype.render = function () {
        return (React.createElement(Stack, __assign({}, stackProps),
            React.createElement(Button, { icon: "share", content: "Icon: String" }),
            React.createElement(Button, { icon: { iconName: 'share' }, content: "Icon: Props, iconName: 'share'" }),
            React.createElement(Button, { icon: "upload", slots: {
                    icon: {
                        render: function (iconProps, DefaultComponent) { return (React.createElement("b", null,
                            "Icon: ",
                            React.createElement(DefaultComponent, __assign({}, iconProps)))); },
                    },
                }, content: "Icon: Function, Text + Icon" }),
            React.createElement(Button, { slots: { icon: { render: function () { return React.createElement(Spinner, null); } } }, content: "Icon: Function, Spinner" })));
    };
    return SlotsIconExample;
}(React.Component));
export { SlotsIconExample };
//# sourceMappingURL=Slots.Icon.Example.js.map