@progress/kendo-vue-layout
Version:
9 lines (8 loc) • 1.91 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("@progress/kendo-vue-common"),b=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),g=t.defineComponent({name:"KendoDrawerItem",emits:{click:null},props:{index:Number,text:String,icon:String,svgIcon:Object,separator:Boolean,selected:Boolean,disabled:Boolean,targetItem:[Object,Array]},inject:{kendoDrawer:{default:null},kendoLocalizationService:{default:null}},computed:{itemClassNames(){const{disabled:e,selected:a}=this.$props;return{"k-drawer-item":!0,"k-selected":a,"k-disabled":e}}},render(){const e=r.getDefaultSlots(this),{text:a,icon:i,svgIcon:o,separator:l,disabled:n,selected:c,tabIndex:d}=this.$props,{expanded:u,mini:m,item:p}=this.kendoDrawer,h=b.provideLocalizationService(this).toLanguageString(s.separatorAriaMessage,s.messages[s.separatorAriaMessage]);return l?t.createVNode("li",{class:"k-drawer-item k-drawer-separator",role:"separator","aria-label":h},null):t.createVNode("li",{class:this.itemClassNames,role:"menuitem","aria-label":a,"aria-current":c,"aria-disabled":n,onClick:this.handleClick,tabindex:r.getTabIndex(d,n)},[p?e:[(i||o)&&t.createVNode(r.Icon,{name:r.getIconName(i),icon:o},null),!u&&m?null:t.createVNode("span",{class:"k-item-text"},[a])]])},methods:{focus(e){this.$el&&this.$el.focus(e)},handleClick(){if(!this.disabled){const e={element:this.$el,focus:this.focus,props:{...this.$props,...this.$attrs}};this.$emit("click",e,this.$props.index)}}}});exports.DrawerItem=g;