Repository URL to install this package:
|
Version:
2.0.4 ▾
|
"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