UNPKG

@vuesax-alpha/nightly

Version:
105 lines (100 loc) 3.37 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../hooks/index.js'); require('../../../tokens/index.js'); require('../../../utils/index.js'); var index$1 = require('../../icon/index.js'); var sidebarItem = require('./sidebar-item.js'); var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js'); var index = require('../../../hooks/use-namespace/index.js'); var sidebar = require('../../../tokens/sidebar.js'); var error = require('../../../utils/error.js'); const __default__ = vue.defineComponent({ name: "VsSidebarItem" }); const _sfc_main = vue.defineComponent({ ...__default__, props: sidebarItem.sidebarItemProps, setup(__props) { const props = __props; const slots = vue.useSlots(); const ns = index.useNamespace("sidebar-item"); const sidebar$1 = vue.inject(sidebar.sidebarContextKey); if (!sidebar$1) { error.throwError("sidebar-item", "need to call inside the sidebar component"); } const handleClickItem = (router) => { if (props.id) { sidebar$1.handleClickItem(props.id); } if (props.to) { router.push(props.to); } else if (props.href) { window.open(props.href, props.target); } }; const itemKls = vue.computed(() => [ ns.b(), ns.is("active", props.active || sidebar$1.modelValue.value == props.id), ns.is("has-icon", Boolean(slots.icon)) ]); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock( "button", { class: vue.normalizeClass(itemKls.value), onClick: _cache[0] || (_cache[0] = ($event) => handleClickItem(_ctx.$router)) }, [ _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock( "div", { key: 0, class: vue.normalizeClass(vue.unref(ns).e("icon")) }, [ vue.renderSlot(_ctx.$slots, "icon") ], 2 )) : vue.createCommentVNode("v-if", true), vue.createElementVNode( "div", { class: vue.normalizeClass(vue.unref(ns).e("text")) }, [ vue.renderSlot(_ctx.$slots, "default") ], 2 ), vue.createElementVNode( "div", { class: vue.normalizeClass(vue.unref(ns).e("text-tooltip")) }, [ vue.renderSlot(_ctx.$slots, "default") ], 2 ), _ctx.$slots.arrow ? vue.renderSlot(_ctx.$slots, "arrow", { key: 1 }) : _ctx.arrow ? (vue.openBlock(), vue.createElementBlock( "div", { key: 2, class: vue.normalizeClass(vue.unref(ns).e("arrow")) }, [ vue.createVNode(vue.unref(index$1.IconArrow)) ], 2 )) : vue.createCommentVNode("v-if", true) ], 2 ); }; } }); var SidebarItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/vuesax-alpha/vuesax-alpha/packages/components/sidebar/src/sidebar-item.vue"]]); exports["default"] = SidebarItem; //# sourceMappingURL=sidebar-item2.js.map