@progress/kendo-vue-treeview 8.0.0-develop.4 → 8.0.0-develop.6

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.
package/TreeViewItem.js CHANGED
@@ -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 i=require("vue"),d=require("@progress/kendo-vue-common"),b=require("./utils/itemIdUtils.js"),r=require("./utils/itemUtils.js"),g=require("@progress/kendo-vue-animation"),h=require("./utils/consts.js"),c=require("@progress/kendo-svg-icons");function l(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const{sizeMap:k}=d.kendoThemeMaps,m=i.defineComponent({name:"KendoTreeViewItem",props:{item:Object,itemId:String,treeGuid:String,animate:Boolean,focusedItemId:String,tabbableItemId:String,fieldsService:Object,itemUI:Object,ariaMultiSelectable:Boolean,expandIcons:Boolean,checkboxes:Boolean,onFocusDomElNeeded:Object,draggable:Boolean,isRtl:Boolean,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}},disabled:Boolean,ariaLevel:Number,onItemClick:Function,onExpandChange:Function,onCheckChange:Function,onPress:Function,onDrag:Function,onRelease:Function,onFocusdomelneeded:Function},computed:{fieldsSvc(){return this.$props.fieldsService},currentTabIndex(){return(this.$props.focusedItemId||this.$props.tabbableItemId)===this.itemId?0:-1},ariaExpanded(){return this.fieldsSvc.hasChildren(this.item)||r.hasChildren(this.item,this.fieldsSvc.getChildrenField())?!!this.fieldsSvc.expanded(this.item):void 0},ariaChecked(){if(this.$props.checkboxes)return this.fieldsSvc.checked(this.item)?"true":this.fieldsSvc.checkIndeterminate(this.item)?"mixed":"false"},ariaSelected(){return this.fieldsSvc.selected(this.item)?!0:this.$props.ariaMultiSelectable?this.computedDisabled?void 0:!1:void 0},computedDisabled(){const e=this.fieldsSvc.disabled(this.item);return e!==void 0?e:this.disabled}},created(){this.itemGuid=d.guid(),this.prevFocusedItemId=this.focusedItemId,this.prevFieldsService=this.fieldsService,this.prevItem=this.item},data(){return{isMounted:!1}},watch:{focusedItemId:function(e,t){this.prevFocusedItemId=t},fieldsService:function(e,t){this.prevFieldsService=t},item:function(e,t){this.prevItem=t}},mounted(){const e=this.$props.focusedItemId,t=this.itemId;e&&e===t&&this.$emit("focusDomElNeeded",this.$el),this.checkboxElement=d.getRef(this,"checkboxElement"),this.checkboxElement&&(this.checkboxElement.indeterminate=this.fieldsSvc.checkIndeterminate(this.item)),this.assignDraggableMeta(this.$refs.treeviewitemcontent),this.isMounted=!0},updated(){const e=this.$props.focusedItemId;if(e&&e!==this.prevFocusedItemId&&e===this.itemId&&this.$emit("focusdomelneeded",this.$el),this.checkboxElement=d.getRef(this,"checkboxElement"),this.checkboxElement){const t=this.fieldsSvc.checkIndeterminate(this.item);t!==this.prevFieldsService.checkIndeterminate(this.prevItem)&&(this.checkboxElement.indeterminate=t)}this.assignDraggableMeta(this.$refs.treeviewitemcontent)},render(){let e,t;const s=function(){return r.isItemExpandedAndWithChildren(this.item,this.fieldsSvc)?i.createVNode("ul",{class:"k-treeview-group",role:"group"},[this.fieldsSvc.children(this.item).map(function(n,a){return i.createVNode(m,{item:n,itemId:b.createId(a,this.itemId),treeGuid:this.$props.treeGuid,animate:this.$props.animate,focusedItemId:this.$props.focusedItemId,tabbableItemId:this.$props.tabbableItemId,fieldsService:this.$props.fieldsService,itemUI:this.$props.itemUI,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.$props.ariaMultiSelectable,ariaLevel:this.$props.ariaLevel+1,onItemClick:this.handleItemClick,onFocusdomelneeded:this.handleFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.handleExpandChange,onCheckChange:this.handleCheckChange,key:a,size:this.$props.size,disabled:this.computedDisabled,isRtl:this.$props.isRtl},null)},this)]):void 0},u=function(){return this.$props.expandIcons&&(this.fieldsSvc.hasChildren(this.item)||r.hasChildren(this.item,this.fieldsSvc.getChildrenField()))&&i.createVNode("span",{class:d.classNames("k-treeview-toggle",{"k-disabled":this.computedDisabled})},[i.createVNode(d.Icon,{name:this.getIconClassName(),icon:this.getIconSVG(),onClick:this.handleExpandChange},null)])},p=function(){if(this.$props.checkboxes){const n=this.$props.size,a=!!this.fieldsSvc.checked(this.item);return i.createVNode("span",{class:"k-checkbox-wrap",role:"presentation"},[i.createVNode("input",{type:"checkbox",class:d.classNames("k-checkbox",{[`k-checkbox-${k[n]||n}`]:n,"k-disabled":this.computedDisabled,"k-checked":a}),"aria-label":this.item.text,checked:a,id:this.itemGuid,tabindex:-1,onChange:this.handleCheckChange,ref:d.setRef(this,"checkboxElement")},null),i.createVNode("label",{class:"k-checkbox-label",for:this.itemGuid},null)])}else return},I=d.getTemplate.call(this,{h:i.h,template:this.$props.itemUI,defaultRendering:this.fieldsSvc.text(this.item),additionalProps:{item:this.item,itemHierarchicalIndex:this.itemId}}),o=function(){return i.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"},onClick:this.handleItemClick},[i.createVNode("span",{class:"k-treeview-leaf-text"},[I])])},f=this.itemId.split("_").length;return i.createVNode("li",{class:d.classNames("k-treeview-item"),style:{"--kendo-treeview-level":f},tabindex:this.currentTabIndex,role:"treeitem","aria-level":this.$props.ariaLevel,"aria-expanded":this.ariaExpanded,"aria-selected":this.ariaSelected,"aria-checked":this.ariaChecked,"aria-disabled":this.computedDisabled?!0:void 0},[i.createVNode("span",{class:this.getContentClassName(),ref:"treeviewitemcontent"},[u.call(this),p.call(this),this.$props.draggable?i.createVNode(d.Draggable,{onPress:n=>this.handlePress(n),onDrag:n=>this.handleDrag(n),onRelease:n=>this.handleRelease(n)},l(e=o.call(this))?e:{default:()=>[e]}):o.call(this)]),this.$props.animate&&this.isMounted?i.createVNode(g.Reveal,{appear:this.ariaExpanded,transitionEnterDuration:200,transitionExitDuration:200,key:this.itemGuid+"_animation",style:{display:"block"}},l(t=s.call(this))?t:{default:()=>[t]}):s.call(this)])},methods:{handleCheckChange(e,t,s){this.$emit("checkChange",e,t||this.item,s||this.itemId)},handleExpandChange(e,t,s){this.$emit("expandChange",e,t||this.item,s||this.itemId)},handleItemClick(e,t,s){this.$emit("itemClick",e,t||this.item,s||this.itemId)},handlePress(e,t,s){this.$emit("press",e,t||{...this.item},s||this.itemId)},handleDrag(e,t,s){this.$emit("drag",e,t||this.item,s||this.itemId)},handleRelease(e,t,s){this.$emit("release",e,t||this.item,s||this.itemId)},handleFocusDomElNeeded(e){this.$emit("focusdomelneeded",e)},getIconClassName(){const e=this.fieldsSvc.expanded(this.item);return e&&!r.hasChildren(this.item,this.fieldsSvc.getChildrenField())?"loading":e?"chevron-down":this.$props.isRtl?"chevron-left":"chevron-right"},getIconSVG(){return this.fieldsSvc.expanded(this.item)?c.chevronDownIcon:this.$props.isRtl?c.chevronLeftIcon:c.chevronRightIcon},getContentClassName(){return d.classNames("k-treeview-item-content",{"k-focus":this.$props.focusedItemId===this.itemId,"k-selected":this.fieldsSvc.selected(this.item),"k-disabled":this.computedDisabled})},assignDraggableMeta(e){e&&!e[h.DOM_KENDO_ITEM_ID_FIELD]&&(e[h.DOM_KENDO_ITEM_ID_FIELD]=this.$props.itemId,e[h.DOM_KENDO_TREEVIEW_GUID_FIELD]=this.$props.treeGuid)}}});exports.TreeViewItem=m;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),d=require("@progress/kendo-vue-common"),b=require("./utils/itemIdUtils.js"),h=require("./utils/itemUtils.js"),g=require("@progress/kendo-vue-animation"),r=require("./utils/consts.js"),c=require("@progress/kendo-svg-icons");function l(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const{sizeMap:k}=d.kendoThemeMaps,m=i.defineComponent({name:"KendoTreeViewItem",props:{item:Object,itemId:String,treeGuid:String,animate:Boolean,focusedItemId:String,tabbableItemId:String,fieldsService:Object,itemUI:Object,ariaMultiSelectable:Boolean,expandIcons:Boolean,checkboxes:Boolean,onFocusDomElNeeded:Object,draggable:Boolean,isRtl:Boolean,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}},disabled:Boolean,ariaLevel:Number,onItemClick:Function,onExpandChange:Function,onCheckChange:Function,onPress:Function,onDrag:Function,onRelease:Function,onFocusdomelneeded:Function},computed:{fieldsSvc(){return this.$props.fieldsService},currentTabIndex(){return(this.$props.focusedItemId||this.$props.tabbableItemId)===this.itemId?0:-1},ariaExpanded(){return this.fieldsSvc.hasChildren(this.item)||h.hasChildren(this.item,this.fieldsSvc.getChildrenField())?!!this.fieldsSvc.expanded(this.item):void 0},ariaChecked(){if(this.$props.checkboxes)return this.fieldsSvc.checked(this.item)?"true":this.fieldsSvc.checkIndeterminate(this.item)?"mixed":"false"},ariaSelected(){return this.fieldsSvc.selected(this.item)?!0:this.$props.ariaMultiSelectable?this.computedDisabled?void 0:!1:void 0},computedDisabled(){const e=this.fieldsSvc.disabled(this.item);return e!==void 0?e:this.disabled}},created(){this.itemGuid=d.guid(),this.prevFocusedItemId=this.focusedItemId,this.prevFieldsService=this.fieldsService,this.prevItem=this.item},data(){return{isMounted:!1}},watch:{focusedItemId:function(e,t){this.prevFocusedItemId=t},fieldsService:function(e,t){this.prevFieldsService=t},item:function(e,t){this.prevItem=t}},mounted(){const e=this.$props.focusedItemId,t=this.itemId;e&&e===t&&this.$emit("focusDomElNeeded",this.$el),this.checkboxElement=d.getRef(this,"checkboxElement"),this.checkboxElement&&(this.checkboxElement.indeterminate=this.fieldsSvc.checkIndeterminate(this.item)),this.assignDraggableMeta(this.$refs.treeviewitemcontent),this.isMounted=!0},updated(){const e=this.$props.focusedItemId;if(e&&e!==this.prevFocusedItemId&&e===this.itemId&&this.$emit("focusdomelneeded",this.$el),this.checkboxElement=d.getRef(this,"checkboxElement"),this.checkboxElement){const t=this.fieldsSvc.checkIndeterminate(this.item);t!==this.prevFieldsService.checkIndeterminate(this.prevItem)&&(this.checkboxElement.indeterminate=t)}this.assignDraggableMeta(this.$refs.treeviewitemcontent)},render(){let e,t;const s=function(){return h.isItemExpandedAndWithChildren(this.item,this.fieldsSvc)?i.createVNode("ul",{class:"k-treeview-group",role:"group"},[this.fieldsSvc.children(this.item).map(function(n,a){return i.createVNode(m,{item:n,itemId:b.createId(a,this.itemId),treeGuid:this.$props.treeGuid,animate:this.$props.animate,focusedItemId:this.$props.focusedItemId,tabbableItemId:this.$props.tabbableItemId,fieldsService:this.$props.fieldsService,itemUI:this.$props.itemUI,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.$props.ariaMultiSelectable,ariaLevel:this.$props.ariaLevel+1,onItemClick:this.handleItemClick,onFocusdomelneeded:this.handleFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.handleExpandChange,onCheckChange:this.handleCheckChange,key:a,size:this.$props.size,disabled:this.computedDisabled,isRtl:this.$props.isRtl},null)},this)]):void 0},p=function(){return this.$props.expandIcons&&(this.fieldsSvc.hasChildren(this.item)||h.hasChildren(this.item,this.fieldsSvc.getChildrenField()))&&i.createVNode("span",{class:d.classNames("k-treeview-toggle",{"k-disabled":this.computedDisabled})},[i.createVNode(d.Icon,{name:this.getIconClassName(),icon:this.getIconSVG(),onClick:this.handleExpandChange},null)])},u=function(){if(this.$props.checkboxes){const n=this.$props.size,a=!!this.fieldsSvc.checked(this.item);return i.createVNode("span",{class:"k-checkbox-wrap",role:"presentation"},[i.createVNode("input",{type:"checkbox",class:d.classNames("k-checkbox",{[`k-checkbox-${k[n]||n}`]:n,"k-disabled":this.computedDisabled,"k-checked":a}),"aria-label":this.item.text,checked:a,id:this.itemGuid,tabindex:-1,onChange:this.handleCheckChange,ref:d.setRef(this,"checkboxElement")},null),i.createVNode("label",{class:"k-checkbox-label",for:this.itemGuid},null)])}else return},I=d.getTemplate.call(this,{h:i.h,template:this.$props.itemUI,defaultRendering:this.fieldsSvc.text(this.item),additionalProps:{item:this.item,itemHierarchicalIndex:this.itemId}}),o=function(){return i.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"}},[i.createVNode("span",{class:"k-treeview-leaf-text"},[I])])},f=this.itemId.split("_").length;return i.createVNode("li",{class:d.classNames("k-treeview-item"),style:{"--kendo-treeview-level":f},tabindex:this.currentTabIndex,role:"treeitem","aria-level":this.$props.ariaLevel,"aria-expanded":this.ariaExpanded,"aria-selected":this.ariaSelected,"aria-checked":this.ariaChecked,"aria-disabled":this.computedDisabled?!0:void 0},[i.createVNode("span",{class:this.getContentClassName(),ref:"treeviewitemcontent",onClick:this.handleItemContentClick},[p.call(this),u.call(this),this.$props.draggable?i.createVNode(d.Draggable,{onPress:n=>this.handlePress(n),onDrag:n=>this.handleDrag(n),onRelease:n=>this.handleRelease(n)},l(e=o.call(this))?e:{default:()=>[e]}):o.call(this)]),this.$props.animate&&this.isMounted?i.createVNode(g.Reveal,{appear:this.ariaExpanded,transitionEnterDuration:200,transitionExitDuration:200,key:this.itemGuid+"_animation",style:{display:"block"}},l(t=s.call(this))?t:{default:()=>[t]}):s.call(this)])},methods:{handleItemContentClick(e){e.target.closest(".k-treeview-toggle")||(this.$props.checkboxes&&!this.computedDisabled&&!e.target.closest(".k-checkbox-wrap")&&this.$emit("checkChange",e,this.item,this.itemId),this.$emit("itemClick",e,this.item,this.itemId))},handleCheckChange(e,t,s){this.$emit("checkChange",e,t||this.item,s||this.itemId)},handleExpandChange(e,t,s){e.stopPropagation(),this.$emit("expandChange",e,t||this.item,s||this.itemId)},handleItemClick(e,t,s){this.$emit("itemClick",e,t||this.item,s||this.itemId)},handlePress(e,t,s){this.$emit("press",e,t||{...this.item},s||this.itemId)},handleDrag(e,t,s){this.$emit("drag",e,t||this.item,s||this.itemId)},handleRelease(e,t,s){this.$emit("release",e,t||this.item,s||this.itemId)},handleFocusDomElNeeded(e){this.$emit("focusdomelneeded",e)},getIconClassName(){const e=this.fieldsSvc.expanded(this.item);return e&&!h.hasChildren(this.item,this.fieldsSvc.getChildrenField())?"loading":e?"chevron-down":this.$props.isRtl?"chevron-left":"chevron-right"},getIconSVG(){return this.fieldsSvc.expanded(this.item)?c.chevronDownIcon:this.$props.isRtl?c.chevronLeftIcon:c.chevronRightIcon},getContentClassName(){return d.classNames("k-treeview-item-content",{"k-focus":this.$props.focusedItemId===this.itemId,"k-selected":this.fieldsSvc.selected(this.item),"k-disabled":this.computedDisabled})},assignDraggableMeta(e){e&&!e[r.DOM_KENDO_ITEM_ID_FIELD]&&(e[r.DOM_KENDO_ITEM_ID_FIELD]=this.$props.itemId,e[r.DOM_KENDO_TREEVIEW_GUID_FIELD]=this.$props.treeGuid)}}});exports.TreeViewItem=m;
package/TreeViewItem.mjs CHANGED
@@ -5,19 +5,19 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as I, h as b, createVNode as s, isVNode as g } from "vue";
9
- import { kendoThemeMaps as k, classNames as a, getTemplate as v, Draggable as x, getRef as o, guid as $, Icon as C, setRef as S } from "@progress/kendo-vue-common";
8
+ import { defineComponent as I, h as b, createVNode as s, isVNode as k } from "vue";
9
+ import { kendoThemeMaps as g, classNames as a, getTemplate as v, Draggable as x, getRef as o, guid as C, Icon as $, setRef as S } from "@progress/kendo-vue-common";
10
10
  import { createId as E } from "./utils/itemIdUtils.mjs";
11
11
  import { hasChildren as h, isItemExpandedAndWithChildren as D } from "./utils/itemUtils.mjs";
12
12
  import { Reveal as F } from "@progress/kendo-vue-animation";
13
- import { DOM_KENDO_ITEM_ID_FIELD as l, DOM_KENDO_TREEVIEW_GUID_FIELD as R } from "./utils/consts.mjs";
14
- import { chevronDownIcon as w, chevronLeftIcon as _, chevronRightIcon as M } from "@progress/kendo-svg-icons";
15
- function c(e) {
16
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !g(e);
13
+ import { DOM_KENDO_ITEM_ID_FIELD as c, DOM_KENDO_TREEVIEW_GUID_FIELD as w } from "./utils/consts.mjs";
14
+ import { chevronDownIcon as R, chevronLeftIcon as _, chevronRightIcon as M } from "@progress/kendo-svg-icons";
15
+ function l(e) {
16
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !k(e);
17
17
  }
18
18
  const {
19
19
  sizeMap: N
20
- } = k, G = /* @__PURE__ */ I({
20
+ } = g, G = /* @__PURE__ */ I({
21
21
  name: "KendoTreeViewItem",
22
22
  props: {
23
23
  item: Object,
@@ -73,7 +73,7 @@ const {
73
73
  }
74
74
  },
75
75
  created() {
76
- this.itemGuid = $(), this.prevFocusedItemId = this.focusedItemId, this.prevFieldsService = this.fieldsService, this.prevItem = this.item;
76
+ this.itemGuid = C(), this.prevFocusedItemId = this.focusedItemId, this.prevFieldsService = this.fieldsService, this.prevItem = this.item;
77
77
  },
78
78
  data() {
79
79
  return {
@@ -144,7 +144,7 @@ const {
144
144
  class: a("k-treeview-toggle", {
145
145
  "k-disabled": this.computedDisabled
146
146
  })
147
- }, [s(C, {
147
+ }, [s($, {
148
148
  name: this.getIconClassName(),
149
149
  icon: this.getIconSVG(),
150
150
  onClick: this.handleExpandChange
@@ -187,8 +187,7 @@ const {
187
187
  class: "k-treeview-leaf",
188
188
  style: {
189
189
  touchAction: "none"
190
- },
191
- onClick: this.handleItemClick
190
+ }
192
191
  }, [s("span", {
193
192
  class: "k-treeview-leaf-text"
194
193
  }, [u])]);
@@ -207,12 +206,13 @@ const {
207
206
  "aria-disabled": this.computedDisabled ? !0 : void 0
208
207
  }, [s("span", {
209
208
  class: this.getContentClassName(),
210
- ref: "treeviewitemcontent"
209
+ ref: "treeviewitemcontent",
210
+ onClick: this.handleItemContentClick
211
211
  }, [m.call(this), p.call(this), this.$props.draggable ? s(x, {
212
212
  onPress: (n) => this.handlePress(n),
213
213
  onDrag: (n) => this.handleDrag(n),
214
214
  onRelease: (n) => this.handleRelease(n)
215
- }, c(e = r.call(this)) ? e : {
215
+ }, l(e = r.call(this)) ? e : {
216
216
  default: () => [e]
217
217
  }) : r.call(this)]), this.$props.animate && this.isMounted ? s(F, {
218
218
  appear: this.ariaExpanded,
@@ -222,16 +222,19 @@ const {
222
222
  style: {
223
223
  display: "block"
224
224
  }
225
- }, c(t = i.call(this)) ? t : {
225
+ }, l(t = i.call(this)) ? t : {
226
226
  default: () => [t]
227
227
  }) : i.call(this)]);
228
228
  },
229
229
  methods: {
230
+ handleItemContentClick(e) {
231
+ e.target.closest(".k-treeview-toggle") || (this.$props.checkboxes && !this.computedDisabled && !e.target.closest(".k-checkbox-wrap") && this.$emit("checkChange", e, this.item, this.itemId), this.$emit("itemClick", e, this.item, this.itemId));
232
+ },
230
233
  handleCheckChange(e, t, i) {
231
234
  this.$emit("checkChange", e, t || this.item, i || this.itemId);
232
235
  },
233
236
  handleExpandChange(e, t, i) {
234
- this.$emit("expandChange", e, t || this.item, i || this.itemId);
237
+ e.stopPropagation(), this.$emit("expandChange", e, t || this.item, i || this.itemId);
235
238
  },
236
239
  handleItemClick(e, t, i) {
237
240
  this.$emit("itemClick", e, t || this.item, i || this.itemId);
@@ -255,7 +258,7 @@ const {
255
258
  return e && !h(this.item, this.fieldsSvc.getChildrenField()) ? "loading" : e ? "chevron-down" : this.$props.isRtl ? "chevron-left" : "chevron-right";
256
259
  },
257
260
  getIconSVG() {
258
- return this.fieldsSvc.expanded(this.item) ? w : this.$props.isRtl ? _ : M;
261
+ return this.fieldsSvc.expanded(this.item) ? R : this.$props.isRtl ? _ : M;
259
262
  },
260
263
  getContentClassName() {
261
264
  return a("k-treeview-item-content", {
@@ -265,7 +268,7 @@ const {
265
268
  });
266
269
  },
267
270
  assignDraggableMeta(e) {
268
- e && !e[l] && (e[l] = this.$props.itemId, e[R] = this.$props.treeGuid);
271
+ e && !e[c] && (e[c] = this.$props.itemId, e[w] = this.$props.treeGuid);
269
272
  }
270
273
  }
271
274
  });
@@ -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-vue-animation"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-animation","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueTreeview={},e.Vue,e.KendoVueCommon,e.KendoVueAnimation,e.KendoSVGIcons)}(this,(function(e,t,i,s,n){"use strict";const d="",r="_";function o(e,t,i){if(p(e))return t[Number(e)];{const s=t[Number(c(e))],n=s&&s[i]||[];return n.length?o(l(e),n,i):void 0}}function c(e){return m(e)?e:e.split(r)[0]}function l(e){if(m(e))return e;{const t=e.indexOf(r);return e.substring(t+1)}}function a(e){return h("0",e)}function h(e,t){return e=e.toString(),t?t+r+e:e}function u(e){const t=e.lastIndexOf(r);return t<0?d:e.substring(0,t)}function m(e){return e===d||e.indexOf(r)<0}function p(e){return e!==d&&e.indexOf(r)<0}function f(e){return e.split(r)}function g(e){const t=e.lastIndexOf(r);return t<0?e:e.substring(t+1)}function I(e,t){const i=t;t="r"+r+t;const s=u(e="r"+r+e)+r;if(t.startsWith(s)){const i=t.substring(s.length);if(i){const t=c(i);if(Number(g(e))<Number(t)){return l(s+(Number(t)-1).toString()+i.substring(t.length))}}}return i}var b=Object.defineProperty,v=(e,t,i)=>((e,t,i)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,t+"",i);class k{constructor(){v(this,"objects",[])}init(e){let t;for(let i=0;i<e.length;i++)i%5e4==0&&(t={},this.objects.push(t)),t[e[i]]=!0}hasId(e){return this.objects.some((t=>t[e]))}}function x(e,t){const i=(e||"").split(".");let s=t;return i.forEach((e=>{s=s?s[e]:void 0})),s}function F(e){return void 0!==e.length}function C(e,t){const i=x(t,e);return!(!i||!i.length)}function S(e,t){return t.expanded(e)&&C(e,t.getChildrenField())}function $(e,t,i,s){const n=[],r=new k;return r.init(e),E(r,t,i,d,n,s),n}function y(e,t,i,s,n){const d=Number(c(t));if(d>=e.length)return e;let r=e,o=e[d];return o[s]||(r=e.slice(),o=r[d]=Object.assign({},o,{[s]:!0})),p(t)?i(o):o[n]&&(o[n]=y(o[n],l(t),i,s,n)),r}function w(e,t,i){const s=f(e);let n=t;for(let e=0;e<s.length;e++){const t=n[Number(s[e])];if(i.disabled(t))return!1;n=t[i.getChildrenField()]}return!0}function N(e,t,i,s,n){return(e[s]||[]).every(((e,s)=>n.indexOf(i?x(i,e):h(s,t))>-1))}function D(e,t,i){const s=i.slice();if(p(e))s.splice(Number(e),1);else{const i=Number(c(e)),n=s[i]={...s[i]};n[t]=D(l(e),t,n[t])}return s}function V(e,t,i,s,n){const d=n.slice();if(p(s))if("child"===t){const t=d[Number(s)]={...d[Number(s)]};t[i]?(t[i]=t[i].slice(),t[i].push(e)):t[i]=[e]}else d.splice(Number(s)+("after"===t?1:0),0,e);else{const n=Number(c(s)),r=d[n]={...d[n]};r[i]=V(e,t,i,l(s),r[i])}return d}function E(e,t,i,s,n,d){for(let r=0;r<i.length;r++){const o=i[r],c=h(r,s);e.hasId(x(t,o))&&n.push(c),C(o,d)&&E(e,t,x(d,o),c,n,d)}}function R(e,t,s,n,d){switch(n){case i.Keys.left:return p(t)||d.expanded(e)&&w(t,s,d)?t:u(t);case i.Keys.right:return S(e,d)?a(t):t;case i.Keys.up:return function(){const e=Number(g(t)),i=u(t);return e?T(h(e-1,i),s,d):p(t)?t:i}();case i.Keys.down:return S(e,d)?a(t):O(t,s,d)||t;case i.Keys.home:return"0";case i.Keys.end:return function(){let e,t=(s.length-1).toString(),i=s[s.length-1];for(;S(i,d);)e=i[d.getChildrenField()],t=h(e.length-1,t),i=e[e.length-1];return t}();default:return t}}function O(e,t,i){const s=u(e),n=s?o(s,t,i.getChildrenField()):void 0,d=n?n[i.getChildrenField()]:t,r=Number(g(e));return r<d.length-1?h(r+1,s):n?O(s,t,i):void 0}function T(e,t,i){const s=o(e,t,i.getChildrenField());return S(s,i)?T(h(s[i.getChildrenField()].length-1,e),t,i):e}const M="expanded",G="items",K="selected",P="checked",B="checkIndeterminate",j="_kendoItemId",z="_kendoTreeViewGuid";function H(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const{sizeMap:_}=i.kendoThemeMaps,U=t.defineComponent({name:"KendoTreeViewItem",props:{item:Object,itemId:String,treeGuid:String,animate:Boolean,focusedItemId:String,tabbableItemId:String,fieldsService:Object,itemUI:Object,ariaMultiSelectable:Boolean,expandIcons:Boolean,checkboxes:Boolean,onFocusDomElNeeded:Object,draggable:Boolean,isRtl:Boolean,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}},disabled:Boolean,ariaLevel:Number,onItemClick:Function,onExpandChange:Function,onCheckChange:Function,onPress:Function,onDrag:Function,onRelease:Function,onFocusdomelneeded:Function},computed:{fieldsSvc(){return this.$props.fieldsService},currentTabIndex(){return(this.$props.focusedItemId||this.$props.tabbableItemId)===this.itemId?0:-1},ariaExpanded(){return this.fieldsSvc.hasChildren(this.item)||C(this.item,this.fieldsSvc.getChildrenField())?!!this.fieldsSvc.expanded(this.item):void 0},ariaChecked(){if(this.$props.checkboxes)return this.fieldsSvc.checked(this.item)?"true":this.fieldsSvc.checkIndeterminate(this.item)?"mixed":"false"},ariaSelected(){return!!this.fieldsSvc.selected(this.item)||(this.$props.ariaMultiSelectable?!!this.computedDisabled&&void 0:void 0)},computedDisabled(){const e=this.fieldsSvc.disabled(this.item);return void 0!==e?e:this.disabled}},created(){this.itemGuid=i.guid(),this.prevFocusedItemId=this.focusedItemId,this.prevFieldsService=this.fieldsService,this.prevItem=this.item},data:()=>({isMounted:!1}),watch:{focusedItemId:function(e,t){this.prevFocusedItemId=t},fieldsService:function(e,t){this.prevFieldsService=t},item:function(e,t){this.prevItem=t}},mounted(){const e=this.$props.focusedItemId,t=this.itemId;e&&e===t&&this.$emit("focusDomElNeeded",this.$el),this.checkboxElement=i.getRef(this,"checkboxElement"),this.checkboxElement&&(this.checkboxElement.indeterminate=this.fieldsSvc.checkIndeterminate(this.item)),this.assignDraggableMeta(this.$refs.treeviewitemcontent),this.isMounted=!0},updated(){const e=this.$props.focusedItemId;if(e&&e!==this.prevFocusedItemId&&e===this.itemId&&this.$emit("focusdomelneeded",this.$el),this.checkboxElement=i.getRef(this,"checkboxElement"),this.checkboxElement){const e=this.fieldsSvc.checkIndeterminate(this.item);e!==this.prevFieldsService.checkIndeterminate(this.prevItem)&&(this.checkboxElement.indeterminate=e)}this.assignDraggableMeta(this.$refs.treeviewitemcontent)},render(){let e,n;const d=function(){return S(this.item,this.fieldsSvc)?t.createVNode("ul",{class:"k-treeview-group",role:"group"},[this.fieldsSvc.children(this.item).map((function(e,i){return t.createVNode(U,{item:e,itemId:h(i,this.itemId),treeGuid:this.$props.treeGuid,animate:this.$props.animate,focusedItemId:this.$props.focusedItemId,tabbableItemId:this.$props.tabbableItemId,fieldsService:this.$props.fieldsService,itemUI:this.$props.itemUI,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.$props.ariaMultiSelectable,ariaLevel:this.$props.ariaLevel+1,onItemClick:this.handleItemClick,onFocusdomelneeded:this.handleFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.handleExpandChange,onCheckChange:this.handleCheckChange,key:i,size:this.$props.size,disabled:this.computedDisabled,isRtl:this.$props.isRtl},null)}),this)]):void 0},r=i.getTemplate.call(this,{h:t.h,template:this.$props.itemUI,defaultRendering:this.fieldsSvc.text(this.item),additionalProps:{item:this.item,itemHierarchicalIndex:this.itemId}}),o=function(){return t.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"},onClick:this.handleItemClick},[t.createVNode("span",{class:"k-treeview-leaf-text"},[r])])},c=this.itemId.split("_").length;return t.createVNode("li",{class:i.classNames("k-treeview-item"),style:{"--kendo-treeview-level":c},tabindex:this.currentTabIndex,role:"treeitem","aria-level":this.$props.ariaLevel,"aria-expanded":this.ariaExpanded,"aria-selected":this.ariaSelected,"aria-checked":this.ariaChecked,"aria-disabled":!!this.computedDisabled||void 0},[t.createVNode("span",{class:this.getContentClassName(),ref:"treeviewitemcontent"},[function(){return this.$props.expandIcons&&(this.fieldsSvc.hasChildren(this.item)||C(this.item,this.fieldsSvc.getChildrenField()))&&t.createVNode("span",{class:i.classNames("k-treeview-toggle",{"k-disabled":this.computedDisabled})},[t.createVNode(i.Icon,{name:this.getIconClassName(),icon:this.getIconSVG(),onClick:this.handleExpandChange},null)])}.call(this),function(){if(this.$props.checkboxes){const e=this.$props.size,s=!!this.fieldsSvc.checked(this.item);return t.createVNode("span",{class:"k-checkbox-wrap",role:"presentation"},[t.createVNode("input",{type:"checkbox",class:i.classNames("k-checkbox",{[`k-checkbox-${_[e]||e}`]:e,"k-disabled":this.computedDisabled,"k-checked":s}),"aria-label":this.item.text,checked:s,id:this.itemGuid,tabindex:-1,onChange:this.handleCheckChange,ref:i.setRef(this,"checkboxElement")},null),t.createVNode("label",{class:"k-checkbox-label",for:this.itemGuid},null)])}}.call(this),this.$props.draggable?t.createVNode(i.Draggable,{onPress:e=>this.handlePress(e),onDrag:e=>this.handleDrag(e),onRelease:e=>this.handleRelease(e)},H(e=o.call(this))?e:{default:()=>[e]}):o.call(this)]),this.$props.animate&&this.isMounted?t.createVNode(s.Reveal,{appear:this.ariaExpanded,transitionEnterDuration:200,transitionExitDuration:200,key:this.itemGuid+"_animation",style:{display:"block"}},H(n=d.call(this))?n:{default:()=>[n]}):d.call(this)])},methods:{handleCheckChange(e,t,i){this.$emit("checkChange",e,t||this.item,i||this.itemId)},handleExpandChange(e,t,i){this.$emit("expandChange",e,t||this.item,i||this.itemId)},handleItemClick(e,t,i){this.$emit("itemClick",e,t||this.item,i||this.itemId)},handlePress(e,t,i){this.$emit("press",e,t||{...this.item},i||this.itemId)},handleDrag(e,t,i){this.$emit("drag",e,t||this.item,i||this.itemId)},handleRelease(e,t,i){this.$emit("release",e,t||this.item,i||this.itemId)},handleFocusDomElNeeded(e){this.$emit("focusdomelneeded",e)},getIconClassName(){const e=this.fieldsSvc.expanded(this.item);return e&&!C(this.item,this.fieldsSvc.getChildrenField())?"loading":e?"chevron-down":this.$props.isRtl?"chevron-left":"chevron-right"},getIconSVG(){return this.fieldsSvc.expanded(this.item)?n.chevronDownIcon:this.$props.isRtl?n.chevronLeftIcon:n.chevronRightIcon},getContentClassName(){return i.classNames("k-treeview-item-content",{"k-focus":this.$props.focusedItemId===this.itemId,"k-selected":this.fieldsSvc.selected(this.item),"k-disabled":this.computedDisabled})},assignDraggableMeta(e){e&&!e[j]&&(e[j]=this.$props.itemId,e[z]=this.$props.treeGuid)}}});var Y=Object.defineProperty,L=(e,t,i)=>((e,t,i)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let X=class{constructor(e){L(this,"focusIdField"),L(this,"expandField"),L(this,"selectField"),L(this,"childrenField"),L(this,"hasChildrenField"),L(this,"textField"),L(this,"disableField"),L(this,"checkField"),L(this,"checkIndeterminateField"),this.expandField=e.expandField,this.selectField=e.selectField,this.hasChildrenField=e.hasChildrenField,this.childrenField=e.childrenField,this.textField=e.textField,this.disableField=e.disableField,this.checkField=e.checkField,this.checkIndeterminateField=e.checkIndeterminateField,this.focusIdField=e.focusIdField}expanded(e){return x(this.expandField,e)}selected(e){return x(this.selectField,e)}text(e){return x(this.textField,e)}disabled(e){return x(this.disableField,e)}hasChildren(e){return x(this.hasChildrenField,e)}children(e){return x(this.childrenField,e)||[]}checked(e){return x(this.checkField,e)}checkIndeterminate(e){return x(this.checkIndeterminateField,e)}focusId(e){return this.focusIdField&&x(this.focusIdField,e)}getChildrenField(){return this.childrenField}};const q={name:"@progress/kendo-vue-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1650203065,version:"8.0.0-develop.4",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"},{sizeMap:A}=i.kendoThemeMaps,W=t.defineComponent({name:"KendoTreeView",emits:{blur:null,focus:null,itemdragstart:null,itemdragover:null,itemdragend:null,keydown:null,itemclick:null,expandchange:null,checkchange:null},props:{dataItems:Array,animate:{type:Boolean,default:!0},id:String,draggable:Boolean,tabIndex:Number,focusIdField:String,getFocusHierarchicalIndex:Function,expandField:{type:String,default:M},selectField:{type:String,default:K},childrenField:{type:String,default:G},hasChildrenField:{type:String,default:"hasChildren"},expandIcons:Boolean,checkboxes:Boolean,textField:{type:String,default:"text"},disableField:{type:String,default:"disabled"},checkField:{type:String,default:P},checkIndeterminateField:{type:String,default:B},item:[Object,String,Function],ariaMultiSelectable:[String,Boolean],ariaLabel:String,ariaLabelledby:String,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}}},data:()=>({currentRtl:!1,focusedItemId:void 0,focusedItemPublicId:void 0,tabbableItemId:"0"}),mounted(){this.currentRtl=i.isRtl(this.$el)},computed:{treeGuid(){return this.id||this.innerId}},created(){i.validatePackage(q),this.allowExplicitFocus=!1,this.innerId=i.guid()},updated(){this.allowExplicitFocus=!1,this.refocusDueToFocusIdField()},render(){this.fieldsSvc=new X(this.$props);const{size:e}=this.$props;return t.createVNode("div",{class:i.classNames("k-treeview",{[`k-treeview-${A[e]||e}`]:e,"k-user-select-none":this.draggable,"k-rtl":this.currentRtl}),onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,"aria-multiselectable":!!this.ariaMultiSelectable||void 0,"aria-label":this.$props["aria-label"],"aria-labelledby":this.$props["aria-labelledby"],tabindex:this.$props.tabIndex,style:{userSelect:this.draggable?"none":void 0}},[t.createVNode("ul",{class:"k-treeview-lines k-treeview-group",role:"tree"},[this.dataItems.map((function(s,n){const d=i.templateRendering.call(this,this.item,i.getListeners.call(this));return t.createVNode(U,{item:s,itemId:n.toString(),treeGuid:this.treeGuid,animate:this.$props.animate,focusedItemId:this.focusedItemId,tabbableItemId:this.tabbableItemId,fieldsService:this.fieldsSvc,itemUI:d,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.ariaMultiSelectable,onItemClick:this.onItemClick,onFocusdomelneeded:this.onFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.onExpandChange,onCheckChange:this.onCheckChange,key:n,size:e,ariaLevel:1,isRtl:this.currentRtl},null)}),this)])])},methods:{onFocusDomElNeeded(e){this.allowExplicitFocus&&this.focusDomItem(e)},onCheckChange(e,t,i){this.setFocus(i),this.dispatchCheckChange(e,t,i)},onExpandChange(e,t,i){this.setFocus(i),this.dispatchExpandChange(e,t,i)},onPress(e,t,i){this.$emit("itemdragstart",{target:this,item:t,itemHierarchicalIndex:i})},onDrag(e,t,i){const{pageX:s,pageY:n,clientX:d,clientY:r}=e;this.$emit("itemdragover",{target:this,item:t,itemHierarchicalIndex:i,pageX:s,pageY:n,clientX:d,clientY:r})},onRelease(e,t,i){const{pageX:s,pageY:n,clientX:d,clientY:r}=e;this.$emit("itemdragend",{target:this,item:t,itemHierarchicalIndex:i,pageX:s,pageY:n,clientX:d,clientY:r})},onItemClick(e,t,i){this.setFocus(i),this.dispatchItemClick(e,t,i)},onFocus(e){clearTimeout(this.blurRequest),void 0===this.focusedItemId&&this.dataItems.length&&this.setFocus(this.tabbableItemId),this.$emit("focus",e)},onBlur(e){clearTimeout(this.blurRequest),i.canUseDOM&&(this.blurRequest=window.setTimeout((()=>this.setFocus(void 0)),0)),this.$emit("blur",e)},onKeyDown(e){const t=this.getFocusedItem();if(t){const i=R(t,this.focusedItemId,this.dataItems,e.keyCode,this.fieldsSvc);i!==this.focusedItemId&&(e.preventDefault(),this.allowExplicitFocus=!0,this.setFocus(i)),this.dispatchEventsOnKeyDown(e,t)}this.$emit("keydown",e)},dispatchEventsOnKeyDown(e,t){const s=()=>w(this.focusedItemId,this.dataItems,this.fieldsSvc),n=this.fieldsSvc.disabled(t);e.keyCode===i.Keys.left&&this.fieldsSvc.expanded(t)&&s()||e.keyCode===i.Keys.right&&!this.fieldsSvc.expanded(t)&&(this.fieldsSvc.hasChildren(t)||C(t,this.$props.childrenField))&&s()?this.dispatchExpandChange(e,t,this.focusedItemId):e.keyCode!==i.Keys.enter||n?e.keyCode===i.Keys.space&&!n&&(e.preventDefault(),this.dispatchCheckChange(e,t,this.focusedItemId)):this.dispatchItemClick(e,t,this.focusedItemId)},setFocus(e){if(e)if(this.fieldsSvc.focusIdField){const t=this.getItemById(e);this.focusedItemId=e,this.focusedItemPublicId=this.fieldsSvc.focusId(t)}else this.focusedItemId=e;else{const e=this.focusedItemId;this.focusedItemId=void 0,this.focusedItemPublicId=void 0,this.tabbableItemId=e}},getFocusedItem(){return this.focusedItemId?this.getItemById(this.focusedItemId):void 0},getItemById(e){return o(e,this.dataItems,this.$props.childrenField||G)},dispatchCheckChange(e,t,i){this.$emit("checkchange",{item:t,itemHierarchicalIndex:i,event:e})},dispatchExpandChange(e,t,i){this.$emit("expandchange",{item:t,itemHierarchicalIndex:i,event:e})},dispatchItemClick(e,t,i){this.$emit("itemclick",{item:t,itemHierarchicalIndex:i,event:e})},refocusDueToFocusIdField(){if(this.fieldsSvc.focusIdField){const e=this.focusedItemPublicId;if(e){const t=this.$props.getFocusHierarchicalIndex?this.$props.getFocusHierarchicalIndex(e):function(e,t,i,s){const n=$([e],t,i,s);return n.length?n[0]:void 0}(e,this.fieldsSvc.focusIdField,this.dataItems,this.$props.childrenField);t!==this.focusedItemId&&(this.allowExplicitFocus=!0,this.focusedItemId=t)}}},focusDomItem(e){e.focus()},guid(){return this.treeGuid}}});function J(e,t,i,s,n){if(i){let{ids:d,field:r}=Q(i,t);return function(e,t,i,s,n){let d=e;return t.forEach((e=>{d=y(d,e,(e=>Z(i,e)),s,n)})),d}(e,!F(i)&&i.idField?$(d,i.idField,e,n):d,r,s,n)}return e}function Q(e,t){let i,s;return F(e)?(i=e,s=t):(i=e.ids||[],s=e.operationField||t),{ids:i,field:s}}function Z(e,t){const i=(e||"").split(".");let s=t;for(let e=0;e<i.length;e++){const t=i[e];if(e===i.length-1)s[t]=!0;else{if(void 0===s[t])return;s[t]={...s[t]},s=s[t]}}}function ee(e,t,i,s,n){let d=!1;for(let r=0;r<e.length;r++){const o=e[r];if(x(s,o)){if(!d)for(let e=0;e<t.length;e++)Z(n,t[e]);d=!0,o[i]&&ee(o[i],[],i,s,n)}else o[i]&&ee(o[i],d?[o]:t.concat([o]),i,s,n)}}const te=t.defineComponent({name:"KendoTreeViewDragClue",data:()=>({visible:!1,top:0,left:0,text:"",operationIconName:"cancel",operationSvg:n.cancelIcon}),render(){const e={top:this.top+"px",left:this.left+"px"};return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"4px 6px",...e}},[t.createVNode(i.Icon,{name:i.getIconName(this.operationIconName),icon:this.operationSvg,class:"k-drag-status"},null),this.text])},methods:{show(e,t,i,s){this.visible=!0,this.top=e,this.left=t,this.text=i,"string"==typeof s?this.operationIconName=s:this.operationSvg=s},hide(){this.visible=!1}}});var ie=Object.defineProperty,se=(e,t,i)=>((e,t,i)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);e.TreeView=W,e.TreeViewDragAnalyzer=class{constructor(e){se(this,"itemId"),se(this,"treeViewGuid"),se(this,"initialized",!1),se(this,"destDomNodeWithMeta"),se(this,"destItemId"),se(this,"destTreeViewGuid"),this.event=e,this.itemId=e.itemHierarchicalIndex,this.treeViewGuid=e.target.guid()}init(){return this.initialized||(this.setDestimationMeta(document.elementFromPoint(this.event.clientX,this.event.clientY)),this.initialized=!0),this}get isDropAllowed(){return!!(this.initialized&&this.destItemId&&this.destTreeViewGuid)&&!`${this.destTreeViewGuid}_${this.destItemId}_`.startsWith(`${this.treeViewGuid}_${this.itemId}_`)}get destinationMeta(){return{itemHierarchicalIndex:this.destItemId,treeViewGuid:this.destTreeViewGuid}}getDropOperation(){if(this.initialized&&this.isDropAllowed){const{top:e,height:t}=this.destDomNodeWithMeta.getBoundingClientRect();return e+t-this.event.clientY<6?"after":this.event.clientY-e<6?"before":"child"}}setDestimationMeta(e){let t=e;for(;t&&!t[j];)t=t.parentNode;t&&t[j]&&(this.destDomNodeWithMeta=t,this.destItemId=t[j],this.destTreeViewGuid=t[z])}},e.TreeViewDragClue=te,e.TreeViewItem=U,e.handleTreeViewCheckChange=function(e,t,i,s={},n){if(!i||!i.length)return[];const{ids:d,idField:r}=function(e){let t,i;return F(e)?t=e:(t=e.ids||[],i=e.idField),{ids:t,idField:i}}(t),c=r?x(r,e.item):e.itemHierarchicalIndex,l=d.indexOf(c),a=-1===l,m=n||G;let p;return s.singleMode?p=a?[c]:[]:(p=d.slice(),a?p.push(c):p.splice(l,1),s.checkChildren&&function(e,t,i,s,n,d){(function(e,t,i,s){return s?function e(t){let n=[];const d=t[i]||[];for(let t=0;t<d.length;t++)n.push(x(s,d[t])),n=n.concat(e(d[t]));return n}(e):function e(t,s){let n=[];const d=t[i]||[];for(let t=0;t<d.length;t++){const i=h(t,s);n.push(i),n=n.concat(e(d[t],i))}return n}(e,t)})(e,t,n,s).forEach((e=>{i&&-1===d.indexOf(e)?d.push(e):!i&&d.indexOf(e)>-1&&d.splice(d.indexOf(e),1)}))}(e.item,e.itemHierarchicalIndex,a,r,m,p),s.checkParents&&function(e,t,i,s,n,d){const r=h();let c=r.next();function l(){for(;!c.done;){const{id:e,item:t}=c.value;if(-1!==n.indexOf(e)||!N(t,e,i,s,n))break;n.push(e),c=r.next()}}function a(){for(;!c.done;){const{id:e}=c.value,t=n.indexOf(e);if(!(t>-1))break;n.splice(t,1),c=r.next()}}function*h(){if(i){const n=function(e,t,i){const s=[],n=f(e);let d=i;for(let e=0;e<n.length-1&&d;e++){const i=d[Number(n[e])];s.push(i),d=i[t]}return s}(e,s,d);for(let e=n.length-1;e>-1;e--)yield{id:x(i,n[e]),item:t?n[e]:void 0}}else{let i=u(e);for(;i;)yield{id:i,item:t?o(i,d,s):void 0},i=u(i)}}t?l():a()}(e.itemHierarchicalIndex,a,r,m,p,i)),F(t)?p:Object.assign({},t,{ids:p})},e.moveTreeViewItem=function(e,t,i,s,n,d){const r=d||G;if(!(t&&t.length&&e&&s)||n&&!n.length||!o(s,n&&n!==t?n:t,r))return l();const c=o(e,t,r);if(!c)return l();if(n&&n!==t){return{sourceData:D(e,r,t),targetData:V(c,i,r,s,n)}}{if(`${s}_`.startsWith(`${e}_`))return l();const d=D(e,r,t),o=V(c,i,r,I(e,s),d);return n?{sourceData:o,targetData:o}:o}function l(){return n?{sourceData:t,targetData:n}:t}},e.processTreeViewItems=function(e,t){if(!e||!e.length)return[];let i=e;const s=t.cloneField||"cloned",n=t.expandField||M,d=t.selectField||K,r=t.checkField||P,o=t.childrenField||G;return i=J(i,n,t.expand,s,o),i=J(i,d,t.select,s,o),i=J(i,r,t.check,s,o),function(e,t,i){if(i&&!F(i)&&i.applyCheckIndeterminate){const{field:s}=Q(i,P),n=i.checkIndeterminateField||B;for(let i=0;i<e.length;i++){const d=e[i],r=d[t];r&&ee(r,x(s,d)?[]:[d],t,s,n)}}}(i,o,t.check),i}}));
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-vue-animation"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-animation","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueTreeview={},e.Vue,e.KendoVueCommon,e.KendoVueAnimation,e.KendoSVGIcons)}(this,(function(e,t,i,s,n){"use strict";const d="",r="_";function o(e,t,i){if(p(e))return t[Number(e)];{const s=t[Number(c(e))],n=s&&s[i]||[];return n.length?o(l(e),n,i):void 0}}function c(e){return m(e)?e:e.split(r)[0]}function l(e){if(m(e))return e;{const t=e.indexOf(r);return e.substring(t+1)}}function a(e){return h("0",e)}function h(e,t){return e=e.toString(),t?t+r+e:e}function u(e){const t=e.lastIndexOf(r);return t<0?d:e.substring(0,t)}function m(e){return e===d||e.indexOf(r)<0}function p(e){return e!==d&&e.indexOf(r)<0}function f(e){return e.split(r)}function g(e){const t=e.lastIndexOf(r);return t<0?e:e.substring(t+1)}function I(e,t){const i=t;t="r"+r+t;const s=u(e="r"+r+e)+r;if(t.startsWith(s)){const i=t.substring(s.length);if(i){const t=c(i);if(Number(g(e))<Number(t)){return l(s+(Number(t)-1).toString()+i.substring(t.length))}}}return i}var b=Object.defineProperty,v=(e,t,i)=>((e,t,i)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,t+"",i);let k=class{constructor(){v(this,"objects",[])}init(e){let t;for(let i=0;i<e.length;i++)i%5e4==0&&(t={},this.objects.push(t)),t[e[i]]=!0}hasId(e){return this.objects.some((t=>t[e]))}};function x(e,t){const i=(e||"").split(".");let s=t;return i.forEach((e=>{s=s?s[e]:void 0})),s}function F(e){return void 0!==e.length}function C(e,t){const i=x(t,e);return!(!i||!i.length)}function S(e,t){return t.expanded(e)&&C(e,t.getChildrenField())}function $(e,t,i,s){const n=[],r=new k;return r.init(e),E(r,t,i,d,n,s),n}function y(e,t,i,s,n){const d=Number(c(t));if(d>=e.length)return e;let r=e,o=e[d];return o[s]||(r=e.slice(),o=r[d]=Object.assign({},o,{[s]:!0})),p(t)?i(o):o[n]&&(o[n]=y(o[n],l(t),i,s,n)),r}function w(e,t,i){const s=f(e);let n=t;for(let e=0;e<s.length;e++){const t=n[Number(s[e])];if(i.disabled(t))return!1;n=t[i.getChildrenField()]}return!0}function N(e,t,i,s,n){return(e[s]||[]).every(((e,s)=>n.indexOf(i?x(i,e):h(s,t))>-1))}function D(e,t,i){const s=i.slice();if(p(e))s.splice(Number(e),1);else{const i=Number(c(e)),n=s[i]={...s[i]};n[t]=D(l(e),t,n[t])}return s}function V(e,t,i,s,n){const d=n.slice();if(p(s))if("child"===t){const t=d[Number(s)]={...d[Number(s)]};t[i]?(t[i]=t[i].slice(),t[i].push(e)):t[i]=[e]}else d.splice(Number(s)+("after"===t?1:0),0,e);else{const n=Number(c(s)),r=d[n]={...d[n]};r[i]=V(e,t,i,l(s),r[i])}return d}function E(e,t,i,s,n,d){for(let r=0;r<i.length;r++){const o=i[r],c=h(r,s);e.hasId(x(t,o))&&n.push(c),C(o,d)&&E(e,t,x(d,o),c,n,d)}}function R(e,t,s,n,d){switch(n){case i.Keys.left:return p(t)||d.expanded(e)&&w(t,s,d)?t:u(t);case i.Keys.right:return S(e,d)?a(t):t;case i.Keys.up:return function(){const e=Number(g(t)),i=u(t);return e?T(h(e-1,i),s,d):p(t)?t:i}();case i.Keys.down:return S(e,d)?a(t):O(t,s,d)||t;case i.Keys.home:return"0";case i.Keys.end:return function(){let e,t=(s.length-1).toString(),i=s[s.length-1];for(;S(i,d);)e=i[d.getChildrenField()],t=h(e.length-1,t),i=e[e.length-1];return t}();default:return t}}function O(e,t,i){const s=u(e),n=s?o(s,t,i.getChildrenField()):void 0,d=n?n[i.getChildrenField()]:t,r=Number(g(e));return r<d.length-1?h(r+1,s):n?O(s,t,i):void 0}function T(e,t,i){const s=o(e,t,i.getChildrenField());return S(s,i)?T(h(s[i.getChildrenField()].length-1,e),t,i):e}const M="expanded",G="items",K="selected",P="checked",B="checkIndeterminate",j="_kendoItemId",z="_kendoTreeViewGuid";function H(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const{sizeMap:_}=i.kendoThemeMaps,U=t.defineComponent({name:"KendoTreeViewItem",props:{item:Object,itemId:String,treeGuid:String,animate:Boolean,focusedItemId:String,tabbableItemId:String,fieldsService:Object,itemUI:Object,ariaMultiSelectable:Boolean,expandIcons:Boolean,checkboxes:Boolean,onFocusDomElNeeded:Object,draggable:Boolean,isRtl:Boolean,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}},disabled:Boolean,ariaLevel:Number,onItemClick:Function,onExpandChange:Function,onCheckChange:Function,onPress:Function,onDrag:Function,onRelease:Function,onFocusdomelneeded:Function},computed:{fieldsSvc(){return this.$props.fieldsService},currentTabIndex(){return(this.$props.focusedItemId||this.$props.tabbableItemId)===this.itemId?0:-1},ariaExpanded(){return this.fieldsSvc.hasChildren(this.item)||C(this.item,this.fieldsSvc.getChildrenField())?!!this.fieldsSvc.expanded(this.item):void 0},ariaChecked(){if(this.$props.checkboxes)return this.fieldsSvc.checked(this.item)?"true":this.fieldsSvc.checkIndeterminate(this.item)?"mixed":"false"},ariaSelected(){return!!this.fieldsSvc.selected(this.item)||(this.$props.ariaMultiSelectable?!!this.computedDisabled&&void 0:void 0)},computedDisabled(){const e=this.fieldsSvc.disabled(this.item);return void 0!==e?e:this.disabled}},created(){this.itemGuid=i.guid(),this.prevFocusedItemId=this.focusedItemId,this.prevFieldsService=this.fieldsService,this.prevItem=this.item},data:()=>({isMounted:!1}),watch:{focusedItemId:function(e,t){this.prevFocusedItemId=t},fieldsService:function(e,t){this.prevFieldsService=t},item:function(e,t){this.prevItem=t}},mounted(){const e=this.$props.focusedItemId,t=this.itemId;e&&e===t&&this.$emit("focusDomElNeeded",this.$el),this.checkboxElement=i.getRef(this,"checkboxElement"),this.checkboxElement&&(this.checkboxElement.indeterminate=this.fieldsSvc.checkIndeterminate(this.item)),this.assignDraggableMeta(this.$refs.treeviewitemcontent),this.isMounted=!0},updated(){const e=this.$props.focusedItemId;if(e&&e!==this.prevFocusedItemId&&e===this.itemId&&this.$emit("focusdomelneeded",this.$el),this.checkboxElement=i.getRef(this,"checkboxElement"),this.checkboxElement){const e=this.fieldsSvc.checkIndeterminate(this.item);e!==this.prevFieldsService.checkIndeterminate(this.prevItem)&&(this.checkboxElement.indeterminate=e)}this.assignDraggableMeta(this.$refs.treeviewitemcontent)},render(){let e,n;const d=function(){return S(this.item,this.fieldsSvc)?t.createVNode("ul",{class:"k-treeview-group",role:"group"},[this.fieldsSvc.children(this.item).map((function(e,i){return t.createVNode(U,{item:e,itemId:h(i,this.itemId),treeGuid:this.$props.treeGuid,animate:this.$props.animate,focusedItemId:this.$props.focusedItemId,tabbableItemId:this.$props.tabbableItemId,fieldsService:this.$props.fieldsService,itemUI:this.$props.itemUI,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.$props.ariaMultiSelectable,ariaLevel:this.$props.ariaLevel+1,onItemClick:this.handleItemClick,onFocusdomelneeded:this.handleFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.handleExpandChange,onCheckChange:this.handleCheckChange,key:i,size:this.$props.size,disabled:this.computedDisabled,isRtl:this.$props.isRtl},null)}),this)]):void 0},r=i.getTemplate.call(this,{h:t.h,template:this.$props.itemUI,defaultRendering:this.fieldsSvc.text(this.item),additionalProps:{item:this.item,itemHierarchicalIndex:this.itemId}}),o=function(){return t.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"}},[t.createVNode("span",{class:"k-treeview-leaf-text"},[r])])},c=this.itemId.split("_").length;return t.createVNode("li",{class:i.classNames("k-treeview-item"),style:{"--kendo-treeview-level":c},tabindex:this.currentTabIndex,role:"treeitem","aria-level":this.$props.ariaLevel,"aria-expanded":this.ariaExpanded,"aria-selected":this.ariaSelected,"aria-checked":this.ariaChecked,"aria-disabled":!!this.computedDisabled||void 0},[t.createVNode("span",{class:this.getContentClassName(),ref:"treeviewitemcontent",onClick:this.handleItemContentClick},[function(){return this.$props.expandIcons&&(this.fieldsSvc.hasChildren(this.item)||C(this.item,this.fieldsSvc.getChildrenField()))&&t.createVNode("span",{class:i.classNames("k-treeview-toggle",{"k-disabled":this.computedDisabled})},[t.createVNode(i.Icon,{name:this.getIconClassName(),icon:this.getIconSVG(),onClick:this.handleExpandChange},null)])}.call(this),function(){if(this.$props.checkboxes){const e=this.$props.size,s=!!this.fieldsSvc.checked(this.item);return t.createVNode("span",{class:"k-checkbox-wrap",role:"presentation"},[t.createVNode("input",{type:"checkbox",class:i.classNames("k-checkbox",{[`k-checkbox-${_[e]||e}`]:e,"k-disabled":this.computedDisabled,"k-checked":s}),"aria-label":this.item.text,checked:s,id:this.itemGuid,tabindex:-1,onChange:this.handleCheckChange,ref:i.setRef(this,"checkboxElement")},null),t.createVNode("label",{class:"k-checkbox-label",for:this.itemGuid},null)])}}.call(this),this.$props.draggable?t.createVNode(i.Draggable,{onPress:e=>this.handlePress(e),onDrag:e=>this.handleDrag(e),onRelease:e=>this.handleRelease(e)},H(e=o.call(this))?e:{default:()=>[e]}):o.call(this)]),this.$props.animate&&this.isMounted?t.createVNode(s.Reveal,{appear:this.ariaExpanded,transitionEnterDuration:200,transitionExitDuration:200,key:this.itemGuid+"_animation",style:{display:"block"}},H(n=d.call(this))?n:{default:()=>[n]}):d.call(this)])},methods:{handleItemContentClick(e){e.target.closest(".k-treeview-toggle")||(this.$props.checkboxes&&!this.computedDisabled&&!e.target.closest(".k-checkbox-wrap")&&this.$emit("checkChange",e,this.item,this.itemId),this.$emit("itemClick",e,this.item,this.itemId))},handleCheckChange(e,t,i){this.$emit("checkChange",e,t||this.item,i||this.itemId)},handleExpandChange(e,t,i){e.stopPropagation(),this.$emit("expandChange",e,t||this.item,i||this.itemId)},handleItemClick(e,t,i){this.$emit("itemClick",e,t||this.item,i||this.itemId)},handlePress(e,t,i){this.$emit("press",e,t||{...this.item},i||this.itemId)},handleDrag(e,t,i){this.$emit("drag",e,t||this.item,i||this.itemId)},handleRelease(e,t,i){this.$emit("release",e,t||this.item,i||this.itemId)},handleFocusDomElNeeded(e){this.$emit("focusdomelneeded",e)},getIconClassName(){const e=this.fieldsSvc.expanded(this.item);return e&&!C(this.item,this.fieldsSvc.getChildrenField())?"loading":e?"chevron-down":this.$props.isRtl?"chevron-left":"chevron-right"},getIconSVG(){return this.fieldsSvc.expanded(this.item)?n.chevronDownIcon:this.$props.isRtl?n.chevronLeftIcon:n.chevronRightIcon},getContentClassName(){return i.classNames("k-treeview-item-content",{"k-focus":this.$props.focusedItemId===this.itemId,"k-selected":this.fieldsSvc.selected(this.item),"k-disabled":this.computedDisabled})},assignDraggableMeta(e){e&&!e[j]&&(e[j]=this.$props.itemId,e[z]=this.$props.treeGuid)}}});var Y=Object.defineProperty,L=(e,t,i)=>((e,t,i)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let X=class{constructor(e){L(this,"focusIdField"),L(this,"expandField"),L(this,"selectField"),L(this,"childrenField"),L(this,"hasChildrenField"),L(this,"textField"),L(this,"disableField"),L(this,"checkField"),L(this,"checkIndeterminateField"),this.expandField=e.expandField,this.selectField=e.selectField,this.hasChildrenField=e.hasChildrenField,this.childrenField=e.childrenField,this.textField=e.textField,this.disableField=e.disableField,this.checkField=e.checkField,this.checkIndeterminateField=e.checkIndeterminateField,this.focusIdField=e.focusIdField}expanded(e){return x(this.expandField,e)}selected(e){return x(this.selectField,e)}text(e){return x(this.textField,e)}disabled(e){return x(this.disableField,e)}hasChildren(e){return x(this.hasChildrenField,e)}children(e){return x(this.childrenField,e)||[]}checked(e){return x(this.checkField,e)}checkIndeterminate(e){return x(this.checkIndeterminateField,e)}focusId(e){return this.focusIdField&&x(this.focusIdField,e)}getChildrenField(){return this.childrenField}};const q={name:"@progress/kendo-vue-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1650203065,version:"8.0.0-develop.6",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"},{sizeMap:A}=i.kendoThemeMaps,W=t.defineComponent({name:"KendoTreeView",emits:{blur:null,focus:null,itemdragstart:null,itemdragover:null,itemdragend:null,keydown:null,itemclick:null,expandchange:null,checkchange:null},props:{dataItems:Array,animate:{type:Boolean,default:!0},id:String,draggable:Boolean,tabIndex:Number,focusIdField:String,getFocusHierarchicalIndex:Function,expandField:{type:String,default:M},selectField:{type:String,default:K},childrenField:{type:String,default:G},hasChildrenField:{type:String,default:"hasChildren"},expandIcons:Boolean,checkboxes:Boolean,textField:{type:String,default:"text"},disableField:{type:String,default:"disabled"},checkField:{type:String,default:P},checkIndeterminateField:{type:String,default:B},item:[Object,String,Function],ariaMultiSelectable:[String,Boolean],ariaLabel:String,ariaLabelledby:String,size:{type:String,validator:function(e){return["small","medium","large"].includes(e)}}},data:()=>({currentRtl:!1,focusedItemId:void 0,focusedItemPublicId:void 0,tabbableItemId:"0"}),mounted(){this.currentRtl=i.isRtl(this.$el)},computed:{treeGuid(){return this.id||this.innerId}},created(){i.validatePackage(q),this.allowExplicitFocus=!1,this.innerId=i.guid()},updated(){this.allowExplicitFocus=!1,this.refocusDueToFocusIdField()},render(){this.fieldsSvc=new X(this.$props);const{size:e}=this.$props;return t.createVNode("div",{class:i.classNames("k-treeview",{[`k-treeview-${A[e]||e}`]:e,"k-user-select-none":this.draggable,"k-rtl":this.currentRtl}),onKeydown:this.onKeyDown,onFocusin:this.onFocus,onFocusout:this.onBlur,"aria-multiselectable":!!this.ariaMultiSelectable||void 0,"aria-label":this.$props["aria-label"],"aria-labelledby":this.$props["aria-labelledby"],tabindex:this.$props.tabIndex,style:{userSelect:this.draggable?"none":void 0}},[t.createVNode("ul",{class:"k-treeview-lines k-treeview-group",role:"tree"},[this.dataItems.map((function(s,n){const d=i.templateRendering.call(this,this.item,i.getListeners.call(this));return t.createVNode(U,{item:s,itemId:n.toString(),treeGuid:this.treeGuid,animate:this.$props.animate,focusedItemId:this.focusedItemId,tabbableItemId:this.tabbableItemId,fieldsService:this.fieldsSvc,itemUI:d,checkboxes:this.$props.checkboxes,ariaMultiSelectable:this.ariaMultiSelectable,onItemClick:this.onItemClick,onFocusdomelneeded:this.onFocusDomElNeeded,draggable:this.$props.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,expandIcons:this.$props.expandIcons,onExpandChange:this.onExpandChange,onCheckChange:this.onCheckChange,key:n,size:e,ariaLevel:1,isRtl:this.currentRtl},null)}),this)])])},methods:{onFocusDomElNeeded(e){this.allowExplicitFocus&&this.focusDomItem(e)},onCheckChange(e,t,i){this.setFocus(i),this.dispatchCheckChange(e,t,i)},onExpandChange(e,t,i){this.setFocus(i),this.dispatchExpandChange(e,t,i)},onPress(e,t,i){this.$emit("itemdragstart",{target:this,item:t,itemHierarchicalIndex:i})},onDrag(e,t,i){const{pageX:s,pageY:n,clientX:d,clientY:r}=e;this.$emit("itemdragover",{target:this,item:t,itemHierarchicalIndex:i,pageX:s,pageY:n,clientX:d,clientY:r})},onRelease(e,t,i){const{pageX:s,pageY:n,clientX:d,clientY:r}=e;this.$emit("itemdragend",{target:this,item:t,itemHierarchicalIndex:i,pageX:s,pageY:n,clientX:d,clientY:r})},onItemClick(e,t,i){this.setFocus(i),this.dispatchItemClick(e,t,i)},onFocus(e){clearTimeout(this.blurRequest),void 0===this.focusedItemId&&this.dataItems.length&&this.setFocus(this.tabbableItemId),this.$emit("focus",e)},onBlur(e){clearTimeout(this.blurRequest),i.canUseDOM&&(this.blurRequest=window.setTimeout((()=>this.setFocus(void 0)),0)),this.$emit("blur",e)},onKeyDown(e){const t=this.getFocusedItem();if(t){const i=R(t,this.focusedItemId,this.dataItems,e.keyCode,this.fieldsSvc);i!==this.focusedItemId&&(e.preventDefault(),this.allowExplicitFocus=!0,this.setFocus(i)),this.dispatchEventsOnKeyDown(e,t)}this.$emit("keydown",e)},dispatchEventsOnKeyDown(e,t){const s=()=>w(this.focusedItemId,this.dataItems,this.fieldsSvc),n=this.fieldsSvc.disabled(t);e.keyCode===i.Keys.left&&this.fieldsSvc.expanded(t)&&s()||e.keyCode===i.Keys.right&&!this.fieldsSvc.expanded(t)&&(this.fieldsSvc.hasChildren(t)||C(t,this.$props.childrenField))&&s()?this.dispatchExpandChange(e,t,this.focusedItemId):e.keyCode!==i.Keys.enter||n?e.keyCode===i.Keys.space&&!n&&(e.preventDefault(),this.dispatchCheckChange(e,t,this.focusedItemId)):this.dispatchItemClick(e,t,this.focusedItemId)},setFocus(e){if(e)if(this.fieldsSvc.focusIdField){const t=this.getItemById(e);this.focusedItemId=e,this.focusedItemPublicId=this.fieldsSvc.focusId(t)}else this.focusedItemId=e;else{const e=this.focusedItemId;this.focusedItemId=void 0,this.focusedItemPublicId=void 0,this.tabbableItemId=e}},getFocusedItem(){return this.focusedItemId?this.getItemById(this.focusedItemId):void 0},getItemById(e){return o(e,this.dataItems,this.$props.childrenField||G)},dispatchCheckChange(e,t,i){this.$emit("checkchange",{item:t,itemHierarchicalIndex:i,event:e})},dispatchExpandChange(e,t,i){this.$emit("expandchange",{item:t,itemHierarchicalIndex:i,event:e})},dispatchItemClick(e,t,i){this.$emit("itemclick",{item:t,itemHierarchicalIndex:i,event:e})},refocusDueToFocusIdField(){if(this.fieldsSvc.focusIdField){const e=this.focusedItemPublicId;if(e){const t=this.$props.getFocusHierarchicalIndex?this.$props.getFocusHierarchicalIndex(e):function(e,t,i,s){const n=$([e],t,i,s);return n.length?n[0]:void 0}(e,this.fieldsSvc.focusIdField,this.dataItems,this.$props.childrenField);t!==this.focusedItemId&&(this.allowExplicitFocus=!0,this.focusedItemId=t)}}},focusDomItem(e){e.focus()},guid(){return this.treeGuid}}});function J(e,t,i,s,n){if(i){let{ids:d,field:r}=Q(i,t);return function(e,t,i,s,n){let d=e;return t.forEach((e=>{d=y(d,e,(e=>Z(i,e)),s,n)})),d}(e,!F(i)&&i.idField?$(d,i.idField,e,n):d,r,s,n)}return e}function Q(e,t){let i,s;return F(e)?(i=e,s=t):(i=e.ids||[],s=e.operationField||t),{ids:i,field:s}}function Z(e,t){const i=(e||"").split(".");let s=t;for(let e=0;e<i.length;e++){const t=i[e];if(e===i.length-1)s[t]=!0;else{if(void 0===s[t])return;s[t]={...s[t]},s=s[t]}}}function ee(e,t,i,s,n){let d=!1;for(let r=0;r<e.length;r++){const o=e[r];if(x(s,o)){if(!d)for(let e=0;e<t.length;e++)Z(n,t[e]);d=!0,o[i]&&ee(o[i],[],i,s,n)}else o[i]&&ee(o[i],d?[o]:t.concat([o]),i,s,n)}}const te=t.defineComponent({name:"KendoTreeViewDragClue",data:()=>({visible:!1,top:0,left:0,text:"",operationIconName:"cancel",operationSvg:n.cancelIcon}),render(){const e={top:this.top+"px",left:this.left+"px"};return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"4px 6px",...e}},[t.createVNode(i.Icon,{name:i.getIconName(this.operationIconName),icon:this.operationSvg,class:"k-drag-status"},null),this.text])},methods:{show(e,t,i,s){this.visible=!0,this.top=e,this.left=t,this.text=i,"string"==typeof s?this.operationIconName=s:this.operationSvg=s},hide(){this.visible=!1}}});var ie=Object.defineProperty,se=(e,t,i)=>((e,t,i)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);e.TreeView=W,e.TreeViewDragAnalyzer=class{constructor(e){se(this,"itemId"),se(this,"treeViewGuid"),se(this,"initialized",!1),se(this,"destDomNodeWithMeta"),se(this,"destItemId"),se(this,"destTreeViewGuid"),this.event=e,this.itemId=e.itemHierarchicalIndex,this.treeViewGuid=e.target.guid()}init(){return this.initialized||(this.setDestimationMeta(document.elementFromPoint(this.event.clientX,this.event.clientY)),this.initialized=!0),this}get isDropAllowed(){return!!(this.initialized&&this.destItemId&&this.destTreeViewGuid)&&!`${this.destTreeViewGuid}_${this.destItemId}_`.startsWith(`${this.treeViewGuid}_${this.itemId}_`)}get destinationMeta(){return{itemHierarchicalIndex:this.destItemId,treeViewGuid:this.destTreeViewGuid}}getDropOperation(){if(this.initialized&&this.isDropAllowed){const{top:e,height:t}=this.destDomNodeWithMeta.getBoundingClientRect();return e+t-this.event.clientY<6?"after":this.event.clientY-e<6?"before":"child"}}setDestimationMeta(e){let t=e;for(;t&&!t[j];)t=t.parentNode;t&&t[j]&&(this.destDomNodeWithMeta=t,this.destItemId=t[j],this.destTreeViewGuid=t[z])}},e.TreeViewDragClue=te,e.TreeViewItem=U,e.handleTreeViewCheckChange=function(e,t,i,s={},n){if(!i||!i.length)return[];const{ids:d,idField:r}=function(e){let t,i;return F(e)?t=e:(t=e.ids||[],i=e.idField),{ids:t,idField:i}}(t),c=r?x(r,e.item):e.itemHierarchicalIndex,l=d.indexOf(c),a=-1===l,m=n||G;let p;return s.singleMode?p=a?[c]:[]:(p=d.slice(),a?p.push(c):p.splice(l,1),s.checkChildren&&function(e,t,i,s,n,d){(function(e,t,i,s){return s?function e(t){let n=[];const d=t[i]||[];for(let t=0;t<d.length;t++)n.push(x(s,d[t])),n=n.concat(e(d[t]));return n}(e):function e(t,s){let n=[];const d=t[i]||[];for(let t=0;t<d.length;t++){const i=h(t,s);n.push(i),n=n.concat(e(d[t],i))}return n}(e,t)})(e,t,n,s).forEach((e=>{i&&-1===d.indexOf(e)?d.push(e):!i&&d.indexOf(e)>-1&&d.splice(d.indexOf(e),1)}))}(e.item,e.itemHierarchicalIndex,a,r,m,p),s.checkParents&&function(e,t,i,s,n,d){const r=h();let c=r.next();function l(){for(;!c.done;){const{id:e,item:t}=c.value;if(-1!==n.indexOf(e)||!N(t,e,i,s,n))break;n.push(e),c=r.next()}}function a(){for(;!c.done;){const{id:e}=c.value,t=n.indexOf(e);if(!(t>-1))break;n.splice(t,1),c=r.next()}}function*h(){if(i){const n=function(e,t,i){const s=[],n=f(e);let d=i;for(let e=0;e<n.length-1&&d;e++){const i=d[Number(n[e])];s.push(i),d=i[t]}return s}(e,s,d);for(let e=n.length-1;e>-1;e--)yield{id:x(i,n[e]),item:t?n[e]:void 0}}else{let i=u(e);for(;i;)yield{id:i,item:t?o(i,d,s):void 0},i=u(i)}}t?l():a()}(e.itemHierarchicalIndex,a,r,m,p,i)),F(t)?p:Object.assign({},t,{ids:p})},e.moveTreeViewItem=function(e,t,i,s,n,d){const r=d||G;if(!(t&&t.length&&e&&s)||n&&!n.length||!o(s,n&&n!==t?n:t,r))return l();const c=o(e,t,r);if(!c)return l();if(n&&n!==t){return{sourceData:D(e,r,t),targetData:V(c,i,r,s,n)}}{if(`${s}_`.startsWith(`${e}_`))return l();const d=D(e,r,t),o=V(c,i,r,I(e,s),d);return n?{sourceData:o,targetData:o}:o}function l(){return n?{sourceData:t,targetData:n}:t}},e.processTreeViewItems=function(e,t){if(!e||!e.length)return[];let i=e;const s=t.cloneField||"cloned",n=t.expandField||M,d=t.selectField||K,r=t.checkField||P,o=t.childrenField||G;return i=J(i,n,t.expand,s,o),i=J(i,d,t.select,s,o),i=J(i,r,t.check,s,o),function(e,t,i){if(i&&!F(i)&&i.applyCheckIndeterminate){const{field:s}=Q(i,P),n=i.checkIndeterminateField||B;for(let i=0;i<e.length;i++){const d=e[i],r=d[t];r&&ee(r,x(s,d)?[]:[d],t,s,n)}}}(i,o,t.check),i}}));
package/index.d.mts CHANGED
@@ -593,6 +593,7 @@ ariaChecked(): string | boolean | undefined;
593
593
  ariaSelected(): boolean | undefined;
594
594
  computedDisabled(): any;
595
595
  }, {
596
+ handleItemContentClick(e: any): void;
596
597
  handleCheckChange(e: any, subItem: any, subItemId: string): void;
597
598
  handleExpandChange(e: any, subItem: any, subItemId: string): void;
598
599
  handleItemClick(e: any, subItem: any, subItemId: string): void;
package/index.d.ts CHANGED
@@ -593,6 +593,7 @@ ariaChecked(): string | boolean | undefined;
593
593
  ariaSelected(): boolean | undefined;
594
594
  computedDisabled(): any;
595
595
  }, {
596
+ handleItemContentClick(e: any): void;
596
597
  handleCheckChange(e: any, subItem: any, subItemId: string): void;
597
598
  handleExpandChange(e: any, subItem: any, subItemId: string): void;
598
599
  handleItemClick(e: any, subItem: any, subItemId: string): void;
@@ -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-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1770724337,version:"8.0.0-develop.4",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-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1770736504,version:"8.0.0-develop.6",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: 1770724337,
14
- version: "8.0.0-develop.4",
13
+ publishDate: 1770736504,
14
+ version: "8.0.0-develop.6",
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-treeview",
3
- "version": "8.0.0-develop.4",
3
+ "version": "8.0.0-develop.6",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -19,8 +19,8 @@
19
19
  "sideEffects": false,
20
20
  "peerDependencies": {
21
21
  "@progress/kendo-licensing": "^1.7.2",
22
- "@progress/kendo-vue-animation": "8.0.0-develop.4",
23
- "@progress/kendo-vue-common": "8.0.0-develop.4",
22
+ "@progress/kendo-vue-animation": "8.0.0-develop.6",
23
+ "@progress/kendo-vue-common": "8.0.0-develop.6",
24
24
  "@progress/kendo-svg-icons": "^4.4.0",
25
25
  "vue": "^3.0.2"
26
26
  },
@@ -41,7 +41,7 @@
41
41
  "package": {
42
42
  "productName": "Kendo UI for Vue",
43
43
  "productCode": "KENDOUIVUE",
44
- "publishDate": 1770724337,
44
+ "publishDate": 1770736504,
45
45
  "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"
46
46
  }
47
47
  },