@livelike/react-native
Version:
LiveLike React Native package
62 lines (61 loc) • 1.72 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LLComposerSendButton = LLComposerSendButton;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _hooks = require("../../hooks");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function LLComposerSendButton(_ref) {
let {
onPress,
disabled,
styles: stylesProp,
isSendingMessage
} = _ref;
const {
themeAssets
} = (0, _hooks.useTheme)();
const composerButtonStyles = (0, _hooks.useStyles)({
componentStylesFn: getComposerButtonStyles({
disabled
}),
stylesProp
});
return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
onPress: onPress,
accessibilityLabel: "Send Message",
disabled: disabled,
style: composerButtonStyles.buttonContainer
}, isSendingMessage ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
size: "small",
color: "white"
}) : /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
style: composerButtonStyles.icon,
source: themeAssets.send
}));
}
const getComposerButtonStyles = props => _ref2 => {
let {
theme
} = _ref2;
return _reactNative.StyleSheet.create({
buttonContainer: {
height: 45,
width: 45,
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
borderRadius: 10,
marginLeft: 5,
backgroundColor: theme.primaryButtonBackground,
opacity: props.disabled ? 0.5 : 1
},
icon: {
height: 18,
width: 18
}
});
};
//# sourceMappingURL=LLComposerSendButton.js.map