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/OiAndGV4dCcgfCAnb3V0bGluZWQnIHwgJ2NvbnRhaW5lZCc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBidXR0b24gc3R5bGVzIHRvIGFwcGx5XG4gICAqL1xuICBidXR0b25TdHlsZT86IEJ1dHRvblByb3BzO1xuICBvblByZXNzPzogKCkgPT4gdm9pZDtcbiAgY29tcGFjdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBjdXN0b20gYnV0dG9uIHRoYXQgZGlzcGxheXMgYXMgYW4gUGFwZXIgQnV0dG9uIHdpdGggaWNvbiBvciBqdXN0IGFuIGljb24gaWYge0BsaW5rIElDcm9zc0J1dHRvblByb3BzLnRpdGxlfSBpcyBub3Qgc3VwcGxpZWQuXG4gKlxuICogUmVtYXJrczogYWxsIGljb25zIGFyZSB7QGxpbmsgaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQuNy4wLyBGb250QXdlc29tZSB2NH0uXG4gKlxuICogUmVtYXJrOiBkZWZhdWx0IGFwcGVhcmVuY2UgaXMgXCJ0ZXh0XCIsIHNlZSB7QGxpbmsgSUNyb3NzQnV0dG9uUHJvcHMubW9kZX1cbiAqXG4gKiBQcm9wZXJ0aWVzIGFyZSB7QGxpbmsgSUNyb3NzQnV0dG9uUHJvcHN9XG4gKi9cbmV4cG9ydCBjbGFzcyBDcm9zc0J1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQ3Jvc3NCdXR0b25Qcm9wcz4ge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMucHJvcHMubW9kZSB8fCAndGV4dCc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29udGFpbmVyfT5cbiAgICAgICAge18uaXNOaWwodGhpcy5wcm9wcy50aXRsZSkgJiYgIV8uaXNOaWwodGhpcy5wcm9wcy5pY29uTmFtZSkgPyAoXG4gICAgICAgICAgPEZvbnRBd2Vzb21lLkJ1dHRvblxuICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICBzdHlsZT17KHRoaXMucHJvcHMuc3R5bGUgYXMgVmlld1N0eWxlKSB8fCBzdHlsZXMuY29udGFpbmVyfVxuICAgICAgICAgICAgb25QcmVzcz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5jb2xvciB8fCBDb2xvcnMuQ3Jvc3NCbGFja31cbiAgICAgICAgICAgIG5hbWU9e3RoaXMucHJvcHMuaWNvbk5hbWUudG9TdHJpbmcoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgY29sb3I9e3RoaXMucHJvcHMuYmFja2dyb3VuZENvbG9yIHx8IENvbG9ycy5OZXh0QnV0dG9ufVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWQgfHwgZmFsc2V9XG4gICAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICAgIGljb249eyh7IHNpemUsIGNvbG9yIH0pID0+XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMuaWNvbk5hbWUgPyAoXG4gICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lXG4gICAgICAgICAgICAgICAgICBuYW1lPXt0aGlzLnByb3BzLmljb25OYW1lfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17dGhpcy5wcm9wcy5zaXplIHx8IHNpemV9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW46IDAsIHBhZGRpbmc6IDAgfX1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMucHJvcHMuc3R5bGUgfHwgdGhpcy5wcm9wcy5idXR0b25TdHlsZSB8fCBzdHlsZXMuYnV0dG9ufVxuICAgICAgICAgICAgb25QcmVzcz17XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmVzc1xuICAgICAgICAgICAgICAgID8gdGhpcy5wcm9wcy5vblByZXNzXG4gICAgICAgICAgICAgICAgOiAoKSA9PiBjb25zb2xlLmxvZygnKiogQ3Jvc3NCdXR0b24gcHJlc3MgKionKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvVmlldz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzQnV0dG9uO1xuIl0sInZlcnNpb24iOjN9