UNPKG

choo-taro-ui-vue3

Version:

Taro UI Rewritten in Vue 3.0

85 lines (77 loc) 2.7 kB
import { defineComponent, computed, toRef, toDisplayString, createTextVNode, resolveComponent, withCtx, openBlock, createBlock, renderSlot, normalizeStyle, createVNode, mergeProps } from 'vue'; import { pxTransform } from '../utils'; const AtDivider = defineComponent({ name: "AtDivider", props: { content: String, height: { type: [Number, String], default: 0 }, fontColor: { type: String, default: "" }, fontSize: { type: [Number, String], default: 0 }, lineColor: { type: String, default: "" } }, setup(props) { const rootStyle = computed(() => ({ height: props.height ? `${pxTransform(Number(props.height))}` : "" })); const fontStyle = computed(() => ({ color: props.fontColor, fontSize: props.fontSize ? `${pxTransform(Number(props.fontSize))}` : "" })); const lineStyle = computed(() => ({ backgroundColor: props.lineColor })); return { content: toRef(props, "content"), rootStyle, fontStyle, lineStyle }; } }); // Binding optimization for webpack code-split const _toDisplayString = toDisplayString, _createTextVNode = createTextVNode, _resolveComponent = resolveComponent, _withCtx = withCtx, _openBlock = openBlock, _createBlock = createBlock, _renderSlot = renderSlot, _normalizeStyle = normalizeStyle, _createVNode = createVNode, _mergeProps = mergeProps; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_taro_view = process.env.TARO_ENV === "h5" ? _resolveComponent("taro-view") : "view"; return (_openBlock(), _createBlock(_component_taro_view, _mergeProps(_ctx.$attrs, { class: "at-divider", style: _ctx.rootStyle }), { default: _withCtx(() => [ _createVNode(_component_taro_view, { class: "at-divider__content", style: _normalizeStyle(_ctx.fontStyle) }, { default: _withCtx(() => [ (_ctx.content) ? (_openBlock(), _createBlock(_component_taro_view, { key: 0 }, { default: _withCtx(() => [ _createTextVNode(_toDisplayString(_ctx.content), 1 /* TEXT */) ]), _: 1 /* STABLE */ })) : _renderSlot(_ctx.$slots, "default", { key: 1 }) ]), _: 3 /* FORWARDED */ }, 8 /* PROPS */, ["style"]), _createVNode(_component_taro_view, { class: "at-divider__line", style: _normalizeStyle(_ctx.lineStyle) }, null, 8 /* PROPS */, ["style"]) ]), _: 3 /* FORWARDED */ }, 16 /* FULL_PROPS */, ["style"])) } AtDivider.render = _sfc_render; export default AtDivider;