UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

106 lines (92 loc) 3.39 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _vue = require("vue"); var _navLeft = _interopRequireDefault(require("./nav-left")); var _navTitle = _interopRequireDefault(require("./nav-title")); var _navbar = _interopRequireDefault(require("../components/navbar")); var _constants = require("../../common/constants"); var _mixins = require("../shared/mixins"); 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_NavLeft = (0, _vue.resolveComponent)("NavLeft"); var _component_NavTitle = (0, _vue.resolveComponent)("NavTitle"); var _component_Navbar = (0, _vue.resolveComponent)("Navbar"); return (0, _vue.openBlock)(), (0, _vue.createBlock)("div", { ref: _ctx.elRef }, [(0, _vue.createVNode)(_component_Navbar, (0, _vue.mergeProps)(_extends({}, _ctx.$props, _ctx.$attrs), { class: { 'zmp-navbar-fill': _ctx.fill }, "back-link": false, title: false, subtitle: false }), (0, _vue.createSlots)({ default: (0, _vue.withCtx)(function () { return [_ctx.title || _ctx.subtitle ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_NavTitle, (0, _vue.mergeProps)({ key: 0 }, _ctx.$props), null, 16)) : (0, _vue.createCommentVNode)("", true)]; }), _: 2 }, [_ctx.backLink ? { name: "nav-left", fn: (0, _vue.withCtx)(function () { return [(0, _vue.createVNode)(_component_NavLeft, (0, _vue.mergeProps)(_ctx.$props, { onBackClick: _cache[1] || (_cache[1] = function ($event) { return _ctx.$emit('click:back', $event); }) }), null, 16)]; }) } : undefined, (0, _vue.renderList)(_ctx.$slots, function (_, name) { return { name: name, fn: (0, _vue.withCtx)(function (slotData) { return [(0, _vue.renderSlot)(_ctx.$slots, name, slotData)]; }) }; })]), 1040, ["class"])], 512); } var _default = { name: 'zmp-navbar', render: render, components: { Navbar: _navbar.default, NavLeft: _navLeft.default, NavTitle: _navTitle.default }, props: _extends({ backLink: [Boolean, String], backLinkUrl: String, backLinkForce: Boolean, backLinkShowText: Boolean, sliding: Boolean, title: String, subtitle: String, hidden: Boolean, fill: Boolean, noShadow: Boolean, noHairline: Boolean, innerClass: String, innerClassName: String, large: Boolean, largeTransparent: Boolean, transparent: Boolean, titleLarge: String }, _mixins.colorProps), emits: ['click:back'], setup: function setup(props) { var elRef = (0, _vue.ref)(); (0, _vue.onMounted)(function () { if (props.large) { var root = document.documentElement; var height = elRef.value.el ? elRef.value.el.offsetHeight : _constants.DEFAULT_LARGE_NAVBAR_HEIGHT; root.style.setProperty('--zmp-navbar-height', height + "px"); } }, []); return { elRef: elRef }; } }; exports.default = _default;