UNPKG

react-native-cross-components

Version:
74 lines 12.1 kB
"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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbGFiZWxzL0Nyb3NzTGFiZWwudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQXlDO0FBQ3pDLCtDQU1zQjtBQUN0QiwyREFPNEI7QUFDNUIsMERBQWtDO0FBQ2xDLG9EQUF1QjtBQWlDdkI7O0dBRUc7QUFDSCxNQUFNLGFBQWMsU0FBUSxlQUFLLENBQUMsU0FBMkI7SUFDM0QsWUFBWSxLQUF1QjtRQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksS0FBSyxHQUFjLElBQUksQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3pCLEtBQUssR0FBRyw4QkFBQyw2QkFBUSxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFZLENBQUM7U0FDcEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQzNCLEtBQUssR0FBRyw4QkFBQywrQkFBVSxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFjLENBQUM7U0FDeEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLEtBQUssR0FBRyw4QkFBQywwQkFBSyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFTLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEtBQUssR0FBRyw4QkFBQyw0QkFBTyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFXLENBQUM7U0FDbEU7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzFCLEtBQUssR0FBRyw4QkFBQyw4QkFBUyxvQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFhLENBQUM7U0FDdEU7UUFFRCxNQUFNLEdBQUcsR0FBRyxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSztZQUNmLE9BQU8sQ0FDTCw4QkFBQyx5QkFBSSxvQkFBSyxJQUFJLENBQUMsS0FBSyxJQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxzQkFBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsS0FDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2YsQ0FDUixDQUFDO1FBRUosSUFBSSxHQUFHLElBQUksS0FBSztZQUNkLE9BQU8sQ0FDTCw4QkFBQyxpQ0FBa0IsSUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsc0JBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQy9ELEtBQUssQ0FDYSxDQUN0QixDQUFDO1FBRUosT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLG1CQUNSLEtBQUssRUFDWCxDQUFDLENBQUMsQ0FBQyxDQUNGLDhCQUFDLHlCQUFJLG9CQUFLLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQVEsQ0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxlQUFLLENBQUMsU0FBMkI7SUFDL0QsWUFBWSxLQUF1QjtRQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLFNBQVM7WUFDM0IsOEJBQUMsYUFBYSxvQkFDUixJQUFJLENBQUMsS0FBSyxJQUNkLEtBQUssRUFBRTtvQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztvQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQzVELEtBRUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ04sQ0FDWCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQkQsZ0NBcUJDO0FBRUQsTUFBTSxTQUFTLEdBQWM7SUFDM0IsS0FBSyxFQUFFLE1BQU07SUFDYixVQUFVLEVBQUUsTUFBTTtJQUNsQixlQUFlLEVBQUUsYUFBYTtDQUMvQixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2xhYmVscy9Dcm9zc0xhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVmlldyxcbiAgVGV4dFByb3BzLFxuICBMaW5raW5nLFxuICBUb3VjaGFibGVIaWdobGlnaHQsXG4gIFRleHRTdHlsZSxcbn0gZnJvbSAncmVhY3QtbmF0aXZlJztcbmltcG9ydCB7XG4gIFRleHQsXG4gIEhlYWRsaW5lLFxuICBTdWJoZWFkaW5nLFxuICBUaXRsZSxcbiAgQ2FwdGlvbixcbiAgUGFyYWdyYXBoLFxufSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ3Jvc3NMYWJlbFByb3BzIGV4dGVuZHMgVGV4dFByb3BzIHtcbiAgLyoqXG4gICAqIEFuIHVybCB0byBvcGVuIHdoZW4gdXNlciBjbGlja3MgdGhlIGxhYmVsLiBTdHlsZXMgdGhlIGxhYmVsIGFzIGEgY2xpY2thYmxlIFwibGlua1wiXG4gICAqL1xuICBvblByZXNzVXJsVGFyZ2V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgY29sb3IgZm9yIHRoZSBsaW5rLiBEZWZhdWx0IGlzICdibHVlJy4gU2VlIGFsc28ge0BsaW5rIG9uUHJlc3NVcmxUYXJnZXR9XG4gICAqL1xuICBsaW5rQ29sb3I/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0ZXh0IGFzIGEge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvaGVhZGxpbmUuaHRtbCByZWFjdC1uYXRpdmUgcGFwZXIgSGVhZGxpbmUgY29tcG9uZW50fVxuICAgKi9cbiAgaXNIZWFkbGluZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0ZXh0IGFzIGEge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGl0bGUuaHRtbCByZWFjdC1uYXRpdmUgcGFwZXIgVGl0bGUgY29tcG9uZW50fVxuICAgKi9cbiAgaXNUaXRsZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0ZXh0IGFzIGEge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvc3ViaGVhZGluZy5odG1sIHJlYWN0LW5hdGl2ZSBwYXBlciBTdWJoZWFkaW5nIGNvbXBvbmVudH1cbiAgICovXG4gIGlzU3ViaGVhZGluZz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0ZXh0IGFzIGEge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvcGFyYWdyYXBoLmh0bWwgcmVhY3QtbmF0aXZlIHBhcGVyIFBhcmFncmFwaCBjb21wb25lbnR9XG4gICAqL1xuICBpc1BhcmFncmFwaD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0ZXh0IGFzIGEge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvY2FwdGlvbi5odG1sIHJlYWN0LW5hdGl2ZSBwYXBlciBDYXB0aW9uIGNvbXBvbmVudH1cbiAgICovXG4gIGlzQ2FwdGlvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmVuZGVycyB0aGUgcmVsZXZhbnQgcmVhY3QtbmF0aXZlLXBhcGVyIGNvbXBvbmVudCBiYXNlZCBvbiBwcm9wc1xuICovXG5jbGFzcyBUZXh0Q29tcG9uZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDcm9zc0xhYmVsUHJvcHM+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IElDcm9zc0xhYmVsUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgbGV0IGxhYmVsOiBSZWFjdE5vZGUgPSBudWxsO1xuICAgIGlmICh0aGlzLnByb3BzLmlzSGVhZGxpbmUpIHtcbiAgICAgIGxhYmVsID0gPEhlYWRsaW5lIHsuLi50aGlzLnByb3BzfT57dGhpcy5wcm9wcy5jaGlsZHJlbn08L0hlYWRsaW5lPjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5pc1N1YmhlYWRpbmcpIHtcbiAgICAgIGxhYmVsID0gPFN1YmhlYWRpbmcgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnByb3BzLmNoaWxkcmVufTwvU3ViaGVhZGluZz47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuaXNUaXRsZSkge1xuICAgICAgbGFiZWwgPSA8VGl0bGUgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnByb3BzLmNoaWxkcmVufTwvVGl0bGU+O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmlzQ2FwdGlvbikge1xuICAgICAgbGFiZWwgPSA8Q2FwdGlvbiB7Li4udGhpcy5wcm9wc30+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9DYXB0aW9uPjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5pc1BhcmFncmFwaCkge1xuICAgICAgbGFiZWwgPSA8UGFyYWdyYXBoIHsuLi50aGlzLnByb3BzfT57dGhpcy5wcm9wcy5jaGlsZHJlbn08L1BhcmFncmFwaD47XG4gICAgfVxuXG4gICAgY29uc3QgdXJsID0gXy5nZXQodGhpcy5wcm9wcywgWydvblByZXNzVXJsVGFyZ2V0J10pO1xuXG4gICAgaWYgKHVybCAmJiAhbGFiZWwpXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dCB7Li4udGhpcy5wcm9wc30gb25QcmVzcz17KCkgPT4gTGlua2luZy5vcGVuVVJMKHVybC50b1N0cmluZygpKX0+XG4gICAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG5cbiAgICBpZiAodXJsICYmIGxhYmVsKVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRvdWNoYWJsZUhpZ2hsaWdodCBvblByZXNzPXsoKSA9PiBMaW5raW5nLm9wZW5VUkwodXJsLnRvU3RyaW5nKCkpfT5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvVG91Y2hhYmxlSGlnaGxpZ2h0PlxuICAgICAgKTtcblxuICAgIHJldHVybiBsYWJlbCA/IChcbiAgICAgIHsgLi4ubGFiZWwgfVxuICAgICkgOiAoXG4gICAgICA8VGV4dCB7Li4udGhpcy5wcm9wc30+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9UZXh0PlxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciB7QGxpbmsgaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0Lmh0bWwgcmVhY3QtbmF0aXZlLXBhcGVyIFRleHR9IGNvbXBvbmVudFxuICogdGhhdCBkaXNwbGF5cyBhcyBhIGNsaWNrYWJsZSBsaW5rIGlmIHtAbGluayBJQ3Jvc3NMYWJlbFByb3BzLm9uUHJlc3NVcmxUYXJnZXR9IGlzIHN1cHBsaWVkLlxuICpcbiAqIExpbmsgY29sb3IgY2FuIGFsc28gYmUgc3BlY2lmaWVkIHRocm91Z2gge0BsaW5rIElDcm9zc0xhYmVsUHJvcHMubGlua0NvbG9yfS5cbiAqXG4gKiBQcm9wZXJ0aWVzIGFyZSB7QGxpbmsgSUNyb3NzTGFiZWxQcm9wc31cbiAqXG4gKiBAcGFyYW0gcGFyYW0wIHtAbGluayBJQ3Jvc3NMYWJlbFByb3BzfVxuICogQHJldHVybnMge0BsaW5rIFZpZXd9XG4gKi9cbmV4cG9ydCBjbGFzcyBDcm9zc0xhYmVsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDcm9zc0xhYmVsUHJvcHM+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IElDcm9zc0xhYmVsUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29udGFpbmVyfT5cbiAgICAgICAgPFRleHRDb21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXNzVXJsVGFyZ2V0ID8gbGlua1N0eWxlIDoge30sXG4gICAgICAgICAgICB0aGlzLnByb3BzLnN0eWxlLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5saW5rQ29sb3IgPyB7IGNvbG9yOiB0aGlzLnByb3BzLmxpbmtDb2xvciB9IDoge30sXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgICA8L1RleHRDb21wb25lbnQ+XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBsaW5rU3R5bGU6IFRleHRTdHlsZSA9IHtcbiAgY29sb3I6ICdibHVlJyxcbiAgZm9udFdlaWdodDogJ2JvbGQnLFxuICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcm9zc0xhYmVsO1xuIl0sInZlcnNpb24iOjN9