@livelike/react-native
Version:
LiveLike React Native package
71 lines (70 loc) • 2.35 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LLWidgetHeader = LLWidgetHeader;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _hooks = require("../../hooks");
var _LLWidgetInteractiveTimer = require("./LLWidgetInteractiveTimer");
var _LLWidgetHeaderDismissIcon = require("./LLWidgetHeaderDismissIcon");
var _LLText = require("../LLText");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function LLWidgetHeader(_ref) {
let {
title,
onDismiss,
dismissable,
interactiveTimeout,
onInteractiveTimeout,
styles: stylesProp,
WidgetInteractiveTimerComponent = _LLWidgetInteractiveTimer.LLWidgetInteractiveTimer,
DismissIconComponent = _LLWidgetHeaderDismissIcon.LLWidgetHeaderDismissIcon,
WidgetInteractiveTimerComponentStyles,
DismissIconComponentStyles
} = _ref;
const headerStyles = (0, _hooks.useStyles)({
componentStylesFn: getWidgetHeaderStyles,
stylesProp
});
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: headerStyles.headerContainer
}, /*#__PURE__*/_react.default.createElement(WidgetInteractiveTimerComponent, {
interactiveTimeout: interactiveTimeout,
onInteractiveTimeout: onInteractiveTimeout,
styles: WidgetInteractiveTimerComponentStyles
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: headerStyles.headerSubContainer
}, !!title && /*#__PURE__*/_react.default.createElement(_LLText.LLText, {
style: [{
maxWidth: dismissable ? '90%' : '100%'
}, headerStyles.title]
}, title), dismissable && /*#__PURE__*/_react.default.createElement(DismissIconComponent, {
onDismiss: onDismiss,
styles: DismissIconComponentStyles
})));
}
const getWidgetHeaderStyles = _ref2 => {
let {
theme
} = _ref2;
return _reactNative.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