react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
43 lines • 10.6 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
// @ts-ignore
const react_native_paper_1 = require("react-native-paper");
const react_native_1 = require("react-native");
const FontAwesome_1 = __importDefault(require("react-native-vector-icons/FontAwesome"));
const lodash_1 = __importDefault(require("lodash"));
const styles_1 = __importStar(require("../../styles"));
/**
* A custom button that displays as an Paper Button with icon or just an icon if {@link ICrossButtonProps.title} is not supplied.
*
* Remarks: all icons are {@link https://fontawesome.com/v4.7.0/icons/ FontAwesome v4}.
*
* Remark: default appearence is "text", see {@link ICrossButtonProps.mode}
*
* Properties are {@link ICrossButtonProps}
*/
class CrossButton extends react_1.default.Component {
render() {
const mode = this.props.mode || 'text';
return (react_1.default.createElement(react_native_1.View, { style: this.props.style ? this.props.style : styles_1.default.container }, lodash_1.default.isNil(this.props.title) && !lodash_1.default.isNil(this.props.iconName) ? (react_1.default.createElement(FontAwesome_1.default.Button, Object.assign({}, this.props, { style: this.props.iconStyle || styles_1.default.container, onPress: () => {
if (this.props.onPress) {
this.props.onPress();
}
}, color: this.props.color || styles_1.Colors.CrossBlack, name: this.props.iconName.toString() }))) : (react_1.default.createElement(react_native_paper_1.Button, Object.assign({ color: this.props.backgroundColor || styles_1.Colors.NextButton, disabled: this.props.disabled || false }, this.props, { icon: ({ size, color }) => this.props.iconName ? (react_1.default.createElement(FontAwesome_1.default, { name: this.props.iconName, size: this.props.size || size, style: { margin: 0, padding: 0 }, color: color })) : null, style: this.props.buttonStyle || styles_1.default.button, onPress: this.props.onPress
? this.props.onPress
: () => console.log('** CrossButton press **'), mode: mode }), this.props.title))));
}
}
exports.CrossButton = CrossButton;
exports.default = CrossButton;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGFBQWE7QUFDYiwyREFBNEM7QUFDNUMsK0NBQXFFO0FBQ3JFLHdGQUFnRTtBQUVoRSxvREFBdUI7QUFDdkIsdURBQThDO0FBNkQ5Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsV0FBWSxTQUFRLGVBQUssQ0FBQyxTQUE0QjtJQUNqRSxNQUFNO1FBQ0osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1FBQ3ZDLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFNLENBQUMsU0FBUyxJQUNoRSxnQkFBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUQsOEJBQUMscUJBQVcsQ0FBQyxNQUFNLG9CQUNiLElBQUksQ0FBQyxLQUFLLElBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLGdCQUFNLENBQUMsU0FBc0IsRUFDNUQsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN0QjtZQUNILENBQUMsRUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksZUFBTSxDQUFDLFVBQVUsRUFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUNwQyxDQUNILENBQUMsQ0FBQyxDQUFDLENBQ0YsOEJBQUMsMkJBQU0sa0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLElBQ2xDLElBQUksQ0FBQyxLQUFLLElBQ2QsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDcEIsOEJBQUMscUJBQVcsSUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQzdCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUNoQyxLQUFLLEVBQUUsS0FBSyxHQUNaLENBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUVWLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxnQkFBTSxDQUFDLE1BQU0sRUFDOUMsT0FBTyxFQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDcEIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsRUFFbEQsSUFBSSxFQUFFLElBQUksS0FFVCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FDVixDQUNWLENBQ0ksQ0FDUixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBOUNELGtDQThDQztBQUVELGtCQUFlLFdBQVcsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9idXR0b25zL0Nyb3NzQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAncmVhY3QtbmF0aXZlLXBhcGVyJztcbmltcG9ydCB7IFZpZXdTdHlsZSwgU3R5bGVQcm9wLCBWaWV3LCBUZXh0U3R5bGUgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJ3JlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdjc3N0eXBlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3R5bGVzLCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHtAbGluayBDcm9zc0J1dHRvbn0gY29tcG9uZW50XG4gKiBAdHlwZWRlZiBJQ3Jvc3NCdXR0b25Qcm9wc1xuICogQHR5cGUgSUNyb3NzQnV0dG9uUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3Jvc3NCdXR0b25Qcm9wcyB7XG4gIC8qKlxuICAgKiBGb3JlZ3JvdW5kIChpY29uKSBjb2xvci4gRGVmYXVsdCBpcyB7QGxpbmsgQ29sb3JzLkNyb3NzQmxhY2t9XG4gICAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKipcbiAgICogRm9udC1Bd2Vzb21lIDQgaWNvbiBuYW1lIHVzaW5nIGByZWFjdC1uYXRpdmUtdmVjdG9yLWljb25zL0ZvbnRBd2Vzb21lYFxuICAgKlxuICAgKiBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC43LjAvaWNvbnMvXG4gICAqL1xuICBpY29uTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3IuIERlZmF1bHQgdmFsdWUgaXMge0BsaW5rIENvbG9ycy5OZXh0QnV0dG9ufSBpZiB7QGxpbmsgdGl0bGV9IHdhcyBzdXBwbGllZFxuICAgKi9cbiAgYmFja2dyb3VuZENvbG9yPzogQ29sb3I7XG4gIC8qKlxuICAgKiBTdHlsZSBmb3Igb3V0ZXIgY29udGFpbmVyLlxuICAgKlxuICAgKiBTZWUgYWxzbyB7QGxpbmsgaWNvblN0eWxlfSwge0BsaW5rIGJ1dHRvblN0eWxlfVxuICAgKi9cbiAgc3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0eWxlIGZvciB0aGUgaWNvbnMuIFNlZSBhbHNvIHtAbGluayBpY29uTmFtZX1cbiAgICpcbiAgICogU2VlIGFsc28ge0BsaW5rIGJ1dHRvblN0eWxlfSwge0BsaW5rIHN0eWxlfVxuICAgKi9cbiAgaWNvblN0eWxlPzogVmlld1N0eWxlIHwgVGV4dFN0eWxlO1xuICAvKipcbiAgICogVGl0bGUgZm9yIHRoZSBidXR0b24uIElmIG5vdCBzdXBwbGllZCBhIGNsaWNrYWJsZSBpY29uIHdpbGwgYmUgZGlzcGxheWVkIGluc3RlYWQgb2YgcmVhY3QtbmF0aXZlLXBhcGVyIGJ1dHRvblxuICAgKlxuICAgKiBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL2J1dHRvbi5odG1sXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIGljb25cbiAgICovXG4gIHNpemU/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ1dHRvbiB2aXN1YWwgYXBwZWFyZW5jZS4gRGVmYXVsdCBpcyAndGV4dCdcbiAgICpcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci9idXR0b24uaHRtbFxuICAgKi9cbiAgbW9kZT86ICd0ZXh0JyB8ICdvdXRsaW5lZCcgfCAnY29udGFpbmVkJztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGJ1dHRvbiBzdHlsZXMgdG8gYXBwbHkgdG8ge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvYnV0dG9uLmh0bWwgQnV0dG9ufS5cbiAgICpcbiAgICogU2VlIGFsc28ge0BsaW5rIGljb25TdHlsZX0sIHtAbGluayBzdHlsZX1cbiAgICovXG4gIGJ1dHRvblN0eWxlPzogU3R5bGVQcm9wPFZpZXdTdHlsZT47XG4gIG9uUHJlc3M/OiAoKSA9PiB2b2lkO1xuICBjb21wYWN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIGN1c3RvbSBidXR0b24gdGhhdCBkaXNwbGF5cyBhcyBhbiBQYXBlciBCdXR0b24gd2l0aCBpY29uIG9yIGp1c3QgYW4gaWNvbiBpZiB7QGxpbmsgSUNyb3NzQnV0dG9uUHJvcHMudGl0bGV9IGlzIG5vdCBzdXBwbGllZC5cbiAqXG4gKiBSZW1hcmtzOiBhbGwgaWNvbnMgYXJlIHtAbGluayBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC43LjAvaWNvbnMvIEZvbnRBd2Vzb21lIHY0fS5cbiAqXG4gKiBSZW1hcms6IGRlZmF1bHQgYXBwZWFyZW5jZSBpcyBcInRleHRcIiwgc2VlIHtAbGluayBJQ3Jvc3NCdXR0b25Qcm9wcy5tb2RlfVxuICpcbiAqIFByb3BlcnRpZXMgYXJlIHtAbGluayBJQ3Jvc3NCdXR0b25Qcm9wc31cbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzQnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDcm9zc0J1dHRvblByb3BzPiB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlID0gdGhpcy5wcm9wcy5tb2RlIHx8ICd0ZXh0JztcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgc3R5bGU9e3RoaXMucHJvcHMuc3R5bGUgPyB0aGlzLnByb3BzLnN0eWxlIDogc3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgIHtfLmlzTmlsKHRoaXMucHJvcHMudGl0bGUpICYmICFfLmlzTmlsKHRoaXMucHJvcHMuaWNvbk5hbWUpID8gKFxuICAgICAgICAgIDxGb250QXdlc29tZS5CdXR0b25cbiAgICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMucHJvcHMuaWNvblN0eWxlIHx8IHN0eWxlcy5jb250YWluZXIgYXMgVmlld1N0eWxlfVxuICAgICAgICAgICAgb25QcmVzcz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5jb2xvciB8fCBDb2xvcnMuQ3Jvc3NCbGFja31cbiAgICAgICAgICAgIG5hbWU9e3RoaXMucHJvcHMuaWNvbk5hbWUudG9TdHJpbmcoKX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGNvbG9yPXt0aGlzLnByb3BzLmJhY2tncm91bmRDb2xvciB8fCBDb2xvcnMuTmV4dEJ1dHRvbn1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRpc2FibGVkIHx8IGZhbHNlfVxuICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICBpY29uPXsoeyBzaXplLCBjb2xvciB9KSA9PlxuICAgICAgICAgICAgICB0aGlzLnByb3BzLmljb25OYW1lID8gKFxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZVxuICAgICAgICAgICAgICAgICAgbmFtZT17dGhpcy5wcm9wcy5pY29uTmFtZX1cbiAgICAgICAgICAgICAgICAgIHNpemU9e3RoaXMucHJvcHMuc2l6ZSB8fCBzaXplfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luOiAwLCBwYWRkaW5nOiAwIH19XG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLmJ1dHRvblN0eWxlIHx8IHN0eWxlcy5idXR0b259XG4gICAgICAgICAgICBvblByZXNzPXtcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnByb3BzLm9uUHJlc3NcbiAgICAgICAgICAgICAgICA6ICgpID0+IGNvbnNvbGUubG9nKCcqKiBDcm9zc0J1dHRvbiBwcmVzcyAqKicpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NCdXR0b247XG4iXSwidmVyc2lvbiI6M30=