UNPKG

@progress/kendo-vue-buttons

Version:
9 lines (8 loc) 1.93 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 t=require("vue"),n=require("@progress/kendo-vue-common"),m=t.defineComponent({name:"KendoVueFloatingActionButtonItem",props:{id:String,disabled:Boolean,focused:Boolean,index:Number,icon:String,item:[String,Function,Object],dataItem:Object,text:String,tabIndex:Number,customProp:[String,Function,Object],class:String},emits:{click:null,down:null},mounted(){this.element=n.getRef(this,"element")},computed:{itemClassNames(){return n.classNames("k-fab-item",{"k-focus":this.focused,"k-disabled":this.disabled})}},methods:{handleClick(e){this.$props.index!==void 0&&!this.$props.disabled&&this.$emit("click",e,this.$props.index)},focusElement(){this.$el&&this.$el.focus()},onMouseDown(e){this.$emit("down",e)}},setup(){return{elementRef:t.ref(null)}},render(){const{disabled:e,id:a,tabIndex:d,dataItem:c}=this.$props,{text:i,icon:o,svgIcon:s}=c;let l;const r=t.createVNode("li",{ref:n.setRef(this,"element"),id:a,class:this.itemClassNames,role:"menuitem",tabindex:n.getTabIndex(d,e),"aria-disabled":e,"aria-label":`${i||""} floatingactionbutton item`,onClick:this.handleClick,onMousedown:this.onMouseDown,onPointerdown:this.onMouseDown},[i&&t.createVNode("span",{class:"k-fab-item-text"},[i]),(s||o)&&t.createVNode(n.Icon,{name:o,icon:s,class:"k-fab-item-icon"},null)]);return l=n.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:r,additionalProps:this.$props,additionalListeners:{click:this.handleClick}}),l}});exports.FloatingActionButtonItem=m;