react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
65 lines • 9.83 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' });
// console.log('** CrossEditor paper props = ', paperProps);
if (this.props.maskProps && this.props.maskProps.type) {
const maskedProps = Object.assign({}, this.props, this.props.maskProps);
// console.log('** CrossEditor masked props = ', maskedProps);
// console.log('*** CrossEditor: render TextInputMask');
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: () => {
//console.log('**** CrossEditor: onChangeText');
if (!maskInput || !maskInput.getRawValue) {
//console.log('TextInputMask missing getRawValue', maskInput);
return;
}
// @ts-ignore - bad map
const rawValue = maskInput.getRawValue();
//console.log('CrossEditor rawValue = ', rawValue || 'nothing');
if (paperProps.onChangeText) {
paperProps.onChangeText(rawValue);
return;
}
if (maskedProps && maskedProps.onChangeText) {
maskedProps.onChangeText(rawValue);
}
// console.log('***** CrossEditor: no listener *****');
} })));
}
// console.log('** CrossEditor: render paper TextInput **');
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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJEQUErRDtBQUMvRCx1RUFBNkU7QUF3QzdFLElBQUksU0FBUyxHQUFlLElBQUksQ0FBQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQWEsV0FBWSxTQUFRLGVBQUssQ0FBQyxTQUE0QjtJQUNqRSxZQUFZLEtBQXdCO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxVQUFVLEdBQUcsa0JBQ2QsSUFBSSxDQUFDLEtBQUssSUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUssVUFBa0MsR0FDM0MsQ0FBQztRQUNwQiw0REFBNEQ7UUFFNUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDckQsTUFBTSxXQUFXLEdBQUcsa0JBQ2YsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDRixDQUFDO1lBQ3hCLDhEQUE4RDtZQUU5RCx3REFBd0Q7WUFFeEQsT0FBTyxDQUNMLDhCQUFDLHdDQUFhLG9CQUNSLFdBQVcsSUFDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakMsdUJBQXVCO2dCQUN2QixlQUFlLEVBQUUsOEJBQVMsRUFDMUIsb0JBQW9CLEVBQUUsVUFBVSxFQUNoQyxZQUFZLEVBQUUsR0FBRyxFQUFFO29CQUNqQixnREFBZ0Q7b0JBQ2hELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO3dCQUN4Qyw4REFBOEQ7d0JBQzlELE9BQU87cUJBQ1I7b0JBRUQsdUJBQXVCO29CQUN2QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pDLGdFQUFnRTtvQkFFaEUsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO3dCQUMzQixVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNsQyxPQUFPO3FCQUNSO29CQUVELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUU7d0JBQzNDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3BDO29CQUVELHVEQUF1RDtnQkFDekQsQ0FBQyxJQUNELENBQ0gsQ0FBQztTQUNIO1FBRUQsNERBQTREO1FBQzVELE9BQU8sOEJBQUMsOEJBQVMsb0JBQUssVUFBVSxJQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDOUQsQ0FBQztDQUNGO0FBekRELGtDQXlEQztBQUVELGtCQUFlLFdBQVcsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRleHRJbnB1dCwgVGV4dElucHV0UHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFzaywgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUge0BsaW5rIENyb3NzRWRpdG9yfSBjb21wb25lbnQuIFN1cHBvcnRzIG1hc2tpbmcgdGhyb3VnaCB7QGxpbmsgbWFza1Byb3BzfS4gVGhpcyBhbGxvd3MgZ2V0dGluZyB0aGUgbWFza2VkIHZhbHVlLlxuICpcbiAqIFRoZSBgb25DaGFuZ2VUZXh0YCBldmVudCB3aWxsIGlzbnRlYWQgZXhwb3J0IHRoZSByYXcgdmFsdWUuXG4gKlxuICogSW5oZXJpdHMgcmVhY3QtbmF0aXZlLXBhcGVyIHtAbGluayBodHRwczovL2NhbGxzdGFjay5naXRodWIuaW8vcmVhY3QtbmF0aXZlLXBhcGVyL3RleHQtaW5wdXQuaHRtbCBUZXh0SW5wdXRQcm9wc31cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3Jvc3NFZGl0b3JQcm9wcyBleHRlbmRzIFRleHRJbnB1dFByb3BzIHtcbiAgLyoqXG4gICAqIFRleHQgZm9yIGZsb2F0aW5nIGxhYmVsXG4gICAqIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC1pbnB1dC5odG1sXG4gICAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogYFRydWVgIHRvIHVzZSBlcnJvciBzdHlsaW5nXG4gICAqIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC1pbnB1dC5odG1sXG4gICAqL1xuICBlcnJvcj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBWaXN1YWwgYXBwZWFyZW5jZS4gRGVmYXVsdCB2YWx1ZSBpcyAnb3V0bGluZWQnXG4gICAqXG4gICAqIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC1pbnB1dC5odG1sXG4gICAqL1xuICBtb2RlPzogJ2ZsYXQnIHwgJ291dGxpbmVkJyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEFsbG93cyBtYXNraW5nIHRoZSBpbnB1dC5cbiAgICogXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5odXJvdHQvcmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0XG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgIDxDcm9zc0VkaXRvclxuICAgIGxhYmVsPSdNb2JpbGUnXG4gICAgbWFza1Byb3BzPXt7IHR5cGU6ICdjZWwtcGhvbmUnIH19IC8+YGBgXG4gICAqL1xuICBtYXNrUHJvcHM/OiBUZXh0SW5wdXRNYXNrUHJvcHMgfCB1bmRlZmluZWQ7XG59XG5cbmxldCBtYXNrSW5wdXQ6IGFueSB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIEEgdGV4dCBpbnB1dCBzdXBwb3J0aW5nIG1hc2sgdGhyb3VnaCB7QHNlZSBJQ3Jvc3NFZGl0b3JQcm9wcy5tYXNrUHJvcHN9LlxuICogXG4gKiBXaGVuIHVzaW5nIG1hc2sgdGhlIHJhdyB2YWx1ZSB3aWxsIGJlIGV4cG9ydGVkIGluIHRoZSBgb25DaGFuZ2VUZXh0YCBldmVudCwgbm90IHRoZSBtYXNrZWQgdmFsdWUuXG4gKiBcbiAqIERlZmF1bHQge0BzZWUgSUNyb3NzRWRpdG9yUHJvcHMubW9kZSBtb2RlfSBpcyAnb3V0bGluZWQnLlxuICpcbiAqIFByb3BzIGFyZSB7QHNlZSBJQ3Jvc3NFZGl0b3JQcm9wc31cbiAqIFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gPENyb3NzRWRpdG9yXG4gIGxhYmVsPSdNb2JpbGUnXG4gIG1hc2tQcm9wcz17eyB0eXBlOiAnY2VsLXBob25lJyB9fSAvPlxuIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NFZGl0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUNyb3NzRWRpdG9yUHJvcHM+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IElDcm9zc0VkaXRvclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHBhcGVyUHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgbW9kZTogdGhpcy5wcm9wcy5tb2RlIHx8ICgnb3V0bGluZWQnIGFzICdmbGF0JyB8ICdvdXRsaW5lZCcpLFxuICAgIH0gYXMgVGV4dElucHV0UHJvcHM7XG4gICAgLy8gY29uc29sZS5sb2coJyoqIENyb3NzRWRpdG9yIHBhcGVyIHByb3BzID0gJywgcGFwZXJQcm9wcyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tYXNrUHJvcHMgJiYgdGhpcy5wcm9wcy5tYXNrUHJvcHMudHlwZSkge1xuICAgICAgY29uc3QgbWFza2VkUHJvcHMgPSB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICAgIC4uLnRoaXMucHJvcHMubWFza1Byb3BzLFxuICAgICAgfSBhcyBUZXh0SW5wdXRNYXNrUHJvcHM7XG4gICAgICAvLyBjb25zb2xlLmxvZygnKiogQ3Jvc3NFZGl0b3IgbWFza2VkIHByb3BzID0gJywgbWFza2VkUHJvcHMpO1xuXG4gICAgICAvLyBjb25zb2xlLmxvZygnKioqIENyb3NzRWRpdG9yOiByZW5kZXIgVGV4dElucHV0TWFzaycpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dElucHV0TWFza1xuICAgICAgICAgIHsuLi5tYXNrZWRQcm9wc31cbiAgICAgICAgICByZWY9eyhjb21wKSA9PiAobWFza0lucHV0ID0gY29tcCl9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIGJhZCBtYXBcbiAgICAgICAgICBjdXN0b21UZXh0SW5wdXQ9e1RleHRJbnB1dH1cbiAgICAgICAgICBjdXN0b21UZXh0SW5wdXRQcm9wcz17cGFwZXJQcm9wc31cbiAgICAgICAgICBvbkNoYW5nZVRleHQ9eygpID0+IHtcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coJyoqKiogQ3Jvc3NFZGl0b3I6IG9uQ2hhbmdlVGV4dCcpO1xuICAgICAgICAgICAgaWYgKCFtYXNrSW5wdXQgfHwgIW1hc2tJbnB1dC5nZXRSYXdWYWx1ZSkge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKCdUZXh0SW5wdXRNYXNrIG1pc3NpbmcgZ2V0UmF3VmFsdWUnLCBtYXNrSW5wdXQpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBiYWQgbWFwXG4gICAgICAgICAgICBjb25zdCByYXdWYWx1ZSA9IG1hc2tJbnB1dC5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICAgICAgLy9jb25zb2xlLmxvZygnQ3Jvc3NFZGl0b3IgcmF3VmFsdWUgPSAnLCByYXdWYWx1ZSB8fCAnbm90aGluZycpO1xuXG4gICAgICAgICAgICBpZiAocGFwZXJQcm9wcy5vbkNoYW5nZVRleHQpIHtcbiAgICAgICAgICAgICAgcGFwZXJQcm9wcy5vbkNoYW5nZVRleHQocmF3VmFsdWUpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChtYXNrZWRQcm9wcyAmJiBtYXNrZWRQcm9wcy5vbkNoYW5nZVRleHQpIHtcbiAgICAgICAgICAgICAgbWFza2VkUHJvcHMub25DaGFuZ2VUZXh0KHJhd1ZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJyoqKioqIENyb3NzRWRpdG9yOiBubyBsaXN0ZW5lciAqKioqKicpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGNvbnNvbGUubG9nKCcqKiBDcm9zc0VkaXRvcjogcmVuZGVyIHBhcGVyIFRleHRJbnB1dCAqKicpO1xuICAgIHJldHVybiA8VGV4dElucHV0IHsuLi5wYXBlclByb3BzfSBtb2RlPXtwYXBlclByb3BzLm1vZGV9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzRWRpdG9yO1xuIl0sInZlcnNpb24iOjN9