react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
43 lines • 9.58 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/ 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: 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.style || 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.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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGFBQWE7QUFDYiwyREFBNEM7QUFDNUMsK0NBQXVFO0FBQ3ZFLHdGQUFnRTtBQUVoRSxvREFBdUI7QUFDdkIsdURBQThDO0FBMkM5Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsV0FBWSxTQUFRLGVBQUssQ0FBQyxTQUE0QjtJQUNqRSxNQUFNO1FBQ0osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1FBQ3ZDLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLFNBQVMsSUFDMUIsZ0JBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzVELDhCQUFDLHFCQUFXLENBQUMsTUFBTSxvQkFDYixJQUFJLENBQUMsS0FBSyxJQUNkLEtBQUssRUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQW1CLElBQUksZ0JBQU0sQ0FBQyxTQUFTLEVBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLEVBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQzVDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFFcEMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLDhCQUFDLDJCQUFNLGtCQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxlQUFNLENBQUMsVUFBVSxFQUN0RCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxJQUNsQyxJQUFJLENBQUMsS0FBSyxJQUNkLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ3BCLDhCQUFDLHFCQUFXLElBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxFQUM3QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFDaEMsS0FBSyxFQUFFLEtBQUssR0FDWixDQUNILENBQUMsQ0FBQyxDQUFDLElBQUksRUFFVixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksZ0JBQU0sQ0FBQyxNQUFNLEVBQ2xFLE9BQU8sRUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ3BCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEVBRWxELElBQUksRUFBRSxJQUFJLEtBRVQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ1YsQ0FDVixDQUNJLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQS9DRCxrQ0ErQ0M7QUFFRCxrQkFBZSxXQUFXLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5pbXBvcnQgeyBWaWV3U3R5bGUsIFN0eWxlUHJvcCwgVmlldywgQnV0dG9uUHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJ3JlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdjc3N0eXBlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3R5bGVzLCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHtAbGluayBDcm9zc0J1dHRvbn0gY29tcG9uZW50XG4gKiBAdHlwZWRlZiBJQ3Jvc3NCdXR0b25Qcm9wc1xuICogQHR5cGUgSUNyb3NzQnV0dG9uUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3Jvc3NCdXR0b25Qcm9wcyB7XG4gIC8qKlxuICAgKiBGb3JlZ3JvdW5kIChpY29uKSBjb2xvci4gRGVmYXVsdCBpcyB7QGxpbmsgQ29sb3JzLkNyb3NzQmxhY2t9XG4gICAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKipcbiAgICogRm9udC1Bd2Vzb21lIGljb24gbmFtZVxuICAgKlxuICAgKiBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9pY29ucy9cbiAgICovXG4gIGljb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdCB2YWx1ZSBpcyB7QGxpbmsgQ29sb3JzLk5leHRCdXR0b259IGlmIHtAbGluayB0aXRsZX0gd2FzIHN1cHBsaWVkXG4gICAqL1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcbiAgc3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBpY29uXG4gICAqL1xuICBzaXplPzogbnVtYmVyO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCdXR0b24gdmlzdWFsIGFwcGVhcmVuY2UuIERlZmF1bHQgaXMgJ3RleHQnXG4gICAqXG4gICAqIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvYnV0dG9uLmh0bWxcbiAgICovXG4gIG1vZGU/OiAndGV4dCcgfCAnb3V0bGluZWQnIHwgJ2NvbnRhaW5lZCc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBidXR0b24gc3R5bGVzIHRvIGFwcGx5XG4gICAqL1xuICBidXR0b25TdHlsZT86IEJ1dHRvblByb3BzO1xuICBvblByZXNzPzogKCkgPT4gdm9pZDtcbiAgY29tcGFjdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBjdXN0b20gYnV0dG9uIHRoYXQgZGlzcGxheXMgYXMgYW4gUGFwZXIgQnV0dG9uIHdpdGggaWNvbiBvciBqdXN0IGFuIGljb24gaWYge0BsaW5rIElDcm9zc0J1dHRvblByb3BzLnRpdGxlfSBpcyBub3Qgc3VwcGxpZWQuXG4gKiBcbiAqIFJlbWFya3M6IGFsbCBpY29ucyBhcmUge0BsaW5rIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL3Y0LjcuMC8gRm9udEF3ZXNvbWUgdjR9LlxuICogXG4gKiBSZW1hcms6IGRlZmF1bHQgYXBwZWFyZW5jZSBpcyBcInRleHRcIiwgc2VlIHtAbGluayBJQ3Jvc3NCdXR0b25Qcm9wcy5tb2RlfVxuICpcbiAqIFByb3BlcnRpZXMgYXJlIHtAbGluayBJQ3Jvc3NCdXR0b25Qcm9wc31cbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzQnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDcm9zc0J1dHRvblByb3BzPiB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlID0gdGhpcy5wcm9wcy5tb2RlIHx8ICd0ZXh0JztcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5jb250YWluZXJ9PlxuICAgICAgICB7Xy5pc05pbCh0aGlzLnByb3BzLnRpdGxlKSAmJiAhXy5pc05pbCh0aGlzLnByb3BzLmljb25OYW1lKSA/IChcbiAgICAgICAgICA8Rm9udEF3ZXNvbWUuQnV0dG9uXG4gICAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICAgIHN0eWxlPXsodGhpcy5wcm9wcy5zdHlsZSBhcyBWaWV3U3R5bGUpIHx8IHN0eWxlcy5jb250YWluZXJ9XG4gICAgICAgICAgICBvblByZXNzPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJlc3MoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNvbG9yPXt0aGlzLnByb3BzLmNvbG9yIHx8IENvbG9ycy5Dcm9zc0JsYWNrfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5wcm9wcy5pY29uTmFtZS50b1N0cmluZygpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgQ29sb3JzLk5leHRCdXR0b259XG4gICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5wcm9wcy5kaXNhYmxlZCB8fCBmYWxzZX1cbiAgICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgICAgaWNvbj17KHsgc2l6ZSwgY29sb3IgfSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5pY29uTmFtZSA/IChcbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVcbiAgICAgICAgICAgICAgICAgIG5hbWU9e3RoaXMucHJvcHMuaWNvbk5hbWV9XG4gICAgICAgICAgICAgICAgICBzaXplPXt0aGlzLnByb3BzLnNpemUgfHwgc2l6ZX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbjogMCwgcGFkZGluZzogMCB9fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHlsZT17dGhpcy5wcm9wcy5zdHlsZSB8fCB0aGlzLnByb3BzLmJ1dHRvblN0eWxlIHx8IHN0eWxlcy5idXR0b259XG4gICAgICAgICAgICBvblByZXNzPXtcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnByb3BzLm9uUHJlc3NcbiAgICAgICAgICAgICAgICA6ICgpID0+IGNvbnNvbGUubG9nKCcqKiBDcm9zc0J1dHRvbiBwcmVzcyAqKicpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NCdXR0b247XG4iXSwidmVyc2lvbiI6M30=