UNPKG

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
"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