@livelike/react-native
Version:
LiveLike React Native package
64 lines • 1.97 kB
JavaScript
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