stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
47 lines • 2.35 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MessageComposerLeadingView = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
var _InputButtons = require("./components/InputButtons");
var _audioRecorderSelectors = require("./utils/audioRecorderSelectors");
var _MessageInputContext = require("../../contexts/messageInputContext/MessageInputContext");
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
var _useStateStore2 = require("../../hooks/useStateStore");
var _transitions = require("../../utils/animations/transitions");
var _jsxRuntime = require("react/jsx-runtime");
var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageInput/MessageComposerLeadingView.tsx";
var MessageComposerLeadingView = () => {
var _useTheme = (0, _ThemeContext.useTheme)(),
inputButtonsContainer = _useTheme.theme.messageComposer.inputButtonsContainer;
var _useMessageInputConte = (0, _MessageInputContext.useMessageInputContext)(),
audioRecorderManager = _useMessageInputConte.audioRecorderManager,
messageInputFloating = _useMessageInputConte.messageInputFloating;
var _useStateStore = (0, _useStateStore2.useStateStore)(audioRecorderManager.state, _audioRecorderSelectors.idleRecordingStateSelector),
isRecordingStateIdle = _useStateStore.isRecordingStateIdle;
return isRecordingStateIdle ? (0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
layout: _transitions.transitions.layout200,
style: [styles.inputButtonsContainer, messageInputFloating ? styles.shadow : null, inputButtonsContainer],
children: (0, _jsxRuntime.jsx)(_InputButtons.InputButtons, {})
}) : null;
};
exports.MessageComposerLeadingView = MessageComposerLeadingView;
var styles = _reactNative.StyleSheet.create({
inputButtonsContainer: {
alignSelf: 'flex-end'
},
shadow: {
elevation: 6,
shadowColor: 'hsla(0, 0%, 0%, 0.24)',
shadowOffset: {
height: 4,
width: 0
},
shadowOpacity: 0.24,
shadowRadius: 12
}
});
//# sourceMappingURL=MessageComposerLeadingView.js.map