react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
59 lines • 8.58 kB
JavaScript
;
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_paper_1 = require("react-native-paper");
const react_native_masked_text_1 = require("react-native-masked-text");
let maskInput = null;
/**
* A text input supporting mask through {@see ICrossEditorProps.maskProps}.
*
* When using mask the raw value will be exported in the `onChangeText` event, not the masked value.
*
* Default {@see ICrossEditorProps.mode mode} is 'outlined'.
*
* Props are {@see ICrossEditorProps}
*
*
* @example
* ```
<CrossEditor
label='Mobile'
maskProps={{ type: 'cel-phone' }} />
```
*/
class CrossEditor extends react_1.default.Component {
constructor(props) {
super(props);
}
render() {
const paperProps = Object.assign({}, this.props, { mode: this.props.mode || 'outlined' });
if (this.props.maskProps && this.props.maskProps.type) {
const maskedProps = Object.assign({}, this.props, this.props.maskProps);
return (react_1.default.createElement(react_native_masked_text_1.TextInputMask, Object.assign({}, maskedProps, { ref: (comp) => (maskInput = comp),
// @ts-ignore - bad map
customTextInput: react_native_paper_1.TextInput, customTextInputProps: paperProps, onChangeText: () => {
if (!maskInput) {
return;
}
// @ts-ignore - bad map
const rawValue = maskInput.getRawValue();
if (this.props.onChangeText) {
this.props.onChangeText;
}
if (!maskInput ||
!this.props.maskProps ||
!this.props.maskProps.onChangeText) {
return;
}
this.props.maskProps.onChangeText(rawValue);
} })));
}
return react_1.default.createElement(react_native_paper_1.TextInput, Object.assign({}, paperProps, { mode: paperProps.mode }));
}
}
exports.CrossEditor = CrossEditor;
exports.default = CrossEditor;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJEQUErRDtBQUMvRCx1RUFBNkU7QUF3QzdFLElBQUksU0FBUyxHQUF5QixJQUFJLENBQUM7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFhLFdBQVksU0FBUSxlQUFLLENBQUMsU0FBNEI7SUFDakUsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sVUFBVSxHQUFHLGtCQUNkLElBQUksQ0FBQyxLQUFLLElBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFLLFVBQWtDLEdBQzNDLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDckQsTUFBTSxXQUFXLEdBQUcsa0JBQ2YsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDRixDQUFDO1lBRXhCLE9BQU8sQ0FDTCw4QkFBQyx3Q0FBYSxvQkFDUixXQUFXLElBQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLHVCQUF1QjtnQkFDdkIsZUFBZSxFQUFFLDhCQUFTLEVBQzFCLG9CQUFvQixFQUFFLFVBQVUsRUFDaEMsWUFBWSxFQUFFLEdBQUcsRUFBRTtvQkFDakIsSUFBRyxDQUFDLFNBQVMsRUFBQzt3QkFDWixPQUFPO3FCQUNSO29CQUVELHVCQUF1QjtvQkFDdkIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUV6QyxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFDO3dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQTtxQkFDeEI7b0JBRUQsSUFDRSxDQUFDLFNBQVM7d0JBQ1YsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7d0JBQ3JCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUNsQzt3QkFDQSxPQUFPO3FCQUNSO29CQUVELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxJQUNELENBQ0gsQ0FBQztTQUNIO1FBRUQsT0FBTyw4QkFBQyw4QkFBUyxvQkFBSyxVQUFVLElBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFwREQsa0NBb0RDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2lucHV0L0Nyb3NzRWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGV4dElucHV0LCBUZXh0SW5wdXRQcm9wcyB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5pbXBvcnQgeyBUZXh0SW5wdXRNYXNrLCBUZXh0SW5wdXRNYXNrUHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUtbWFza2VkLXRleHQnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSB7QGxpbmsgQ3Jvc3NFZGl0b3J9IGNvbXBvbmVudC4gU3VwcG9ydHMgbWFza2luZyB0aHJvdWdoIHtAbGluayBtYXNrUHJvcHN9LiBUaGlzIGFsbG93cyBnZXR0aW5nIHRoZSBtYXNrZWQgdmFsdWUuXG4gKlxuICogVGhlIGBvbkNoYW5nZVRleHRgIGV2ZW50IHdpbGwgaXNudGVhZCBleHBvcnQgdGhlIHJhdyB2YWx1ZS5cbiAqXG4gKiBJbmhlcml0cyByZWFjdC1uYXRpdmUtcGFwZXIge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC1pbnB1dC5odG1sIFRleHRJbnB1dFByb3BzfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcm9zc0VkaXRvclByb3BzIGV4dGVuZHMgVGV4dElucHV0UHJvcHMge1xuICAvKipcbiAgICogVGV4dCBmb3IgZmxvYXRpbmcgbGFiZWxcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBgVHJ1ZWAgdG8gdXNlIGVycm9yIHN0eWxpbmdcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIGVycm9yPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFZpc3VhbCBhcHBlYXJlbmNlLiBEZWZhdWx0IHZhbHVlIGlzICdvdXRsaW5lZCdcbiAgICpcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIG1vZGU/OiAnZmxhdCcgfCAnb3V0bGluZWQnIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQWxsb3dzIG1hc2tpbmcgdGhlIGlucHV0LlxuICAgKiBcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2Jlbmh1cm90dC9yZWFjdC1uYXRpdmUtbWFza2VkLXRleHRcbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgPENyb3NzRWRpdG9yXG4gICAgbGFiZWw9J01vYmlsZSdcbiAgICBtYXNrUHJvcHM9e3sgdHlwZTogJ2NlbC1waG9uZScgfX0gLz5gYGBcbiAgICovXG4gIG1hc2tQcm9wcz86IFRleHRJbnB1dE1hc2tQcm9wcyB8IHVuZGVmaW5lZDtcbn1cblxubGV0IG1hc2tJbnB1dDogVGV4dElucHV0TWFzayB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIEEgdGV4dCBpbnB1dCBzdXBwb3J0aW5nIG1hc2sgdGhyb3VnaCB7QHNlZSBJQ3Jvc3NFZGl0b3JQcm9wcy5tYXNrUHJvcHN9LlxuICogXG4gKiBXaGVuIHVzaW5nIG1hc2sgdGhlIHJhdyB2YWx1ZSB3aWxsIGJlIGV4cG9ydGVkIGluIHRoZSBgb25DaGFuZ2VUZXh0YCBldmVudCwgbm90IHRoZSBtYXNrZWQgdmFsdWUuXG4gKiBcbiAqIERlZmF1bHQge0BzZWUgSUNyb3NzRWRpdG9yUHJvcHMubW9kZSBtb2RlfSBpcyAnb3V0bGluZWQnLlxuICpcbiAqIFByb3BzIGFyZSB7QHNlZSBJQ3Jvc3NFZGl0b3JQcm9wc31cbiAqIFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gPENyb3NzRWRpdG9yXG4gIGxhYmVsPSdNb2JpbGUnXG4gIG1hc2tQcm9wcz17eyB0eXBlOiAnY2VsLXBob25lJyB9fSAvPlxuIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NFZGl0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUNyb3NzRWRpdG9yUHJvcHM+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IElDcm9zc0VkaXRvclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHBhcGVyUHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgbW9kZTogdGhpcy5wcm9wcy5tb2RlIHx8ICgnb3V0bGluZWQnIGFzICdmbGF0JyB8ICdvdXRsaW5lZCcpLFxuICAgIH0gYXMgVGV4dElucHV0UHJvcHM7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tYXNrUHJvcHMgJiYgdGhpcy5wcm9wcy5tYXNrUHJvcHMudHlwZSkge1xuICAgICAgY29uc3QgbWFza2VkUHJvcHMgPSB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICAgIC4uLnRoaXMucHJvcHMubWFza1Byb3BzLFxuICAgICAgfSBhcyBUZXh0SW5wdXRNYXNrUHJvcHM7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0SW5wdXRNYXNrXG4gICAgICAgICAgey4uLm1hc2tlZFByb3BzfVxuICAgICAgICAgIHJlZj17KGNvbXApID0+IChtYXNrSW5wdXQgPSBjb21wKX1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gYmFkIG1hcFxuICAgICAgICAgIGN1c3RvbVRleHRJbnB1dD17VGV4dElucHV0fVxuICAgICAgICAgIGN1c3RvbVRleHRJbnB1dFByb3BzPXtwYXBlclByb3BzfVxuICAgICAgICAgIG9uQ2hhbmdlVGV4dD17KCkgPT4ge1xuICAgICAgICAgICAgaWYoIW1hc2tJbnB1dCl7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIGJhZCBtYXBcbiAgICAgICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gbWFza0lucHV0LmdldFJhd1ZhbHVlKCk7XG5cbiAgICAgICAgICAgIGlmKHRoaXMucHJvcHMub25DaGFuZ2VUZXh0KXtcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZVRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhbWFza0lucHV0IHx8XG4gICAgICAgICAgICAgICF0aGlzLnByb3BzLm1hc2tQcm9wcyB8fFxuICAgICAgICAgICAgICAhdGhpcy5wcm9wcy5tYXNrUHJvcHMub25DaGFuZ2VUZXh0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnByb3BzLm1hc2tQcm9wcy5vbkNoYW5nZVRleHQocmF3VmFsdWUpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiA8VGV4dElucHV0IHsuLi5wYXBlclByb3BzfSBtb2RlPXtwYXBlclByb3BzLm1vZGV9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzRWRpdG9yO1xuIl0sInZlcnNpb24iOjN9