import * as tslib_1 from "tslib";
import * as React from 'react';
import { CommandBarButton, OverflowSet, Checkbox } from 'office-ui-fabric-react';
var noOp = function () { return undefined; };
var checkboxStyles = {
    root: {
        marginRight: 5
    }
};
var OverflowSetCustomExample = /** @class */ (function (_super) {
    tslib_1.__extends(OverflowSetCustomExample, _super);
    function OverflowSetCustomExample() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._onRenderItem = function (item) {
            if (item.onRender) {
                return item.onRender(item);
            }
            return React.createElement(CommandBarButton, { role: "menuitem", iconProps: { iconName: item.icon }, menuProps: item.subMenuProps, text: item.name });
        };
        _this._onRenderOverflowButton = function (overflowItems) {
            var buttonStyles = {
                root: {
                    minWidth: 0,
                    padding: '0 4px',
                    alignSelf: 'stretch',
                    height: 'auto'
                }
            };
            return (React.createElement(CommandBarButton, { ariaLabel: "More items", role: "menuitem", styles: buttonStyles, menuIconProps: { iconName: 'More' }, menuProps: { items: overflowItems } }));
        };
        return _this;
    }
    OverflowSetCustomExample.prototype.render = function () {
        return (React.createElement(OverflowSet, { "aria-label": "Custom Example", items: [
                {
                    key: 'checkbox',
                    onRender: function () {
                        return React.createElement(Checkbox, { role: "menuitem", label: "A Checkbox", styles: checkboxStyles });
                    }
                },
                {
                    key: 'newItem',
                    name: 'New',
                    icon: 'Add',
                    ariaLabel: 'New. Use left and right arrow keys to navigate',
                    onClick: noOp,
                    subMenuProps: {
                        items: [
                            {
                                key: 'emailMessage',
                                name: 'Email message',
                                icon: 'Mail'
                            },
                            {
                                key: 'calendarEvent',
                                name: 'Calendar event',
                                icon: 'Calendar'
                            }
                        ]
                    }
                },
                {
                    key: 'upload',
                    name: 'Upload',
                    icon: 'Upload',
                    onClick: noOp
                },
                {
                    key: 'share',
                    name: 'Share',
                    icon: 'Share',
                    onClick: noOp
                }
            ], overflowItems: [
                {
                    key: 'move',
                    name: 'Move to...',
                    icon: 'MoveToFolder',
                    onClick: noOp
                },
                {
                    key: 'copy',
                    name: 'Copy to...',
                    icon: 'Copy',
                    onClick: noOp
                },
                {
                    key: 'rename',
                    name: 'Rename...',
                    icon: 'Edit',
                    onClick: noOp
                },
                {
                    key: 'disabled',
                    name: 'Disabled...',
                    icon: 'Cancel',
                    disabled: true,
                    onClick: noOp
                }
            ], onRenderOverflowButton: this._onRenderOverflowButton, onRenderItem: this._onRenderItem }));
    };
    return OverflowSetCustomExample;
}(React.PureComponent));
export { OverflowSetCustomExample };
//# sourceMappingURL=OverflowSet.Custom.Example.js.map