zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
62 lines (54 loc) • 1.64 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _vue = require("vue");
var _utils = require("../shared/utils");
var _constants = require("../../common/constants");
function render(_ctx, _cache) {
return (0, _vue.openBlock)(), (0, _vue.createBlock)("p", {
class: _ctx.classes,
style: _ctx.styles
}, [(0, _vue.renderSlot)(_ctx.$slots, "default")], 6);
}
var _default = {
name: 'zmp-box',
render: render,
props: {
size: String,
bold: Boolean,
fontSize: [String, Number],
noSpace: Boolean
},
setup: function setup(props) {
var classes = (0, _vue.computed)(function () {
return (0, _utils.classNames)('typo-body', {
'typo-body-bold': props.bold,
'typo-body-xxxsmall': props.size === 'xxxsmall',
'typo-body-xxsmall': props.size === 'xxsmall',
'typo-body-xsmall': props.size === 'xsmall',
'typo-body-small': props.size === 'small',
'typo-body-normal': !props.size || props.size === 'normal',
'typo-body-large': props.size === 'large',
'typo-body-xlarge': props.size === 'xlarge',
'typo-body-no-spacing': props.noSpacing
});
});
var styles = (0, _vue.computed)(function () {
if (!props.size && props.fontSize) {
var lineHeight = _constants.FONT_SIZE_LINE_HEIGHT_MAP[props.fontSize];
if (lineHeight) {
return {
fontSize: props.fontSize + "px",
lineHeight: lineHeight + "px"
};
}
}
return {};
});
return {
classes: classes,
styles: styles
};
}
};
exports.default = _default;