react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
74 lines • 12.7 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_native_1 = require("react-native");
const react_native_paper_1 = require("react-native-paper");
const styles_1 = __importDefault(require("../../styles"));
const lodash_1 = __importDefault(require("lodash"));
/**
* Renders the relevant react-native-paper component based on props
*/
class TextComponent extends react_1.default.Component {
constructor(props) {
super(props);
}
render() {
let label = null;
if (this.props.isHeadline) {
label = react_1.default.createElement(react_native_paper_1.Headline, Object.assign({}, this.props), this.props.children);
}
if (this.props.isSubheading) {
label = react_1.default.createElement(react_native_paper_1.Subheading, Object.assign({}, this.props), this.props.children);
}
if (this.props.isTitle) {
label = react_1.default.createElement(react_native_paper_1.Title, Object.assign({}, this.props), this.props.children);
}
if (this.props.isCaption) {
label = react_1.default.createElement(react_native_paper_1.Caption, Object.assign({}, this.props), this.props.children);
}
if (this.props.isParagraph) {
label = react_1.default.createElement(react_native_paper_1.Paragraph, Object.assign({}, this.props), this.props.children);
}
const url = lodash_1.default.get(this.props, ['onPressUrlTarget']);
if (url && !label)
return (react_1.default.createElement(react_native_paper_1.Text, Object.assign({}, this.props, { onPress: () => react_native_1.Linking.openURL(url.toString()) }), this.props.children));
if (url && label)
return (react_1.default.createElement(react_native_1.TouchableHighlight, { onPress: () => react_native_1.Linking.openURL(url.toString()) }, label));
return label ? (Object.assign({}, label)) : (react_1.default.createElement(react_native_paper_1.Text, Object.assign({}, this.props), this.props.children));
}
}
/**
* Wrapper for {@link https://callstack.github.io/react-native-paper/text.html react-native-paper Text} component
* that displays as a clickable link if {@link ICrossLabelProps.onPressUrlTarget} is supplied.
*
* Link color can also be specified through {@link ICrossLabelProps.linkColor}.
*
* Properties are {@link ICrossLabelProps}
*
* @param param0 {@link ICrossLabelProps}
* @returns {@link View}
*/
class CrossLabel extends react_1.default.Component {
constructor(props) {
super(props);
}
render() {
return (react_1.default.createElement(react_native_1.View, { style: styles_1.default.container },
react_1.default.createElement(TextComponent, Object.assign({}, this.props, { style: [
this.props.onPressUrlTarget ? linkStyle : {},
this.props.style,
this.props.linkColor ? { color: this.props.linkColor } : {},
] }), this.props.children)));
}
}
exports.CrossLabel = CrossLabel;
const linkStyle = {
color: 'blue',
fontWeight: 'bold',
backgroundColor: 'transparent',
};
exports.default = CrossLabel;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbGFiZWxzL0Nyb3NzTGFiZWwudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQXlDO0FBQ3pDLCtDQU1zQjtBQUN0QiwyREFPNEI7QUFDNUIsMERBQWtDO0FBQ2xDLG9EQUF1QjtBQXdDdkI7O0dBRUc7QUFDSCxNQUFNLGFBQWMsU0FBUSxlQUFLLENBQUMsU0FBMkI7SUFDM0QsWUFBWSxLQUF1QjtRQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksS0FBSyxHQUFjLElBQUksQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3pCLEtBQUssR0FBRyw4QkFBQyw2QkFBUSxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFZLENBQUM7U0FDcEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQzNCLEtBQUssR0FBRyw4QkFBQywrQkFBVSxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFjLENBQUM7U0FDeEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLEtBQUssR0FBRyw4QkFBQywwQkFBSyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFTLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEtBQUssR0FBRyw4QkFBQyw0QkFBTyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFXLENBQUM7U0FDbEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzFCLEtBQUssR0FBRyw4QkFBQyw4QkFBUyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFhLENBQUM7U0FDdEU7UUFFRCxNQUFNLEdBQUcsR0FBRyxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSztZQUNmLE9BQU8sQ0FDTCw4QkFBQyx5QkFBSSxvQkFBSyxJQUFJLENBQUMsS0FBSyxJQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxzQkFBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsS0FDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2YsQ0FDUixDQUFDO1FBRUosSUFBSSxHQUFHLElBQUksS0FBSztZQUNkLE9BQU8sQ0FDTCw4QkFBQyxpQ0FBa0IsSUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsc0JBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQy9ELEtBQUssQ0FDYSxDQUN0QixDQUFDO1FBRUosT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLG1CQUNSLEtBQUssRUFDWCxDQUFDLENBQUMsQ0FBQyxDQUNGLDhCQUFDLHlCQUFJLG9CQUFLLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQVEsQ0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxlQUFLLENBQUMsU0FBMkI7SUFDL0QsWUFBWSxLQUF1QjtRQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLFNBQVM7WUFDM0IsOEJBQUMsYUFBYSxvQkFDUixJQUFJLENBQUMsS0FBSyxJQUNkLEtBQUssRUFBRTtvQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztvQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQzVELEtBRUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ04sQ0FDWCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQkQsZ0NBcUJDO0FBRUQsTUFBTSxTQUFTLEdBQWM7SUFDM0IsS0FBSyxFQUFFLE1BQU07SUFDYixVQUFVLEVBQUUsTUFBTTtJQUNsQixlQUFlLEVBQUUsYUFBYTtDQUMvQixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2xhYmVscy9Dcm9zc0xhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVmlldyxcbiAgVGV4dFByb3BzLFxuICBMaW5raW5nLFxuICBUb3VjaGFibGVIaWdobGlnaHQsXG4gIFRleHRTdHlsZSxcbn0gZnJvbSAncmVhY3QtbmF0aXZlJztcbmltcG9ydCB7XG4gIFRleHQsXG4gIEhlYWRsaW5lLFxuICBTdWJoZWFkaW5nLFxuICBUaXRsZSxcbiAgQ2FwdGlvbixcbiAgUGFyYWdyYXBoLFxufSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUge0BsaW5rIENyb3NzTGFiZWx9IGNvbXBvbmVudC4gQ29udHJvbCBjb21wb25lbnQgdHlwZSB1c2luZyB7QGxpbmsgaXNUaXRsZX0sIHtAbGluayBpc0NhcHRpb259LCB7QGxpbmsgaXNIZWFkbGluZX0sIHtAbGluayBpc1N1YmhlYWRpbmd9IGFuZCB7QGxpbmsgaXNQYXJhZ3JhcGh9LlxuICogXG4gKiBDcmVhdGUgYW4gVVJMIGxpbmsgdXNpbmcge0BsaW5rIG9uUHJlc3NVcmxUYXJnZXR9IGFuZCBjdXN0b21pemUgY29sb3IgdXNpbmcge0BsaW5rIGxpbmtDb2xvcn0uXG4gKiBcbiAqIEluaGVyaXRzIHJlYWN0LW5hdGl2ZSBUZXh0J3Mge0BsaW5rIGh0dHBzOi8vZmFjZWJvb2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS9kb2NzL3RleHQuaHRtbCNwcm9wcyBUZXh0UHJvcHN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNyb3NzTGFiZWxQcm9wcyBleHRlbmRzIFRleHRQcm9wcyB7XG4gIC8qKlxuICAgKiBBbiB1cmwgdG8gb3BlbiB3aGVuIHVzZXIgY2xpY2tzIHRoZSBsYWJlbC4gU3R5bGVzIHRoZSBsYWJlbCBhcyBhIGNsaWNrYWJsZSBcImxpbmtcIlxuICAgKi9cbiAgb25QcmVzc1VybFRhcmdldD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNvbG9yIGZvciB0aGUgbGluay4gRGVmYXVsdCBpcyAnYmx1ZScuIFNlZSBhbHNvIHtAbGluayBvblByZXNzVXJsVGFyZ2V0fVxuICAgKi9cbiAgbGlua0NvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheXMgdGV4dCBhcyBhIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL2hlYWRsaW5lLmh0bWwgcmVhY3QtbmF0aXZlIHBhcGVyIEhlYWRsaW5lIGNvbXBvbmVudH1cbiAgICovXG4gIGlzSGVhZGxpbmU/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheXMgdGV4dCBhcyBhIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL3RpdGxlLmh0bWwgcmVhY3QtbmF0aXZlIHBhcGVyIFRpdGxlIGNvbXBvbmVudH1cbiAgICovXG4gIGlzVGl0bGU/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheXMgdGV4dCBhcyBhIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL3N1YmhlYWRpbmcuaHRtbCByZWFjdC1uYXRpdmUgcGFwZXIgU3ViaGVhZGluZyBjb21wb25lbnR9XG4gICAqL1xuICBpc1N1YmhlYWRpbmc/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheXMgdGV4dCBhcyBhIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL3BhcmFncmFwaC5odG1sIHJlYWN0LW5hdGl2ZSBwYXBlciBQYXJhZ3JhcGggY29tcG9uZW50fVxuICAgKi9cbiAgaXNQYXJhZ3JhcGg/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheXMgdGV4dCBhcyBhIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL2NhcHRpb24uaHRtbCByZWFjdC1uYXRpdmUgcGFwZXIgQ2FwdGlvbiBjb21wb25lbnR9XG4gICAqL1xuICBpc0NhcHRpb24/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIHJlbGV2YW50IHJlYWN0LW5hdGl2ZS1wYXBlciBjb21wb25lbnQgYmFzZWQgb24gcHJvcHNcbiAqL1xuY2xhc3MgVGV4dENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQ3Jvc3NMYWJlbFByb3BzPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJQ3Jvc3NMYWJlbFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGxldCBsYWJlbDogUmVhY3ROb2RlID0gbnVsbDtcbiAgICBpZiAodGhpcy5wcm9wcy5pc0hlYWRsaW5lKSB7XG4gICAgICBsYWJlbCA9IDxIZWFkbGluZSB7Li4udGhpcy5wcm9wc30+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9IZWFkbGluZT47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuaXNTdWJoZWFkaW5nKSB7XG4gICAgICBsYWJlbCA9IDxTdWJoZWFkaW5nIHsuLi50aGlzLnByb3BzfT57dGhpcy5wcm9wcy5jaGlsZHJlbn08L1N1YmhlYWRpbmc+O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmlzVGl0bGUpIHtcbiAgICAgIGxhYmVsID0gPFRpdGxlIHsuLi50aGlzLnByb3BzfT57dGhpcy5wcm9wcy5jaGlsZHJlbn08L1RpdGxlPjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5pc0NhcHRpb24pIHtcbiAgICAgIGxhYmVsID0gPENhcHRpb24gey4uLnRoaXMucHJvcHN9Pnt0aGlzLnByb3BzLmNoaWxkcmVufTwvQ2FwdGlvbj47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuaXNQYXJhZ3JhcGgpIHtcbiAgICAgIGxhYmVsID0gPFBhcmFncmFwaCB7Li4udGhpcy5wcm9wc30+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9QYXJhZ3JhcGg+O1xuICAgIH1cblxuICAgIGNvbnN0IHVybCA9IF8uZ2V0KHRoaXMucHJvcHMsIFsnb25QcmVzc1VybFRhcmdldCddKTtcblxuICAgIGlmICh1cmwgJiYgIWxhYmVsKVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQgey4uLnRoaXMucHJvcHN9IG9uUHJlc3M9eygpID0+IExpbmtpbmcub3BlblVSTCh1cmwudG9TdHJpbmcoKSl9PlxuICAgICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgICA8L1RleHQ+XG4gICAgICApO1xuXG4gICAgaWYgKHVybCAmJiBsYWJlbClcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUb3VjaGFibGVIaWdobGlnaHQgb25QcmVzcz17KCkgPT4gTGlua2luZy5vcGVuVVJMKHVybC50b1N0cmluZygpKX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RvdWNoYWJsZUhpZ2hsaWdodD5cbiAgICAgICk7XG5cbiAgICByZXR1cm4gbGFiZWwgPyAoXG4gICAgICB7IC4uLmxhYmVsIH1cbiAgICApIDogKFxuICAgICAgPFRleHQgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnByb3BzLmNoaWxkcmVufTwvVGV4dD5cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3Ige0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC5odG1sIHJlYWN0LW5hdGl2ZS1wYXBlciBUZXh0fSBjb21wb25lbnRcbiAqIHRoYXQgZGlzcGxheXMgYXMgYSBjbGlja2FibGUgbGluayBpZiB7QGxpbmsgSUNyb3NzTGFiZWxQcm9wcy5vblByZXNzVXJsVGFyZ2V0fSBpcyBzdXBwbGllZC5cbiAqXG4gKiBMaW5rIGNvbG9yIGNhbiBhbHNvIGJlIHNwZWNpZmllZCB0aHJvdWdoIHtAbGluayBJQ3Jvc3NMYWJlbFByb3BzLmxpbmtDb2xvcn0uXG4gKlxuICogUHJvcGVydGllcyBhcmUge0BsaW5rIElDcm9zc0xhYmVsUHJvcHN9XG4gKlxuICogQHBhcmFtIHBhcmFtMCB7QGxpbmsgSUNyb3NzTGFiZWxQcm9wc31cbiAqIEByZXR1cm5zIHtAbGluayBWaWV3fVxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NMYWJlbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQ3Jvc3NMYWJlbFByb3BzPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJQ3Jvc3NMYWJlbFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgIDxUZXh0Q29tcG9uZW50XG4gICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgc3R5bGU9e1tcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmVzc1VybFRhcmdldCA/IGxpbmtTdHlsZSA6IHt9LFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zdHlsZSxcbiAgICAgICAgICAgIHRoaXMucHJvcHMubGlua0NvbG9yID8geyBjb2xvcjogdGhpcy5wcm9wcy5saW5rQ29sb3IgfSA6IHt9LFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9UZXh0Q29tcG9uZW50PlxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgbGlua1N0eWxlOiBUZXh0U3R5bGUgPSB7XG4gIGNvbG9yOiAnYmx1ZScsXG4gIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NMYWJlbDtcbiJdLCJ2ZXJzaW9uIjozfQ==