react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
64 lines • 9.87 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 (maskedProps && maskedProps.onChangeText) {
maskedProps.onChangeText(rawValue);
return;
}
if (paperProps.onChangeText) {
paperProps.onChangeText(rawValue);
return;
}
// 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJEQUErRDtBQUMvRCx1RUFBNkU7QUF1QzdFLElBQUksU0FBUyxHQUFlLElBQUksQ0FBQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsV0FBWSxTQUFRLGVBQUssQ0FBQyxTQUE0QjtJQUNqRSxZQUFZLEtBQXdCO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxVQUFVLEdBQUcsa0JBQ2QsSUFBSSxDQUFDLEtBQUssSUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUssVUFBa0MsR0FDM0MsQ0FBQztRQUNwQiw0REFBNEQ7UUFFNUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDckQsTUFBTSxXQUFXLEdBQUcsa0JBQ2YsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDRixDQUFDO1lBQ3hCLDhEQUE4RDtZQUU5RCx3REFBd0Q7WUFFeEQsT0FBTyxDQUNMLDhCQUFDLHdDQUFhLG9CQUNSLFdBQVcsSUFDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakMsdUJBQXVCO2dCQUN2QixlQUFlLEVBQUUsOEJBQVMsRUFDMUIsb0JBQW9CLEVBQUUsVUFBVSxFQUNoQyxZQUFZLEVBQUUsR0FBRyxFQUFFO29CQUNqQixpREFBaUQ7b0JBQ2pELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO3dCQUN4QywrREFBK0Q7d0JBQy9ELE9BQU87cUJBQ1I7b0JBRUQsdUJBQXVCO29CQUN2QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pDLGlFQUFpRTtvQkFFakUsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRTt3QkFDM0MsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDbkMsT0FBTztxQkFDUjtvQkFFRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUU7d0JBQzNCLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ2xDLE9BQU87cUJBQ1I7b0JBRUQsdURBQXVEO2dCQUN6RCxDQUFDLElBQ0QsQ0FDSCxDQUFDO1NBQ0g7UUFFRCw0REFBNEQ7UUFDNUQsT0FBTyw4QkFBQyw4QkFBUyxvQkFBSyxVQUFVLElBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUExREQsa0NBMERDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2lucHV0L0Nyb3NzRWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGV4dElucHV0LCBUZXh0SW5wdXRQcm9wcyB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5pbXBvcnQgeyBUZXh0SW5wdXRNYXNrLCBUZXh0SW5wdXRNYXNrUHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUtbWFza2VkLXRleHQnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSB7QGxpbmsgQ3Jvc3NFZGl0b3J9IGNvbXBvbmVudC4gU3VwcG9ydHMgbWFza2luZyB0aHJvdWdoIHtAbGluayBtYXNrUHJvcHN9LiBUaGlzIGFsbG93cyBnZXR0aW5nIHRoZSBtYXNrZWQgdmFsdWUuXG4gKlxuICogVGhlIGBvbkNoYW5nZVRleHRgIGV2ZW50IHdpbGwgaXNudGVhZCBleHBvcnQgdGhlIHJhdyB2YWx1ZS5cbiAqXG4gKiBJbmhlcml0cyByZWFjdC1uYXRpdmUtcGFwZXIge0BsaW5rIGh0dHBzOi8vY2FsbHN0YWNrLmdpdGh1Yi5pby9yZWFjdC1uYXRpdmUtcGFwZXIvdGV4dC1pbnB1dC5odG1sIFRleHRJbnB1dFByb3BzfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcm9zc0VkaXRvclByb3BzIGV4dGVuZHMgVGV4dElucHV0UHJvcHMge1xuICAvKipcbiAgICogVGV4dCBmb3IgZmxvYXRpbmcgbGFiZWxcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBgVHJ1ZWAgdG8gdXNlIGVycm9yIHN0eWxpbmdcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIGVycm9yPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFZpc3VhbCBhcHBlYXJlbmNlLiBEZWZhdWx0IHZhbHVlIGlzICdvdXRsaW5lZCdcbiAgICpcbiAgICogaHR0cHM6Ly9jYWxsc3RhY2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS1wYXBlci90ZXh0LWlucHV0Lmh0bWxcbiAgICovXG4gIG1vZGU/OiAnZmxhdCcgfCAnb3V0bGluZWQnIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQWxsb3dzIG1hc2tpbmcgdGhlIGlucHV0LlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYmVuaHVyb3R0L3JlYWN0LW5hdGl2ZS1tYXNrZWQtdGV4dFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8Q3Jvc3NFZGl0b3JcbiAgICogICBsYWJlbD0nTW9iaWxlJ1xuICAgKiAgIG1hc2tQcm9wcz17eyB0eXBlOiAnY2VsLXBob25lJyB9fSAvPlxuICAgKi9cbiAgbWFza1Byb3BzPzogVGV4dElucHV0TWFza1Byb3BzIHwgdW5kZWZpbmVkO1xufVxuXG5sZXQgbWFza0lucHV0OiBhbnkgfCBudWxsID0gbnVsbDtcblxuLyoqXG4gKiBBIHRleHQgaW5wdXQgc3VwcG9ydGluZyBtYXNrIHRocm91Z2gge0BzZWUgSUNyb3NzRWRpdG9yUHJvcHMubWFza1Byb3BzfS5cbiAqXG4gKiBXaGVuIHVzaW5nIG1hc2sgdGhlIHJhdyB2YWx1ZSB3aWxsIGJlIGV4cG9ydGVkIGluIHRoZSBgb25DaGFuZ2VUZXh0YCBldmVudCwgbm90IHRoZSBtYXNrZWQgdmFsdWUuXG4gKlxuICogRGVmYXVsdCB7QHNlZSBJQ3Jvc3NFZGl0b3JQcm9wcy5tb2RlIG1vZGV9IGlzICdvdXRsaW5lZCcuXG4gKlxuICogUHJvcHMgYXJlIHtAc2VlIElDcm9zc0VkaXRvclByb3BzfVxuICpcbiAqXG4gKiBAZXhhbXBsZVxuICogPENyb3NzRWRpdG9yXG4gKiAgIGxhYmVsPSdNb2JpbGUnXG4gKiAgIG1hc2tQcm9wcz17eyB0eXBlOiAnY2VsLXBob25lJyB9fSAvPlxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NFZGl0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUNyb3NzRWRpdG9yUHJvcHM+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IElDcm9zc0VkaXRvclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHBhcGVyUHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgbW9kZTogdGhpcy5wcm9wcy5tb2RlIHx8ICgnb3V0bGluZWQnIGFzICdmbGF0JyB8ICdvdXRsaW5lZCcpLFxuICAgIH0gYXMgVGV4dElucHV0UHJvcHM7XG4gICAgLy8gY29uc29sZS5sb2coJyoqIENyb3NzRWRpdG9yIHBhcGVyIHByb3BzID0gJywgcGFwZXJQcm9wcyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tYXNrUHJvcHMgJiYgdGhpcy5wcm9wcy5tYXNrUHJvcHMudHlwZSkge1xuICAgICAgY29uc3QgbWFza2VkUHJvcHMgPSB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICAgIC4uLnRoaXMucHJvcHMubWFza1Byb3BzLFxuICAgICAgfSBhcyBUZXh0SW5wdXRNYXNrUHJvcHM7XG4gICAgICAvLyBjb25zb2xlLmxvZygnKiogQ3Jvc3NFZGl0b3IgbWFza2VkIHByb3BzID0gJywgbWFza2VkUHJvcHMpO1xuXG4gICAgICAvLyBjb25zb2xlLmxvZygnKioqIENyb3NzRWRpdG9yOiByZW5kZXIgVGV4dElucHV0TWFzaycpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dElucHV0TWFza1xuICAgICAgICAgIHsuLi5tYXNrZWRQcm9wc31cbiAgICAgICAgICByZWY9eyhjb21wKSA9PiAobWFza0lucHV0ID0gY29tcCl9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIGJhZCBtYXBcbiAgICAgICAgICBjdXN0b21UZXh0SW5wdXQ9e1RleHRJbnB1dH1cbiAgICAgICAgICBjdXN0b21UZXh0SW5wdXRQcm9wcz17cGFwZXJQcm9wc31cbiAgICAgICAgICBvbkNoYW5nZVRleHQ9eygpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCcqKioqIENyb3NzRWRpdG9yOiBvbkNoYW5nZVRleHQnKTtcbiAgICAgICAgICAgIGlmICghbWFza0lucHV0IHx8ICFtYXNrSW5wdXQuZ2V0UmF3VmFsdWUpIHtcbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ1RleHRJbnB1dE1hc2sgbWlzc2luZyBnZXRSYXdWYWx1ZScsIG1hc2tJbnB1dCk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIGJhZCBtYXBcbiAgICAgICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gbWFza0lucHV0LmdldFJhd1ZhbHVlKCk7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnQ3Jvc3NFZGl0b3IgcmF3VmFsdWUgPSAnLCByYXdWYWx1ZSB8fCAnbm90aGluZycpO1xuXG4gICAgICAgICAgICBpZiAobWFza2VkUHJvcHMgJiYgbWFza2VkUHJvcHMub25DaGFuZ2VUZXh0KSB7XG4gICAgICAgICAgICAgIG1hc2tlZFByb3BzLm9uQ2hhbmdlVGV4dChyYXdWYWx1ZSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcGVyUHJvcHMub25DaGFuZ2VUZXh0KSB7XG4gICAgICAgICAgICAgIHBhcGVyUHJvcHMub25DaGFuZ2VUZXh0KHJhd1ZhbHVlKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnKioqKiogQ3Jvc3NFZGl0b3I6IG5vIGxpc3RlbmVyICoqKioqJyk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gY29uc29sZS5sb2coJyoqIENyb3NzRWRpdG9yOiByZW5kZXIgcGFwZXIgVGV4dElucHV0ICoqJyk7XG4gICAgcmV0dXJuIDxUZXh0SW5wdXQgey4uLnBhcGVyUHJvcHN9IG1vZGU9e3BhcGVyUHJvcHMubW9kZX0gLz47XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NFZGl0b3I7XG4iXSwidmVyc2lvbiI6M30=