UNPKG

@livelike/react-native

Version:

LiveLike React Native package

64 lines 1.97 kB
import React from 'react'; import { StyleSheet, View } from 'react-native'; import { useStyles } from '../../hooks'; import { LLWidgetInteractiveTimer } from './LLWidgetInteractiveTimer'; import { LLWidgetHeaderDismissIcon } from './LLWidgetHeaderDismissIcon'; import { LLText } from '../LLText'; export function LLWidgetHeader(_ref) { let { title, onDismiss, dismissable, interactiveTimeout, onInteractiveTimeout, styles: stylesProp, WidgetInteractiveTimerComponent = LLWidgetInteractiveTimer, DismissIconComponent = LLWidgetHeaderDismissIcon, WidgetInteractiveTimerComponentStyles, DismissIconComponentStyles } = _ref; const headerStyles = useStyles({ componentStylesFn: getWidgetHeaderStyles, stylesProp }); return /*#__PURE__*/React.createElement(View, { style: headerStyles.headerContainer }, /*#__PURE__*/React.createElement(WidgetInteractiveTimerComponent, { interactiveTimeout: interactiveTimeout, onInteractiveTimeout: onInteractiveTimeout, styles: WidgetInteractiveTimerComponentStyles }), /*#__PURE__*/React.createElement(View, { style: headerStyles.headerSubContainer }, !!title && /*#__PURE__*/React.createElement(LLText, { style: [{ maxWidth: dismissable ? '90%' : '100%' }, headerStyles.title] }, title), dismissable && /*#__PURE__*/React.createElement(DismissIconComponent, { onDismiss: onDismiss, styles: DismissIconComponentStyles }))); } const getWidgetHeaderStyles = _ref2 => { let { theme } = _ref2; return StyleSheet.create({ headerContainer: { display: 'flex', paddingVertical: 12, paddingHorizontal: 16, position: 'relative' }, headerSubContainer: { display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, title: { fontSize: 14, color: theme.text } }); }; //# sourceMappingURL=LLWidgetHeader.js.map