UNPKG

react-native-cross-components

Version:
94 lines 14.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const react_native_1 = require("react-native"); const styles_1 = require("../../styles"); const react_native_modal_1 = __importDefault(require("react-native-modal")); const CrossSpinner_1 = require("../animations/CrossSpinner"); const styles_2 = __importDefault(require("../../styles")); /** * @description * Displays a modal with busy indicator (spinner) and message when {@link IBusyIndicatorProps.isBusy} is `true` * * Properties are {@link IBusyIndicatorProps} * * Also supports cancelling the modal using properties * {@link IBusyIndicatorProps.isCancelButtonVisible}, * {@link IBusyIndicatorProps.cancelText} and * {@link IBusyIndicatorProps.onCancel}. * This does however not hide the modal. * * Modal with cancel * @example * ``` <CrossBusyIndicator key="busy1" testID="busy1" isBusy={this.state.isBusy} type={CrossSpinnerType.PacmanIndicator} isCancelButtonVisible={true} message="Loading.." onCancel={() => this.setState({ isBusy: false })} /> ``` * Non cancellable and custom styles * @example ``` <CrossBusyIndicator key="busy2" testID="busy2" spinnerProps={{ color: 'red', type: CrossSpinnerType.WaveIndicator }} messageStyle={{color: 'red'}} isBusy={this.state.isBusy2} isCancelButtonVisible={false} message="Resistance is futile" /> ``` */ class CrossBusyIndicator extends react_1.default.Component { constructor(props) { super(props); this.onCancel = this.onCancel.bind(this); } onCancel() { if (!this.props.isCancelButtonVisible) { return; } if (this.props.onCancel) { this.props.onCancel(); } } render() { return (react_1.default.createElement(react_native_1.View, { testID: this.props.testID || '1' }, react_1.default.createElement(react_native_modal_1.default, { style: this.props.modalStyle ? [styles_2.default.absoluteCentered, this.props.modalStyle] : styles_2.default.absoluteCentered, isVisible: this.props.isBusy, onDismiss: this.onCancel }, react_1.default.createElement(react_native_1.View, { style: this.props.innerViewStyle ? [ styles_2.default.container, styles_2.default.paddingDefault, this.props.innerViewStyle, ] : [styles_2.default.container, styles_2.default.paddingDefault] }, react_1.default.createElement(react_native_1.View, { style: [styles_2.default.columnContentTopCenter] }, react_1.default.createElement(CrossSpinner_1.CrossSpinner, Object.assign({ type: this.props.type || CrossSpinner_1.CrossSpinnerType.MaterialIndicator, style: styles_2.default.spinner }, this.props.spinnerProps))), react_1.default.createElement(react_native_1.View, { style: [styles_2.default.columnContentTopCenter] }, react_1.default.createElement(react_native_1.Text, { style: [styles_2.default.textSpinner, this.props.messageStyle] }, this.props.message || ''), this.props.isCancelButtonVisible ? (react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: this.onCancel }, react_1.default.createElement(react_native_1.Text, { testID: 'cancelText', style: [ styles_2.default.textSpinner, { color: styles_1.Colors.CancelButton }, this.props.cancelTextStyle, ] }, this.props.cancelText || 'Cancel'))) : null))))); } } exports.CrossBusyIndicator = CrossBusyIndicator; exports.default = CrossBusyIndicator; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsK0NBT3NCO0FBQ3RCLHlDQUFzQztBQUN0Qyw0RUFBdUM7QUFDdkMsNkRBSW9DO0FBQ3BDLDBEQUFrQztBQXlFbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBQThCO0lBQzFFLFlBQVksS0FBMEI7UUFDcEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxDQUNMLDhCQUFDLG1CQUFJLElBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7WUFDcEMsOEJBQUMsNEJBQUssSUFDSixLQUFLLEVBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO29CQUNuQixDQUFDLENBQUMsQ0FBQyxnQkFBTSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO29CQUNsRCxDQUFDLENBQUMsZ0JBQU0sQ0FBQyxnQkFBZ0IsRUFFN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUM1QixTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBRXhCLDhCQUFDLG1CQUFJLElBQ0gsS0FBSyxFQUNILElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYzt3QkFDdkIsQ0FBQyxDQUFDOzRCQUNFLGdCQUFNLENBQUMsU0FBUzs0QkFDaEIsZ0JBQU0sQ0FBQyxjQUFjOzRCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7eUJBQzFCO3dCQUNILENBQUMsQ0FBQyxDQUFDLGdCQUFNLENBQUMsU0FBUyxFQUFFLGdCQUFNLENBQUMsY0FBYyxDQUFDO29CQUcvQyw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxDQUFDLGdCQUFNLENBQUMsc0JBQXNCLENBQUM7d0JBQzFDLDhCQUFDLDJCQUFZLGtCQUNYLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSwrQkFBZ0IsQ0FBQyxpQkFBaUIsRUFDM0QsS0FBSyxFQUFFLGdCQUFNLENBQUMsT0FBTyxJQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDM0IsQ0FDRztvQkFFUCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxDQUFDLGdCQUFNLENBQUMsc0JBQXNCLENBQUM7d0JBQzFDLDhCQUFDLG1CQUFJLElBQ0gsS0FBSyxFQUNELENBQUMsZ0JBQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFHaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUNwQjt3QkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUNsQyw4QkFBQywrQkFBZ0IsSUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQ3RDLDhCQUFDLG1CQUFJLElBQ0gsTUFBTSxFQUFDLFlBQVksRUFDbkIsS0FBSyxFQUFFO29DQUNMLGdCQUFNLENBQUMsV0FBVztvQ0FDbEIsRUFBRSxLQUFLLEVBQUUsZUFBTSxDQUFDLFlBQVksRUFBRTtvQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO2lDQUMzQixJQUVBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FDN0IsQ0FDVSxDQUNwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0gsQ0FDRixDQUNELENBQ0gsQ0FDUixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBM0VELGdEQTJFQztBQUVELGtCQUFlLGtCQUFrQixDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL21vZGFscy9Dcm9zc0J1c3lJbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBWaWV3LFxuICBUZXh0LFxuICBUb3VjaGFibGVPcGFjaXR5LFxuICBTdHlsZVByb3AsXG4gIFZpZXdTdHlsZSxcbiAgVGV4dFN0eWxlLFxufSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcbmltcG9ydCBNb2RhbCBmcm9tICdyZWFjdC1uYXRpdmUtbW9kYWwnO1xuaW1wb3J0IHtcbiAgQ3Jvc3NTcGlubmVyVHlwZSxcbiAgQ3Jvc3NTcGlubmVyLFxuICBJQ3Jvc3NTcGlubmVyUHJvcHMsXG59IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIHByb3BzIGZvciB7QGxpbmsgQ3Jvc3NCdXN5SW5kaWNhdG9yfVxuICpcbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yUHJvcHMge1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgaW5kaWNhdG9yIGlzIHZpc2libGVcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICBpc0J1c3k6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIHNob3cgd2hpbGUgYnVzeS4gRGVmYXVsdHMgdG8gZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgbWVzc2FnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFR5cGUgb2Ygc3Bpbm5lciB0byB1c2VcbiAgICpcbiAgICogQHR5cGUge0Nyb3NzU3Bpbm5lclR5cGV9XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICB0eXBlPzogQ3Jvc3NTcGlubmVyVHlwZSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRlc3QgaWQgdG8gYXNzaWduIHRoaXMgY29tcG9uZW50LiBEZWZhdWx0IGlzIFwiMVwiXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICB0ZXN0SUQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBtb2RhbCBpcyBjYW5jZWxsYWJsZS4gT3RoZXJ3aXNlIHZpc2liaWxpdHkgaXMgY29udHJvbGxlZCBieSB7QGxpbmsgaXNCdXN5fVxuICAgKi9cbiAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgY2FsbGJhY2sgZm9yIHVzZXIgY2FuY2VsIGV2ZW50LlxuICAgKi9cbiAgb25DYW5jZWw/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogVGV4dCBmb3IgY2FuY2VsIGJ1dHRvbi4gRGVmYXVsdCBpcyBcIkNhbmNlbFwiXG4gICAqL1xuICBjYW5jZWxUZXh0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIHN0eWxlIGZvciB0aGUge0BsaW5rIGNhbmNlbFRleHR9XG4gICAqL1xuICBjYW5jZWxUZXh0U3R5bGU/OiBTdHlsZVByb3A8VGV4dFN0eWxlPiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsZSBmb3IgdGhlIG1vZGFsIHZpZXdcbiAgICovXG4gIG1vZGFsU3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsZSBmb3IgdGhlIGlubmVyIHZpZXcsIGNvbnRhaW5lZCBpbiB0aGUgbW9kYWxcbiAgICovXG4gIGlubmVyVmlld1N0eWxlPzogU3R5bGVQcm9wPFZpZXdTdHlsZT4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b20gc3R5bGUgZm9yIHRoZSB7QGxpbmsgbWVzc2FnZX1cbiAgICovXG4gIG1lc3NhZ2VTdHlsZT86IFN0eWxlUHJvcDxUZXh0U3R5bGU+IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIHNwaW5uZXJcbiAgICpcbiAgICogU2VlIHtAbGluayBJQ3Jvc3NTcGlubmVyUHJvcHN9XG4gICAqL1xuICBzcGlubmVyUHJvcHM/OiBJQ3Jvc3NTcGlubmVyUHJvcHMgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEaXNwbGF5cyBhIG1vZGFsIHdpdGggYnVzeSBpbmRpY2F0b3IgKHNwaW5uZXIpIGFuZCBtZXNzYWdlIHdoZW4ge0BsaW5rIElCdXN5SW5kaWNhdG9yUHJvcHMuaXNCdXN5fSBpcyBgdHJ1ZWBcbiAqXG4gKiBQcm9wZXJ0aWVzIGFyZSB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wc31cbiAqXG4gKiBBbHNvIHN1cHBvcnRzIGNhbmNlbGxpbmcgdGhlIG1vZGFsIHVzaW5nIHByb3BlcnRpZXNcbiAqIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLmlzQ2FuY2VsQnV0dG9uVmlzaWJsZX0sXG4gKiB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wcy5jYW5jZWxUZXh0fSBhbmRcbiAqIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLm9uQ2FuY2VsfS5cbiAqIFRoaXMgZG9lcyBob3dldmVyIG5vdCBoaWRlIHRoZSBtb2RhbC5cbiAqXG4gKiBNb2RhbCB3aXRoIGNhbmNlbFxuICogQGV4YW1wbGVcbiAqXG4gYGBgXG4gIDxDcm9zc0J1c3lJbmRpY2F0b3JcbiAgICAgICAgICBrZXk9XCJidXN5MVwiXG4gICAgICAgICAgdGVzdElEPVwiYnVzeTFcIlxuICAgICAgICAgIGlzQnVzeT17dGhpcy5zdGF0ZS5pc0J1c3l9XG4gICAgICAgICAgdHlwZT17Q3Jvc3NTcGlubmVyVHlwZS5QYWNtYW5JbmRpY2F0b3J9XG4gICAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlPXt0cnVlfVxuICAgICAgICAgIG1lc3NhZ2U9XCJMb2FkaW5nLi5cIlxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgaXNCdXN5OiBmYWxzZSB9KX1cbiAgICAgICAgLz5cbmBgYFxuKiBOb24gY2FuY2VsbGFibGUgYW5kIGN1c3RvbSBzdHlsZXNcbiogQGV4YW1wbGVcbmBgYFxuICAgICAgICA8Q3Jvc3NCdXN5SW5kaWNhdG9yXG4gICAgICAgICAga2V5PVwiYnVzeTJcIlxuICAgICAgICAgIHRlc3RJRD1cImJ1c3kyXCJcbiAgICAgICAgICBzcGlubmVyUHJvcHM9e3tcbiAgICAgICAgICAgIGNvbG9yOiAncmVkJyxcbiAgICAgICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuV2F2ZUluZGljYXRvclxuICAgICAgICAgIH19XG4gICAgICAgICAgbWVzc2FnZVN0eWxlPXt7Y29sb3I6ICdyZWQnfX1cbiAgICAgICAgICBpc0J1c3k9e3RoaXMuc3RhdGUuaXNCdXN5Mn1cbiAgICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU9e2ZhbHNlfVxuICAgICAgICAgIG1lc3NhZ2U9XCJSZXNpc3RhbmNlIGlzIGZ1dGlsZVwiXG4gICAgICAgIC8+XG5gYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzQnVzeUluZGljYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQnVzeUluZGljYXRvclByb3BzPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJQnVzeUluZGljYXRvclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMub25DYW5jZWwgPSB0aGlzLm9uQ2FuY2VsLmJpbmQodGhpcyk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25DYW5jZWwpIHtcbiAgICAgIHRoaXMucHJvcHMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD17dGhpcy5wcm9wcy50ZXN0SUQgfHwgJzEnfT5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5tb2RhbFN0eWxlXG4gICAgICAgICAgICAgID8gW3N0eWxlcy5hYnNvbHV0ZUNlbnRlcmVkLCB0aGlzLnByb3BzLm1vZGFsU3R5bGVdXG4gICAgICAgICAgICAgIDogc3R5bGVzLmFic29sdXRlQ2VudGVyZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaXNWaXNpYmxlPXt0aGlzLnByb3BzLmlzQnVzeX1cbiAgICAgICAgICBvbkRpc21pc3M9e3RoaXMub25DYW5jZWx9XG4gICAgICAgID5cbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgICB0aGlzLnByb3BzLmlubmVyVmlld1N0eWxlXG4gICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlcy5jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlcy5wYWRkaW5nRGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5pbm5lclZpZXdTdHlsZSxcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICA6IFtzdHlsZXMuY29udGFpbmVyLCBzdHlsZXMucGFkZGluZ0RlZmF1bHRdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e1tzdHlsZXMuY29sdW1uQ29udGVudFRvcENlbnRlcl19PlxuICAgICAgICAgICAgICA8Q3Jvc3NTcGlubmVyXG4gICAgICAgICAgICAgICAgdHlwZT17dGhpcy5wcm9wcy50eXBlIHx8IENyb3NzU3Bpbm5lclR5cGUuTWF0ZXJpYWxJbmRpY2F0b3J9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5zcGlubmVyfVxuICAgICAgICAgICAgICAgIHsuLi50aGlzLnByb3BzLnNwaW5uZXJQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvVmlldz5cblxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e1tzdHlsZXMuY29sdW1uQ29udGVudFRvcENlbnRlcl19PlxuICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy50ZXh0U3Bpbm5lciwgdGhpcy5wcm9wcy5tZXNzYWdlU3R5bGVdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMubWVzc2FnZSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0NhbmNlbEJ1dHRvblZpc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPFRvdWNoYWJsZU9wYWNpdHkgb25QcmVzcz17dGhpcy5vbkNhbmNlbH0+XG4gICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICB0ZXN0SUQ9J2NhbmNlbFRleHQnXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtbXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVzLnRleHRTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgIHsgY29sb3I6IENvbG9ycy5DYW5jZWxCdXR0b24gfSxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNhbmNlbFRleHRTdHlsZSxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2FuY2VsVGV4dCB8fCAnQ2FuY2VsJ31cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8L1RvdWNoYWJsZU9wYWNpdHk+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgPC9Nb2RhbD5cbiAgICAgIDwvVmlldz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzQnVzeUluZGljYXRvcjtcbiJdLCJ2ZXJzaW9uIjozfQ==