UNPKG

framework7-vue

Version:

Build full featured iOS & Android apps using Framework7 & Vue

58 lines 1.89 kB
import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createElementBlock as _createElementBlock } from "vue"; function render(_ctx, _cache) { const _component_f7_link = _resolveComponent("f7-link"); return _openBlock(), _createElementBlock("div", { class: _normalizeClass(_ctx.classes) }, [_ctx.backLink ? (_openBlock(), _createBlock(_component_f7_link, { key: 0, href: _ctx.backLinkUrl || '#', back: "", icon: "icon-back", force: _ctx.backLinkForce || undefined, class: _normalizeClass(!_ctx.text ? 'icon-only' : undefined), text: _ctx.text, onClick: _ctx.onBackClick }, null, 8, ["href", "force", "class", "text", "onClick"])) : _createCommentVNode("", true), _renderSlot(_ctx.$slots, "default")], 2); } import { computed } from 'vue'; import { classNames } from '../shared/utils.js'; import { colorClasses, colorProps } from '../shared/mixins.js'; import f7Link from './link.js'; export default { name: 'f7-nav-left', render, components: { f7Link }, props: { backLink: [Boolean, String], backLinkUrl: String, backLinkForce: Boolean, backLinkShowText: { type: Boolean, default: undefined }, ...colorProps }, emits: ['back:click', 'click:back'], setup(props, { emit }) { const onBackClick = event => { emit('back:click', event); emit('click:back', event); }; const text = computed(() => { if (props.backLink) { return props.backLink !== true && props.backLinkShowText ? props.backLink : undefined; } return undefined; }); const classes = computed(() => classNames('left', {}, colorClasses(props))); return { classes, onBackClick, text }; } };