@progress/kendo-vue-treeview 9.3.0-develop.2 → 9.3.0-develop.4

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"),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;
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"),c=require("./utils/itemUtils.js"),g=require("@progress/kendo-vue-animation"),o=require("./utils/consts.js"),h=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)||c.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 c.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)||c.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}}),r=function(){const a=this.item["svgIcon"];return i.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"}},[a&&i.createVNode(d.Icon,{name:a.name,icon:a},null),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-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},[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=r.call(this))?e:{default:()=>[e]}):r.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&&!c.hasChildren(this.item,this.fieldsSvc.getChildrenField())?"loading":e?"chevron-down":this.$props.isRtl?"chevron-left":"chevron-right"},getIconSVG(){return this.fieldsSvc.expanded(this.item)?h.chevronDownIcon:this.$props.isRtl?h.chevronLeftIcon:h.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[o.DOM_KENDO_ITEM_ID_FIELD]&&(e[o.DOM_KENDO_ITEM_ID_FIELD]=this.$props.itemId,e[o.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 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";
8
+ import { defineComponent as b, h as g, createVNode as s, isVNode as k } from "vue";
9
+ import { kendoThemeMaps as v, classNames as h, getTemplate as x, Draggable as C, getRef as r, guid as $, Icon as c, setRef as S } from "@progress/kendo-vue-common";
10
10
  import { createId as E } from "./utils/itemIdUtils.mjs";
11
- import { hasChildren as h, isItemExpandedAndWithChildren as D } from "./utils/itemUtils.mjs";
11
+ import { hasChildren as a, 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 c, DOM_KENDO_TREEVIEW_GUID_FIELD as w } from "./utils/consts.mjs";
13
+ import { DOM_KENDO_ITEM_ID_FIELD as l, DOM_KENDO_TREEVIEW_GUID_FIELD as w } from "./utils/consts.mjs";
14
14
  import { chevronDownIcon as R, chevronLeftIcon as _, chevronRightIcon as M } from "@progress/kendo-svg-icons";
15
- function l(e) {
15
+ function m(e) {
16
16
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !k(e);
17
17
  }
18
18
  const {
19
19
  sizeMap: N
20
- } = g, G = /* @__PURE__ */ I({
20
+ } = v, G = /* @__PURE__ */ b({
21
21
  name: "KendoTreeViewItem",
22
22
  props: {
23
23
  item: Object,
@@ -58,7 +58,7 @@ const {
58
58
  return (this.$props.focusedItemId || this.$props.tabbableItemId) === this.itemId ? 0 : -1;
59
59
  },
60
60
  ariaExpanded() {
61
- return this.fieldsSvc.hasChildren(this.item) || h(this.item, this.fieldsSvc.getChildrenField()) ? !!this.fieldsSvc.expanded(this.item) : void 0;
61
+ return this.fieldsSvc.hasChildren(this.item) || a(this.item, this.fieldsSvc.getChildrenField()) ? !!this.fieldsSvc.expanded(this.item) : void 0;
62
62
  },
63
63
  ariaChecked() {
64
64
  if (this.$props.checkboxes)
@@ -73,7 +73,7 @@ const {
73
73
  }
74
74
  },
75
75
  created() {
76
- this.itemGuid = C(), this.prevFocusedItemId = this.focusedItemId, this.prevFieldsService = this.fieldsService, this.prevItem = this.item;
76
+ this.itemGuid = $(), this.prevFocusedItemId = this.focusedItemId, this.prevFieldsService = this.fieldsService, this.prevItem = this.item;
77
77
  },
78
78
  data() {
79
79
  return {
@@ -93,11 +93,11 @@ const {
93
93
  },
94
94
  mounted() {
95
95
  const e = this.$props.focusedItemId, t = this.itemId;
96
- e && e === t && this.$emit("focusDomElNeeded", this.$el), this.checkboxElement = o(this, "checkboxElement"), this.checkboxElement && (this.checkboxElement.indeterminate = this.fieldsSvc.checkIndeterminate(this.item)), this.assignDraggableMeta(this.$refs.treeviewitemcontent), this.isMounted = !0;
96
+ e && e === t && this.$emit("focusDomElNeeded", this.$el), this.checkboxElement = r(this, "checkboxElement"), this.checkboxElement && (this.checkboxElement.indeterminate = this.fieldsSvc.checkIndeterminate(this.item)), this.assignDraggableMeta(this.$refs.treeviewitemcontent), this.isMounted = !0;
97
97
  },
98
98
  updated() {
99
99
  const e = this.$props.focusedItemId;
100
- if (e && e !== this.prevFocusedItemId && e === this.itemId && this.$emit("focusdomelneeded", this.$el), this.checkboxElement = o(this, "checkboxElement"), this.checkboxElement) {
100
+ if (e && e !== this.prevFocusedItemId && e === this.itemId && this.$emit("focusdomelneeded", this.$el), this.checkboxElement = r(this, "checkboxElement"), this.checkboxElement) {
101
101
  const t = this.fieldsSvc.checkIndeterminate(this.item);
102
102
  t !== this.prevFieldsService.checkIndeterminate(this.prevItem) && (this.checkboxElement.indeterminate = t);
103
103
  }
@@ -137,19 +137,19 @@ const {
137
137
  isRtl: this.$props.isRtl
138
138
  }, null);
139
139
  }, this)]) : void 0;
140
- }, m = function() {
140
+ }, p = function() {
141
141
  return this.$props.expandIcons && // If it is explicitly said that the item has children (even not loaded yet)
142
142
  // or if the item actually has children, then render the icon.
143
- (this.fieldsSvc.hasChildren(this.item) || h(this.item, this.fieldsSvc.getChildrenField())) && s("span", {
144
- class: a("k-treeview-toggle", {
143
+ (this.fieldsSvc.hasChildren(this.item) || a(this.item, this.fieldsSvc.getChildrenField())) && s("span", {
144
+ class: h("k-treeview-toggle", {
145
145
  "k-disabled": this.computedDisabled
146
146
  })
147
- }, [s($, {
147
+ }, [s(c, {
148
148
  name: this.getIconClassName(),
149
149
  icon: this.getIconSVG(),
150
150
  onClick: this.handleExpandChange
151
151
  }, null)]);
152
- }, p = function() {
152
+ }, u = function() {
153
153
  if (this.$props.checkboxes) {
154
154
  const n = this.$props.size, d = !!this.fieldsSvc.checked(this.item);
155
155
  return s("span", {
@@ -157,7 +157,7 @@ const {
157
157
  role: "presentation"
158
158
  }, [s("input", {
159
159
  type: "checkbox",
160
- class: a("k-checkbox", {
160
+ class: h("k-checkbox", {
161
161
  [`k-checkbox-${N[n] || n}`]: n,
162
162
  "k-disabled": this.computedDisabled,
163
163
  "k-checked": d
@@ -174,32 +174,35 @@ const {
174
174
  }, null)]);
175
175
  } else
176
176
  return;
177
- }, u = v.call(this, {
178
- h: b,
177
+ }, f = x.call(this, {
178
+ h: g,
179
179
  template: this.$props.itemUI,
180
180
  defaultRendering: this.fieldsSvc.text(this.item),
181
181
  additionalProps: {
182
182
  item: this.item,
183
183
  itemHierarchicalIndex: this.itemId
184
184
  }
185
- }), r = function() {
185
+ }), o = function() {
186
+ const d = this.item["svgIcon"];
186
187
  return s("span", {
187
188
  class: "k-treeview-leaf",
188
189
  style: {
189
190
  touchAction: "none"
190
191
  }
191
- }, [s("span", {
192
+ }, [d && s(c, {
193
+ name: d.name,
194
+ icon: d
195
+ }, null), s("span", {
192
196
  class: "k-treeview-leaf-text"
193
- }, [u])]);
194
- }, f = this.itemId.split("_").length;
197
+ }, [f])]);
198
+ }, I = this.itemId.split("_").length;
195
199
  return s("li", {
196
- class: a("k-treeview-item"),
200
+ class: h("k-treeview-item"),
197
201
  style: {
198
- "--kendo-treeview-level": f
202
+ "--kendo-treeview-level": I
199
203
  },
200
204
  tabindex: this.currentTabIndex,
201
205
  role: "treeitem",
202
- "aria-level": this.$props.ariaLevel,
203
206
  "aria-expanded": this.ariaExpanded,
204
207
  "aria-selected": this.ariaSelected,
205
208
  "aria-checked": this.ariaChecked,
@@ -208,13 +211,13 @@ const {
208
211
  class: this.getContentClassName(),
209
212
  ref: "treeviewitemcontent",
210
213
  onClick: this.handleItemContentClick
211
- }, [m.call(this), p.call(this), this.$props.draggable ? s(x, {
214
+ }, [p.call(this), u.call(this), this.$props.draggable ? s(C, {
212
215
  onPress: (n) => this.handlePress(n),
213
216
  onDrag: (n) => this.handleDrag(n),
214
217
  onRelease: (n) => this.handleRelease(n)
215
- }, l(e = r.call(this)) ? e : {
218
+ }, m(e = o.call(this)) ? e : {
216
219
  default: () => [e]
217
- }) : r.call(this)]), this.$props.animate && this.isMounted ? s(F, {
220
+ }) : o.call(this)]), this.$props.animate && this.isMounted ? s(F, {
218
221
  appear: this.ariaExpanded,
219
222
  transitionEnterDuration: 200,
220
223
  transitionExitDuration: 200,
@@ -222,7 +225,7 @@ const {
222
225
  style: {
223
226
  display: "block"
224
227
  }
225
- }, l(t = i.call(this)) ? t : {
228
+ }, m(t = i.call(this)) ? t : {
226
229
  default: () => [t]
227
230
  }) : i.call(this)]);
228
231
  },
@@ -255,20 +258,20 @@ const {
255
258
  },
256
259
  getIconClassName() {
257
260
  const e = this.fieldsSvc.expanded(this.item);
258
- return e && !h(this.item, this.fieldsSvc.getChildrenField()) ? "loading" : e ? "chevron-down" : this.$props.isRtl ? "chevron-left" : "chevron-right";
261
+ return e && !a(this.item, this.fieldsSvc.getChildrenField()) ? "loading" : e ? "chevron-down" : this.$props.isRtl ? "chevron-left" : "chevron-right";
259
262
  },
260
263
  getIconSVG() {
261
264
  return this.fieldsSvc.expanded(this.item) ? R : this.$props.isRtl ? _ : M;
262
265
  },
263
266
  getContentClassName() {
264
- return a("k-treeview-item-content", {
267
+ return h("k-treeview-item-content", {
265
268
  "k-focus": this.$props.focusedItemId === this.itemId,
266
269
  "k-selected": this.fieldsSvc.selected(this.item),
267
270
  "k-disabled": this.computedDisabled
268
271
  });
269
272
  },
270
273
  assignDraggableMeta(e) {
271
- e && !e[c] && (e[c] = this.$props.itemId, e[w] = this.$props.treeGuid);
274
+ e && !e[l] && (e[l] = this.$props.itemId, e[w] = this.$props.treeGuid);
272
275
  }
273
276
  }
274
277
  });
@@ -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";function d(e,t,i){if(u(e))return t[Number(e)];{const s=t[Number(r(e))],n=s&&s[i]||[];return n.length?d(o(e),n,i):void 0}}function r(e){return h(e)?e:e.split("_")[0]}function o(e){if(h(e))return e;{const t=e.indexOf("_");return e.substring(t+1)}}function c(e){return l("0",e)}function l(e,t){return e=e.toString(),t?t+"_"+e:e}function a(e){const t=e.lastIndexOf("_");return t<0?"":e.substring(0,t)}function h(e){return""===e||e.indexOf("_")<0}function u(e){return""!==e&&e.indexOf("_")<0}function m(e){return e.split("_")}function p(e){const t=e.lastIndexOf("_");return t<0?e:e.substring(t+1)}var f=Object.defineProperty,g=(e,t,i)=>((e,t,i)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,t+"",i);let I=class{constructor(){g(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 b(e,t){const i=(e||"").split(".");let s=t;return i.forEach(e=>{s=s?s[e]:void 0}),s}function v(e){return void 0!==e.length}function k(e,t){const i=b(t,e);return!(!i||!i.length)}function x(e,t){return t.expanded(e)&&k(e,t.getChildrenField())}function F(e,t,i,s){const n=[],d=new I;return d.init(e),N(d,t,i,"",n,s),n}function C(e,t,i,s,n){const d=Number(r(t));if(d>=e.length)return e;let c=e,l=e[d];return l[s]||(c=e.slice(),l=c[d]=Object.assign({},l,{[s]:!0})),u(t)?i(l):l[n]&&(l[n]=C(l[n],o(t),i,s,n)),c}function S(e,t,i){const s=m(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 $(e,t,i,s,n){return(e[s]||[]).every((e,s)=>n.indexOf(i?b(i,e):l(s,t))>-1)}function y(e,t,i){const s=i.slice();if(u(e))s.splice(Number(e),1);else{const i=Number(r(e)),n=s[i]={...s[i]};n[t]=y(o(e),t,n[t])}return s}function w(e,t,i,s,n){const d=n.slice();if(u(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(r(s)),c=d[n]={...d[n]};c[i]=w(e,t,i,o(s),c[i])}return d}function N(e,t,i,s,n,d){for(let r=0;r<i.length;r++){const o=i[r],c=l(r,s);e.hasId(b(t,o))&&n.push(c),k(o,d)&&N(e,t,b(d,o),c,n,d)}}function D(e,t,s,n,d){switch(n){case i.Keys.left:return u(t)||d.expanded(e)&&S(t,s,d)?t:a(t);case i.Keys.right:return x(e,d)?c(t):t;case i.Keys.up:return function(){const e=Number(p(t)),i=a(t);return e?E(l(e-1,i),s,d):u(t)?t:i}();case i.Keys.down:return x(e,d)?c(t):V(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(;x(i,d);)e=i[d.getChildrenField()],t=l(e.length-1,t),i=e[e.length-1];return t}();default:return t}}function V(e,t,i){const s=a(e),n=s?d(s,t,i.getChildrenField()):void 0,r=n?n[i.getChildrenField()]:t,o=Number(p(e));return o<r.length-1?l(o+1,s):n?V(s,t,i):void 0}function E(e,t,i){const s=d(e,t,i.getChildrenField());return x(s,i)?E(l(s[i.getChildrenField()].length-1,e),t,i):e}const R="expanded",O="items",T="selected",M="checked",G="checkIndeterminate",K="_kendoItemId",_="_kendoTreeViewGuid";function P(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const{sizeMap:B}=i.kendoThemeMaps,j=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)||k(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 x(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(j,{item:e,itemId:l(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)||k(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-${B[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)},P(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"}},P(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&&!k(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[K]&&(e[K]=this.$props.itemId,e[_]=this.$props.treeGuid)}}});var z=Object.defineProperty,H=(e,t,i)=>((e,t,i)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let U=class{constructor(e){H(this,"focusIdField"),H(this,"expandField"),H(this,"selectField"),H(this,"childrenField"),H(this,"hasChildrenField"),H(this,"textField"),H(this,"disableField"),H(this,"checkField"),H(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 b(this.expandField,e)}selected(e){return b(this.selectField,e)}text(e){return b(this.textField,e)}disabled(e){return b(this.disableField,e)}hasChildren(e){return b(this.hasChildrenField,e)}children(e){return b(this.childrenField,e)||[]}checked(e){return b(this.checkField,e)}checkIndeterminate(e){return b(this.checkIndeterminateField,e)}focusId(e){return this.focusIdField&&b(this.focusIdField,e)}getChildrenField(){return this.childrenField}};const Y={name:"@progress/kendo-vue-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1650203065,version:"9.3.0-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"},{sizeMap:L}=i.kendoThemeMaps,X=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:R},selectField:{type:String,default:T},childrenField:{type:String,default:O},hasChildrenField:{type:String,default:"hasChildren"},expandIcons:Boolean,checkboxes:Boolean,textField:{type:String,default:"text"},disableField:{type:String,default:"disabled"},checkField:{type:String,default:M},checkIndeterminateField:{type:String,default:G},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(Y),this.allowExplicitFocus=!1,this.innerId=i.guid()},updated(){this.allowExplicitFocus=!1,this.refocusDueToFocusIdField()},render(){this.fieldsSvc=new U(this.$props);const{size:e}=this.$props;return t.createVNode("div",{class:i.classNames("k-treeview",{[`k-treeview-${L[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(j,{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=D(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=()=>S(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)||k(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 d(e,this.dataItems,this.$props.childrenField||O)},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=F([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 q(e,t,i,s,n){if(i){let{ids:d,field:r}=A(i,t);return function(e,t,i,s,n){let d=e;return t.forEach(e=>{d=C(d,e,e=>W(i,e),s,n)}),d}(e,!v(i)&&i.idField?F(d,i.idField,e,n):d,r,s,n)}return e}function A(e,t){let i,s;return v(e)?(i=e,s=t):(i=e.ids||[],s=e.operationField||t),{ids:i,field:s}}function W(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 J(e,t,i,s,n){let d=!1;for(let r=0;r<e.length;r++){const o=e[r];if(b(s,o)){if(!d)for(let e=0;e<t.length;e++)W(n,t[e]);d=!0,o[i]&&J(o[i],[],i,s,n)}else o[i]&&J(o[i],d?[o]:t.concat([o]),i,s,n)}}function Q(e,t,i,s,n,r){const o=function*(){if(i){const n=function(e,t,i){const s=[],n=m(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,r);for(let e=n.length-1;e>-1;e--)yield{id:b(i,n[e]),item:t?n[e]:void 0}}else{let i=a(e);for(;i;)yield{id:i,item:t?d(i,r,s):void 0},i=a(i)}}();let c=o.next();t?function(){for(;!c.done;){const{id:e,item:t}=c.value;if(-1!==n.indexOf(e)||!$(t,e,i,s,n))break;n.push(e),c=o.next()}}():function(){for(;!c.done;){const{id:e}=c.value,t=n.indexOf(e);if(!(t>-1))break;n.splice(t,1),c=o.next()}}()}const Z=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 ee=Object.defineProperty,te=(e,t,i)=>((e,t,i)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);e.TreeView=X,e.TreeViewDragAnalyzer=class{constructor(e){te(this,"itemId"),te(this,"treeViewGuid"),te(this,"initialized",!1),te(this,"destDomNodeWithMeta"),te(this,"destItemId"),te(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[K];)t=t.parentNode;t&&t[K]&&(this.destDomNodeWithMeta=t,this.destItemId=t[K],this.destTreeViewGuid=t[_])}},e.TreeViewDragClue=Z,e.TreeViewItem=j,e.handleTreeViewCheckChange=function(e,t,i,s={},n){if(!i||!i.length)return[];const{ids:d,idField:r}=function(e){let t,i;return v(e)?t=e:(t=e.ids||[],i=e.idField),{ids:t,idField:i}}(t),o=r?b(r,e.item):e.itemHierarchicalIndex,c=d.indexOf(o),a=-1===c,h=n||O;let u;return s.singleMode?u=a?[o]:[]:(u=d.slice(),a?u.push(o):u.splice(c,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(b(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=l(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,h,u),s.checkParents&&Q(e.itemHierarchicalIndex,a,r,h,u,i)),v(t)?u:Object.assign({},t,{ids:u})},e.moveTreeViewItem=function(e,t,i,s,n,c){const l=c||O;if(!(t&&t.length&&e&&s)||n&&!n.length||!d(s,n&&n!==t?n:t,l))return u();const h=d(e,t,l);if(!h)return u();if(n&&n!==t){return{sourceData:y(e,l,t),targetData:w(h,i,l,s,n)}}{if(`${s}_`.startsWith(`${e}_`))return u();const d=y(e,l,t),c=w(h,i,l,function(e,t){const i=t;t="r_"+t;const s=a(e="r_"+e)+"_";if(t.startsWith(s)){const i=t.substring(s.length);if(i){const t=r(i);if(Number(p(e))<Number(t))return o(s+(Number(t)-1).toString()+i.substring(t.length))}}return i}(e,s),d);return n?{sourceData:c,targetData:c}:c}function u(){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||R,d=t.selectField||T,r=t.checkField||M,o=t.childrenField||O;return i=q(i,n,t.expand,s,o),i=q(i,d,t.select,s,o),i=q(i,r,t.check,s,o),function(e,t,i){if(i&&!v(i)&&i.applyCheckIndeterminate){const{field:s}=A(i,M),n=i.checkIndeterminateField||G;for(let i=0;i<e.length;i++){const d=e[i],r=d[t];r&&J(r,b(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";function d(e,t,i){if(u(e))return t[Number(e)];{const s=t[Number(r(e))],n=s&&s[i]||[];return n.length?d(o(e),n,i):void 0}}function r(e){return h(e)?e:e.split("_")[0]}function o(e){if(h(e))return e;{const t=e.indexOf("_");return e.substring(t+1)}}function c(e){return l("0",e)}function l(e,t){return e=e.toString(),t?t+"_"+e:e}function a(e){const t=e.lastIndexOf("_");return t<0?"":e.substring(0,t)}function h(e){return""===e||e.indexOf("_")<0}function u(e){return""!==e&&e.indexOf("_")<0}function m(e){return e.split("_")}function p(e){const t=e.lastIndexOf("_");return t<0?e:e.substring(t+1)}var f=Object.defineProperty,g=(e,t,i)=>((e,t,i)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,t+"",i);class I{constructor(){g(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 b(e,t){const i=(e||"").split(".");let s=t;return i.forEach(e=>{s=s?s[e]:void 0}),s}function v(e){return void 0!==e.length}function k(e,t){const i=b(t,e);return!(!i||!i.length)}function x(e,t){return t.expanded(e)&&k(e,t.getChildrenField())}function F(e,t,i,s){const n=[],d=new I;return d.init(e),N(d,t,i,"",n,s),n}function C(e,t,i,s,n){const d=Number(r(t));if(d>=e.length)return e;let c=e,l=e[d];return l[s]||(c=e.slice(),l=c[d]=Object.assign({},l,{[s]:!0})),u(t)?i(l):l[n]&&(l[n]=C(l[n],o(t),i,s,n)),c}function S(e,t,i){const s=m(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 $(e,t,i,s,n){return(e[s]||[]).every((e,s)=>n.indexOf(i?b(i,e):l(s,t))>-1)}function y(e,t,i){const s=i.slice();if(u(e))s.splice(Number(e),1);else{const i=Number(r(e)),n=s[i]={...s[i]};n[t]=y(o(e),t,n[t])}return s}function w(e,t,i,s,n){const d=n.slice();if(u(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(r(s)),c=d[n]={...d[n]};c[i]=w(e,t,i,o(s),c[i])}return d}function N(e,t,i,s,n,d){for(let r=0;r<i.length;r++){const o=i[r],c=l(r,s);e.hasId(b(t,o))&&n.push(c),k(o,d)&&N(e,t,b(d,o),c,n,d)}}function D(e,t,s,n,d){switch(n){case i.Keys.left:return u(t)||d.expanded(e)&&S(t,s,d)?t:a(t);case i.Keys.right:return x(e,d)?c(t):t;case i.Keys.up:return function(){const e=Number(p(t)),i=a(t);return e?E(l(e-1,i),s,d):u(t)?t:i}();case i.Keys.down:return x(e,d)?c(t):V(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(;x(i,d);)e=i[d.getChildrenField()],t=l(e.length-1,t),i=e[e.length-1];return t}();default:return t}}function V(e,t,i){const s=a(e),n=s?d(s,t,i.getChildrenField()):void 0,r=n?n[i.getChildrenField()]:t,o=Number(p(e));return o<r.length-1?l(o+1,s):n?V(s,t,i):void 0}function E(e,t,i){const s=d(e,t,i.getChildrenField());return x(s,i)?E(l(s[i.getChildrenField()].length-1,e),t,i):e}const R="expanded",O="items",T="selected",M="checked",G="checkIndeterminate",K="_kendoItemId",_="_kendoTreeViewGuid";function P(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const{sizeMap:B}=i.kendoThemeMaps,j=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)||k(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 x(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(j,{item:e,itemId:l(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(){const e=this.item.svgIcon;return t.createVNode("span",{class:"k-treeview-leaf",style:{touchAction:"none"}},[e&&t.createVNode(i.Icon,{name:e.name,icon:e},null),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-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)||k(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-${B[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)},P(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"}},P(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&&!k(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[K]&&(e[K]=this.$props.itemId,e[_]=this.$props.treeGuid)}}});var z=Object.defineProperty,H=(e,t,i)=>((e,t,i)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let U=class{constructor(e){H(this,"focusIdField"),H(this,"expandField"),H(this,"selectField"),H(this,"childrenField"),H(this,"hasChildrenField"),H(this,"textField"),H(this,"disableField"),H(this,"checkField"),H(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 b(this.expandField,e)}selected(e){return b(this.selectField,e)}text(e){return b(this.textField,e)}disabled(e){return b(this.disableField,e)}hasChildren(e){return b(this.hasChildrenField,e)}children(e){return b(this.childrenField,e)||[]}checked(e){return b(this.checkField,e)}checkIndeterminate(e){return b(this.checkIndeterminateField,e)}focusId(e){return this.focusIdField&&b(this.focusIdField,e)}getChildrenField(){return this.childrenField}};const Y={name:"@progress/kendo-vue-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1650203065,version:"9.3.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:X}=i.kendoThemeMaps,L=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:R},selectField:{type:String,default:T},childrenField:{type:String,default:O},hasChildrenField:{type:String,default:"hasChildren"},expandIcons:Boolean,checkboxes:Boolean,textField:{type:String,default:"text"},disableField:{type:String,default:"disabled"},checkField:{type:String,default:M},checkIndeterminateField:{type:String,default:G},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(Y),this.allowExplicitFocus=!1,this.innerId=i.guid()},updated(){this.allowExplicitFocus=!1,this.refocusDueToFocusIdField()},render(){this.fieldsSvc=new U(this.$props);const{size:e}=this.$props;return t.createVNode("div",{class:i.classNames("k-treeview",{[`k-treeview-${X[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(j,{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=D(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=()=>S(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)||k(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 d(e,this.dataItems,this.$props.childrenField||O)},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=F([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 q(e,t,i,s,n){if(i){let{ids:d,field:r}=A(i,t);return function(e,t,i,s,n){let d=e;return t.forEach(e=>{d=C(d,e,e=>W(i,e),s,n)}),d}(e,!v(i)&&i.idField?F(d,i.idField,e,n):d,r,s,n)}return e}function A(e,t){let i,s;return v(e)?(i=e,s=t):(i=e.ids||[],s=e.operationField||t),{ids:i,field:s}}function W(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 J(e,t,i,s,n){let d=!1;for(let r=0;r<e.length;r++){const o=e[r];if(b(s,o)){if(!d)for(let e=0;e<t.length;e++)W(n,t[e]);d=!0,o[i]&&J(o[i],[],i,s,n)}else o[i]&&J(o[i],d?[o]:t.concat([o]),i,s,n)}}function Q(e,t,i,s,n,r){const o=function*(){if(i){const n=function(e,t,i){const s=[],n=m(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,r);for(let e=n.length-1;e>-1;e--)yield{id:b(i,n[e]),item:t?n[e]:void 0}}else{let i=a(e);for(;i;)yield{id:i,item:t?d(i,r,s):void 0},i=a(i)}}();let c=o.next();t?function(){for(;!c.done;){const{id:e,item:t}=c.value;if(-1!==n.indexOf(e)||!$(t,e,i,s,n))break;n.push(e),c=o.next()}}():function(){for(;!c.done;){const{id:e}=c.value,t=n.indexOf(e);if(!(t>-1))break;n.splice(t,1),c=o.next()}}()}const Z=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 ee=Object.defineProperty,te=(e,t,i)=>((e,t,i)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);e.TreeView=L,e.TreeViewDragAnalyzer=class{constructor(e){te(this,"itemId"),te(this,"treeViewGuid"),te(this,"initialized",!1),te(this,"destDomNodeWithMeta"),te(this,"destItemId"),te(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[K];)t=t.parentNode;t&&t[K]&&(this.destDomNodeWithMeta=t,this.destItemId=t[K],this.destTreeViewGuid=t[_])}},e.TreeViewDragClue=Z,e.TreeViewItem=j,e.handleTreeViewCheckChange=function(e,t,i,s={},n){if(!i||!i.length)return[];const{ids:d,idField:r}=function(e){let t,i;return v(e)?t=e:(t=e.ids||[],i=e.idField),{ids:t,idField:i}}(t),o=r?b(r,e.item):e.itemHierarchicalIndex,c=d.indexOf(o),a=-1===c,h=n||O;let u;return s.singleMode?u=a?[o]:[]:(u=d.slice(),a?u.push(o):u.splice(c,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(b(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=l(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,h,u),s.checkParents&&Q(e.itemHierarchicalIndex,a,r,h,u,i)),v(t)?u:Object.assign({},t,{ids:u})},e.moveTreeViewItem=function(e,t,i,s,n,c){const l=c||O;if(!(t&&t.length&&e&&s)||n&&!n.length||!d(s,n&&n!==t?n:t,l))return u();const h=d(e,t,l);if(!h)return u();if(n&&n!==t){return{sourceData:y(e,l,t),targetData:w(h,i,l,s,n)}}{if(`${s}_`.startsWith(`${e}_`))return u();const d=y(e,l,t),c=w(h,i,l,function(e,t){const i=t;t="r_"+t;const s=a(e="r_"+e)+"_";if(t.startsWith(s)){const i=t.substring(s.length);if(i){const t=r(i);if(Number(p(e))<Number(t))return o(s+(Number(t)-1).toString()+i.substring(t.length))}}return i}(e,s),d);return n?{sourceData:c,targetData:c}:c}function u(){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||R,d=t.selectField||T,r=t.checkField||M,o=t.childrenField||O;return i=q(i,n,t.expand,s,o),i=q(i,d,t.select,s,o),i=q(i,r,t.check,s,o),function(e,t,i){if(i&&!v(i)&&i.applyCheckIndeterminate){const{field:s}=A(i,M),n=i.checkIndeterminateField||G;for(let i=0;i<e.length;i++){const d=e[i],r=d[t];r&&J(r,b(s,d)?[]:[d],t,s,n)}}}(i,o,t.check),i}});
@@ -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: 1787738927,version:"9.3.0-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-treeview",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1788267718,version:"9.3.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;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1787738927,
14
- version: "9.3.0-develop.2",
13
+ publishDate: 1788267718,
14
+ version: "9.3.0-develop.4",
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": "9.3.0-develop.2",
3
+ "version": "9.3.0-develop.4",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -25,8 +25,8 @@
25
25
  "sideEffects": false,
26
26
  "peerDependencies": {
27
27
  "@progress/kendo-licensing": "^1.7.2",
28
- "@progress/kendo-vue-animation": "9.3.0-develop.2",
29
- "@progress/kendo-vue-common": "9.3.0-develop.2",
28
+ "@progress/kendo-vue-animation": "9.3.0-develop.4",
29
+ "@progress/kendo-vue-common": "9.3.0-develop.4",
30
30
  "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0 < 5.4.0",
31
31
  "vue": "^3.0.2"
32
32
  },
@@ -47,7 +47,7 @@
47
47
  "package": {
48
48
  "productName": "Kendo UI for Vue",
49
49
  "productCode": "KENDOUIVUE",
50
- "publishDate": 1787738927,
50
+ "publishDate": 1788267718,
51
51
  "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"
52
52
  }
53
53
  },