maisonsport-common-ui
Version:
Suite of styled-components to be consumed by the React-Native App and by the Web (via React-Native for Web)
82 lines (70 loc) • 2.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.messageSendBusyIconTestID = exports.messageSendButtonIconID = exports.messageSendButtonTestID = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _native = require("styled-components/native");
var _theme = _interopRequireDefault(require("../../theme"));
var _Touchable = _interopRequireDefault(require("../../atoms/Touchable"));
var _ActivityIndicator = _interopRequireDefault(require("../../atoms/ActivityIndicator"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const messageSendButtonTestID = 'message-button';
exports.messageSendButtonTestID = messageSendButtonTestID;
const messageSendButtonIconID = 'message-button-icon';
exports.messageSendButtonIconID = messageSendButtonIconID;
const messageSendBusyIconTestID = 'message-button-busy-icon';
exports.messageSendBusyIconTestID = messageSendBusyIconTestID;
function MessageSendButton({
busy,
disabled,
width,
height,
onPress
}) {
return /*#__PURE__*/_react.default.createElement(_native.ThemeProvider, {
theme: _theme.default
}, /*#__PURE__*/_react.default.createElement(_Touchable.default, {
testID: messageSendButtonTestID,
noWrapTheme: true,
width: width,
height: height,
borderRadius: width || height,
alignItems: "center",
justifyContent: "center",
backgroundColor: disabled || busy ? _theme.default.colors.darkGrey : _theme.default.colors.primary,
marginRight: 3,
onPress: onPress,
disabled: disabled || busy
}, busy ? /*#__PURE__*/_react.default.createElement(_ActivityIndicator.default, {
testID: messageSendBusyIconTestID,
noWrapTheme: true,
variant: "secondary"
}) : /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
testID: messageSendButtonIconID,
source: require('../../assets/images/send.png'),
style: {
width: 15,
height: 15,
tintColor: _theme.default.colors.white
}
})));
}
MessageSendButton.defaultProps = {
busy: false,
disabled: false,
width: 30,
height: 30
};
MessageSendButton.propTypes = {
busy: _propTypes.default.bool,
disabled: _propTypes.default.bool,
width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
height: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
onPress: _propTypes.default.func.isRequired
};
var _default = MessageSendButton;
exports.default = _default;
//# sourceMappingURL=index.js.map