import * as tslib_1 from "tslib";
import * as React from 'react';
import { autobind } from 'office-ui-fabric-react/lib/Utilities';
import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog';
import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button';
import { Panel } from 'office-ui-fabric-react/lib/Panel';
var PanelLightDismissCustomExample = /** @class */ (function (_super) {
    tslib_1.__extends(PanelLightDismissCustomExample, _super);
    function PanelLightDismissCustomExample(props) {
        var _this = _super.call(this, props) || this;
        _this.state = { showPanel: false, hideDialog: true };
        return _this;
    }
    PanelLightDismissCustomExample.prototype.render = function () {
        return (React.createElement("div", null,
            React.createElement(DefaultButton, { text: 'Open panel', onClick: this._showPanel }),
            React.createElement(Panel, { isOpen: this.state.showPanel, isLightDismiss: true, headerText: 'Light Dismiss Panel', onDismiss: this._hidePanel, onLightDismissClick: this._showDialog },
                React.createElement("span", null, "Light Dismiss usage is meant for the Contextual Menu on mobile sized breakpoints.")),
            React.createElement(Dialog, { hidden: this.state.hideDialog, onDismiss: this._closeDialog, dialogContentProps: {
                    type: DialogType.normal,
                    title: 'Are you sure you want to close the panel?'
                }, modalProps: {
                    titleAriaId: 'myLabelId',
                    subtitleAriaId: 'mySubTextId',
                    isBlocking: true,
                    containerClassName: 'ms-dialogMainOverride'
                } },
                null /** You can also include null values as the result of conditionals */,
                React.createElement(DialogFooter, null,
                    React.createElement(PrimaryButton, { onClick: this._closeDialogAndHidePanel, text: 'Yes' }),
                    React.createElement(DefaultButton, { onClick: this._closeDialog, text: 'No' })))));
    };
    PanelLightDismissCustomExample.prototype._showPanel = function () {
        this.setState({ showPanel: true });
    };
    PanelLightDismissCustomExample.prototype._hidePanel = function () {
        this.setState({ showPanel: false });
    };
    PanelLightDismissCustomExample.prototype._showDialog = function () {
        this.setState({ hideDialog: false });
    };
    PanelLightDismissCustomExample.prototype._closeDialog = function () {
        this.setState({ hideDialog: true });
    };
    PanelLightDismissCustomExample.prototype._closeDialogAndHidePanel = function () {
        this._hidePanel();
        this._closeDialog();
    };
    tslib_1.__decorate([
        autobind
    ], PanelLightDismissCustomExample.prototype, "_showPanel", null);
    tslib_1.__decorate([
        autobind
    ], PanelLightDismissCustomExample.prototype, "_hidePanel", null);
    tslib_1.__decorate([
        autobind
    ], PanelLightDismissCustomExample.prototype, "_showDialog", null);
    tslib_1.__decorate([
        autobind
    ], PanelLightDismissCustomExample.prototype, "_closeDialog", null);
    tslib_1.__decorate([
        autobind
    ], PanelLightDismissCustomExample.prototype, "_closeDialogAndHidePanel", null);
    return PanelLightDismissCustomExample;
}(React.Component));
export { PanelLightDismissCustomExample };
//# sourceMappingURL=Panel.LightDismissCustom.Example.js.map