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    
@skava/ui / src / playground / Button / BaseButtonAtom.js
Size: Mime:
"use strict";

var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
  var c = arguments.length,
      r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
      d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

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

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

const state_1 = require("../../../state");

const deps_1 = require("./deps");

const renderProps_1 = require("./renderProps");

const BaseButtonAtomStateful_1 = __importDefault(require("./BaseButtonAtomStateful"));

const typings_1 = require("./typings");

let Button = class Button extends BaseButtonAtomStateful_1.default {
  constructor() {
    super(...arguments);
    this.state = state_1.makeCommonState(this.props);
  }

  get eventHandlers() {
    return {
      onFocus: this.state.handleFocus,
      onBlur: this.state.handleBlur,
      onKeyDown: this.handleKeyDown,
      onClick: this.handleClick
    };
  }

  render() {
    const attributes = deps_1.toAttributes(this.props, this.state);
    const eventHandlers = this.eventHandlers; // @tdo
    // need to pass textview to render

    const textView = this.props.renderIconAndText(attributes, this.state);
    const view = this.props.renderButtonOrLink(attributes, this.state);

    if (attributes.hasSnackbar) {
      return this.props.renderSnackbar(attributes, this.state, view);
    } else {
      return view;
    }
  }

};
Button.propTypes = typings_1.baseButtonPropTypes;
Button.defaultProps = {
  // element: 'button',
  className: 'button-atom',
  defaultClassName: '',
  timeout: 60,
  shouldAnimate: false,
  isActive: false,
  renderSnackbar: renderProps_1.renderSnackbar,
  renderIconAndText: renderProps_1.renderIconAndText,
  renderButtonOrLink: renderProps_1.renderButtonOrLink
};
Button = __decorate([mobx_react_1.observer], Button);
exports.Button = Button;
exports.default = Button; //# sourceMappingURL=BaseButtonAtom.js.map