tuya-panel-kit
Version:
a functional component library for developing tuya device panels!
147 lines (114 loc) • 6.66 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.StyledIconFont = exports.StyledImage = exports.StyledTopBarText = exports.StyledTopBarAction = exports.StyledTopBarSubTitle = exports.StyledTopBarTitle = exports.StyledTopBarContent = exports.StyledTopBar = exports.StyledTopBarContainer = exports.TOPBAR_ACTION_TEXT_WIDTH = exports.TOPBAR_ACTION_WIDTH = exports.TOPBAR_HEIGHT = exports.TOPBAR_MARGIN = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _jsxFileName = 'src/components/layout/topbar/styled.js';
var _templateObject = _taggedTemplateLiteral(['\n align-self: stretch;\n height: ', 'px;\n'], ['\n align-self: stretch;\n height: ', 'px;\n']),
_templateObject2 = _taggedTemplateLiteral(['\n flex-direction: row;\n align-self: stretch;\n align-items: center;\n justify-content: space-between;\n height: ', ';\n margin-top: ', ';\n'], ['\n flex-direction: row;\n align-self: stretch;\n align-items: center;\n justify-content: space-between;\n height: ', ';\n margin-top: ', ';\n']),
_templateObject3 = _taggedTemplateLiteral(['\n position: absolute;\n height: 100%;\n align-self: center;\n align-items: ', ';\n justify-content: center;\n'], ['\n position: absolute;\n height: 100%;\n align-self: center;\n align-items: ', ';\n justify-content: center;\n']),
_templateObject4 = _taggedTemplateLiteral(['\n font-weight: 500;\n color: ', ';\n'], ['\n font-weight: 500;\n color: ', ';\n']),
_templateObject5 = _taggedTemplateLiteral(['\n color: ', ';\n'], ['\n color: ', ';\n']),
_templateObject6 = _taggedTemplateLiteral(['\n width: ', 'px;\n height: 100%;\n position: absolute;\n align-items: center;\n justify-content: center;\n'], ['\n width: ', 'px;\n height: 100%;\n position: absolute;\n align-items: center;\n justify-content: center;\n']),
_templateObject7 = _taggedTemplateLiteral(['\n font-size: 16px;\n color: ', ';\n'], ['\n font-size: 16px;\n color: ', ';\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactNative = require('react-native');
var _native = require('styled-components/native');
var _native2 = _interopRequireDefault(_native);
var _TYText = require('../../TYText');
var _TYText2 = _interopRequireDefault(_TYText);
var _iconfont = require('../../iconfont');
var _iconfont2 = _interopRequireDefault(_iconfont);
var _theme = require('../../theme');
var _utils = require('../../../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var getTheme = _utils.ThemeUtils.getTheme,
ThemeConsumer = _utils.ThemeUtils.ThemeConsumer;
var isIos = _utils.RatioUtils.isIos,
isIphoneX = _utils.RatioUtils.isIphoneX,
statusBarHeight = _utils.RatioUtils.statusBarHeight;
var DEFAULT_THEME = _theme.defaultTheme.topbar.light;
var ALIGN_ITEMS_MAP = {
left: 'flex-start',
center: 'center',
right: 'flex-end'
};
var TOPBAR_MARGIN = exports.TOPBAR_MARGIN = 6;
var TOPBAR_HEIGHT = exports.TOPBAR_HEIGHT = isIos ? isIphoneX ? 88 : 64 : 56;
var TOPBAR_ACTION_WIDTH = exports.TOPBAR_ACTION_WIDTH = 17;
var TOPBAR_ACTION_TEXT_WIDTH = exports.TOPBAR_ACTION_TEXT_WIDTH = 78;
var StyledTopBarContainer = exports.StyledTopBarContainer = (0, _native2.default)(_reactNative.View)(_templateObject, TOPBAR_HEIGHT);
var StyledTopBar = exports.StyledTopBar = (0, _native2.default)(_reactNative.View)(_templateObject2, isIos ? TOPBAR_HEIGHT - statusBarHeight : TOPBAR_HEIGHT, isIos ? statusBarHeight : 0);
var StyledTopBarContent = exports.StyledTopBarContent = (0, _native2.default)(_reactNative.View)(_templateObject3, function (props) {
return ALIGN_ITEMS_MAP[props.align] || 'center';
});
var StyledTopBarTitle = exports.StyledTopBarTitle = (0, _native2.default)(_TYText2.default).attrs({
type: 'title',
size: 17
})(_templateObject4, function (props) {
return props.color || getTheme(props, 'topbar.color', DEFAULT_THEME.color);
});
var StyledTopBarSubTitle = exports.StyledTopBarSubTitle = (0, _native2.default)(_TYText2.default).attrs({
type: 'paragraph',
size: 'normal'
})(_templateObject5, function (props) {
return props.color || getTheme(props, 'topbar.color', DEFAULT_THEME.color);
});
var StyledTopBarAction = exports.StyledTopBarAction = (0, _native2.default)(_reactNative.TouchableOpacity)(_templateObject6, TOPBAR_ACTION_WIDTH);
var StyledTopBarText = exports.StyledTopBarText = (0, _native2.default)(_TYText2.default)(_templateObject7, function (props) {
return props.color || getTheme(props, 'topbar.color', DEFAULT_THEME.color);
});
var StyledImage = function StyledImage(props) {
var style = props.style,
rest = _objectWithoutProperties(props, ['style']);
return _react2.default.createElement(
ThemeConsumer,
{
__source: {
fileName: _jsxFileName,
lineNumber: 78
}
},
function (theme) {
var propsWithTheme = _extends({}, props, { theme: theme });
var imageStyle = [{
tintColor: props.color || getTheme(propsWithTheme, 'topbar.color', DEFAULT_THEME.color)
}, style];
return _react2.default.createElement(_reactNative.Image, _extends({ style: imageStyle }, rest, {
__source: {
fileName: _jsxFileName,
lineNumber: 87
}
}));
}
);
};
exports.StyledImage = StyledImage;
var StyledIconFont = function StyledIconFont(props) {
var color = props.color,
rest = _objectWithoutProperties(props, ['color']);
return _react2.default.createElement(
ThemeConsumer,
{
__source: {
fileName: _jsxFileName,
lineNumber: 96
}
},
function (theme) {
var propsWithTheme = _extends({}, props, { theme: theme });
return _react2.default.createElement(_iconfont2.default, _extends({
color: color || getTheme(propsWithTheme, 'topbar.color', DEFAULT_THEME.color)
}, rest, {
__source: {
fileName: _jsxFileName,
lineNumber: 100
}
}));
}
);
};
exports.StyledIconFont = StyledIconFont;