Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

const tslib_1 = require("tslib");

const react_1 = tslib_1.__importDefault(require("react"));

const exotic_1 = require("exotic");

const mobx_react_1 = require("xmobx/mobx-react");

const common_1 = require("../../../../state/common");

exports.ModalReactContext = react_1.default.createContext({});
let Consumer = class Consumer extends react_1.default.Component {
  render() {
    console.debug('[modal] render: consumer');
    return react_1.default.createElement(exports.ModalReactContext.Consumer, Object.assign({}, this.props));
  }

};
Consumer = tslib_1.__decorate([mobx_react_1.observer], Consumer);
exports.Consumer = Consumer;
exports.ModalConsumer = Consumer;
let Provider = class Provider extends react_1.default.Component {
  constructor() {
    super(...arguments);
    this.state = common_1.toCommonState(this.props);

    this.handleClose = () => {
      this.state.handleHide();

      if (exotic_1.isFunction(this.props.onClose)) {
        this.props.onClose();
      }
    };
  }

  render() {
    const state = this.state;

    const _a = this.props,
          {
      // state = toCommonState(this.props),
      children
    } = _a,
          remainingProps = tslib_1.__rest(_a, ["children"]); // this is what gets sent over context
    // sending state, and any other remaining props if needed


    const value = Object.assign({}, remainingProps, {
      state,
      onClose: this.handleClose
    });
    console.debug('[modal] render: provider');
    return react_1.default.createElement(exports.ModalReactContext.Provider, {
      value: value,
      children: children
    });
  }

};
Provider = tslib_1.__decorate([mobx_react_1.observer], Provider);
exports.Provider = Provider;
exports.ModalContext = Provider; //# sourceMappingURL=index.js.map