UNPKG

@progress/kendo-vue-layout

Version:
9 lines (8 loc) 3.75 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 n=require("vue"),c=require("@progress/kendo-vue-common"),D=require("@progress/kendo-vue-intl"),v=require("@progress/kendo-svg-icons"),I=require("./contants.js"),g=require("./messages/main.js"),M=n.defineComponent({name:"KendoStep",props:{current:Boolean,disabled:Boolean,icon:String,svgIcon:Object,index:Number,isValid:{type:Boolean,default:void 0},focused:Boolean,label:String,optional:Boolean,tabIndex:{type:Number,default:0},text:String,animationDuration:[Boolean,Number],isVertical:Boolean,item:[String,Object,Boolean,Function],linear:Boolean,mode:String,numOfSteps:Number,value:Number,successIcon:String,successSvgIcon:Object,errorIcon:String,errorSvgIcon:Object,onChange:Function,onFocus:Function},inject:{kendoLocalizationService:{default:null}},computed:{itemClassNames(){const{current:e,disabled:o,focused:d,index:l,isValid:t,optional:s}=this.$props;return{"k-step":!0,"k-step-first":l===0,"k-step-last":this.numOfSteps&&l===this.numOfSteps-1,"k-step-done":l<this.value,"k-step-current":e,"k-step-optional":s,"k-disabled":o,"k-focus":d,"k-step-error":t!==void 0&&!t,"k-step-success":t}},itemStyles(){const{index:e}=this.$props,o=!this.linear||e===this.value-1||e===this.value||e===this.value+1;return{maxWidth:this.isVertical?void 0:`calc(100% / ${this.numOfSteps})`,pointerEvents:o?void 0:"none"}}},watch:{focused(e){this.aElement=this.$refs.aElement,this.aElement&&e&&this.aElement.focus()}},setup(){return{kendoLocalizationService:n.inject("kendoLocalizationService",{})}},render(){const e=c.getDefaultSlots(this),{current:o,disabled:d,focused:l,icon:t,svgIcon:s,index:r,isValid:i,label:a,optional:N,tabIndex:h,text:f,animationDuration:u,item:x,linear:V,mode:k,value:p,successIcon:O,successSvgIcon:B,errorIcon:C,errorSvgIcon:F}=this.$props,y=!V||r===p-1||r===p||r===p+1,S=k==="labels"||(!!t||!!s)&&!!a,L=D.provideLocalizationService(this),$=(b=>L.toLanguageString(b,g.messages[b]))(g.optionalText),z=typeof u=="number"?u:u!==!1?I.DEFAULT_ANIMATION_DURATION:I.NO_ANIMATION,j=i?O||"check-circle":C||"exclamation-circle",A=i?B||v.checkOutlineIcon:F||v.exclamationCircleIcon,m=n.createVNode(c.Icon,{class:"k-step-indicator-icon",name:c.getIconName(j),icon:A,"aria-hidden":"true"},null),E=function(){return k!=="labels"?n.createVNode("span",{class:"k-step-indicator","aria-hidden":!0,style:{transitionDuration:z+"ms"}},[t||s?!S&&i!==void 0?m:n.createVNode(c.Icon,{class:"k-step-indicator-icon",name:t,icon:s},null):i!==void 0?m:n.createVNode("span",{class:"k-step-indicator-text"},[f||r+1])]):null},q=function(){return n.createVNode("span",{class:"k-step-label"},[a&&n.createVNode("span",{class:"k-step-text"},[a]),S&&i!==void 0&&m,N&&n.createVNode("span",{class:"k-step-label-optional"},[$])])};return n.createVNode("li",{class:this.itemClassNames,style:this.itemStyles},[n.createVNode("a",{ref:"aElement",class:"k-step-link",title:a||void 0,onClick:this.handleClick,onFocusin:this.handleFocus,"tab-index":h||(o?0:-1),"aria-current":o?!0:void 0,"aria-disabled":d||!y||void 0,"aria-invalid":i!==void 0&&!i||void 0},[x?e:[E.call(this),q.call(this)]])])},methods:{focus(){this.$el&&c.focusFirstFocusableChild(this.$el)},handleClick(e){this.disabled||this.$emit("change",{event:e,value:this.index,component:this})},handleFocus(e){this.disabled||this.$emit("focus",e)}}});exports.Step=M;