vuikit
Version:
A responsive Vue UI library for web site interfaces based on UIkit
94 lines (84 loc) • 2.1 kB
JavaScript
/**
* Vuikit 0.8.10
* (c) 2018 Miljan Aleksic
* @license MIT
**/
/* Substantial part of the code is adapted from UIkit,
Copyright (c) 2013-2018 YOOtheme GmbH, getuikit.com */
import { mergeData } from './util/vue';
import { ElementIconLink } from './icon';
import { assign } from './util/lang';
var ElementIconnav = {
functional: true,
render: function render (h, ref) {
var data = ref.data;
var children = ref.children;
return h('ul', mergeData(data, {
class: 'uk-iconnav'
}), children)
}
}
var ElementIconnavVertical = {
functional: true,
render: function render (h, ref) {
var data = ref.data;
var children = ref.children;
return h('ul', mergeData(data, {
class: 'uk-iconnav uk-iconnav-vertical'
}), children)
}
}
var ElementIconnavItem = {
functional: true,
props: {
href: String,
target: String,
active: {
type: Boolean,
default: false
}
},
render: function render (h, ref) {
var props = ref.props;
var data = ref.data;
var children = ref.children;
var active = props.active;
var href = props.href;
var target = props.target;
return h('li', mergeData(data, {
class: { 'uk-active': active }
}), [
h(ElementIconLink, {
attrs: { href: href, target: target }
}, children)
])
}
}
var iconnav = {
name: 'VkIconnav',
functional: true,
render: ElementIconnav.render
}
var iconnavVertical = {
name: 'VkIconnavVertical',
functional: true,
render: ElementIconnavVertical.render
}
var iconnav_Item = {
name: 'VkIconnavItem',
functional: true,
props: assign({
icon: {
type: String,
required: true
}
}, ElementIconnavItem.props),
render: function render (h, ref) {
var data = ref.data;
var props = ref.props;
return h(ElementIconnavItem, mergeData(data, { props: props }), [
h(("vk-icons-" + (props.icon)))
])
}
}
export { ElementIconnav, ElementIconnavVertical, ElementIconnavItem, iconnav as Iconnav, iconnavVertical as IconnavVertical, iconnav_Item as IconnavItem };