UNPKG

@progress/kendo-vue-layout

Version:
9 lines (8 loc) 3.31 kB
/** * @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 c=require("vue"),g=require("./DrawerNavigation.js"),t=require("@progress/kendo-vue-common"),m=require("../package-metadata.js"),f=c.defineComponent({name:"KendoDrawer",emits:{select:null,overlayclick:null},props:{animation:{type:[Object,Boolean],default:!0},expanded:{type:Boolean,default:!1},dir:{type:String,default:"ltr"},item:[String,Object,Function],navigationHeader:[String,Object,Function],navigationFooter:[String,Object,Function],navigationContent:[String,Object,Function],mode:{type:String,default:"overlay",validator:function(e){return["overlay","push"].includes(e)}},position:{type:String,default:"start",validator:function(e){return["start","end"].includes(e)}},items:{type:Array,default:[]},mini:{type:Boolean,default:!1},tabIndex:Number,width:{type:Number,default:240},miniWidth:{type:Number,default:50}},created(){t.validatePackage(m.packageMetadata),this.showLicenseWatermark=t.shouldShowValidationUI(m.packageMetadata)},data(){const{expanded:e,mode:i,position:r,animation:s,mini:l,width:n,miniWidth:a,items:d,item:o}=this.$props;return{currentDir:"ltr",drawer:{expanded:e,mode:i,dir:this.currentDir,position:r,animation:s,mini:l,width:n,miniWidth:a,items:d,item:o},showLicenseWatermark:!1}},mounted(){this.currentDir=t.getDir(this.$el,this.$props.dir)},updated(){const{expanded:e,mode:i,position:r,animation:s,mini:l,width:n,miniWidth:a,items:d,item:o}=this.$props;this.drawer.expanded=e,this.drawer.mode=i,this.drawer.dir=this.currentDir,this.drawer.position=r,this.drawer.animation=s,this.drawer.mini=l,this.drawer.width=n,this.drawer.miniWidth=a,this.drawer.items=d,this.drawer.item=o},provide(){return{kendoDrawer:this.drawer}},computed:{drawerClassNames(){const{expanded:e,mode:i,mini:r}=this.$props;return{"k-drawer-container":!0,"k-drawer-expanded":e,"k-drawer-overlay":i==="overlay","k-drawer-push":i==="push","k-drawer-mini":r}}},render(){const e=t.getDefaultSlots(this),{items:i,tabIndex:r,mode:s,expanded:l,item:n,navigationHeader:a,navigationFooter:d,navigationContent:o}=this.$props,h=n?t.templateRendering.call(this,n,t.getListeners.call(this)):void 0,u=a?t.templateRendering.call(this,a,t.getListeners.call(this)):void 0,p=d?t.templateRendering.call(this,d,t.getListeners.call(this)):void 0,w=o?t.templateRendering.call(this,o,t.getListeners.call(this)):void 0;return c.createVNode("div",{class:this.drawerClassNames,dir:this.currentDir,tabindex:r},[s==="overlay"&&l&&c.createVNode("div",{class:"k-overlay",onClick:this.onOverlayClick},null),i&&c.createVNode(g.DrawerNavigation,{onSelect:this.handleSelect,item:h,header:u,footer:p,content:w,showLicenseWatermark:this.showLicenseWatermark},null),e])},methods:{focus(){this.$el&&this.$el.focus()},handleSelect(e,i){this.$props.items&&this.$emit("select",{itemTarget:e,itemIndex:i,component:this})},onOverlayClick(e){this.$emit("overlayclick",e)}}});exports.Drawer=f;