zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
79 lines (65 loc) • 2.65 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _vue = require("vue");
var _constants = require("../../common/constants");
var _navLeft = _interopRequireDefault(require("../components/nav-left"));
var _link = _interopRequireDefault(require("../components/link"));
var _mixins = require("../shared/mixins");
var _utils = require("../shared/utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _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; }; return _extends.apply(this, arguments); }
function render(_ctx, _cache) {
var _component_Link = (0, _vue.resolveComponent)("Link");
var _component_NavLeft = (0, _vue.resolveComponent)("NavLeft");
return (0, _vue.openBlock)(), (0, _vue.createBlock)(_component_NavLeft, (0, _vue.mergeProps)(_extends({}, _ctx.$props, _ctx.$attrs), {
backLink: false
}), {
default: (0, _vue.withCtx)(function () {
return [_ctx.backLink ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_Link, {
key: 0,
back: "",
href: _ctx.backLinkUrl || '#',
"no-link-class": "",
"icon-zmp": _ctx.ICON_CHEVRON_LEFT,
force: _ctx.backLinkForce || undefined,
class: _ctx.classes,
text: _ctx.backLink !== true && _ctx.backLinkShowText ? _ctx.backLink : undefined,
onClick: _cache[1] || (_cache[1] = function ($event) {
_ctx.$emit('click:back', $event);
_ctx.$emit('click:back', $event);
})
}, null, 8, ["href", "icon-zmp", "force", "class", "text"])) : (0, _vue.createCommentVNode)("", true), (0, _vue.renderSlot)(_ctx.$slots, "default")];
}),
_: 3
}, 16);
}
var _default = {
name: 'zmp-nav-left',
render: render,
components: {
NavLeft: _navLeft.default,
Link: _link.default
},
props: _extends({
backLink: [Boolean, String],
backLinkUrl: String,
backLinkForce: Boolean,
backLinkShowText: Boolean,
sliding: Boolean
}, _mixins.colorProps),
emits: ['click:back', 'click:back'],
setup: function setup(props) {
var classes = (0, _vue.computed)(function () {
return (0, _utils.classNames)({
'icon-only': !props.text,
'no-ripple': !props.text
}, (0, _mixins.colorClasses)(props));
});
return {
classes: classes,
ICON_CHEVRON_LEFT: _constants.ICON_CHEVRON_LEFT
};
}
};
exports.default = _default;