@progress/kendo-vue-buttons 7.0.2-develop.2 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-popup"),require("@progress/kendo-vue-intl"),require("@progress/kendo-webspeech-common")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-svg-icons","@progress/kendo-vue-popup","@progress/kendo-vue-intl","@progress/kendo-webspeech-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueButtons={},e.Vue,e.KendoVueCommon,e.KendoSVGIcons,e.KendoVuePopup,e.KendoVueIntl,e.KendoWebspeechCommon)}(this,(function(e,t,o,i,s,n,r){"use strict";const l=["button:not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",".k-button-group > button",".k-dropdownlist",".k-colorpicker"],a={button:"k-button","state-disabled":"k-disabled","group-start":"k-group-start","group-end":"k-group-end","button-group":"k-button-group","button-group-stretched":"k-button-group-stretched"},d={name:"@progress/kendo-vue-buttons",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1657089513,version:"7.0.2-develop.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},c=a,u=t.defineComponent({name:"KendoButton",emits:{click:e=>!0,mousedown:e=>!0,mouseup:e=>!0,pointerdown:e=>!0,pointerup:e=>!0,focus:e=>!0,blur:e=>!0,keypress:e=>!0,keydown:e=>!0,contextmenu:e=>!0},props:{ariaLabel:String,ariaPressed:Boolean,title:String,dir:String,selected:{type:Boolean,default:void 0},togglable:{type:Boolean,default:!1},icon:{type:String,default:function(){}},svgIcon:Object,iconSize:{type:String,default:"medium"},iconClass:{type:String,default:function(){}},imageUrl:{type:String,default:function(){}},imageAlt:String,disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},shape:{type:String},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"},tabIndex:Number,accessKey:String,id:String,type:String,role:String},created(){o.validatePackage(d),this.currentActive=!0===this.$props.togglable&&!0===this.$props.selected,this._activeTemp=void 0},data:()=>({currentActive:null}),computed:{computedSelected(){return void 0!==this._activeTemp?this._activeTemp:void 0!==this.$props.selected?this.$props.selected:this.currentActive},buttonClasses(){const{disabled:e,icon:t,iconClass:i,imageUrl:s,dir:n,svgIcon:r,size:l,shape:a,rounded:d,fillMode:u,themeColor:p}=this.$props,h=void 0!==r||void 0!==t||void 0!==i||void 0!==s,m=o.getDefaultSlots(this);return{[c.button]:!0,[`k-button-${o.kendoThemeMaps.sizeMap[l]||l}`]:l,[`k-button-${a}`]:a&&"rectangle"!==a,[`k-rounded-${o.kendoThemeMaps.roundedMap[d]||d}`]:d,"k-icon-button":!m&&h,"k-disabled":e,"k-selected":this.computedSelected,"k-rtl":"rtl"===n,[`k-button-${u}`]:u,[`k-button-${u}-${p}`]:u&&p}}},updated(){this.$props.togglable&&void 0!==this.$props.selected&&this.$props.selected!==this.currentActive&&(this.currentActive=this.$props.selected)},methods:{focus(e){this.$el.focus(e)},toggleIfApplicable(){if(!this.disabled&&this.$props.togglable&&void 0===this.$props.selected){const e=!this.currentActive;this._activeTemp=e,this.currentActive=e,this._activeTemp=void 0}},handleClick(e){this.toggleIfApplicable(),this.disabled||this.$emit("click",e)},handleMouseDown(e){this.disabled||this.$emit("mousedown",e)},handlePointerDown(e){this.disabled||this.$emit("pointerdown",e)},handleMouseUp(e){this.disabled||this.$emit("mouseup",e)},handlePointerUp(e){this.disabled||this.$emit("pointerup",e)},handleFocus(e){this.disabled||this.$emit("focus",{event:e})},handleBlur(e){this.disabled||this.$emit("blur",{event:e})},handleKeypress(e){this.disabled||this.$emit("keypress",e)},handleKeydown(e){this.disabled||this.$emit("keydown",e)},handleContextmenu(e){this.disabled||this.$emit("contextmenu",e)}},render(){const{togglable:e,icon:i,svgIcon:s,iconClass:n,imageUrl:r,imageAlt:l,accessKey:a,tabIndex:d,id:c,type:u,disabled:p,role:h,iconSize:m}=this.$props,f=o.getDefaultSlots(this);return t.createVNode("button",{class:this.buttonClasses,onClick:this.handleClick,onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onPointerdown:this.handlePointerDown,onPointerup:this.handlePointerUp,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeypress:this.handleKeypress,onKeydown:this.handleKeydown,onContextmenu:this.handleContextmenu,title:this.title,"aria-label":this.ariaLabel,"aria-disabled":p||void 0,"aria-pressed":e?!!this.currentActive:void 0,accesskey:a,tabindex:d,id:c,type:u,role:h},[function(){if(r)return t.createVNode("img",{role:"presentation",class:"k-image",alt:l,src:r},null);if(i||s){const e=o.classNames("k-button-icon",n);return t.createVNode(o.Icon,{name:i,icon:s,class:e,size:m},null)}return n?t.createVNode("span",{role:"presentation",class:n},null):null}.call(this),f&&t.createVNode("span",{class:"k-button-text"},[f])])}}),p=t.defineComponent({name:"KendoButtonWrap",render(){return o.getDefaultSlots(this)[0]}}),h=a,m=t.defineComponent({name:"KendoButtonGroup",props:{disabled:{type:Boolean,default:void 0},width:String,dir:{type:String,default:function(){}}},created(){o.validatePackage(d)},render(){const e=o.getDefaultSlots(this),i=function(e,i,s,n){const r=o.classNames({[h["state-disabled"]]:this.$props.disabled,[h["group-start"]]:n?s:0===i,[h["group-end"]]:n?0===i:s});return t.h(p,{class:r,"aria-disabled":this.$props.disabled},(function(){return[e]}))},s=o.classNames([h["button-group"]],{"k-disabled":this.$props.disabled,[h["button-group-stretched"]]:!!this.$props.width});return t.createVNode("div",{style:{width:this.width},dir:this.$props.dir,role:"group","aria-disabled":this.$props.disabled,class:s},[function(e){const t=e.length,o=void 0!==this.$props.dir?"rtl"===this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1;return e.map(((e,s)=>this.isValidButton(e)?i.call(this,e,s,s===t-1,o):e))}.call(this,e)])},methods:{isValidButton:e=>e&&e.tag&&-1!==e.tag.toLowerCase().indexOf("button")||e.componentOptions&&e.componentOptions.tag&&-1!==e.componentOptions.tag.toLowerCase().indexOf("button")||e.type&&e.type.name&&-1!==e.type.name.toLowerCase().indexOf("kendobutton")}});let f=function(e){return e.next="next",e.prev="prev",e.current="current",e.reset="reset",e}({});let g=function(e){return e.remove="remove",e.add="add",e.reorder="reorder",e}({});let b=function(e){return e.single="single",e.multiple="multiple",e.none="none",e}({}),v=function(e){return e.toggle="toggle",e.remove="remove",e}({});const y=t.defineComponent({name:"KendoVueChip",props:{id:String,text:String,avatar:{type:[String,Function,Object],default:function(){}},value:[String,Object],dir:{type:String,default:function(){return"ltr"}},removable:{type:Boolean,default:!1},removeIcon:{type:String,default:function(){return"x-circle"}},removeSvgIcon:{type:Object,default:function(){return i.xCircleIcon}},disabled:{type:Boolean,default:!1},icon:String,svgIcon:Object,selectedIcon:{type:String,default:function(){return"check"}},selectedSvgIcon:{type:Object,default:function(){return i.checkIcon}},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","error","info","success","warning"].includes(e)}},dataItem:Object,selected:Boolean,ariaDescribedBy:String,role:{type:String,default:"button"},tabIndex:Number,onMousedown:Function},emits:{click:e=>!0,keydown:e=>!0,blur:e=>!0,focus:e=>!0,remove:e=>!0},inject:{kendoSelection:{default:{value:null}},kendoFocused:{default:{value:null}},kendoDataItems:{default:null},handleDispatchDataItems:{default:o.noop},handleDispatchSelection:{default:o.noop},handleDispatchFocus:{default:o.noop}},created(){this.currentDir=void 0,o.validatePackage(d)},mounted(){this.chip=o.getRef(this,"chip"),this.currentDir=void 0!==this.$props.dir?"rtl"===this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1},updated(){this.kendoFocused.value===this.$props.value&&this.$el&&this.$el.focus()},computed:{currentSelected(){return this.$props.selected||(Array.isArray(this.kendoSelection.value)?this.kendoSelection.value.some((e=>e===this.$props.value)):this.kendoSelection.value===this.$props.value)},chipLabelClass:()=>({"k-chip-label":!0})},methods:{computedFocused(){return this.kendoFocused.value===this.$props.value},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.handleDispatchSelection&&this.handleDispatchSelection({type:v.toggle,payload:this.$props.value,event:e}),this.$emit("click",{target:this.target,event:e})},handleRemove(e){e.stopPropagation(),this.$props.removable&&(this.handleDispatchFocus&&(this.handleDispatchDataItems({type:g.remove,payload:this.$props.value,event:e}),this.handleDispatchFocus({type:f.reset,payload:this.$props.value,event:e}),this.handleDispatchSelection({type:v.remove,payload:this.$props.value,event:e})),this.$emit("remove",{target:this.target,event:e}))},handleKeyDown(e){switch(e.keyCode){case o.Keys.left:this.handleDispatchFocus&&this.handleDispatchFocus({type:f.prev,payload:this.$props.value,event:e});break;case o.Keys.right:this.handleDispatchFocus&&this.handleDispatchFocus({type:f.next,payload:this.$props.value,event:e});break;case o.Keys.enter:this.handleDispatchFocus&&this.handleDispatchSelection({type:v.toggle,payload:this.$props.value,event:e});break;case o.Keys.delete:this.handleRemove(e)}this.$emit("keydown",{target:this.target,event:e})},handleFocus(e){this.handleDispatchFocus&&this.handleDispatchFocus({payload:this.$props.value,type:f.current,event:e}),this.$emit("focus",{target:this.target,event:e})},handleBlur(e){this.$emit("blur",{target:this.target,event:e})}},setup:()=>({chipRef:t.ref(null)}),render(){const{size:e,rounded:i,themeColor:s,fillMode:n,look:r,avatar:l,icon:a,svgIcon:d,selectedIcon:c,selectedSvgIcon:u,removeIcon:p,removeSvgIcon:h}=this.$props,m=o.templateRendering.call(this,l,o.getListeners.call(this)),f=l?t.createVNode("div",{class:`k-chip-avatar k-avatar k-rounded-${l.rounded||"medium"} k-avatar-${o.kendoThemeMaps.sizeMap[e]||e} k-avatar-solid k-avatar-solid-primary`,style:l.style},[t.createVNode("span",{class:"k-avatar-image"},[t.createVNode("img",{src:l.imageUrl,alt:l.imageAlt},null)])]):null,g=o.getTemplate.call(this,{h:t.h,template:m});return t.createVNode("div",{role:this.$props.role,id:this.$props.value,ref:o.setRef(this,"chip"),dir:this.currentDir,tabindex:o.getTabIndex(this.$props.tabIndex,this.$props.disabled,void 0),class:o.classNames("k-chip",{"k-rtl":"rtl"===this.currentDir,"k-disabled":this.$props.disabled,"k-selected":this.currentSelected,"k-focus":this.computedFocused(),[`k-chip-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,[`k-rounded-${o.kendoThemeMaps.roundedMap[i]||i}`]:i,[`k-chip-${n}`]:n,[`k-chip-${n}-${s}`]:!(!n||!s),"k-chip-outline":"outline"===r||"outlined"===r,"k-chip-solid":"solid"===r||"filled"===r||"solid"===n}),"aria-pressed":"button"===this.$props.role?this.currentSelected:void 0,"aria-selected":"option"===this.$props.role?this.currentSelected:void 0,"aria-disabled":this.$props.disabled,"aria-describedby":this.$props.ariaDescribedBy,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown},[this.currentSelected&&(c||u)&&t.createVNode(o.Icon,{name:o.getIconName(c),icon:u,size:"small"},null),(a||d)&&t.createVNode(o.Icon,{name:o.getIconName(a),icon:d,size:"small"},null),l?l.imageUrl?f:g:null,t.createVNode("span",{class:"k-chip-content"},[this.$props.text&&t.createVNode("span",{"aria-label":this.$props.text,class:this.chipLabelClass},[this.$props.text])]),this.$props.removable&&t.createVNode("span",{class:"k-chip-actions"},[t.createVNode("span",{class:"k-chip-action k-chip-remove-action"},[t.createVNode(o.Icon,{name:o.getIconName(p),icon:h,size:"small",onClick:this.handleRemove},null)])])])}}),k=t.defineComponent({name:"KendoVueChipList",inheritAttrs:!1,props:{id:String,tabIndex:Number,dataItems:Array,defaultDataItems:{type:Array,default:function(){return[]}},value:[Object,Array,String,Number],defaultValue:{type:[Object,Array,String,Number],default:function(){return null}},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","outline","solid"].includes(e)}},selection:{type:String,default:function(){return"none"}},textField:{type:String,default:function(){return"text"}},valueField:{type:String,default:function(){return"value"}},avatarField:{type:String,default:function(){return"avatar"}},disabled:{type:Boolean,default:!1},dir:{type:String,default:function(){return"ltr"}},chip:[String,Function,Object],ariaLabelledBy:String,ariaDescribedBy:String},emits:{change:e=>!0,datachange:e=>!0},provide(){return{kendoSelection:this.currentValue,kendoFocused:this.currentFocused,kendoDataItems:this.computedDataItems,handleDispatchDataItems:this.handleDispatchDataItems,handleDispatchSelection:this.handleDispatchSelection,handleDispatchFocus:this.handleDispatchFocus}},created(){o.validatePackage(d),this.currentDataItems=this.$props.dataItems||this.$props.defaultDataItems,this.currentValue.value=this.$props.value||this.$props.defaultValue},data:()=>({currentDataItems:[],currentDir:"ltr",isRtl:!1,currentFocused:{value:!1},currentValue:{value:null}}),mounted(){this.chipList=this.chipListRef,this.currentDir=void 0!==this.$props.dir?this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1,this.isRtl="rtl"===this.currentDir},computed:{computedDataItems(){return this.$props.dataItems||this.currentDataItems},computedValue(){return this.$props.value||this.currentValue.value},items(){return this.computedDataItems.reduce(this.itemsReducer,[])}},methods:{handleDispatchSelection(e){const t=((e,t)=>{switch(t.selection){case b.single:switch(t.type){case v.toggle:if(!Array.isArray(e)||null===e)return t.payload===e?null:t.payload;throw new Error("State cannot be an array in single selection");case v.remove:return t.payload===e?null:e;default:return e}case b.multiple:switch(t.type){case v.toggle:if(Array.isArray(e))return e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload];if(null===e)return[t.payload];throw new Error("State cannot be non-array in multiple selection");case v.remove:return Array.isArray(e)?e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload]:e;default:return e}case b.none:return null;default:return e}})(this.computedValue,{...e,selection:this.$props.selection,state:this.computedValue});this.handleChange(t,e.event),this.currentValue.value=t},handleDispatchFocus(e){const t=((e,t)=>{const o=t.items.findIndex((t=>t===e));switch(t.type){case f.next:return o===t.items.length-1?e:t.items[o+1];case f.prev:return 0===o?e:t.items[o-1];case f.current:return t.payload;case f.reset:return null;default:return e}})(e.payload,{...e,items:this.items});this.currentFocused.value=t},handleDispatchDataItems(e){const t=((e,t)=>{switch(t.type){case g.add:break;case g.remove:return e.filter((e=>e[t.valueField]!==t.payload));case g.reorder:break;default:return e}})(this.computedDataItems,{...e,state:this.computedDataItems,valueField:this.$props.valueField});this.handleDataChange(t,e.event),this.currentDataItems=t},handleChange(e,t){this.$el&&this.$emit("change",{value:e,target:this.$el,event:t})},handleDataChange(e,t){this.$el&&this.$emit("datachange",{value:e,target:this.$el,event:t})},itemsReducer(e,t){return e.push(t[this.$props.valueField||this.$props.valueField]),e}},setup:()=>({chipListRef:t.ref(null)}),render(){const{size:e}=this.$props;return t.createVNode("div",{ref:o.setRef(this,"chipList"),role:"listbox",id:this.$props.id,dir:this.currentDir,style:this.$attrs.style,tabindex:o.getTabIndex(this.$props.tabIndex,this.$props.disabled,void 0),class:o.classNames("k-chip-list",{[`k-chip-list-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-rtl":"rtl"===this.currentDir,"k-selection-single":"single"===this.$props.selection,"k-selection-multiple":"multiple"===this.$props.selection,"k-disabled":this.$props.disabled}),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,"aria-orientation":"horizontal","aria-multiselectable":"multiple"===this.$props.selection||void 0},[this.computedDataItems.map((function(e){const i=o.templateRendering.call(this,this.$props.chip,o.getListeners.call(this)),s=t.createVNode(y,{role:"option",dataItem:e,key:e[this.$props.valueField],text:e[this.$props.textField],value:e[this.$props.valueField],avatar:e[this.$props.avatarField],size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode},null);return o.getTemplate.call(this,{h:t.h,template:i,defaultRendering:s,additionalProps:{dataItem:e,key:e[this.$props.valueField],text:e[this.$props.textField],value:e[this.$props.valueField],size:this.$props.size}})}),this)])}}),$=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:(e,t)=>!0,down:e=>!0},mounted(){this.element=o.getRef(this,"element")},computed:{itemClassNames(){return o.classNames("k-fab-item",{"k-focus":this.focused,"k-disabled":this.disabled})}},methods:{handleClick(e){void 0!==this.$props.index&&!this.$props.disabled&&this.$emit("click",e,this.$props.index)},focusElement(){this.$el&&this.$el.focus()},onMouseDown(e){this.$emit("down",e)}},setup:()=>({elementRef:t.ref(null)}),render(){const{disabled:e,id:i,tabIndex:s,dataItem:n}=this.$props,{text:r,icon:l,svgIcon:a}=n;let d;const c=t.createVNode("li",{ref:o.setRef(this,"element"),id:i,class:this.itemClassNames,role:"menuitem",tabindex:o.getTabIndex(s,e),"aria-disabled":e,"aria-label":`${r||""} floatingactionbutton item`,onClick:this.handleClick,onMousedown:this.onMouseDown,onPointerdown:this.onMouseDown},[r&&t.createVNode("span",{class:"k-fab-item-text"},[r]),(a||l)&&t.createVNode(o.Icon,{name:l,icon:a,class:"k-fab-item-icon"},null)]);return d=o.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.handleClick}}),d}}),S="16px",I=e=>"number"==typeof e?e+"px":e,x=(e,t)=>{const o={horizontal:t?"right":"left",vertical:"bottom"};return"end"===e.horizontal&&(o.horizontal=t?"left":"right"),o},C=(e,t)=>{const o={horizontal:t?"right":"left",vertical:"top"};return"end"===e.horizontal&&(o.horizontal=t?"left":"right"),o},w=(e,t)=>({rtl:{end:"k-text-left",start:"k-text-right"},ltr:{start:"k-text-left",end:"k-text-right"}}[e]["end"===t?"end":"start"]),D=(e,t,o,i)=>{const s=t.horizontal,n=t.vertical;if(e){const r=o&&void 0!==o.x?I(o.x):S,l=o&&void 0!==o.x?`calc(50% + ${I(o.x)})`:"50%",a=o&&void 0!==o.y?I(o.y):S,d=o&&void 0!==o.y?`calc(50% + ${I(o.y)})`:"50%";e.style.setProperty(O(t,i),"center"===s?l:r),e.style.setProperty(B(t),"middle"===n?d:a),i&&(("top"===n||"bottom"===n)&&"start"===s&&e.style.setProperty("left","unset"),"middle"===n&&"end"===s&&e.style.setProperty("right","unset"),"middle"===n&&"start"===s&&e.style.setProperty("left","unset"))}},O=(e,t)=>{const{horizontal:o}=e;return{end:t?"left":"right",center:"left",start:t?"right":"left"}[o||"end"]},B=e=>({top:"top",middle:"top",bottom:"bottom"}[e.vertical||"bottom"]),N=t.defineComponent({name:"KendoVueFloatingActionButton",props:{id:String,dir:String,tabIndex:Number,accessKey:String,disabled:{type:Boolean,default:!1},icon:String,svgIcon:Object,iconClass:String,items:[Object,Array],item:[String,Function,Object],text:String,alignOffset:Object,opened:{type:Boolean,default:void 0},align:{type:Object,default:function(){return{vertical:"bottom",horizontal:"end"}}},positionMode:{type:String,default:function(){return"fixed"}},popupSettings:{type:Object,default:function(){return{}}},shape:{type:String,default:function(){return"rectangle"}},rounded:{type:String,default:"full"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},size:{type:String,default:function(){return"medium"}},themeColor:{type:String,default:function(){return"primary"}}},emits:{click:e=>!0,mousedown:e=>!0,mouseup:e=>!0,open:e=>!0,close:e=>!0,itemclick:e=>!0,focus:e=>!0,blur:e=>!0,keydown:e=>!0},data:()=>({currentOpened:!1,currentFocused:!1,focusedIndex:-1,currentDir:"ltr",isRtl:!1}),created(){o.validatePackage(d),this.element=void 0,this._anchor=o.guid(),this.listId=o.guid(),this.buttonId=o.guid()},mounted(){this.element=this.kendoAnchorRef,this.list=o.getRef(this,"list"),this.popup=o.getRef(this,"popup"),this.currentDir=void 0!==this.$props.dir?this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1,this.isRtl="rtl"===this.currentDir,void 0!==this.opened&&D(this.$el,this.$props.align,this.$props.alignOffset,this.isRtl)},updated(){D(this.$el,this.$props.align,this.$props.alignOffset,this.isRtl),this.currentFocused&&this.element&&this.element.focus()},computed:{buttonClassNames(){const{size:e,icon:t,shape:i,themeColor:s,fillMode:n,rounded:r}=this.$props;return{"k-fab":!0,[`k-fab-${i||"rectangle"}`]:null!==i,[`k-fab-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,[`k-rounded-${o.kendoThemeMaps.roundedMap[r]||r}`]:r,[`k-fab-${n}`]:n,[`k-fab-${n}-${s}`]:n&&s,"k-disabled":this.$props.disabled,"k-focus":this.currentFocused,[`k-${this.$props.align.vertical}-${this.$props.align.horizontal}`]:!0}},computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},rootClassNames(){return o.classNames({"k-pos-absolute":"absolute"===this.$props.positionMode,"k-pos-fixed":"fixed"===this.$props.positionMode})}},methods:{dispatchPopupEvent(e,t){this.$props.items&&this.$emit(t?"open":"close",{event:e,isOpened:!t})},handleClick(e){if(e.target&&!this.$props.disabled)if(this.$props.items){const t=!this.computedOpened;this.currentOpened=t,this.currentFocused=!0,this.focusedIndex=t?0:-1,this.dispatchPopupEvent(e,!this.computedOpened)}else this.$emit("click",e,void 0)},handleFocus(e){this.currentFocused=!0,this.focusedIndex=this.computedOpened?0:-1,this.$emit("focus",{event:e})},handleBlur(e){this.currentFocused=!1,this.currentOpened=!1,this.focusedIndex=-1,this.$emit("blur",{event:e}),this.computedOpened&&this.dispatchPopupEvent(e,!1)},handleMouseDown(e){e.preventDefault(),this.$emit("mousedown",e)},handleMouseUp(e){this.$emit("mouseup",e)},dispatchItemClickEvent(e,t){this.$props.items&&(this.$props.items[t].disabled||this.$emit("itemclick",e,{itemProps:this.$props.items[t],itemIndex:t}))},handleItemClick(e,t){!e.target||!this.$props.items||(this.focusedIndex=t,this.currentOpened=!1,this.dispatchItemClickEvent(e,t),this.dispatchPopupEvent(e,!1))},handleItemDown(e){o.canUseDOM&&document.activeElement===this.element&&e.preventDefault()},handleKeyDown(e){const t=this.focusedIndex,i=this.$props.items?this.$props.items.length-1:-1,s="bottom"===this.$props.align.vertical;switch(e.keyCode){case o.Keys.enter:case o.Keys.space:t>=0&&this.dispatchItemClickEvent(e,t),e.preventDefault(),this.currentOpened=!this.currentOpened,this.focusedIndex=this.currentOpened?-1:0;break;case o.Keys.esc:e.preventDefault(),this.currentOpened=!1,this.focusedIndex=-1;break;case o.Keys.home:e.preventDefault(),this.focusedIndex=0;break;case o.Keys.end:e.preventDefault(),this.focusedIndex=i;break;case o.Keys.down:case o.Keys.right:e.preventDefault(),t<i&&!s&&(this.focusedIndex=t+1),t>0&&s&&(this.focusedIndex=t-1);break;case o.Keys.up:case o.Keys.left:e.preventDefault(),t>0&&!s&&(this.focusedIndex=t-1),t<i&&s&&(this.focusedIndex=t+1)}this.$emit("keydown",e,void 0)}},setup:()=>({chipRef:t.ref(null),kendoAnchorRef:t.ref(null)}),render(){const{align:e,disabled:i,icon:n,svgIcon:r,iconClass:l,id:a,items:d,text:c,tabIndex:u,accessKey:p,popupSettings:h}=this.$props,m=o.templateRendering.call(this,this.$props.item,o.getListeners.call(this)),f=function(){return d&&d.map((function(s,n){return t.createVNode($,{key:n,index:n,id:`${this.listId}-${n}`,disabled:i||s.disabled,focused:this.focusedIndex===n,dataItem:s,item:m,class:o.classNames(s.className,w(this.currentDir||"ltr",e.horizontal)),onClick:this.handleItemClick,onDown:this.handleItemDown},null)}),this)},g=n&&!c,b=(this.element?this.element.offsetWidth:0)/2-16;return t.createVNode("div",{class:this.rootClassNames},[t.createVNode("button",{ref:e=>{this.kendoAnchorRef=e},id:a||this.buttonId,role:d?"menubutton":"button",type:"button","aria-disabled":i,"aria-expanded":d?this.computedOpened:void 0,"aria-haspopup":!!d,"aria-label":`${c||""} floatingactionbutton`,"aria-owns":d?this.listId:void 0,"aria-activedescendant":this.focusedIndex>=0&&d?`${this.listId}-${this.focusedIndex}`:void 0,tabindex:o.getTabIndex(u,i),accesskey:p,dir:this.currentDir,disabled:i,class:this.buttonClassNames,onClick:this.handleClick,onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onFocusin:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown},[n||r?t.createVNode(o.Icon,{name:n,icon:r,class:"k-fab-icon"},null):l?t.createVNode(o.Icon,{class:l},null):null,c&&t.createVNode("span",{class:"k-fab-text"},[c])]),t.createVNode(s.Popup,{ref:o.setRef(this,"popup"),show:this.computedOpened,anchor:this._anchor,animate:h.animate,popupClass:o.classNames("k-popup-transparent k-fab-popup",h.popupClass),anchorAlign:h.anchorAlign||x(e,this.isRtl),popupAlign:h.popupAlign||C(e,this.isRtl),style:{boxShadow:"none"}},{default:()=>[t.createVNode("ul",{ref:o.setRef(this,"list"),role:"menu","aria-labelledby":a,id:this.listId,class:o.classNames("k-fab-items",{"k-fab-items-bottom":"bottom"!==e.vertical,"k-fab-items-top":"bottom"===e.vertical}),style:{paddingLeft:g?b+"px":void 0,paddingRight:g?b+"px":void 0}},[f.call(this)])]})])}}),F=t.defineComponent({name:"KendoButtonItem",emits:{click:(e,t)=>!0,down:(e,t)=>!0},props:{focused:Boolean,index:Number,item:Object,render:[String,Object,Function],dataItem:[String,Object],id:String,textField:String,role:String},computed:{wrapperClass(){return{"k-item":!0,"k-focus":this.$props.focused}},innerClass(){const{dataItem:e}=this.$props;return{"k-link k-menu-link":!0,"k-selected":e.selected,"k-disabled":e.disabled}}},methods:{onClick(e){this.$emit("click",e,this.$props.index)},onDown(e){this.$emit("down",e,this.$props.index)}},render(){const{dataItem:e,id:i,render:s}=this.$props;return t.createVNode("li",{id:i,class:this.wrapperClass,onClick:this.onClick,onMousedown:this.onDown,onPointerdown:this.onDown,role:"menuitem","aria-disabled":e.disabled||void 0},[function(){const{textField:i,index:n}=this.$props,r=void 0!==e.text?e.text:i?e[i]:e,l=t.createVNode("span",{tabindex:-1,class:this.innerClass,key:"icon"},[e.icon||e.svgIcon?t.createVNode(o.Icon,{name:e.icon,icon:e.svgIcon,class:e.iconClass},null):e.iconClass&&t.createVNode("span",{class:e.iconClass,role:"presentation"},null),e.imageUrl&&t.createVNode("img",{class:"k-icon",alt:"",src:e.imageUrl,role:"presentation",key:"image"},null),r&&t.createVNode("span",{class:"k-menu-link-text"},[r])]);return o.getTemplate.call(this,{h:t.h,template:this.$props.dataItem.render||s,defaultRendering:l,additionalProps:{item:e,itemIndex:n,innerClass:this.innerClass,focused:this.focused}})}.call(this)])}}),R=(e,t,i,s)=>{if(i)return e;switch(t){case o.Keys.enter:case o.Keys.space:case o.Keys.esc:return-1;case o.Keys.up:case o.Keys.left:return Math.max(0,e-1);case o.Keys.down:case o.Keys.right:return Math.min(s-1,e+1);default:return e}};function K(e){let t={horizontal:"left",vertical:"bottom"};return e&&(t.horizontal="right"),t}function T(e){let t={horizontal:"left",vertical:"top"};return e&&(t.horizontal="right"),t}const V=t.defineComponent({name:"KendoSplitButton",emits:{focus:e=>!0,blur:e=>!0,buttonclick:e=>!0,itemclick:e=>!0,open:e=>!0,close:e=>!0},props:{accessKey:String,ariaLabel:String,text:String,items:{type:Array,default:function(){return[]}},textField:String,tabIndex:Number,disabled:Boolean,icon:String,svgIcon:Object,size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","dark","error","info","inverse","inverse","light","primary","secondary","success","tertiary","warning"].includes(e)}},opened:{type:Boolean,default:void 0},iconClass:String,imageUrl:String,popupSettings:Object,itemRender:[String,Function,Object],item:[String,Function,Object],className:String,buttonClass:String,dir:String},data:()=>({focused:!1,focusedIndex:-1,currentOpened:!1}),created(){this._blurTimeout=null,this._anchor=o.guid(),this.mainButton=null,this.guid=o.guid(),this.buttonsData=[],o.validatePackage(d)},mounted(){this.mainButton=this.$refs[this._anchor],(void 0===this.$props.dir&&this.isRtl()||this.computedOpened)&&this.$forceUpdate()},updated(){this.focused&&this.element()&&(this.mainButton=this.$refs[this._anchor],this.mainButton.focus())},computed:{computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},wrapperClass(){return{"k-split-button":!0,"k-button-group":!0,"k-focus":this.focused}}},setup:()=>({kendoAnchorRef:t.ref(null)}),render(){this.buttonsData=this.$props.items;const e=this.isRtl(),n=e?"rtl":void 0,{tabIndex:r,disabled:l}=this.$props,a=o.getDefaultSlots(this),d=function(){const{item:e,itemRender:i,textField:s}=this.$props;return this.buttonsData.length>0?this.buttonsData.map((function(n,r){const l="string"!=typeof n?{...n,render:o.templateRendering.call(this,n.render,o.getListeners.call(this))}:n;return t.createVNode(F,{class:"k-menu-item",role:"menuitem",dataItem:l,textField:s,focused:this.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:o.templateRendering.call(this,i,o.getListeners.call(this)),item:e,key:r,index:r,id:`${this.guid}-${r}`},null)}),this):null};return t.createVNode("div",{class:this.wrapperClass,onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,dir:n},[t.createVNode(u,{size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,onClick:e=>this.onItemClick(e,-1),disabled:l||void 0,tabIndex:r,accessKey:this.$props.accessKey,class:this.$props.buttonClass,icon:this.$props.icon,svgIcon:this.$props.svgIcon,iconClass:this.$props.iconClass,imageUrl:this.$props.imageUrl,dir:n,id:this._anchor,ref:this._anchor,type:"button","aria-disabled":l,"aria-haspopup":"menu","aria-expanded":this.computedOpened,"aria-label":this.$props.ariaLabel||`${this.$props.text||""} splitbutton`,"aria-controls":this.guid,"aria-activedescendant":void 0!==this.focusedIndex&&this.focusedIndex>=0?`${this.guid}-${this.focusedIndex}`:void 0},{default:()=>[this.$props.text,a]}),t.createVNode(u,{svgIcon:i.caretAltDownIcon,size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,icon:"caret-alt-down",disabled:l||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMousedown:this.onDownSplitPart,onPointerdown:this.onDownSplitPart,dir:n,"aria-label":"menu toggling button"},null),function(){const{popupSettings:i={},size:n}=this.$props;return t.createVNode(s.Popup,{anchor:this._anchor,show:this.computedOpened,animate:i.animate,popupClass:o.classNames("k-menu-popup",i.popupClass),anchorAlign:i.anchorAlign||K(e),popupAlign:i.popupAlign||T(e),style:e?{direction:"rtl"}:void 0},{default:()=>[t.createVNode("ul",{class:`k-group k-menu-group k-reset k-menu-group-${o.kendoThemeMaps.sizeMap[n]||n}`,role:"menu",id:this.guid,"aria-labelledby":this._anchor},[d.call(this)])]})}.call(this)])},methods:{element(){return this.mainButton},onKeyDown(e){if(e.altKey)return void(this.computedOpened||e.keyCode!==o.Keys.down?this.computedOpened&&e.keyCode===o.Keys.up&&(this.dispatchPopupEvent(e,!1),this.focusedIndex=-1,this.currentOpened=!1):(this.dispatchPopupEvent(e,!0),this.focusedIndex=0,this.currentOpened=!0));let t;if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space?(e.preventDefault(),this.dispatchClickEvent(e,this.focusedIndex),void 0!==this.focusedIndex&&this.focusedIndex>=0&&(t={focusedIndex:this.computedOpened?-1:0,currentOpened:!this.computedOpened},this.dispatchPopupEvent(e,t.currentOpened))):this.computedOpened&&e.keyCode===o.Keys.esc&&(t={focusedIndex:-1,currentOpened:!1},this.dispatchPopupEvent(e,t.currentOpened)),this.computedOpened){const i=R(this.focusedIndex,e.keyCode,e.altKey,this.buttonsData.length);i!==this.focusedIndex&&(t=t||{},t.focusedIndex=i);const s=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&s&&e.preventDefault()}t&&(this.focusedIndex=t.focusedIndex,this.focused=t.focused,void 0!==t.currentOpened&&(this.currentOpened=t.currentOpened))},onFocus(e){this.focused||(this.$emit("focus",{event:e}),this.focused=!0),this.focusedIndex=-1,clearTimeout(this._blurTimeout)},onItemClick(e,t){const o=this.computedOpened;o&&(this.focusedIndex=0,this.currentOpened=!1),this.dispatchClickEvent(e,t),o&&this.dispatchPopupEvent(e,!1)},onBlur(e){clearTimeout(this._blurTimeout),this.createBlurTimeout(e)},createBlurTimeout(e){const t=this;this._blurTimeout=setTimeout((()=>{o.canUseDOM&&document.activeElement!==t.mainButton&&(t.focused=!1,t.focusedIndex=-1,t.$emit("blur",{event:e}),t.computedOpened&&(t.currentOpened=!1,t.dispatchPopupEvent(e,!1)))}),200)},dispatchClickEvent(e,t){this.isItemDisabled(t)||(-1===t?this.$emit("buttonclick",{event:e}):this.$emit("itemclick",{event:e,component:this,item:this.buttonsData[t],itemIndex:t}))},onSplitPartClick(e){if(this.buttonsData.length){const t=!this.computedOpened;this.dispatchPopupEvent(e,t),this.focusedIndex=t?0:-1,this.currentOpened=t,this.focused=!0}},onDownSplitPart(e){e.preventDefault(),this.element()&&document.activeElement!==this.element()&&this.element().focus()},onItemDown(e){document.activeElement===this.element()&&e.preventDefault()},dispatchPopupEvent(e,t){const o={event:e};this.$emit(t?"open":"close",o)},isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.$props.disabled},isRtl(){return void 0!==this.$props.dir?"rtl"===this.$props.dir:!!this.$el&&"rtl"===getComputedStyle(this.$el).direction}}}),M=t.defineComponent({name:"KendoDropDownButton",emits:{focus:e=>!0,blur:e=>!0,itemclick:e=>!0,open:e=>!0,close:e=>!0},props:{accessKey:String,items:{type:Array,default:function(){return[]}},ariaLabel:String,text:String,textField:String,tabIndex:Number,disabled:Boolean,icon:String,svgIcon:Object,iconClass:String,imageUrl:String,popupSettings:Object,itemRender:[String,Object,Function],item:Function,size:{type:String,default:"medium"},shape:{type:String,default:"rectangle",validator:function(e){return[null,"rectangle","square"].includes(e)}},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","dark","error","info","inverse","inverse","light","primary","secondary","success","tertiary","warning"].includes(e)}},opened:{type:Boolean,default:void 0},buttonClass:String,dir:String},created(){this._blurTimeout=null,this._anchor=o.guid(),this.wrapper=null,this.mainButton=null,this.guid=o.guid(),this.buttonsData=[],o.validatePackage(d)},mounted(){this.mainButton=this.$refs[this._anchor],(void 0===this.$props.dir&&this.isRtl()||this.computedOpened)&&this.$forceUpdate()},updated(){this.focused&&this.element()&&(this.mainButton=this.$refs[this._anchor],this.mainButton.focus())},data:()=>({currentOpened:!1,focused:!1,focusedIndex:-1}),computed:{computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},wrapperClass(){return{"k-dropdown-button":!0,"k-focus":this.focused}}},setup:()=>({kendoAnchorRef:t.ref(null)}),render(){const e=this.isRtl(),i=e?"rtl":void 0,{tabIndex:n,disabled:r}=this.$props,l=o.getDefaultSlots(this);this.buttonsData=this.$props.items;const a=function(){const{item:e,itemRender:i,textField:s}=this.$props;return this.buttonsData.length>0?this.buttonsData.map((function(n,r){const l="string"!=typeof n?{...n,render:o.templateRendering.call(this,n.render,o.getListeners.call(this))}:n;return t.createVNode(F,{class:"k-menu-item",dataItem:l,textField:s,focused:this.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:o.templateRendering.call(this,i,o.getListeners.call(this)),item:e,index:r,key:r,id:`${this.guid}-${r}`},null)}),this):null};return t.createVNode("div",{class:this.wrapperClass,onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,dir:i},[t.createVNode(u,{size:this.$props.size,shape:this.$props.shape,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,onClick:this.onClickMainButton,onMousedown:this.mouseDown,disabled:r||void 0,tabIndex:n,accessKey:this.$props.accessKey,icon:this.$props.icon,svgIcon:this.$props.svgIcon,iconClass:this.$props.iconClass,class:this.$props.buttonClass,imageUrl:this.$props.imageUrl,dir:i,ref:this._anchor,type:"button","aria-disabled":r,"aria-haspopup":"menu","aria-expanded":this.computedOpened,"aria-label":this.$props.ariaLabel||`${this.$props.text||""} dropdownbutton`,"aria-controls":this.guid,"aria-activedescendant":void 0!==this.focusedIndex&&this.focusedIndex>=0?`${this.guid}-${this.focusedIndex}`:void 0},{default:()=>[this.$props.text,l]}),function(){const{popupSettings:i={},size:n}=this.$props;return t.createVNode(s.Popup,{anchor:this._anchor,show:this.computedOpened,animate:i.animate,popupClass:o.classNames("k-menu-popup",i.popupClass),anchorAlign:i.anchorAlign||K(e),popupAlign:i.popupAlign||T(e),style:e?{direction:"rtl"}:void 0},{default:()=>[t.createVNode("ul",{class:`k-group k-menu-group k-reset k-menu-group-${o.kendoThemeMaps.sizeMap[n]||n}`,role:"menu",id:this.guid},[a.call(this)])]})}.call(this)])},methods:{element(){return this.mainButton},onKeyDown(e){if(e.altKey)this.computedOpened||e.keyCode!==o.Keys.down?this.computedOpened&&e.keyCode===o.Keys.up&&(this.dispatchPopupEvent(e,!1),this.focusedIndex=-1,this.currentOpened=!1):(this.dispatchPopupEvent(e,!0),this.focusedIndex=0,this.currentOpened=!0);else if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space?(void 0!==this.focusedIndex&&this.focusedIndex>=0&&this.dispatchClickEvent(e,this.focusedIndex),e.preventDefault(),this.focusedIndex=this.computedOpened?-1:0,this.currentOpened=!this.computedOpened,this.dispatchPopupEvent(e,this.currentOpened)):this.computedOpened&&e.keyCode===o.Keys.esc&&(this.focusedIndex=-1,this.currentOpened=!1,this.dispatchPopupEvent(e,this.currentOpened)),this.computedOpened){const t=R(this.focusedIndex,e.keyCode,e.altKey,this.buttonsData.length);this.focusedIndex=t;const i=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&i&&e.preventDefault()}},onFocus(e){this.focused||(this.focused=!0,this.$emit("focus",{event:e})),this.focusedIndex=this.computedOpened?0:-1,clearTimeout(this._blurTimeout)},onBlur(e){clearTimeout(this._blurTimeout),this.createBlurTimeout(e)},createBlurTimeout(e){const t=this;this._blurTimeout=setTimeout((()=>{o.canUseDOM&&document.activeElement!==t.$el&&(t.focused=!1,t.focusedIndex=-1,t.$emit("blur",{event:e}),t.computedOpened&&(t.currentOpened=!1,t.dispatchPopupEvent(e,!1)))}),200)},onItemClick(e,t){this.focusedIndex=-1,this.currentOpened=!1,this.dispatchClickEvent(e,t),this.dispatchPopupEvent(e,!1)},onItemDown(e){document.activeElement===this.element()&&e.preventDefault()},mouseDown(e){e.preventDefault()},dispatchClickEvent(e,t){this.isItemDisabled(t)||this.$emit("itemclick",{event:e,item:this.buttonsData[t],itemIndex:t})},onClickMainButton(e){if(!this.buttonsData.length)return;const t=!this.computedOpened;this.currentOpened=t,this.focused=!0,this.focusedIndex=t?0:-1,this.dispatchPopupEvent(e,t)},dispatchPopupEvent(e,t){const o={event:e};this.$emit(t?"open":"close",o)},isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.$props.disabled},isRtl(){return void 0!==this.$props.dir?"rtl"===this.$props.dir:!!this.$el&&"rtl"===getComputedStyle(this.$el).direction}}}),P=t.defineComponent({name:"KendoToolbarItem",render:()=>t.createVNode("div",{class:"k-toolbar-separator k-separator"},null)}),z="prevArrow.title",A="nextArrow.title",E="moreButtonTitle.title",L={[z]:"Previous scroll button",[A]:"Next scroll button",[E]:"More button"},j=t.defineComponent({name:"KendoToolbarScrollButton",props:{buttonScrollSpeed:Number,disabled:Boolean,scrollContentRef:Object,type:String,prevButton:Object,nextButton:Object,dir:String},inject:{kendoLocalizationService:{default:null}},emits:{contentscroll:e=>!0},methods:{getScrollButtonTitle(){const{dir:e,type:t}=this.$props;return"rtl"!==e?"prev"===t?n.provideLocalizationService(this).toLanguageString(z,L[z]):n.provideLocalizationService(this).toLanguageString(A,L[A]):"prev"===t?n.provideLocalizationService(this).toLanguageString(A,L[A]):n.provideLocalizationService(this).toLanguageString(z,L[z])}},render(){const{disabled:e,type:s,scrollContentRef:n,buttonScrollSpeed:r,prevButton:l,nextButton:a}=this.$props;return t.createVNode("span",{class:o.classNames("k-button","k-button-md","k-button-solid","k-button-solid-base","k-rounded-md","k-icon-button",`k-toolbar-${s}`,{"k-disabled":e}),title:this.getScrollButtonTitle(),"aria-hidden":!0,tabindex:e?-1:void 0,onClick:()=>{n&&r&&(n.scrollBy({left:"next"===s?r:-r,behavior:"smooth"}),this.$emit("contentscroll",s))}},[t.createVNode(o.SvgIcon,{icon:"prev"===s?i.caretAltLeftIcon:i.caretAltRightIcon,class:"k-button-icon"},null)])}}),W=t.defineComponent({name:"ToolbarScrollable",props:{scrollButtons:String,scrollButtonsPosition:String,isOverflowing:Boolean,buttonScrollSpeed:Number,dir:String,isScrollStartPosition:Boolean,isScrollEndPosition:Boolean,prevButton:Object,nextButton:Object,toolbarItems:Object},emits:{contentscroll:e=>!0},data:()=>({scrollContentRef:null}),mounted(){this.scrollContentRef=this.$refs.scrollContentRef},methods:{onContentScroll(e){this.$emit("contentscroll",e)}},render(){const{scrollButtons:e,buttonScrollSpeed:o,prevButton:i,nextButton:s,scrollButtonsPosition:n,dir:r,isScrollStartPosition:l,isScrollEndPosition:a,toolbarItems:d}=this.$props,c=(e,n)=>t.createVNode(j,{type:e,dir:r,disabled:n,scrollContentRef:this.scrollContentRef,buttonScrollSpeed:o,prevButton:i,nextButton:s,onContentscroll:this.onContentScroll},null),u="visible"===e||"auto"===e&&this.$props.isOverflowing;return t.createVNode(t.Fragment,null,[u&&"split"===n&&t.createVNode(t.Fragment,null,[c("rtl"!==r?"prev":"next",l),t.createVNode(P,{class:"k-toolbar-button-separator"},null)]),u&&"start"===n&&t.createVNode(t.Fragment,null,[c("rtl"!==r?"prev":"next",l),c("rtl"!==r?"next":"prev",a),t.createVNode(P,{class:"k-toolbar-button-separator"},null)]),t.createVNode("span",{class:"k-toolbar-items k-toolbar-items-scroll",ref:"scrollContentRef"},[d]),u&&"split"===n&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),c("rtl"!==r?"next":"prev",a)]),u&&"end"===n&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),c("rtl"!==r?"prev":"next",l),c("rtl"!==r?"next":"prev",a)])])}}),U=t.defineComponent({name:"ToolbarOverflowSection",props:{toolbarRef:Object,toolbarWidth:Number,fillMode:String,size:String,visibleTools:Array,overFlowTools:Array,opened:Boolean,allTools:Array},emits:{toggleoverflow:e=>!0},inject:{kendoLocalizationService:{default:null}},methods:{handleClick(){this.$emit("toggleoverflow",!this.$props.opened)}},render(){const{visibleTools:e,overFlowTools:r,allTools:l}=this.$props,{toolbarRef:a,toolbarWidth:d,fillMode:c,size:p}=this.$props;return t.createVNode(t.Fragment,null,[e&&[...l].splice(0,e.length),r.length>0&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),t.createVNode(u,{ref:"buttonRef",class:"k-toolbar-overflow-button",fillMode:"flat",svgIcon:i.moreHorizontalIcon,title:n.provideLocalizationService(this).toLanguageString(E,L[E]),onClick:this.handleClick},null),t.createVNode(s.Popup,{anchor:a,show:this.$props.opened,popupClass:"k-toolbar-popup",key:d,style:{width:d+"px"}},{default:()=>[t.createVNode("span",{class:`k-toolbar-items-list k-toolbar-items-list-${o.kendoThemeMaps.sizeMap[p]} k-toolbar-items-list-${c}`},[e&&[...l].splice(e.length,l.length)])]})])])}}),_=t.defineComponent({name:"KendoToolbar",props:{tabIndex:{type:Number,default:0},dir:{type:String,validator:function(e){return[null,"ltr","rtl"].includes(e)},default:"ltr"},keyboardNavigation:{type:Boolean,default:!0},buttons:{type:Array,default:function(){}},size:{type:String,default:"medium",validator:function(e){return[null,"small","medium","large"].includes(e)}},fillMode:{type:String,default:"solid",validator:function(e){return[null,"solid","flat","outline"].includes(e)}},ariaLabel:String,overflow:{type:String,default:"section",validator:function(e){return[null,"none","section","scroll"].includes(e)}},scrollButtons:{type:String,default:"auto",validator:function(e){return[null,"hidden","visible","auto"].includes(e)}},scrollButtonsPosition:{type:String,default:"split",validator:function(e){return[null,"start","end","split"].includes(e)}},buttonScrollSpeed:{type:Number,default:100}},emits:{resize:e=>!0},data:()=>({defaultSlot:null,offsetWidth:0,offsetHeight:0,currentButtons:[],focusedSelector:"",isScrollStartPosition:!0,isScrollEndPosition:!1,focusableButtons:[],isOverflowing:!1,scrollContentRef:null,lastToolbarWidthRef:0,overFlowToolsRef:[],overFlowOpened:!1,visibleToolsRef:void 0}),created(){this.focusedSelector=this.selectors.map((e=>e+":focus")).join(","),o.validatePackage(d)},computed:{selectors(){return this.$props.buttons||l},wrapperClass(){const{size:e,fillMode:t,overflow:i,scrollButtons:s}=this.$props;return{"k-toolbar":!0,[`k-toolbar-${t}`]:t,[`k-toolbar-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-toolbar-scrollable":"scroll"===i,"k-toolbar-scrollable-overlay":"scroll"===i&&("hidden"===s||void 0===s),"k-toolbar-scrollable-start":"scroll"===i&&"hidden"===s&&this.isScrollStartPosition,"k-toolbar-scrollable-end":"scroll"===i&&"hidden"===s&&this.isScrollEndPosition,"k-toolbar-section":i&&"section"===i}}},mounted(){o.canUseDOM&&window.ResizeObserver&&(this.observerResize=new window.ResizeObserver(this.onWindowResize),this.observerResize.observe(this.$el));const e=this.$el;e&&(this.offsetWidth=e.offsetWidth,this.offsetHeight=e.offsetHeight,!1!==this.$props.keyboardNavigation&&(this.currentButtons=this.getCurrentButtons(),this.setTabIndex(0))),this.scrollContentRef=this.$refs.toolbarScrollable&&this.$refs.toolbarScrollable.scrollContentRef,this.defaultSlot&&(this.visibleToolsRef=this.defaultSlot.filter((e=>e&&e.type)).map(((e,o)=>t.cloneVNode(e,{key:e.key||o}))),this.$nextTick((()=>{this.checkOverflow(),this.initOverflow(this.$refs.toolbar)})))},updated(){!this.$el||!1===this.$props.keyboardNavigation||(this.currentButtons=this.getCurrentButtons(),this.setTabIndex(this.focusedIndex()))},unmounted(){o.canUseDOM&&this.observerResize&&this.observerResize.disconnect(),this.currentButtons.length=0},render(){const{overflow:e,scrollButtons:i,scrollButtonsPosition:s,prevButton:n,nextButton:r,buttonScrollSpeed:l,dir:a,fillMode:d,size:c}=this.$props;return this.defaultSlot=o.getDefaultSlots(this),t.createVNode("div",{ref:"toolbar",class:this.wrapperClass,role:"toolbar",dir:a,"aria-label":this.$props.ariaLabel,onKeydown:this.onKeyDown},["scroll"===e&&t.createVNode(t.Fragment,null,[t.createVNode(W,{ref:"toolbarScrollable",scrollButtons:i,scrollButtonsPosition:s,prevButton:n,nextButton:r,isOverflowing:this.isOverflowing,buttonScrollSpeed:l,dir:a,isScrollStartPosition:this.isScrollStartPosition,isScrollEndPosition:this.isScrollEndPosition,toolbarItems:this.defaultSlot,onContentscroll:this.onContentScroll},null)]),"section"===e&&t.createVNode(U,{opened:this.overFlowOpened,toolbarRef:this.$refs.toolbar,toolbarWidth:this.offsetWidth,fillMode:d,size:c,visibleTools:this.visibleToolsRef,overFlowTools:this.overFlowToolsRef,onToggleoverflow:this.onToggleoverflow,allTools:this.defaultSlot},null),"none"===e&&this.defaultSlot])},methods:{getCurrentButtons(){return this.$el&&this.$el.querySelectorAll?Array.from(this.$el.querySelectorAll(this.selectors.join(","))):[]},getInternalButtons(){return this.$el&&this.$el.querySelectorAll?Array.from(this.$el.querySelectorAll(".k-dropdownlist > .k-button,.k-colorpicker > .k-button")):[]},focusedIndex(){const e=this.$el&&this.$el.querySelector&&this.$el.querySelector(this.focusedSelector);return Math.max(0,this.currentButtons.findIndex((t=>t===e)))},setTabIndex(e){const{tabIndex:t}=this.$props;this.currentButtons.forEach(((o,i)=>{o.tabIndex=i===e?t:-1})),this.getInternalButtons().forEach((e=>{e.tabIndex=-1}))},onKeyDown(e){if(!1===this.$props.keyboardNavigation)return;const t=e.target;if(e.keyCode!==o.Keys.left&&e.keyCode!==o.Keys.right||e.defaultPrevented||-1===this.currentButtons.findIndex((e=>e===t)))return;const i=this.focusedIndex();e.keyCode===o.Keys.left?this.focusButton(i,i-1):this.focusButton(i,i+1)},focusButton(e,t){const{tabIndex:o}=this.$props,i=this.currentButtons[t];if(i){i.tabIndex=o,i.focus();const t=this.currentButtons[e];t&&(t.tabIndex=-1)}},initOverflow(e,t){let o=200;const i=[],s=[];Array.from(e.children).forEach(((e,t)=>{o+=Math.ceil(e.clientWidth),o<=this.$refs.toolbar.offsetWidth-50?i.push(this.visibleToolsRef[t]):s.push(this.visibleToolsRef[t])})),this.visibleToolsRef=i,this.overFlowToolsRef=s},checkOverflow(){if("scroll"===this.$props.overflow){const e=this.scrollContentRef;e&&(this.isOverflowing=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight,this.isOverflowing?this.onContentScroll():(this.isScrollStartPosition=!0,this.isScrollEndPosition=!0))}else if("section"===this.$props.overflow||void 0===this.$props.overflow){const e=this.$refs.toolbar;let t=0;if(e){const o=e.offsetWidth,i=parseInt(window.getComputedStyle(e).gap||"0",10),s=Array.from(e.children).reduce(((e,t)=>e+=Math.ceil(t.clientWidth)),0),n=Array.from(e.children).length,r=2*i;if(t=36+Number(s)+n*i+r,t>o){const e=[...this.visibleToolsRef],t=e.pop();this.visibleToolsRef=e,t&&(this.overFlowToolsRef=[t,...this.overFlowToolsRef]),this.lastToolbarWidthRef=o}else if(o>this.lastToolbarWidthRef+i*n/2.75){const e=[...this.overFlowToolsRef],t=e.shift();t&&this.lastToolbarWidthRef+i*n>30&&(this.overFlowToolsRef=e,this.visibleToolsRef=[...this.visibleToolsRef,t]),this.lastToolbarWidthRef=o}else this.$forceUpdate()}}},onWindowResize(e){window.requestAnimationFrame((()=>{const t=this.$el;if(this.overFlowOpened=!1,!t)return;const o=t.offsetWidth,i=t.offsetHeight;if(this.offsetWidth!==o||this.offsetHeight!==i){this.offsetWidth=o,this.offsetHeight=i;const t={offsetWidth:this.offsetWidth,offsetHeight:this.offsetHeight};this.$emit("resize",{target:this,...t,nativeEvent:e})}this.checkOverflow()}))},onContentScroll(e){const t=this.scrollContentRef;if(e&&t){let o,i;o="next"!==e&&(t.scrollLeft<=this.$props.buttonScrollSpeed||0===t.scrollLeft),i="prev"!==e&&(t.scrollLeft+t.clientWidth+this.$props.buttonScrollSpeed>=t.scrollWidth||t.scrollLeft+t.clientWidth===t.scrollWidth),this.isScrollStartPosition=!!o,this.isScrollEndPosition=!!i}else this.isScrollStartPosition=!0,this.isScrollEndPosition=!1},onToggleoverflow(e){this.overFlowOpened=e}}}),q=t.defineComponent({name:"KendoToolbarItem",methods:{element(){return this.$el}},render(){const e=o.getDefaultSlots(this);return t.createVNode("div",{class:"k-toolbar-item"},[e])}}),H=t.defineComponent({name:"KendoToolbarItem",render:()=>t.createVNode("span",{class:"k-spacer"},null)});let G=function(e){return e.WebSpeech="WebSpeech",e.None="None",e}({});const J=t.defineComponent({name:"KendoSpeechToTextButton",props:{lang:{type:String,default:"en-US"},continuous:{type:Boolean,default:!1},interimResults:{type:Boolean,default:!1},maxAlternatives:{type:Number,default:1},integrationMode:{type:String,default:G.WebSpeech},onStart:{type:Function},onResult:{type:Function},onEnd:{type:Function},onError:{type:Function},svgIcon:{type:Object,default:i.microphoneOutlineIcon},iconSize:{type:String,default:"medium"},disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"},title:{type:String,default:"Speech to Text Button"},ariaLabel:{type:String,default:"Start speech recognition"}},setup(e,{emit:o,expose:i}){const s=t.ref(null),n=t.ref(!1),l=()=>e.integrationMode!==G.None,a="undefined"==typeof window||"webkitSpeechRecognition"in window||"SpeechRecognition"in window||(e.onError&&e.onError({errorMessage:"Speech Recognition API is not supported in this browser."}),!1),d=()=>{var e;n.value||(l&&(null==(e=s.value)||e.start()),n.value=!0)},c=()=>{var e;n.value&&(l&&(null==(e=s.value)||e.stop()),n.value=!1)},u=async()=>{n.value||e.onStart&&(await e.onStart(),d())},p=e=>{const t=e.results,i=t[t.length-1],s=Array.from(i).map((e=>({transcript:e.transcript,confidence:e.confidence})));o("result",{isFinal:i.isFinal,alternatives:s})},h=async()=>{n.value&&e.onEnd&&(await e.onEnd(),c())},m=e=>{o("error",e)},f=()=>{var t;a&&e.integrationMode===G.WebSpeech&&(null!=(t=s.value)&&t.isActive()&&c(),s.value=function(e){return new r.KendoSpeechRecognition(e)}({lang:e.lang,continuous:e.continuous,interimResults:e.interimResults,integrationMode:e.integrationMode,maxAlternatives:e.maxAlternatives,events:{start:u,result:p,end:h,error:m}}))};return t.watch((()=>({lang:e.lang,continuous:e.continuous,interimResults:e.interimResults,integrationMode:e.integrationMode,maxAlternatives:e.maxAlternatives})),(()=>{f()}),{deep:!0}),t.onMounted((()=>{f()})),t.onUnmounted((()=>{var e;null!=(e=s.value)&&e.isInActiveState&&c()})),i({start:d,stop:c,abort:()=>{var e;n.value&&l&&(null==(e=s.value)||e.abort(),n.value=!1)},isActive:()=>{var e;return null==(e=s.value)?void 0:e.isActive()}}),{clickHandler:()=>{a&&(n.value?h():u())},isInActiveState:n}},render(){const{ariaLabel:e,svgIcon:o,fillMode:s,rounded:n,size:r,disabled:l,themeColor:a,iconSize:d,title:c}=this.$props,{className:p,style:h,id:m}=this.$attrs,f=t.computed((()=>["k-speech-to-text-button",p,{"k-listening":this.isInActiveState}])),g=t.computed((()=>this.isInActiveState?i.stopSmIcon:o||i.microphoneOutlineIcon));return t.createVNode(u,{id:m,style:h,class:f.value,onClick:this.clickHandler,svgIcon:g.value,iconSize:d,fillMode:s,rounded:n,size:r,themeColor:a,"aria-label":e,disabled:l,title:c},null)}});e.Button=u,e.ButtonGroup=m,e.ButtonItem=F,e.Chip=y,e.ChipList=k,e.DropDownButton=M,e.FloatingActionButton=N,e.FloatingActionButtonItem=$,e.SpeechToTextButton=J,e.SpeechToTextButtonMode=G,e.SplitButton=V,e.Toolbar=_,e.ToolbarItem=q,e.ToolbarSeparator=P,e.ToolbarSpacer=H}));
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-popup"),require("@progress/kendo-vue-intl"),require("@progress/kendo-webspeech-common")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-svg-icons","@progress/kendo-vue-popup","@progress/kendo-vue-intl","@progress/kendo-webspeech-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueButtons={},e.Vue,e.KendoVueCommon,e.KendoSVGIcons,e.KendoVuePopup,e.KendoVueIntl,e.KendoWebspeechCommon)}(this,(function(e,t,o,i,s,n,r){"use strict";const l=["button:not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",".k-button-group > button",".k-dropdownlist",".k-colorpicker"],a={button:"k-button","state-disabled":"k-disabled","group-start":"k-group-start","group-end":"k-group-end","button-group":"k-button-group","button-group-stretched":"k-button-group-stretched"},d={name:"@progress/kendo-vue-buttons",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1657089513,version:"7.0.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},c=a,u=t.defineComponent({name:"KendoButton",emits:{click:e=>!0,mousedown:e=>!0,mouseup:e=>!0,pointerdown:e=>!0,pointerup:e=>!0,focus:e=>!0,blur:e=>!0,keypress:e=>!0,keydown:e=>!0,contextmenu:e=>!0},props:{ariaLabel:String,ariaPressed:Boolean,title:String,dir:String,selected:{type:Boolean,default:void 0},togglable:{type:Boolean,default:!1},icon:{type:String,default:function(){}},svgIcon:Object,iconSize:{type:String,default:"medium"},iconClass:{type:String,default:function(){}},imageUrl:{type:String,default:function(){}},imageAlt:String,disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},shape:{type:String},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"},tabIndex:Number,accessKey:String,id:String,type:String,role:String},created(){o.validatePackage(d),this.currentActive=!0===this.$props.togglable&&!0===this.$props.selected,this._activeTemp=void 0},data:()=>({currentActive:null}),computed:{computedSelected(){return void 0!==this._activeTemp?this._activeTemp:void 0!==this.$props.selected?this.$props.selected:this.currentActive},buttonClasses(){const{disabled:e,icon:t,iconClass:i,imageUrl:s,dir:n,svgIcon:r,size:l,shape:a,rounded:d,fillMode:u,themeColor:p}=this.$props,h=void 0!==r||void 0!==t||void 0!==i||void 0!==s,m=o.getDefaultSlots(this);return{[c.button]:!0,[`k-button-${o.kendoThemeMaps.sizeMap[l]||l}`]:l,[`k-button-${a}`]:a&&"rectangle"!==a,[`k-rounded-${o.kendoThemeMaps.roundedMap[d]||d}`]:d,"k-icon-button":!m&&h,"k-disabled":e,"k-selected":this.computedSelected,"k-rtl":"rtl"===n,[`k-button-${u}`]:u,[`k-button-${u}-${p}`]:u&&p}}},updated(){this.$props.togglable&&void 0!==this.$props.selected&&this.$props.selected!==this.currentActive&&(this.currentActive=this.$props.selected)},methods:{focus(e){this.$el.focus(e)},toggleIfApplicable(){if(!this.disabled&&this.$props.togglable&&void 0===this.$props.selected){const e=!this.currentActive;this._activeTemp=e,this.currentActive=e,this._activeTemp=void 0}},handleClick(e){this.toggleIfApplicable(),this.disabled||this.$emit("click",e)},handleMouseDown(e){this.disabled||this.$emit("mousedown",e)},handlePointerDown(e){this.disabled||this.$emit("pointerdown",e)},handleMouseUp(e){this.disabled||this.$emit("mouseup",e)},handlePointerUp(e){this.disabled||this.$emit("pointerup",e)},handleFocus(e){this.disabled||this.$emit("focus",{event:e})},handleBlur(e){this.disabled||this.$emit("blur",{event:e})},handleKeypress(e){this.disabled||this.$emit("keypress",e)},handleKeydown(e){this.disabled||this.$emit("keydown",e)},handleContextmenu(e){this.disabled||this.$emit("contextmenu",e)}},render(){const{togglable:e,icon:i,svgIcon:s,iconClass:n,imageUrl:r,imageAlt:l,accessKey:a,tabIndex:d,id:c,type:u,disabled:p,role:h,iconSize:m}=this.$props,f=o.getDefaultSlots(this);return t.createVNode("button",{class:this.buttonClasses,onClick:this.handleClick,onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onPointerdown:this.handlePointerDown,onPointerup:this.handlePointerUp,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeypress:this.handleKeypress,onKeydown:this.handleKeydown,onContextmenu:this.handleContextmenu,title:this.title,"aria-label":this.ariaLabel,"aria-disabled":p||void 0,"aria-pressed":e?!!this.currentActive:void 0,accesskey:a,tabindex:d,id:c,type:u,role:h},[function(){if(r)return t.createVNode("img",{role:"presentation",class:"k-image",alt:l,src:r},null);if(i||s){const e=o.classNames("k-button-icon",n);return t.createVNode(o.Icon,{name:i,icon:s,class:e,size:m},null)}return n?t.createVNode("span",{role:"presentation",class:n},null):null}.call(this),f&&t.createVNode("span",{class:"k-button-text"},[f])])}}),p=t.defineComponent({name:"KendoButtonWrap",render(){return o.getDefaultSlots(this)[0]}}),h=a,m=t.defineComponent({name:"KendoButtonGroup",props:{disabled:{type:Boolean,default:void 0},width:String,dir:{type:String,default:function(){}}},created(){o.validatePackage(d)},render(){const e=o.getDefaultSlots(this),i=function(e,i,s,n){const r=o.classNames({[h["state-disabled"]]:this.$props.disabled,[h["group-start"]]:n?s:0===i,[h["group-end"]]:n?0===i:s});return t.h(p,{class:r,"aria-disabled":this.$props.disabled},(function(){return[e]}))},s=o.classNames([h["button-group"]],{"k-disabled":this.$props.disabled,[h["button-group-stretched"]]:!!this.$props.width});return t.createVNode("div",{style:{width:this.width},dir:this.$props.dir,role:"group","aria-disabled":this.$props.disabled,class:s},[function(e){const t=e.length,o=void 0!==this.$props.dir?"rtl"===this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1;return e.map(((e,s)=>this.isValidButton(e)?i.call(this,e,s,s===t-1,o):e))}.call(this,e)])},methods:{isValidButton:e=>e&&e.tag&&-1!==e.tag.toLowerCase().indexOf("button")||e.componentOptions&&e.componentOptions.tag&&-1!==e.componentOptions.tag.toLowerCase().indexOf("button")||e.type&&e.type.name&&-1!==e.type.name.toLowerCase().indexOf("kendobutton")}});let f=function(e){return e.next="next",e.prev="prev",e.current="current",e.reset="reset",e}({});let g=function(e){return e.remove="remove",e.add="add",e.reorder="reorder",e}({});let b=function(e){return e.single="single",e.multiple="multiple",e.none="none",e}({}),v=function(e){return e.toggle="toggle",e.remove="remove",e}({});const y=t.defineComponent({name:"KendoVueChip",props:{id:String,text:String,avatar:{type:[String,Function,Object],default:function(){}},value:[String,Object],dir:{type:String,default:function(){return"ltr"}},removable:{type:Boolean,default:!1},removeIcon:{type:String,default:function(){return"x-circle"}},removeSvgIcon:{type:Object,default:function(){return i.xCircleIcon}},disabled:{type:Boolean,default:!1},icon:String,svgIcon:Object,selectedIcon:{type:String,default:function(){return"check"}},selectedSvgIcon:{type:Object,default:function(){return i.checkIcon}},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","error","info","success","warning"].includes(e)}},dataItem:Object,selected:Boolean,ariaDescribedBy:String,role:{type:String,default:"button"},tabIndex:Number,onMousedown:Function},emits:{click:e=>!0,keydown:e=>!0,blur:e=>!0,focus:e=>!0,remove:e=>!0},inject:{kendoSelection:{default:{value:null}},kendoFocused:{default:{value:null}},kendoDataItems:{default:null},handleDispatchDataItems:{default:o.noop},handleDispatchSelection:{default:o.noop},handleDispatchFocus:{default:o.noop}},created(){this.currentDir=void 0,o.validatePackage(d)},mounted(){this.chip=o.getRef(this,"chip"),this.currentDir=void 0!==this.$props.dir?"rtl"===this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1},updated(){this.kendoFocused.value===this.$props.value&&this.$el&&this.$el.focus()},computed:{currentSelected(){return this.$props.selected||(Array.isArray(this.kendoSelection.value)?this.kendoSelection.value.some((e=>e===this.$props.value)):this.kendoSelection.value===this.$props.value)},chipLabelClass:()=>({"k-chip-label":!0})},methods:{computedFocused(){return this.kendoFocused.value===this.$props.value},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.handleDispatchSelection&&this.handleDispatchSelection({type:v.toggle,payload:this.$props.value,event:e}),this.$emit("click",{target:this.target,event:e})},handleRemove(e){e.stopPropagation(),this.$props.removable&&(this.handleDispatchFocus&&(this.handleDispatchDataItems({type:g.remove,payload:this.$props.value,event:e}),this.handleDispatchFocus({type:f.reset,payload:this.$props.value,event:e}),this.handleDispatchSelection({type:v.remove,payload:this.$props.value,event:e})),this.$emit("remove",{target:this.target,event:e}))},handleKeyDown(e){switch(e.keyCode){case o.Keys.left:this.handleDispatchFocus&&this.handleDispatchFocus({type:f.prev,payload:this.$props.value,event:e});break;case o.Keys.right:this.handleDispatchFocus&&this.handleDispatchFocus({type:f.next,payload:this.$props.value,event:e});break;case o.Keys.enter:this.handleDispatchFocus&&this.handleDispatchSelection({type:v.toggle,payload:this.$props.value,event:e});break;case o.Keys.delete:this.handleRemove(e)}this.$emit("keydown",{target:this.target,event:e})},handleFocus(e){this.handleDispatchFocus&&this.handleDispatchFocus({payload:this.$props.value,type:f.current,event:e}),this.$emit("focus",{target:this.target,event:e})},handleBlur(e){this.$emit("blur",{target:this.target,event:e})}},setup:()=>({chipRef:t.ref(null)}),render(){const{size:e,rounded:i,themeColor:s,fillMode:n,look:r,avatar:l,icon:a,svgIcon:d,selectedIcon:c,selectedSvgIcon:u,removeIcon:p,removeSvgIcon:h}=this.$props,m=o.templateRendering.call(this,l,o.getListeners.call(this)),f=l?t.createVNode("div",{class:`k-chip-avatar k-avatar k-rounded-${l.rounded||"medium"} k-avatar-${o.kendoThemeMaps.sizeMap[e]||e} k-avatar-solid k-avatar-solid-primary`,style:l.style},[t.createVNode("span",{class:"k-avatar-image"},[t.createVNode("img",{src:l.imageUrl,alt:l.imageAlt},null)])]):null,g=o.getTemplate.call(this,{h:t.h,template:m});return t.createVNode("div",{role:this.$props.role,id:this.$props.value,ref:o.setRef(this,"chip"),dir:this.currentDir,tabindex:o.getTabIndex(this.$props.tabIndex,this.$props.disabled,void 0),class:o.classNames("k-chip",{"k-rtl":"rtl"===this.currentDir,"k-disabled":this.$props.disabled,"k-selected":this.currentSelected,"k-focus":this.computedFocused(),[`k-chip-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,[`k-rounded-${o.kendoThemeMaps.roundedMap[i]||i}`]:i,[`k-chip-${n}`]:n,[`k-chip-${n}-${s}`]:!(!n||!s),"k-chip-outline":"outline"===r||"outlined"===r,"k-chip-solid":"solid"===r||"filled"===r||"solid"===n}),"aria-pressed":"button"===this.$props.role?this.currentSelected:void 0,"aria-selected":"option"===this.$props.role?this.currentSelected:void 0,"aria-disabled":this.$props.disabled,"aria-describedby":this.$props.ariaDescribedBy,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown},[this.currentSelected&&(c||u)&&t.createVNode(o.Icon,{name:o.getIconName(c),icon:u,size:"small"},null),(a||d)&&t.createVNode(o.Icon,{name:o.getIconName(a),icon:d,size:"small"},null),l?l.imageUrl?f:g:null,t.createVNode("span",{class:"k-chip-content"},[this.$props.text&&t.createVNode("span",{"aria-label":this.$props.text,class:this.chipLabelClass},[this.$props.text])]),this.$props.removable&&t.createVNode("span",{class:"k-chip-actions"},[t.createVNode("span",{class:"k-chip-action k-chip-remove-action"},[t.createVNode(o.Icon,{name:o.getIconName(p),icon:h,size:"small",onClick:this.handleRemove},null)])])])}}),k=t.defineComponent({name:"KendoVueChipList",inheritAttrs:!1,props:{id:String,tabIndex:Number,dataItems:Array,defaultDataItems:{type:Array,default:function(){return[]}},value:[Object,Array,String,Number],defaultValue:{type:[Object,Array,String,Number],default:function(){return null}},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","outline","solid"].includes(e)}},selection:{type:String,default:function(){return"none"}},textField:{type:String,default:function(){return"text"}},valueField:{type:String,default:function(){return"value"}},avatarField:{type:String,default:function(){return"avatar"}},disabled:{type:Boolean,default:!1},dir:{type:String,default:function(){return"ltr"}},chip:[String,Function,Object],ariaLabelledBy:String,ariaDescribedBy:String},emits:{change:e=>!0,datachange:e=>!0},provide(){return{kendoSelection:this.currentValue,kendoFocused:this.currentFocused,kendoDataItems:this.computedDataItems,handleDispatchDataItems:this.handleDispatchDataItems,handleDispatchSelection:this.handleDispatchSelection,handleDispatchFocus:this.handleDispatchFocus}},created(){o.validatePackage(d),this.currentDataItems=this.$props.dataItems||this.$props.defaultDataItems,this.currentValue.value=this.$props.value||this.$props.defaultValue},data:()=>({currentDataItems:[],currentDir:"ltr",isRtl:!1,currentFocused:{value:!1},currentValue:{value:null}}),mounted(){this.chipList=this.chipListRef,this.currentDir=void 0!==this.$props.dir?this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1,this.isRtl="rtl"===this.currentDir},computed:{computedDataItems(){return this.$props.dataItems||this.currentDataItems},computedValue(){return this.$props.value||this.currentValue.value},items(){return this.computedDataItems.reduce(this.itemsReducer,[])}},methods:{handleDispatchSelection(e){const t=((e,t)=>{switch(t.selection){case b.single:switch(t.type){case v.toggle:if(!Array.isArray(e)||null===e)return t.payload===e?null:t.payload;throw new Error("State cannot be an array in single selection");case v.remove:return t.payload===e?null:e;default:return e}case b.multiple:switch(t.type){case v.toggle:if(Array.isArray(e))return e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload];if(null===e)return[t.payload];throw new Error("State cannot be non-array in multiple selection");case v.remove:return Array.isArray(e)?e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload]:e;default:return e}case b.none:return null;default:return e}})(this.computedValue,{...e,selection:this.$props.selection,state:this.computedValue});this.handleChange(t,e.event),this.currentValue.value=t},handleDispatchFocus(e){const t=((e,t)=>{const o=t.items.findIndex((t=>t===e));switch(t.type){case f.next:return o===t.items.length-1?e:t.items[o+1];case f.prev:return 0===o?e:t.items[o-1];case f.current:return t.payload;case f.reset:return null;default:return e}})(e.payload,{...e,items:this.items});this.currentFocused.value=t},handleDispatchDataItems(e){const t=((e,t)=>{switch(t.type){case g.add:break;case g.remove:return e.filter((e=>e[t.valueField]!==t.payload));case g.reorder:break;default:return e}})(this.computedDataItems,{...e,state:this.computedDataItems,valueField:this.$props.valueField});this.handleDataChange(t,e.event),this.currentDataItems=t},handleChange(e,t){this.$el&&this.$emit("change",{value:e,target:this.$el,event:t})},handleDataChange(e,t){this.$el&&this.$emit("datachange",{value:e,target:this.$el,event:t})},itemsReducer(e,t){return e.push(t[this.$props.valueField||this.$props.valueField]),e}},setup:()=>({chipListRef:t.ref(null)}),render(){const{size:e}=this.$props;return t.createVNode("div",{ref:o.setRef(this,"chipList"),role:"listbox",id:this.$props.id,dir:this.currentDir,style:this.$attrs.style,tabindex:o.getTabIndex(this.$props.tabIndex,this.$props.disabled,void 0),class:o.classNames("k-chip-list",{[`k-chip-list-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-rtl":"rtl"===this.currentDir,"k-selection-single":"single"===this.$props.selection,"k-selection-multiple":"multiple"===this.$props.selection,"k-disabled":this.$props.disabled}),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,"aria-orientation":"horizontal","aria-multiselectable":"multiple"===this.$props.selection||void 0},[this.computedDataItems.map((function(e){const i=o.templateRendering.call(this,this.$props.chip,o.getListeners.call(this)),s=t.createVNode(y,{role:"option",dataItem:e,key:e[this.$props.valueField],text:e[this.$props.textField],value:e[this.$props.valueField],avatar:e[this.$props.avatarField],size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode},null);return o.getTemplate.call(this,{h:t.h,template:i,defaultRendering:s,additionalProps:{dataItem:e,key:e[this.$props.valueField],text:e[this.$props.textField],value:e[this.$props.valueField],size:this.$props.size}})}),this)])}}),$=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:(e,t)=>!0,down:e=>!0},mounted(){this.element=o.getRef(this,"element")},computed:{itemClassNames(){return o.classNames("k-fab-item",{"k-focus":this.focused,"k-disabled":this.disabled})}},methods:{handleClick(e){void 0!==this.$props.index&&!this.$props.disabled&&this.$emit("click",e,this.$props.index)},focusElement(){this.$el&&this.$el.focus()},onMouseDown(e){this.$emit("down",e)}},setup:()=>({elementRef:t.ref(null)}),render(){const{disabled:e,id:i,tabIndex:s,dataItem:n}=this.$props,{text:r,icon:l,svgIcon:a}=n;let d;const c=t.createVNode("li",{ref:o.setRef(this,"element"),id:i,class:this.itemClassNames,role:"menuitem",tabindex:o.getTabIndex(s,e),"aria-disabled":e,"aria-label":`${r||""} floatingactionbutton item`,onClick:this.handleClick,onMousedown:this.onMouseDown,onPointerdown:this.onMouseDown},[r&&t.createVNode("span",{class:"k-fab-item-text"},[r]),(a||l)&&t.createVNode(o.Icon,{name:l,icon:a,class:"k-fab-item-icon"},null)]);return d=o.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.handleClick}}),d}}),S="16px",I=e=>"number"==typeof e?e+"px":e,x=(e,t)=>{const o={horizontal:t?"right":"left",vertical:"bottom"};return"end"===e.horizontal&&(o.horizontal=t?"left":"right"),o},C=(e,t)=>{const o={horizontal:t?"right":"left",vertical:"top"};return"end"===e.horizontal&&(o.horizontal=t?"left":"right"),o},w=(e,t)=>({rtl:{end:"k-text-left",start:"k-text-right"},ltr:{start:"k-text-left",end:"k-text-right"}}[e]["end"===t?"end":"start"]),D=(e,t,o,i)=>{const s=t.horizontal,n=t.vertical;if(e){const r=o&&void 0!==o.x?I(o.x):S,l=o&&void 0!==o.x?`calc(50% + ${I(o.x)})`:"50%",a=o&&void 0!==o.y?I(o.y):S,d=o&&void 0!==o.y?`calc(50% + ${I(o.y)})`:"50%";e.style.setProperty(O(t,i),"center"===s?l:r),e.style.setProperty(B(t),"middle"===n?d:a),i&&(("top"===n||"bottom"===n)&&"start"===s&&e.style.setProperty("left","unset"),"middle"===n&&"end"===s&&e.style.setProperty("right","unset"),"middle"===n&&"start"===s&&e.style.setProperty("left","unset"))}},O=(e,t)=>{const{horizontal:o}=e;return{end:t?"left":"right",center:"left",start:t?"right":"left"}[o||"end"]},B=e=>({top:"top",middle:"top",bottom:"bottom"}[e.vertical||"bottom"]),N=t.defineComponent({name:"KendoVueFloatingActionButton",props:{id:String,dir:String,tabIndex:Number,accessKey:String,disabled:{type:Boolean,default:!1},icon:String,svgIcon:Object,iconClass:String,items:[Object,Array],item:[String,Function,Object],text:String,alignOffset:Object,opened:{type:Boolean,default:void 0},align:{type:Object,default:function(){return{vertical:"bottom",horizontal:"end"}}},positionMode:{type:String,default:function(){return"fixed"}},popupSettings:{type:Object,default:function(){return{}}},shape:{type:String,default:function(){return"rectangle"}},rounded:{type:String,default:"full"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},size:{type:String,default:function(){return"medium"}},themeColor:{type:String,default:function(){return"primary"}}},emits:{click:e=>!0,mousedown:e=>!0,mouseup:e=>!0,open:e=>!0,close:e=>!0,itemclick:e=>!0,focus:e=>!0,blur:e=>!0,keydown:e=>!0},data:()=>({currentOpened:!1,currentFocused:!1,focusedIndex:-1,currentDir:"ltr",isRtl:!1}),created(){o.validatePackage(d),this.element=void 0,this._anchor=o.guid(),this.listId=o.guid(),this.buttonId=o.guid()},mounted(){this.element=this.kendoAnchorRef,this.list=o.getRef(this,"list"),this.popup=o.getRef(this,"popup"),this.currentDir=void 0!==this.$props.dir?this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1,this.isRtl="rtl"===this.currentDir,void 0!==this.opened&&D(this.$el,this.$props.align,this.$props.alignOffset,this.isRtl)},updated(){D(this.$el,this.$props.align,this.$props.alignOffset,this.isRtl),this.currentFocused&&this.element&&this.element.focus()},computed:{buttonClassNames(){const{size:e,icon:t,shape:i,themeColor:s,fillMode:n,rounded:r}=this.$props;return{"k-fab":!0,[`k-fab-${i||"rectangle"}`]:null!==i,[`k-fab-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,[`k-rounded-${o.kendoThemeMaps.roundedMap[r]||r}`]:r,[`k-fab-${n}`]:n,[`k-fab-${n}-${s}`]:n&&s,"k-disabled":this.$props.disabled,"k-focus":this.currentFocused,[`k-${this.$props.align.vertical}-${this.$props.align.horizontal}`]:!0}},computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},rootClassNames(){return o.classNames({"k-pos-absolute":"absolute"===this.$props.positionMode,"k-pos-fixed":"fixed"===this.$props.positionMode})}},methods:{dispatchPopupEvent(e,t){this.$props.items&&this.$emit(t?"open":"close",{event:e,isOpened:!t})},handleClick(e){if(e.target&&!this.$props.disabled)if(this.$props.items){const t=!this.computedOpened;this.currentOpened=t,this.currentFocused=!0,this.focusedIndex=t?0:-1,this.dispatchPopupEvent(e,!this.computedOpened)}else this.$emit("click",e,void 0)},handleFocus(e){this.currentFocused=!0,this.focusedIndex=this.computedOpened?0:-1,this.$emit("focus",{event:e})},handleBlur(e){this.currentFocused=!1,this.currentOpened=!1,this.focusedIndex=-1,this.$emit("blur",{event:e}),this.computedOpened&&this.dispatchPopupEvent(e,!1)},handleMouseDown(e){e.preventDefault(),this.$emit("mousedown",e)},handleMouseUp(e){this.$emit("mouseup",e)},dispatchItemClickEvent(e,t){this.$props.items&&(this.$props.items[t].disabled||this.$emit("itemclick",e,{itemProps:this.$props.items[t],itemIndex:t}))},handleItemClick(e,t){!e.target||!this.$props.items||(this.focusedIndex=t,this.currentOpened=!1,this.dispatchItemClickEvent(e,t),this.dispatchPopupEvent(e,!1))},handleItemDown(e){o.canUseDOM&&document.activeElement===this.element&&e.preventDefault()},handleKeyDown(e){const t=this.focusedIndex,i=this.$props.items?this.$props.items.length-1:-1,s="bottom"===this.$props.align.vertical;switch(e.keyCode){case o.Keys.enter:case o.Keys.space:t>=0&&this.dispatchItemClickEvent(e,t),e.preventDefault(),this.currentOpened=!this.currentOpened,this.focusedIndex=this.currentOpened?-1:0;break;case o.Keys.esc:e.preventDefault(),this.currentOpened=!1,this.focusedIndex=-1;break;case o.Keys.home:e.preventDefault(),this.focusedIndex=0;break;case o.Keys.end:e.preventDefault(),this.focusedIndex=i;break;case o.Keys.down:case o.Keys.right:e.preventDefault(),t<i&&!s&&(this.focusedIndex=t+1),t>0&&s&&(this.focusedIndex=t-1);break;case o.Keys.up:case o.Keys.left:e.preventDefault(),t>0&&!s&&(this.focusedIndex=t-1),t<i&&s&&(this.focusedIndex=t+1)}this.$emit("keydown",e,void 0)}},setup:()=>({chipRef:t.ref(null),kendoAnchorRef:t.ref(null)}),render(){const{align:e,disabled:i,icon:n,svgIcon:r,iconClass:l,id:a,items:d,text:c,tabIndex:u,accessKey:p,popupSettings:h}=this.$props,m=o.templateRendering.call(this,this.$props.item,o.getListeners.call(this)),f=function(){return d&&d.map((function(s,n){return t.createVNode($,{key:n,index:n,id:`${this.listId}-${n}`,disabled:i||s.disabled,focused:this.focusedIndex===n,dataItem:s,item:m,class:o.classNames(s.className,w(this.currentDir||"ltr",e.horizontal)),onClick:this.handleItemClick,onDown:this.handleItemDown},null)}),this)},g=n&&!c,b=(this.element?this.element.offsetWidth:0)/2-16;return t.createVNode("div",{class:this.rootClassNames},[t.createVNode("button",{ref:e=>{this.kendoAnchorRef=e},id:a||this.buttonId,role:d?"menubutton":"button",type:"button","aria-disabled":i,"aria-expanded":d?this.computedOpened:void 0,"aria-haspopup":!!d,"aria-label":`${c||""} floatingactionbutton`,"aria-owns":d?this.listId:void 0,"aria-activedescendant":this.focusedIndex>=0&&d?`${this.listId}-${this.focusedIndex}`:void 0,tabindex:o.getTabIndex(u,i),accesskey:p,dir:this.currentDir,disabled:i,class:this.buttonClassNames,onClick:this.handleClick,onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onFocusin:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown},[n||r?t.createVNode(o.Icon,{name:n,icon:r,class:"k-fab-icon"},null):l?t.createVNode(o.Icon,{class:l},null):null,c&&t.createVNode("span",{class:"k-fab-text"},[c])]),t.createVNode(s.Popup,{ref:o.setRef(this,"popup"),show:this.computedOpened,anchor:this._anchor,animate:h.animate,popupClass:o.classNames("k-popup-transparent k-fab-popup",h.popupClass),anchorAlign:h.anchorAlign||x(e,this.isRtl),popupAlign:h.popupAlign||C(e,this.isRtl),style:{boxShadow:"none"}},{default:()=>[t.createVNode("ul",{ref:o.setRef(this,"list"),role:"menu","aria-labelledby":a,id:this.listId,class:o.classNames("k-fab-items",{"k-fab-items-bottom":"bottom"!==e.vertical,"k-fab-items-top":"bottom"===e.vertical}),style:{paddingLeft:g?b+"px":void 0,paddingRight:g?b+"px":void 0}},[f.call(this)])]})])}}),F=t.defineComponent({name:"KendoButtonItem",emits:{click:(e,t)=>!0,down:(e,t)=>!0},props:{focused:Boolean,index:Number,item:Object,render:[String,Object,Function],dataItem:[String,Object],id:String,textField:String,role:String},computed:{wrapperClass(){return{"k-item":!0,"k-focus":this.$props.focused}},innerClass(){const{dataItem:e}=this.$props;return{"k-link k-menu-link":!0,"k-selected":e.selected,"k-disabled":e.disabled}}},methods:{onClick(e){this.$emit("click",e,this.$props.index)},onDown(e){this.$emit("down",e,this.$props.index)}},render(){const{dataItem:e,id:i,render:s}=this.$props;return t.createVNode("li",{id:i,class:this.wrapperClass,onClick:this.onClick,onMousedown:this.onDown,onPointerdown:this.onDown,role:"menuitem","aria-disabled":e.disabled||void 0},[function(){const{textField:i,index:n}=this.$props,r=void 0!==e.text?e.text:i?e[i]:e,l=t.createVNode("span",{tabindex:-1,class:this.innerClass,key:"icon"},[e.icon||e.svgIcon?t.createVNode(o.Icon,{name:e.icon,icon:e.svgIcon,class:e.iconClass},null):e.iconClass&&t.createVNode("span",{class:e.iconClass,role:"presentation"},null),e.imageUrl&&t.createVNode("img",{class:"k-icon",alt:"",src:e.imageUrl,role:"presentation",key:"image"},null),r&&t.createVNode("span",{class:"k-menu-link-text"},[r])]);return o.getTemplate.call(this,{h:t.h,template:this.$props.dataItem.render||s,defaultRendering:l,additionalProps:{item:e,itemIndex:n,innerClass:this.innerClass,focused:this.focused}})}.call(this)])}}),R=(e,t,i,s)=>{if(i)return e;switch(t){case o.Keys.enter:case o.Keys.space:case o.Keys.esc:return-1;case o.Keys.up:case o.Keys.left:return Math.max(0,e-1);case o.Keys.down:case o.Keys.right:return Math.min(s-1,e+1);default:return e}};function K(e){let t={horizontal:"left",vertical:"bottom"};return e&&(t.horizontal="right"),t}function T(e){let t={horizontal:"left",vertical:"top"};return e&&(t.horizontal="right"),t}const V=t.defineComponent({name:"KendoSplitButton",emits:{focus:e=>!0,blur:e=>!0,buttonclick:e=>!0,itemclick:e=>!0,open:e=>!0,close:e=>!0},props:{accessKey:String,ariaLabel:String,text:String,items:{type:Array,default:function(){return[]}},textField:String,tabIndex:Number,disabled:Boolean,icon:String,svgIcon:Object,size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","dark","error","info","inverse","inverse","light","primary","secondary","success","tertiary","warning"].includes(e)}},opened:{type:Boolean,default:void 0},iconClass:String,imageUrl:String,popupSettings:Object,itemRender:[String,Function,Object],item:[String,Function,Object],className:String,buttonClass:String,dir:String},data:()=>({focused:!1,focusedIndex:-1,currentOpened:!1}),created(){this._blurTimeout=null,this._anchor=o.guid(),this.mainButton=null,this.guid=o.guid(),this.buttonsData=[],o.validatePackage(d)},mounted(){this.mainButton=this.$refs[this._anchor],(void 0===this.$props.dir&&this.isRtl()||this.computedOpened)&&this.$forceUpdate()},updated(){this.focused&&this.element()&&(this.mainButton=this.$refs[this._anchor],this.mainButton.focus())},computed:{computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},wrapperClass(){return{"k-split-button":!0,"k-button-group":!0,"k-focus":this.focused}}},setup:()=>({kendoAnchorRef:t.ref(null)}),render(){this.buttonsData=this.$props.items;const e=this.isRtl(),n=e?"rtl":void 0,{tabIndex:r,disabled:l}=this.$props,a=o.getDefaultSlots(this),d=function(){const{item:e,itemRender:i,textField:s}=this.$props;return this.buttonsData.length>0?this.buttonsData.map((function(n,r){const l="string"!=typeof n?{...n,render:o.templateRendering.call(this,n.render,o.getListeners.call(this))}:n;return t.createVNode(F,{class:"k-menu-item",role:"menuitem",dataItem:l,textField:s,focused:this.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:o.templateRendering.call(this,i,o.getListeners.call(this)),item:e,key:r,index:r,id:`${this.guid}-${r}`},null)}),this):null};return t.createVNode("div",{class:this.wrapperClass,onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,dir:n},[t.createVNode(u,{size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,onClick:e=>this.onItemClick(e,-1),disabled:l||void 0,tabIndex:r,accessKey:this.$props.accessKey,class:this.$props.buttonClass,icon:this.$props.icon,svgIcon:this.$props.svgIcon,iconClass:this.$props.iconClass,imageUrl:this.$props.imageUrl,dir:n,id:this._anchor,ref:this._anchor,type:"button","aria-disabled":l,"aria-haspopup":"menu","aria-expanded":this.computedOpened,"aria-label":this.$props.ariaLabel||`${this.$props.text||""} splitbutton`,"aria-controls":this.guid,"aria-activedescendant":void 0!==this.focusedIndex&&this.focusedIndex>=0?`${this.guid}-${this.focusedIndex}`:void 0},{default:()=>[this.$props.text,a]}),t.createVNode(u,{svgIcon:i.caretAltDownIcon,size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,icon:"caret-alt-down",disabled:l||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMousedown:this.onDownSplitPart,onPointerdown:this.onDownSplitPart,dir:n,"aria-label":"menu toggling button"},null),function(){const{popupSettings:i={},size:n}=this.$props;return t.createVNode(s.Popup,{anchor:this._anchor,show:this.computedOpened,animate:i.animate,popupClass:o.classNames("k-menu-popup",i.popupClass),anchorAlign:i.anchorAlign||K(e),popupAlign:i.popupAlign||T(e),style:e?{direction:"rtl"}:void 0},{default:()=>[t.createVNode("ul",{class:`k-group k-menu-group k-reset k-menu-group-${o.kendoThemeMaps.sizeMap[n]||n}`,role:"menu",id:this.guid,"aria-labelledby":this._anchor},[d.call(this)])]})}.call(this)])},methods:{element(){return this.mainButton},onKeyDown(e){if(e.altKey)return void(this.computedOpened||e.keyCode!==o.Keys.down?this.computedOpened&&e.keyCode===o.Keys.up&&(this.dispatchPopupEvent(e,!1),this.focusedIndex=-1,this.currentOpened=!1):(this.dispatchPopupEvent(e,!0),this.focusedIndex=0,this.currentOpened=!0));let t;if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space?(e.preventDefault(),this.dispatchClickEvent(e,this.focusedIndex),void 0!==this.focusedIndex&&this.focusedIndex>=0&&(t={focusedIndex:this.computedOpened?-1:0,currentOpened:!this.computedOpened},this.dispatchPopupEvent(e,t.currentOpened))):this.computedOpened&&e.keyCode===o.Keys.esc&&(t={focusedIndex:-1,currentOpened:!1},this.dispatchPopupEvent(e,t.currentOpened)),this.computedOpened){const i=R(this.focusedIndex,e.keyCode,e.altKey,this.buttonsData.length);i!==this.focusedIndex&&(t=t||{},t.focusedIndex=i);const s=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&s&&e.preventDefault()}t&&(this.focusedIndex=t.focusedIndex,this.focused=t.focused,void 0!==t.currentOpened&&(this.currentOpened=t.currentOpened))},onFocus(e){this.focused||(this.$emit("focus",{event:e}),this.focused=!0),this.focusedIndex=-1,clearTimeout(this._blurTimeout)},onItemClick(e,t){const o=this.computedOpened;o&&(this.focusedIndex=0,this.currentOpened=!1),this.dispatchClickEvent(e,t),o&&this.dispatchPopupEvent(e,!1)},onBlur(e){clearTimeout(this._blurTimeout),this.createBlurTimeout(e)},createBlurTimeout(e){const t=this;this._blurTimeout=setTimeout((()=>{o.canUseDOM&&document.activeElement!==t.mainButton&&(t.focused=!1,t.focusedIndex=-1,t.$emit("blur",{event:e}),t.computedOpened&&(t.currentOpened=!1,t.dispatchPopupEvent(e,!1)))}),200)},dispatchClickEvent(e,t){this.isItemDisabled(t)||(-1===t?this.$emit("buttonclick",{event:e}):this.$emit("itemclick",{event:e,component:this,item:this.buttonsData[t],itemIndex:t}))},onSplitPartClick(e){if(this.buttonsData.length){const t=!this.computedOpened;this.dispatchPopupEvent(e,t),this.focusedIndex=t?0:-1,this.currentOpened=t,this.focused=!0}},onDownSplitPart(e){e.preventDefault(),this.element()&&document.activeElement!==this.element()&&this.element().focus()},onItemDown(e){document.activeElement===this.element()&&e.preventDefault()},dispatchPopupEvent(e,t){const o={event:e};this.$emit(t?"open":"close",o)},isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.$props.disabled},isRtl(){return void 0!==this.$props.dir?"rtl"===this.$props.dir:!!this.$el&&"rtl"===getComputedStyle(this.$el).direction}}}),M=t.defineComponent({name:"KendoDropDownButton",emits:{focus:e=>!0,blur:e=>!0,itemclick:e=>!0,open:e=>!0,close:e=>!0},props:{accessKey:String,items:{type:Array,default:function(){return[]}},ariaLabel:String,text:String,textField:String,tabIndex:Number,disabled:Boolean,icon:String,svgIcon:Object,iconClass:String,imageUrl:String,popupSettings:Object,itemRender:[String,Object,Function],item:Function,size:{type:String,default:"medium"},shape:{type:String,default:"rectangle",validator:function(e){return[null,"rectangle","square"].includes(e)}},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid",validator:function(e){return[null,"flat","link","outline","solid"].includes(e)}},themeColor:{type:String,default:"base",validator:function(e){return[null,"base","dark","error","info","inverse","inverse","light","primary","secondary","success","tertiary","warning"].includes(e)}},opened:{type:Boolean,default:void 0},buttonClass:String,dir:String},created(){this._blurTimeout=null,this._anchor=o.guid(),this.wrapper=null,this.mainButton=null,this.guid=o.guid(),this.buttonsData=[],o.validatePackage(d)},mounted(){this.mainButton=this.$refs[this._anchor],(void 0===this.$props.dir&&this.isRtl()||this.computedOpened)&&this.$forceUpdate()},updated(){this.focused&&this.element()&&(this.mainButton=this.$refs[this._anchor],this.mainButton.focus())},data:()=>({currentOpened:!1,focused:!1,focusedIndex:-1}),computed:{computedOpened(){return void 0===this.$props.opened?this.currentOpened:this.$props.opened},wrapperClass(){return{"k-dropdown-button":!0,"k-focus":this.focused}}},setup:()=>({kendoAnchorRef:t.ref(null)}),render(){const e=this.isRtl(),i=e?"rtl":void 0,{tabIndex:n,disabled:r}=this.$props,l=o.getDefaultSlots(this);this.buttonsData=this.$props.items;const a=function(){const{item:e,itemRender:i,textField:s}=this.$props;return this.buttonsData.length>0?this.buttonsData.map((function(n,r){const l="string"!=typeof n?{...n,render:o.templateRendering.call(this,n.render,o.getListeners.call(this))}:n;return t.createVNode(F,{class:"k-menu-item",dataItem:l,textField:s,focused:this.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:o.templateRendering.call(this,i,o.getListeners.call(this)),item:e,index:r,key:r,id:`${this.guid}-${r}`},null)}),this):null};return t.createVNode("div",{class:this.wrapperClass,onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,dir:i},[t.createVNode(u,{size:this.$props.size,shape:this.$props.shape,rounded:this.$props.rounded,fillMode:this.$props.fillMode,themeColor:this.$props.themeColor,onClick:this.onClickMainButton,onMousedown:this.mouseDown,disabled:r||void 0,tabIndex:n,accessKey:this.$props.accessKey,icon:this.$props.icon,svgIcon:this.$props.svgIcon,iconClass:this.$props.iconClass,class:this.$props.buttonClass,imageUrl:this.$props.imageUrl,dir:i,ref:this._anchor,type:"button","aria-disabled":r,"aria-haspopup":"menu","aria-expanded":this.computedOpened,"aria-label":this.$props.ariaLabel||`${this.$props.text||""} dropdownbutton`,"aria-controls":this.guid,"aria-activedescendant":void 0!==this.focusedIndex&&this.focusedIndex>=0?`${this.guid}-${this.focusedIndex}`:void 0},{default:()=>[this.$props.text,l]}),function(){const{popupSettings:i={},size:n}=this.$props;return t.createVNode(s.Popup,{anchor:this._anchor,show:this.computedOpened,animate:i.animate,popupClass:o.classNames("k-menu-popup",i.popupClass),anchorAlign:i.anchorAlign||K(e),popupAlign:i.popupAlign||T(e),style:e?{direction:"rtl"}:void 0},{default:()=>[t.createVNode("ul",{class:`k-group k-menu-group k-reset k-menu-group-${o.kendoThemeMaps.sizeMap[n]||n}`,role:"menu",id:this.guid},[a.call(this)])]})}.call(this)])},methods:{element(){return this.mainButton},onKeyDown(e){if(e.altKey)this.computedOpened||e.keyCode!==o.Keys.down?this.computedOpened&&e.keyCode===o.Keys.up&&(this.dispatchPopupEvent(e,!1),this.focusedIndex=-1,this.currentOpened=!1):(this.dispatchPopupEvent(e,!0),this.focusedIndex=0,this.currentOpened=!0);else if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space?(void 0!==this.focusedIndex&&this.focusedIndex>=0&&this.dispatchClickEvent(e,this.focusedIndex),e.preventDefault(),this.focusedIndex=this.computedOpened?-1:0,this.currentOpened=!this.computedOpened,this.dispatchPopupEvent(e,this.currentOpened)):this.computedOpened&&e.keyCode===o.Keys.esc&&(this.focusedIndex=-1,this.currentOpened=!1,this.dispatchPopupEvent(e,this.currentOpened)),this.computedOpened){const t=R(this.focusedIndex,e.keyCode,e.altKey,this.buttonsData.length);this.focusedIndex=t;const i=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&i&&e.preventDefault()}},onFocus(e){this.focused||(this.focused=!0,this.$emit("focus",{event:e})),this.focusedIndex=this.computedOpened?0:-1,clearTimeout(this._blurTimeout)},onBlur(e){clearTimeout(this._blurTimeout),this.createBlurTimeout(e)},createBlurTimeout(e){const t=this;this._blurTimeout=setTimeout((()=>{o.canUseDOM&&document.activeElement!==t.$el&&(t.focused=!1,t.focusedIndex=-1,t.$emit("blur",{event:e}),t.computedOpened&&(t.currentOpened=!1,t.dispatchPopupEvent(e,!1)))}),200)},onItemClick(e,t){this.focusedIndex=-1,this.currentOpened=!1,this.dispatchClickEvent(e,t),this.dispatchPopupEvent(e,!1)},onItemDown(e){document.activeElement===this.element()&&e.preventDefault()},mouseDown(e){e.preventDefault()},dispatchClickEvent(e,t){this.isItemDisabled(t)||this.$emit("itemclick",{event:e,item:this.buttonsData[t],itemIndex:t})},onClickMainButton(e){if(!this.buttonsData.length)return;const t=!this.computedOpened;this.currentOpened=t,this.focused=!0,this.focusedIndex=t?0:-1,this.dispatchPopupEvent(e,t)},dispatchPopupEvent(e,t){const o={event:e};this.$emit(t?"open":"close",o)},isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.$props.disabled},isRtl(){return void 0!==this.$props.dir?"rtl"===this.$props.dir:!!this.$el&&"rtl"===getComputedStyle(this.$el).direction}}}),P=t.defineComponent({name:"KendoToolbarItem",render:()=>t.createVNode("div",{class:"k-toolbar-separator k-separator"},null)}),z="prevArrow.title",A="nextArrow.title",E="moreButtonTitle.title",L={[z]:"Previous scroll button",[A]:"Next scroll button",[E]:"More button"},j=t.defineComponent({name:"KendoToolbarScrollButton",props:{buttonScrollSpeed:Number,disabled:Boolean,scrollContentRef:Object,type:String,prevButton:Object,nextButton:Object,dir:String},inject:{kendoLocalizationService:{default:null}},emits:{contentscroll:e=>!0},methods:{getScrollButtonTitle(){const{dir:e,type:t}=this.$props;return"rtl"!==e?"prev"===t?n.provideLocalizationService(this).toLanguageString(z,L[z]):n.provideLocalizationService(this).toLanguageString(A,L[A]):"prev"===t?n.provideLocalizationService(this).toLanguageString(A,L[A]):n.provideLocalizationService(this).toLanguageString(z,L[z])}},render(){const{disabled:e,type:s,scrollContentRef:n,buttonScrollSpeed:r,prevButton:l,nextButton:a}=this.$props;return t.createVNode("span",{class:o.classNames("k-button","k-button-md","k-button-solid","k-button-solid-base","k-rounded-md","k-icon-button",`k-toolbar-${s}`,{"k-disabled":e}),title:this.getScrollButtonTitle(),"aria-hidden":!0,tabindex:e?-1:void 0,onClick:()=>{n&&r&&(n.scrollBy({left:"next"===s?r:-r,behavior:"smooth"}),this.$emit("contentscroll",s))}},[t.createVNode(o.SvgIcon,{icon:"prev"===s?i.caretAltLeftIcon:i.caretAltRightIcon,class:"k-button-icon"},null)])}}),W=t.defineComponent({name:"ToolbarScrollable",props:{scrollButtons:String,scrollButtonsPosition:String,isOverflowing:Boolean,buttonScrollSpeed:Number,dir:String,isScrollStartPosition:Boolean,isScrollEndPosition:Boolean,prevButton:Object,nextButton:Object,toolbarItems:Object},emits:{contentscroll:e=>!0},data:()=>({scrollContentRef:null}),mounted(){this.scrollContentRef=this.$refs.scrollContentRef},methods:{onContentScroll(e){this.$emit("contentscroll",e)}},render(){const{scrollButtons:e,buttonScrollSpeed:o,prevButton:i,nextButton:s,scrollButtonsPosition:n,dir:r,isScrollStartPosition:l,isScrollEndPosition:a,toolbarItems:d}=this.$props,c=(e,n)=>t.createVNode(j,{type:e,dir:r,disabled:n,scrollContentRef:this.scrollContentRef,buttonScrollSpeed:o,prevButton:i,nextButton:s,onContentscroll:this.onContentScroll},null),u="visible"===e||"auto"===e&&this.$props.isOverflowing;return t.createVNode(t.Fragment,null,[u&&"split"===n&&t.createVNode(t.Fragment,null,[c("rtl"!==r?"prev":"next",l),t.createVNode(P,{class:"k-toolbar-button-separator"},null)]),u&&"start"===n&&t.createVNode(t.Fragment,null,[c("rtl"!==r?"prev":"next",l),c("rtl"!==r?"next":"prev",a),t.createVNode(P,{class:"k-toolbar-button-separator"},null)]),t.createVNode("span",{class:"k-toolbar-items k-toolbar-items-scroll",ref:"scrollContentRef"},[d]),u&&"split"===n&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),c("rtl"!==r?"next":"prev",a)]),u&&"end"===n&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),c("rtl"!==r?"prev":"next",l),c("rtl"!==r?"next":"prev",a)])])}}),U=t.defineComponent({name:"ToolbarOverflowSection",props:{toolbarRef:Object,toolbarWidth:Number,fillMode:String,size:String,visibleTools:Array,overFlowTools:Array,opened:Boolean,allTools:Array},emits:{toggleoverflow:e=>!0},inject:{kendoLocalizationService:{default:null}},methods:{handleClick(){this.$emit("toggleoverflow",!this.$props.opened)}},render(){const{visibleTools:e,overFlowTools:r,allTools:l}=this.$props,{toolbarRef:a,toolbarWidth:d,fillMode:c,size:p}=this.$props;return t.createVNode(t.Fragment,null,[e&&[...l].splice(0,e.length),r.length>0&&t.createVNode(t.Fragment,null,[t.createVNode(P,{class:"k-toolbar-button-separator"},null),t.createVNode(u,{ref:"buttonRef",class:"k-toolbar-overflow-button",fillMode:"flat",svgIcon:i.moreHorizontalIcon,title:n.provideLocalizationService(this).toLanguageString(E,L[E]),onClick:this.handleClick},null),t.createVNode(s.Popup,{anchor:a,show:this.$props.opened,popupClass:"k-toolbar-popup",key:d,style:{width:d+"px"}},{default:()=>[t.createVNode("span",{class:`k-toolbar-items-list k-toolbar-items-list-${o.kendoThemeMaps.sizeMap[p]} k-toolbar-items-list-${c}`},[e&&[...l].splice(e.length,l.length)])]})])])}}),_=t.defineComponent({name:"KendoToolbar",props:{tabIndex:{type:Number,default:0},dir:{type:String,validator:function(e){return[null,"ltr","rtl"].includes(e)},default:"ltr"},keyboardNavigation:{type:Boolean,default:!0},buttons:{type:Array,default:function(){}},size:{type:String,default:"medium",validator:function(e){return[null,"small","medium","large"].includes(e)}},fillMode:{type:String,default:"solid",validator:function(e){return[null,"solid","flat","outline"].includes(e)}},ariaLabel:String,overflow:{type:String,default:"section",validator:function(e){return[null,"none","section","scroll"].includes(e)}},scrollButtons:{type:String,default:"auto",validator:function(e){return[null,"hidden","visible","auto"].includes(e)}},scrollButtonsPosition:{type:String,default:"split",validator:function(e){return[null,"start","end","split"].includes(e)}},buttonScrollSpeed:{type:Number,default:100}},emits:{resize:e=>!0},data:()=>({defaultSlot:null,offsetWidth:0,offsetHeight:0,currentButtons:[],focusedSelector:"",isScrollStartPosition:!0,isScrollEndPosition:!1,focusableButtons:[],isOverflowing:!1,scrollContentRef:null,lastToolbarWidthRef:0,overFlowToolsRef:[],overFlowOpened:!1,visibleToolsRef:void 0}),created(){this.focusedSelector=this.selectors.map((e=>e+":focus")).join(","),o.validatePackage(d)},computed:{selectors(){return this.$props.buttons||l},wrapperClass(){const{size:e,fillMode:t,overflow:i,scrollButtons:s}=this.$props;return{"k-toolbar":!0,[`k-toolbar-${t}`]:t,[`k-toolbar-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-toolbar-scrollable":"scroll"===i,"k-toolbar-scrollable-overlay":"scroll"===i&&("hidden"===s||void 0===s),"k-toolbar-scrollable-start":"scroll"===i&&"hidden"===s&&this.isScrollStartPosition,"k-toolbar-scrollable-end":"scroll"===i&&"hidden"===s&&this.isScrollEndPosition,"k-toolbar-section":i&&"section"===i}}},mounted(){o.canUseDOM&&window.ResizeObserver&&(this.observerResize=new window.ResizeObserver(this.onWindowResize),this.observerResize.observe(this.$el));const e=this.$el;e&&(this.offsetWidth=e.offsetWidth,this.offsetHeight=e.offsetHeight,!1!==this.$props.keyboardNavigation&&(this.currentButtons=this.getCurrentButtons(),this.setTabIndex(0))),this.scrollContentRef=this.$refs.toolbarScrollable&&this.$refs.toolbarScrollable.scrollContentRef,this.defaultSlot&&(this.visibleToolsRef=this.defaultSlot.filter((e=>e&&e.type)).map(((e,o)=>t.cloneVNode(e,{key:e.key||o}))),this.$nextTick((()=>{this.checkOverflow(),this.initOverflow(this.$refs.toolbar)})))},updated(){!this.$el||!1===this.$props.keyboardNavigation||(this.currentButtons=this.getCurrentButtons(),this.setTabIndex(this.focusedIndex()))},unmounted(){o.canUseDOM&&this.observerResize&&this.observerResize.disconnect(),this.currentButtons.length=0},render(){const{overflow:e,scrollButtons:i,scrollButtonsPosition:s,prevButton:n,nextButton:r,buttonScrollSpeed:l,dir:a,fillMode:d,size:c}=this.$props;return this.defaultSlot=o.getDefaultSlots(this),t.createVNode("div",{ref:"toolbar",class:this.wrapperClass,role:"toolbar",dir:a,"aria-label":this.$props.ariaLabel,onKeydown:this.onKeyDown},["scroll"===e&&t.createVNode(t.Fragment,null,[t.createVNode(W,{ref:"toolbarScrollable",scrollButtons:i,scrollButtonsPosition:s,prevButton:n,nextButton:r,isOverflowing:this.isOverflowing,buttonScrollSpeed:l,dir:a,isScrollStartPosition:this.isScrollStartPosition,isScrollEndPosition:this.isScrollEndPosition,toolbarItems:this.defaultSlot,onContentscroll:this.onContentScroll},null)]),"section"===e&&t.createVNode(U,{opened:this.overFlowOpened,toolbarRef:this.$refs.toolbar,toolbarWidth:this.offsetWidth,fillMode:d,size:c,visibleTools:this.visibleToolsRef,overFlowTools:this.overFlowToolsRef,onToggleoverflow:this.onToggleoverflow,allTools:this.defaultSlot},null),"none"===e&&this.defaultSlot])},methods:{getCurrentButtons(){return this.$el&&this.$el.querySelectorAll?Array.from(this.$el.querySelectorAll(this.selectors.join(","))):[]},getInternalButtons(){return this.$el&&this.$el.querySelectorAll?Array.from(this.$el.querySelectorAll(".k-dropdownlist > .k-button,.k-colorpicker > .k-button")):[]},focusedIndex(){const e=this.$el&&this.$el.querySelector&&this.$el.querySelector(this.focusedSelector);return Math.max(0,this.currentButtons.findIndex((t=>t===e)))},setTabIndex(e){const{tabIndex:t}=this.$props;this.currentButtons.forEach(((o,i)=>{o.tabIndex=i===e?t:-1})),this.getInternalButtons().forEach((e=>{e.tabIndex=-1}))},onKeyDown(e){if(!1===this.$props.keyboardNavigation)return;const t=e.target;if(e.keyCode!==o.Keys.left&&e.keyCode!==o.Keys.right||e.defaultPrevented||-1===this.currentButtons.findIndex((e=>e===t)))return;const i=this.focusedIndex();e.keyCode===o.Keys.left?this.focusButton(i,i-1):this.focusButton(i,i+1)},focusButton(e,t){const{tabIndex:o}=this.$props,i=this.currentButtons[t];if(i){i.tabIndex=o,i.focus();const t=this.currentButtons[e];t&&(t.tabIndex=-1)}},initOverflow(e,t){let o=200;const i=[],s=[];Array.from(e.children).forEach(((e,t)=>{o+=Math.ceil(e.clientWidth),o<=this.$refs.toolbar.offsetWidth-50?i.push(this.visibleToolsRef[t]):s.push(this.visibleToolsRef[t])})),this.visibleToolsRef=i,this.overFlowToolsRef=s},checkOverflow(){if("scroll"===this.$props.overflow){const e=this.scrollContentRef;e&&(this.isOverflowing=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight,this.isOverflowing?this.onContentScroll():(this.isScrollStartPosition=!0,this.isScrollEndPosition=!0))}else if("section"===this.$props.overflow||void 0===this.$props.overflow){const e=this.$refs.toolbar;let t=0;if(e){const o=e.offsetWidth,i=parseInt(window.getComputedStyle(e).gap||"0",10),s=Array.from(e.children).reduce(((e,t)=>e+=Math.ceil(t.clientWidth)),0),n=Array.from(e.children).length,r=2*i;if(t=36+Number(s)+n*i+r,t>o){const e=[...this.visibleToolsRef],t=e.pop();this.visibleToolsRef=e,t&&(this.overFlowToolsRef=[t,...this.overFlowToolsRef]),this.lastToolbarWidthRef=o}else if(o>this.lastToolbarWidthRef+i*n/2.75){const e=[...this.overFlowToolsRef],t=e.shift();t&&this.lastToolbarWidthRef+i*n>30&&(this.overFlowToolsRef=e,this.visibleToolsRef=[...this.visibleToolsRef,t]),this.lastToolbarWidthRef=o}else this.$forceUpdate()}}},onWindowResize(e){window.requestAnimationFrame((()=>{const t=this.$el;if(this.overFlowOpened=!1,!t)return;const o=t.offsetWidth,i=t.offsetHeight;if(this.offsetWidth!==o||this.offsetHeight!==i){this.offsetWidth=o,this.offsetHeight=i;const t={offsetWidth:this.offsetWidth,offsetHeight:this.offsetHeight};this.$emit("resize",{target:this,...t,nativeEvent:e})}this.checkOverflow()}))},onContentScroll(e){const t=this.scrollContentRef;if(e&&t){let o,i;o="next"!==e&&(t.scrollLeft<=this.$props.buttonScrollSpeed||0===t.scrollLeft),i="prev"!==e&&(t.scrollLeft+t.clientWidth+this.$props.buttonScrollSpeed>=t.scrollWidth||t.scrollLeft+t.clientWidth===t.scrollWidth),this.isScrollStartPosition=!!o,this.isScrollEndPosition=!!i}else this.isScrollStartPosition=!0,this.isScrollEndPosition=!1},onToggleoverflow(e){this.overFlowOpened=e}}}),q=t.defineComponent({name:"KendoToolbarItem",methods:{element(){return this.$el}},render(){const e=o.getDefaultSlots(this);return t.createVNode("div",{class:"k-toolbar-item"},[e])}}),H=t.defineComponent({name:"KendoToolbarItem",render:()=>t.createVNode("span",{class:"k-spacer"},null)});let G=function(e){return e.WebSpeech="WebSpeech",e.None="None",e}({});const J=t.defineComponent({name:"KendoSpeechToTextButton",props:{lang:{type:String,default:"en-US"},continuous:{type:Boolean,default:!1},interimResults:{type:Boolean,default:!1},maxAlternatives:{type:Number,default:1},integrationMode:{type:String,default:G.WebSpeech},onStart:{type:Function},onResult:{type:Function},onEnd:{type:Function},onError:{type:Function},svgIcon:{type:Object,default:i.microphoneOutlineIcon},iconSize:{type:String,default:"medium"},disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"},title:{type:String,default:"Speech to Text Button"},ariaLabel:{type:String,default:"Start speech recognition"}},setup(e,{emit:o,expose:i}){const s=t.ref(null),n=t.ref(!1),l=()=>e.integrationMode!==G.None,a="undefined"==typeof window||"webkitSpeechRecognition"in window||"SpeechRecognition"in window||(e.onError&&e.onError({errorMessage:"Speech Recognition API is not supported in this browser."}),!1),d=()=>{var e;n.value||(l&&(null==(e=s.value)||e.start()),n.value=!0)},c=()=>{var e;n.value&&(l&&(null==(e=s.value)||e.stop()),n.value=!1)},u=async()=>{n.value||e.onStart&&(await e.onStart(),d())},p=e=>{const t=e.results,i=t[t.length-1],s=Array.from(i).map((e=>({transcript:e.transcript,confidence:e.confidence})));o("result",{isFinal:i.isFinal,alternatives:s})},h=async()=>{n.value&&e.onEnd&&(await e.onEnd(),c())},m=e=>{o("error",e)},f=()=>{var t;a&&e.integrationMode===G.WebSpeech&&(null!=(t=s.value)&&t.isActive()&&c(),s.value=function(e){return new r.KendoSpeechRecognition(e)}({lang:e.lang,continuous:e.continuous,interimResults:e.interimResults,integrationMode:e.integrationMode,maxAlternatives:e.maxAlternatives,events:{start:u,result:p,end:h,error:m}}))};return t.watch((()=>({lang:e.lang,continuous:e.continuous,interimResults:e.interimResults,integrationMode:e.integrationMode,maxAlternatives:e.maxAlternatives})),(()=>{f()}),{deep:!0}),t.onMounted((()=>{f()})),t.onUnmounted((()=>{var e;null!=(e=s.value)&&e.isInActiveState&&c()})),i({start:d,stop:c,abort:()=>{var e;n.value&&l&&(null==(e=s.value)||e.abort(),n.value=!1)},isActive:()=>{var e;return null==(e=s.value)?void 0:e.isActive()}}),{clickHandler:()=>{a&&(n.value?h():u())},isInActiveState:n}},render(){const{ariaLabel:e,svgIcon:o,fillMode:s,rounded:n,size:r,disabled:l,themeColor:a,iconSize:d,title:c}=this.$props,{className:p,style:h,id:m}=this.$attrs,f=t.computed((()=>["k-speech-to-text-button",p,{"k-listening":this.isInActiveState}])),g=t.computed((()=>this.isInActiveState?i.stopSmIcon:o||i.microphoneOutlineIcon));return t.createVNode(u,{id:m,style:h,class:f.value,onClick:this.clickHandler,svgIcon:g.value,iconSize:d,fillMode:s,rounded:n,size:r,themeColor:a,"aria-label":e,disabled:l,title:c},null)}});e.Button=u,e.ButtonGroup=m,e.ButtonItem=F,e.Chip=y,e.ChipList=k,e.DropDownButton=M,e.FloatingActionButton=N,e.FloatingActionButtonItem=$,e.SpeechToTextButton=J,e.SpeechToTextButtonMode=G,e.SplitButton=V,e.Toolbar=_,e.ToolbarItem=q,e.ToolbarSeparator=P,e.ToolbarSpacer=H}));
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-buttons",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1763468040,version:"7.0.2-develop.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-buttons",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1763478410,version:"7.0.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1763468040,
14
- version: "7.0.2-develop.2",
13
+ publishDate: 1763478410,
14
+ version: "7.0.2",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
16
16
  };
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-buttons",
3
- "version": "7.0.2-develop.2",
3
+ "version": "7.0.2",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -19,9 +19,9 @@
19
19
  "sideEffects": false,
20
20
  "peerDependencies": {
21
21
  "@progress/kendo-licensing": "^1.7.2",
22
- "@progress/kendo-vue-common": "7.0.2-develop.2",
23
- "@progress/kendo-vue-intl": "7.0.2-develop.2",
24
- "@progress/kendo-vue-popup": "7.0.2-develop.2",
22
+ "@progress/kendo-vue-common": "7.0.2",
23
+ "@progress/kendo-vue-intl": "7.0.2",
24
+ "@progress/kendo-vue-popup": "7.0.2",
25
25
  "@progress/kendo-webspeech-common": "^1.0.1",
26
26
  "@progress/kendo-svg-icons": "^4.4.0",
27
27
  "vue": "^3.0.2"
@@ -43,7 +43,7 @@
43
43
  "package": {
44
44
  "productName": "Kendo UI for Vue",
45
45
  "productCode": "KENDOUIVUE",
46
- "publishDate": 1763468040,
46
+ "publishDate": 1763478410,
47
47
  "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
48
48
  }
49
49
  },