@progress/kendo-vue-layout
Version:
9 lines (8 loc) • 1.83 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 i=require("vue"),s=require("@progress/kendo-vue-common"),u=i.defineComponent({name:"KendoBreadcrumbLink",props:{id:String,tabIndex:Number,dir:String,disabled:Boolean,text:String,svgIcon:Object,icon:Object,ariaCurrent:Boolean,isLast:Boolean,isFirst:Boolean,onSelect:Function},emits:["select","keydown"],computed:{itemClasses(){const{isFirst:e,svgIcon:t,text:n,disabled:r}=this.$props;return{"k-breadcrumb-root-link":e,"k-breadcrumb-link":!e,"k-breadcrumb-icontext-link":t&&n,"k-breadcrumb-icon-link":t!==void 0&&!n,"k-disabled":r}}},created(){this.currentDir=void 0},mounted(){this.currentDir=s.getDir(this.$el,this.$props.dir)},setup(){return{linkRef:i.ref(null)}},render(){const{ariaCurrent:e,isLast:t,id:n,svgIcon:r,icon:c,text:o,tabIndex:l,disabled:d}=this.$props;return i.createVNode("a",{href:"#","aria-current":e||t&&"page","aria-disabled":d||t,id:n,ref:this.linkRef,dir:this.currentDir,tabindex:s.getTabIndex(l,d),class:this.itemClasses,onClick:a=>{a.preventDefault(),this.handleSelect(a)},onKeydown:this.handleKeyDown},[c||"",r&&i.createVNode(s.Icon,{class:"k-svg-icon",icon:r},null),o&&i.createVNode("span",{class:"k-breadcrumb-item-text"},[o])])},methods:{focus(){this.$el&&this.$el.focus()},handleSelect(e){this.$emit("select",{event:e,id:this.$props.id})},handleKeyDown(e){this.$emit("keydown",{event:e,id:this.$props.id})}}});exports.BreadcrumbLink=u;