UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

74 lines 3.71 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ReactionListItemWrapper = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _reactNative = require("react-native"); var _ThemeContext = require("../../../../contexts/themeContext/ThemeContext"); var _theme = require("../../../../theme"); var _jsxRuntime = require("react/jsx-runtime"); var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageItemView/ReactionList/ReactionListItemWrapper.tsx"; var _excluded = ["children", "selected", "style"]; function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var ReactionListItemWrapper = props => { var children = props.children, _props$selected = props.selected, selected = _props$selected === void 0 ? false : _props$selected, style = props.style, rest = (0, _objectWithoutProperties2.default)(props, _excluded); var styles = useStyles(); var _useTheme = (0, _ThemeContext.useTheme)(), semantics = _useTheme.theme.semantics; return (0, _jsxRuntime.jsx)(_reactNative.View, { style: styles.wrapper, children: (0, _jsxRuntime.jsx)(_reactNative.Pressable, { style: ({ pressed }) => [styles.container, { backgroundColor: selected ? semantics.backgroundUtilitySelected : pressed ? semantics.backgroundUtilityPressed : semantics.reactionBg }, selected && styles.containerSelected, pressed && styles.containerPressed, style], ...rest, children: children }) }); }; exports.ReactionListItemWrapper = ReactionListItemWrapper; var useStyles = () => { var _useTheme2 = (0, _ThemeContext.useTheme)(), _useTheme2$theme = _useTheme2.theme, semantics = _useTheme2$theme.semantics, _useTheme2$theme$mess = _useTheme2$theme.messageItemView.reactionListItemWrapper, wrapper = _useTheme2$theme$mess.wrapper, container = _useTheme2$theme$mess.container, containerSelected = _useTheme2$theme$mess.containerSelected, containerPressed = _useTheme2$theme$mess.containerPressed; return (0, _react.useMemo)(() => { return _reactNative.StyleSheet.create({ container: { alignItems: 'center', flexDirection: 'row', borderWidth: 1, borderRadius: _theme.primitives.radiusMax, borderColor: semantics.reactionBorder, paddingVertical: _theme.primitives.spacingXxs, paddingHorizontal: _theme.primitives.spacingXs, gap: _theme.primitives.spacingXxs, ...container }, containerPressed: { ...containerPressed }, containerSelected: { ...containerSelected }, wrapper: { backgroundColor: semantics.reactionBg, borderRadius: _theme.primitives.radiusMax, ...wrapper } }); }, [semantics, wrapper, container, containerSelected, containerPressed]); }; //# sourceMappingURL=ReactionListItemWrapper.js.map