react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
43 lines • 9.59 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: 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGFBQWE7QUFDYiwyREFBNEM7QUFDNUMsK0NBQXVFO0FBQ3ZFLHdGQUFnRTtBQUVoRSxvREFBdUI7QUFDdkIsdURBQThDO0FBMkM5Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsV0FBWSxTQUFRLGVBQUssQ0FBQyxTQUE0QjtJQUNqRSxNQUFNO1FBQ0osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1FBQ3ZDLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLFNBQVMsSUFDMUIsZ0JBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzVELDhCQUFDLHFCQUFXLENBQUMsTUFBTSxvQkFDYixJQUFJLENBQUMsS0FBSyxJQUNkLEtBQUssRUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQW1CLElBQUksZ0JBQU0sQ0FBQyxTQUFTLEVBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLEVBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQzVDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFDcEMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLDhCQUFDLDJCQUFNLGtCQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxlQUFNLENBQUMsVUFBVSxFQUN0RCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxJQUNsQyxJQUFJLENBQUMsS0FBSyxJQUNkLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ3BCLDhCQUFDLHFCQUFXLElBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxFQUM3QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFDaEMsS0FBSyxFQUFFLEtBQUssR0FDWixDQUNILENBQUMsQ0FBQyxDQUFDLElBQUksRUFFVixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksZ0JBQU0sQ0FBQyxNQUFNLEVBQ2xFLE9BQU8sRUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ3BCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEVBRWxELElBQUksRUFBRSxJQUFJLEtBRVQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ1YsQ0FDVixDQUNJLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTlDRCxrQ0E4Q0M7QUFFRCxrQkFBZSxXQUFXLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5pbXBvcnQgeyBWaWV3U3R5bGUsIFN0eWxlUHJvcCwgVmlldywgQnV0dG9uUHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJ3JlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdjc3N0eXBlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3R5bGVzLCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHtAbGluayBDcm9zc0J1dHRvbn0gY29tcG9uZW50XG4gKiBAdHlwZWRlZiBJQ3Jvc3NCdXR0b25Qcm9wc1xuICogQHR5cGUgSUNyb3NzQnV0dG9uUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3Jvc3NCdXR0b25Qcm9wcyB7XG4gIC8qKlxuICAgKiBGb3JlZ3JvdW5kIChpY29uKSBjb2xvci4gRGVmYXVsdCBpcyB7QGxpbmsgQ29sb3JzLkNyb3NzQmxhY2t9XG4gICAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKipcbiAgICogRm9udC1Bd2Vzb21lIDQgaWNvbiBuYW1lXG4gICAqXG4gICAqIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL3Y0LjcuMC9pY29ucy9cbiAgICovXG4gIGljb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdCB2YWx1ZSBpcyB7QGxpbmsgQ29sb3JzLk5leHRCdXR0b259IGlmIHtAbGluayB0aXRsZX0gd2FzIHN1cHBsaWVkXG4gICAqL1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcbiAgc3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBpY29uXG4gICAqL1xuICBzaXplPzogbnVtYmVyO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCdXR0b24gdmlzdWFsIGFwcGVhcmVuY2UuIERlZmF1bHQgaXMgJ3RleHQnXG4gICAqXG4gICAqIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvYnV0dG9uLmh0bWxcbiAgICovXG4gIG1vZGU/OiAndGV4dCcgfCAnb3V0bGluZWQnIHwgJ2NvbnRhaW5lZCc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBidXR0b24gc3R5bGVzIHRvIGFwcGx5XG4gICAqL1xuICBidXR0b25TdHlsZT86IEJ1dHRvblByb3BzO1xuICBvblByZXNzPzogKCkgPT4gdm9pZDtcbiAgY29tcGFjdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBjdXN0b20gYnV0dG9uIHRoYXQgZGlzcGxheXMgYXMgYW4gUGFwZXIgQnV0dG9uIHdpdGggaWNvbiBvciBqdXN0IGFuIGljb24gaWYge0BsaW5rIElDcm9zc0J1dHRvblByb3BzLnRpdGxlfSBpcyBub3Qgc3VwcGxpZWQuXG4gKlxuICogUmVtYXJrczogYWxsIGljb25zIGFyZSB7QGxpbmsgaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQuNy4wL2ljb25zLyBGb250QXdlc29tZSB2NH0uXG4gKlxuICogUmVtYXJrOiBkZWZhdWx0IGFwcGVhcmVuY2UgaXMgXCJ0ZXh0XCIsIHNlZSB7QGxpbmsgSUNyb3NzQnV0dG9uUHJvcHMubW9kZX1cbiAqXG4gKiBQcm9wZXJ0aWVzIGFyZSB7QGxpbmsgSUNyb3NzQnV0dG9uUHJvcHN9XG4gKi9cbmV4cG9ydCBjbGFzcyBDcm9zc0J1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQ3Jvc3NCdXR0b25Qcm9wcz4ge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMucHJvcHMubW9kZSB8fCAndGV4dCc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29udGFpbmVyfT5cbiAgICAgICAge18uaXNOaWwodGhpcy5wcm9wcy50aXRsZSkgJiYgIV8uaXNOaWwodGhpcy5wcm9wcy5pY29uTmFtZSkgPyAoXG4gICAgICAgICAgPEZvbnRBd2Vzb21lLkJ1dHRvblxuICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICBzdHlsZT17KHRoaXMucHJvcHMuc3R5bGUgYXMgVmlld1N0eWxlKSB8fCBzdHlsZXMuY29udGFpbmVyfVxuICAgICAgICAgICAgb25QcmVzcz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5jb2xvciB8fCBDb2xvcnMuQ3Jvc3NCbGFja31cbiAgICAgICAgICAgIG5hbWU9e3RoaXMucHJvcHMuaWNvbk5hbWUudG9TdHJpbmcoKX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGNvbG9yPXt0aGlzLnByb3BzLmJhY2tncm91bmRDb2xvciB8fCBDb2xvcnMuTmV4dEJ1dHRvbn1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRpc2FibGVkIHx8IGZhbHNlfVxuICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICBpY29uPXsoeyBzaXplLCBjb2xvciB9KSA9PlxuICAgICAgICAgICAgICB0aGlzLnByb3BzLmljb25OYW1lID8gKFxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZVxuICAgICAgICAgICAgICAgICAgbmFtZT17dGhpcy5wcm9wcy5pY29uTmFtZX1cbiAgICAgICAgICAgICAgICAgIHNpemU9e3RoaXMucHJvcHMuc2l6ZSB8fCBzaXplfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luOiAwLCBwYWRkaW5nOiAwIH19XG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlIHx8IHRoaXMucHJvcHMuYnV0dG9uU3R5bGUgfHwgc3R5bGVzLmJ1dHRvbn1cbiAgICAgICAgICAgIG9uUHJlc3M9e1xuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJlc3NcbiAgICAgICAgICAgICAgICA/IHRoaXMucHJvcHMub25QcmVzc1xuICAgICAgICAgICAgICAgIDogKCkgPT4gY29uc29sZS5sb2coJyoqIENyb3NzQnV0dG9uIHByZXNzICoqJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1vZGU9e21vZGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RoaXMucHJvcHMudGl0bGV9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDcm9zc0J1dHRvbjtcbiJdLCJ2ZXJzaW9uIjozfQ==