@progress/kendo-vue-layout 6.4.0-develop.3 → 6.4.0-develop.5

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/README.md CHANGED
@@ -21,6 +21,7 @@ Among the many features which the Kendo UI for Vue Layout deliver are:
21
21
  * [AppBar component](https://www.telerik.com/kendo-vue-ui/components/layout/appbar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
22
22
  * [Avatar component](https://www.telerik.com/kendo-vue-ui/components/layout/avatar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
23
23
  * [BottomNavigation component](https://www.telerik.com/kendo-vue-ui/components/layout/bottomnavigation/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
24
+ * [Breadcrumb component](https://www.telerik.com/kendo-vue-ui/components/layout/breadcrumb/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
24
25
  * [Card component](https://www.telerik.com/kendo-vue-ui/components/layout/card/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
25
26
  * [ContextMenu component](https://www.telerik.com/kendo-vue-ui/components/layout/context-menu/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
26
27
  * [Drawer component](https://www.telerik.com/kendo-vue-ui/components/layout/drawer/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-layout)
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),w=require("../package-metadata.js"),r=require("@progress/kendo-vue-common"),I=require("./BreadcrumbOrderedList.js"),f=require("./BreadcrumbListItem.js"),x=require("./BreadcrumbDelimiter.js"),g=require("./BreadcrumbLink.js");function R(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!d.isVNode(e)}const F=d.defineComponent({name:"KendoBreadcrumb",emits:{select:null,keydown:null},props:{id:String,tabIndex:Number,disabled:Boolean,collapseMode:{type:String,default:"auto",validator:function(e){return["auto","wrap","none"].includes(e)}},ariaLabel:{type:String,default:"Breadcrumb"},breadcrumbOrderedList:[Object,Function,String],breadcrumbListItem:[Object,Function,String],breadcrumbDelimiter:[Object,Function,String],breadcrumbLink:[Object,Function,String],dataItems:{type:Array,default:[]},size:{type:String,default:"medium"},dir:{type:String,default:void 0},valueField:{type:String,default:"id"},textField:{type:String,default:"text"},svgIconField:{type:String,default:"svgIcon"},iconField:{type:String,default:"icon"},onSelect:Function,onKeydown:Function},created(){this.observer=null,r.validatePackage(w.packageMetadata)},data(){return{currentDir:"ltr",localData:[...this.dataItems],listItems:[],itemsData:[],addDelimiter:!1}},computed:{itemClasses(){const{disabled:e,size:i,collapseMode:a}=this.$props;return{"k-breadcrumb":!0,"k-rtl":this.currentDir==="rtl","k-disabled":e,"k-breadcrumb-md":!i,"k-breadcrumb-wrap":a==="wrap",[`k-breadcrumb-${r.kendoThemeMaps.sizeMap[i]||i}`]:i}}},setup(){return{breadcrumbRef:d.ref(null)}},mounted(){this.currentDir=r.getDir(this.$el,this.$props.dir),this.listItems=this.breadcrumbRef.querySelectorAll("li"),this.itemsData=Array.from(this.listItems).map((e,i)=>({id:i,name:e.innerText,width:e.offsetWidth,visible:!0})),this.resizeObserver=r.canUseDOM&&window.ResizeObserver&&new ResizeObserver(this.calculateMedia),this.breadcrumbRef&&this.resizeObserver&&(this.resizeObserver.observe(this.breadcrumbRef),this.$nextTick(()=>{this.calculateMedia()}))},unmounted(){document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},render(){let e;const{id:i,dir:a,tabIndex:t,collapseMode:l,disabled:u,ariaLabel:y,valueField:o,svgIconField:m,iconField:b,textField:n}=this.$props,S=r.templateRendering.call(this,this.$props.breadcrumbDelimiter,r.getListeners.call(this)),c=this.$props.breadcrumbDelimiter?r.getTemplate.call(this,{h:d.h,template:S,additionalProps:{dir:this.currentDir,tabIndex:t}}):d.createVNode(x.BreadcrumbDelimiter,{dir:this.currentDir,tabIndex:t},null),D=r.templateRendering.call(this,this.$props.breadcrumbLink,r.getListeners.call(this)),L=d.createVNode(g.BreadcrumbLink,{id:this.localData[0][o],isLast:this.localData.length-1===0,isFirst:!0,tabIndex:t,svgIcon:this.localData[0][m]||void 0,icon:this.localData[0][b]||void 0,text:this.localData[0][n]?String(this.localData[0][n]):void 0,disabled:this.localData[0].disabled,onSelect:this.handleSelect,onKeydown:this.handleKeyDown},null),p=r.getTemplate.call(this,{h:d.h,template:D,defaultRendering:L,additionalProps:{id:this.localData[0][o],isLast:this.localData.length-1===0,isFirst:!0,tabIndex:t,svgIcon:this.localData[0][m]||void 0,icon:this.localData[0][b]||void 0,text:this.localData[0][n]?String(this.localData[0][n]):void 0,disabled:this.localData[0].disabled,onSelect:this.handleSelect,onKeydown:this.handleKeyDown},defaultSlots:c});return d.createVNode("nav",{id:i,ref:s=>this.breadcrumbRef=s,tabindex:r.getTabIndex(t,u),dir:this.currentDir,"aria-label":y,class:this.itemClasses},[l==="wrap"&&d.createVNode(I.BreadcrumbOrderedList,{rootItem:!0,dir:a,tabIndex:t},{default:()=>[d.createVNode(f.BreadcrumbListItem,{key:this.localData[0][o],isFirstItem:!0,isLastItem:this.dataItems.length-1===0},{default:()=>[p,this.localData.length>1&&c,this.addDelimiter&&l==="auto"&&c]})]}),d.createVNode(I.BreadcrumbOrderedList,{dir:a,tabIndex:t,collapseMode:this.$props.collapseMode},R(e=this.localData.map((s,h)=>{if(h===0&&l!=="wrap")return d.createVNode(f.BreadcrumbListItem,{key:this.localData[0][o],isFirstItem:!0,isLastItem:this.localData.length-1===0},{default:()=>[p,c,this.addDelimiter&&l==="auto"&&c]});if(h>0){const k=d.createVNode(g.BreadcrumbLink,{id:s[o],isLast:this.localData.length-1===h,isFirst:!1,tabIndex:t,svgIcon:s[m]||void 0,icon:s[b]||void 0,text:s[n]?String(s[n]):void 0,disabled:s.disabled,onSelect:this.handleSelect,onKeydown:this.handleKeyDown},null),v=r.getTemplate.call(this,{h:d.h,template:D,defaultRendering:k,additionalProps:{id:s[o],isLast:this.localData.length-1===h,isFirst:!1,tabIndex:t,svgIcon:s[m]||void 0,icon:s[b]||void 0,text:s[n]?String(s[n]):void 0,disabled:s.disabled,onSelect:this.handleSelect,onKeydown:this.handleKeyDown}});return d.createVNode(f.BreadcrumbListItem,{key:s[o],isFirstItem:!1,isLastItem:this.localData.length-1===h},{default:()=>[v,h!==this.localData.length-1&&c]})}}))?e:{default:()=>[e]})])},methods:{getLastHiddenItemWidth(){const e=this.itemsData.slice().reverse().findIndex(i=>i.id!==0&&i.visible===!1);if(e!==-1){const i=this.itemsData.length-1-e,a=this.itemsData[i].width;return[i,a]}return[-1,0]},calculateMedia(){if(this.breadcrumbRef.offsetWidth){this.listItems=this.breadcrumbRef.querySelectorAll("li");let e=this.itemsData.reduce((t,l)=>l.visible?t+l.width:t,0);for(;this.breadcrumbRef.offsetWidth+1<e&&this.collapseMode==="auto";){const t=this.itemsData.findIndex(u=>u.id!==0&&u.visible===!0);this.itemsData[t].visible=!1,this.listItems[t].style.display="none";const l=this.itemsData[t].width;e=e-l,this.addDelimiter=!0}let[i,a]=this.getLastHiddenItemWidth();if(i!==-1)for(;this.breadcrumbRef.offsetWidth-1>e+a&&this.addDelimiter&&(this.itemsData[i].visible=!0,this.listItems[i].style.display="",e=e+a,this.addDelimiter=this.itemsData.findIndex(t=>t.visible===!1)!==-1,[i,a]=this.getLastHiddenItemWidth(),i!==-1););(this.collapseMode==="wrap"||this.collapseMode==="none")&&(this.listItems.forEach(t=>{t.style.display=""}),this.itemsData.forEach(t=>{t.visible=!0}))}},handleSelect(e){const i=this.dataItems.findIndex(t=>t.id===e.id),a=this.dataItems.slice(0,i+1);this.localData=a,this.itemsData=a,this.$emit("select",{event:e,id:e.id})},handleKeyDown(e){if(e.event.key==="Enter"){const i=this.dataItems.findIndex(t=>t.id===e.id),a=this.dataItems.slice(0,i+1);this.localData=a,this.itemsData=a}this.$emit("keydown",{event:e,id:e.id})}}});exports.Breadcrumb=F;
@@ -0,0 +1,297 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as R, ref as O, h as b, createVNode as l, isVNode as M } from "vue";
9
+ import { packageMetadata as $ } from "../package-metadata.mjs";
10
+ import { validatePackage as K, kendoThemeMaps as W, getDir as z, canUseDOM as B, templateRendering as g, getListeners as y, getTemplate as f, getTabIndex as j } from "@progress/kendo-vue-common";
11
+ import { BreadcrumbOrderedList as S } from "./BreadcrumbOrderedList.mjs";
12
+ import { BreadcrumbListItem as p } from "./BreadcrumbListItem.mjs";
13
+ import { BreadcrumbDelimiter as H } from "./BreadcrumbDelimiter.mjs";
14
+ import { BreadcrumbLink as w } from "./BreadcrumbLink.mjs";
15
+ function T(e) {
16
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !M(e);
17
+ }
18
+ const _ = /* @__PURE__ */ R({
19
+ name: "KendoBreadcrumb",
20
+ emits: {
21
+ select: null,
22
+ keydown: null
23
+ },
24
+ props: {
25
+ id: String,
26
+ tabIndex: Number,
27
+ disabled: Boolean,
28
+ collapseMode: {
29
+ type: String,
30
+ default: "auto",
31
+ validator: function(e) {
32
+ return ["auto", "wrap", "none"].includes(e);
33
+ }
34
+ },
35
+ ariaLabel: {
36
+ type: String,
37
+ default: "Breadcrumb"
38
+ },
39
+ breadcrumbOrderedList: [Object, Function, String],
40
+ breadcrumbListItem: [Object, Function, String],
41
+ breadcrumbDelimiter: [Object, Function, String],
42
+ breadcrumbLink: [Object, Function, String],
43
+ dataItems: {
44
+ type: Array,
45
+ default: []
46
+ },
47
+ size: {
48
+ type: String,
49
+ default: "medium"
50
+ },
51
+ dir: {
52
+ type: String,
53
+ default: void 0
54
+ },
55
+ valueField: {
56
+ type: String,
57
+ default: "id"
58
+ },
59
+ textField: {
60
+ type: String,
61
+ default: "text"
62
+ },
63
+ svgIconField: {
64
+ type: String,
65
+ default: "svgIcon"
66
+ },
67
+ iconField: {
68
+ type: String,
69
+ default: "icon"
70
+ },
71
+ onSelect: Function,
72
+ onKeydown: Function
73
+ },
74
+ created() {
75
+ this.observer = null, K($);
76
+ },
77
+ data() {
78
+ return {
79
+ currentDir: "ltr",
80
+ localData: [...this.dataItems],
81
+ listItems: [],
82
+ itemsData: [],
83
+ addDelimiter: !1
84
+ };
85
+ },
86
+ computed: {
87
+ itemClasses() {
88
+ const {
89
+ disabled: e,
90
+ size: i,
91
+ collapseMode: a
92
+ } = this.$props;
93
+ return {
94
+ "k-breadcrumb": !0,
95
+ "k-rtl": this.currentDir === "rtl",
96
+ "k-disabled": e,
97
+ "k-breadcrumb-md": !i,
98
+ "k-breadcrumb-wrap": a === "wrap",
99
+ [`k-breadcrumb-${W.sizeMap[i] || i}`]: i
100
+ };
101
+ }
102
+ },
103
+ setup() {
104
+ return {
105
+ breadcrumbRef: O(null)
106
+ };
107
+ },
108
+ mounted() {
109
+ this.currentDir = z(this.$el, this.$props.dir), this.listItems = this.breadcrumbRef.querySelectorAll("li"), this.itemsData = Array.from(this.listItems).map((e, i) => ({
110
+ id: i,
111
+ name: e.innerText,
112
+ width: e.offsetWidth,
113
+ visible: !0
114
+ })), this.resizeObserver = B && window.ResizeObserver && new ResizeObserver(this.calculateMedia), this.breadcrumbRef && this.resizeObserver && (this.resizeObserver.observe(this.breadcrumbRef), this.$nextTick(() => {
115
+ this.calculateMedia();
116
+ }));
117
+ },
118
+ unmounted() {
119
+ document != null && document.body && this.resizeObserver && this.resizeObserver.disconnect();
120
+ },
121
+ render() {
122
+ let e;
123
+ const {
124
+ id: i,
125
+ dir: a,
126
+ tabIndex: t,
127
+ collapseMode: d,
128
+ disabled: h,
129
+ ariaLabel: x,
130
+ valueField: n,
131
+ svgIconField: u,
132
+ iconField: m,
133
+ textField: r
134
+ } = this.$props, v = g.call(this, this.$props.breadcrumbDelimiter, y.call(this)), o = this.$props.breadcrumbDelimiter ? f.call(this, {
135
+ h: b,
136
+ template: v,
137
+ additionalProps: {
138
+ dir: this.currentDir,
139
+ tabIndex: t
140
+ }
141
+ }) : l(H, {
142
+ dir: this.currentDir,
143
+ tabIndex: t
144
+ }, null), D = g.call(this, this.$props.breadcrumbLink, y.call(this)), k = l(w, {
145
+ id: this.localData[0][n],
146
+ isLast: this.localData.length - 1 === 0,
147
+ isFirst: !0,
148
+ tabIndex: t,
149
+ svgIcon: this.localData[0][u] || void 0,
150
+ icon: this.localData[0][m] || void 0,
151
+ text: this.localData[0][r] ? String(this.localData[0][r]) : void 0,
152
+ disabled: this.localData[0].disabled,
153
+ onSelect: this.handleSelect,
154
+ onKeydown: this.handleKeyDown
155
+ }, null), I = f.call(this, {
156
+ h: b,
157
+ template: D,
158
+ defaultRendering: k,
159
+ additionalProps: {
160
+ id: this.localData[0][n],
161
+ isLast: this.localData.length - 1 === 0,
162
+ isFirst: !0,
163
+ tabIndex: t,
164
+ svgIcon: this.localData[0][u] || void 0,
165
+ icon: this.localData[0][m] || void 0,
166
+ text: this.localData[0][r] ? String(this.localData[0][r]) : void 0,
167
+ disabled: this.localData[0].disabled,
168
+ onSelect: this.handleSelect,
169
+ onKeydown: this.handleKeyDown
170
+ },
171
+ defaultSlots: o
172
+ });
173
+ return l("nav", {
174
+ id: i,
175
+ ref: (s) => this.breadcrumbRef = s,
176
+ tabindex: j(t, h),
177
+ dir: this.currentDir,
178
+ "aria-label": x,
179
+ class: this.itemClasses
180
+ }, [d === "wrap" && l(S, {
181
+ rootItem: !0,
182
+ dir: a,
183
+ tabIndex: t
184
+ }, {
185
+ default: () => [l(p, {
186
+ key: this.localData[0][n],
187
+ isFirstItem: !0,
188
+ isLastItem: this.dataItems.length - 1 === 0
189
+ }, {
190
+ default: () => [I, this.localData.length > 1 && o, this.addDelimiter && d === "auto" && o]
191
+ })]
192
+ }), l(S, {
193
+ dir: a,
194
+ tabIndex: t,
195
+ collapseMode: this.$props.collapseMode
196
+ }, T(e = this.localData.map((s, c) => {
197
+ if (c === 0 && d !== "wrap")
198
+ return l(p, {
199
+ key: this.localData[0][n],
200
+ isFirstItem: !0,
201
+ isLastItem: this.localData.length - 1 === 0
202
+ }, {
203
+ default: () => [I, o, this.addDelimiter && d === "auto" && o]
204
+ });
205
+ if (c > 0) {
206
+ const L = l(w, {
207
+ id: s[n],
208
+ isLast: this.localData.length - 1 === c,
209
+ isFirst: !1,
210
+ tabIndex: t,
211
+ svgIcon: s[u] || void 0,
212
+ icon: s[m] || void 0,
213
+ text: s[r] ? String(s[r]) : void 0,
214
+ disabled: s.disabled,
215
+ onSelect: this.handleSelect,
216
+ onKeydown: this.handleKeyDown
217
+ }, null), F = f.call(this, {
218
+ h: b,
219
+ template: D,
220
+ defaultRendering: L,
221
+ additionalProps: {
222
+ id: s[n],
223
+ isLast: this.localData.length - 1 === c,
224
+ isFirst: !1,
225
+ tabIndex: t,
226
+ svgIcon: s[u] || void 0,
227
+ icon: s[m] || void 0,
228
+ text: s[r] ? String(s[r]) : void 0,
229
+ disabled: s.disabled,
230
+ onSelect: this.handleSelect,
231
+ onKeydown: this.handleKeyDown
232
+ }
233
+ });
234
+ return l(p, {
235
+ key: s[n],
236
+ isFirstItem: !1,
237
+ isLastItem: this.localData.length - 1 === c
238
+ }, {
239
+ default: () => [F, c !== this.localData.length - 1 && o]
240
+ });
241
+ }
242
+ })) ? e : {
243
+ default: () => [e]
244
+ })]);
245
+ },
246
+ methods: {
247
+ getLastHiddenItemWidth() {
248
+ const e = this.itemsData.slice().reverse().findIndex((i) => i.id !== 0 && i.visible === !1);
249
+ if (e !== -1) {
250
+ const i = this.itemsData.length - 1 - e, a = this.itemsData[i].width;
251
+ return [i, a];
252
+ }
253
+ return [-1, 0];
254
+ },
255
+ calculateMedia() {
256
+ if (this.breadcrumbRef.offsetWidth) {
257
+ this.listItems = this.breadcrumbRef.querySelectorAll("li");
258
+ let e = this.itemsData.reduce((t, d) => d.visible ? t + d.width : t, 0);
259
+ for (; this.breadcrumbRef.offsetWidth + 1 < e && this.collapseMode === "auto"; ) {
260
+ const t = this.itemsData.findIndex((h) => h.id !== 0 && h.visible === !0);
261
+ this.itemsData[t].visible = !1, this.listItems[t].style.display = "none";
262
+ const d = this.itemsData[t].width;
263
+ e = e - d, this.addDelimiter = !0;
264
+ }
265
+ let [i, a] = this.getLastHiddenItemWidth();
266
+ if (i !== -1)
267
+ for (; this.breadcrumbRef.offsetWidth - 1 > e + a && this.addDelimiter && (this.itemsData[i].visible = !0, this.listItems[i].style.display = "", e = e + a, this.addDelimiter = this.itemsData.findIndex((t) => t.visible === !1) !== -1, [i, a] = this.getLastHiddenItemWidth(), i !== -1); )
268
+ ;
269
+ (this.collapseMode === "wrap" || this.collapseMode === "none") && (this.listItems.forEach((t) => {
270
+ t.style.display = "";
271
+ }), this.itemsData.forEach((t) => {
272
+ t.visible = !0;
273
+ }));
274
+ }
275
+ },
276
+ handleSelect(e) {
277
+ const i = this.dataItems.findIndex((t) => t.id === e.id), a = this.dataItems.slice(0, i + 1);
278
+ this.localData = a, this.itemsData = a, this.$emit("select", {
279
+ event: e,
280
+ id: e.id
281
+ });
282
+ },
283
+ handleKeyDown(e) {
284
+ if (e.event.key === "Enter") {
285
+ const i = this.dataItems.findIndex((t) => t.id === e.id), a = this.dataItems.slice(0, i + 1);
286
+ this.localData = a, this.itemsData = a;
287
+ }
288
+ this.$emit("keydown", {
289
+ event: e,
290
+ id: e.id
291
+ });
292
+ }
293
+ }
294
+ });
295
+ export {
296
+ _ as Breadcrumb
297
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("@progress/kendo-vue-common"),r=require("@progress/kendo-svg-icons"),d=e.defineComponent({name:"KendoBreadcrumbDelimiter",props:{id:String,dir:String,tabIndex:Number},render(){const{id:n,dir:i,tabIndex:t}=this.$props;return e.createVNode(o.Icon,{id:n,"aria-hidden":!0,tabIndex:t||0,size:"small",icon:i==="rtl"?r.chevronLeftIcon:r.chevronRightIcon,class:"k-breadcrumb-delimiter-icon"},null)}});exports.BreadcrumbDelimiter=d;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as n, createVNode as o } from "vue";
9
+ import { Icon as t } from "@progress/kendo-vue-common";
10
+ import { chevronLeftIcon as d, chevronRightIcon as m } from "@progress/kendo-svg-icons";
11
+ const p = /* @__PURE__ */ n({
12
+ name: "KendoBreadcrumbDelimiter",
13
+ props: {
14
+ id: String,
15
+ dir: String,
16
+ tabIndex: Number
17
+ },
18
+ render() {
19
+ const {
20
+ id: r,
21
+ dir: e,
22
+ tabIndex: i
23
+ } = this.$props;
24
+ return o(t, {
25
+ id: r,
26
+ "aria-hidden": !0,
27
+ tabIndex: i || 0,
28
+ size: "small",
29
+ icon: e === "rtl" ? d : m,
30
+ class: "k-breadcrumb-delimiter-icon"
31
+ }, null);
32
+ }
33
+ });
34
+ export {
35
+ p as BreadcrumbDelimiter
36
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),s=require("@progress/kendo-vue-common"),u=i.defineComponent({name:"KendoBreadcrumbLink",props:{id:String,tabIndex:Number,dir:String,disabled:Boolean,text:String,svgIcon:Object,icon:Object,ariaCurrent:Boolean,isLast:Boolean,isFirst:Boolean,onSelect:Function},emits:["select","keydown"],computed:{itemClasses(){const{isFirst:e,svgIcon:t,text:n,disabled:r}=this.$props;return{"k-breadcrumb-root-link":e,"k-breadcrumb-link":!e,"k-breadcrumb-icontext-link":t&&n,"k-breadcrumb-icon-link":t!==void 0&&!n,"k-disabled":r}}},created(){this.currentDir=void 0},mounted(){this.currentDir=s.getDir(this.$el,this.$props.dir)},setup(){return{linkRef:i.ref(null)}},render(){const{ariaCurrent:e,isLast:t,id:n,svgIcon:r,icon:c,text:o,tabIndex:l,disabled:d}=this.$props;return i.createVNode("a",{href:"#","aria-current":e||t&&"page","aria-disabled":d||t,id:n,ref:this.linkRef,dir:this.currentDir,tabindex:s.getTabIndex(l,d),class:this.itemClasses,onClick:a=>{a.preventDefault(),this.handleSelect(a)},onKeydown:this.handleKeyDown},[c||"",r&&i.createVNode(s.Icon,{class:"k-svg-icon",icon:r},null),o&&i.createVNode("span",{class:"k-breadcrumb-item-text"},[o])])},methods:{focus(){this.$el&&this.$el.focus()},handleSelect(e){this.$emit("select",{event:e,id:this.$props.id})},handleKeyDown(e){this.$emit("keydown",{event:e,id:this.$props.id})}}});exports.BreadcrumbLink=u;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as l, ref as u, createVNode as r } from "vue";
9
+ import { getDir as b, getTabIndex as h, Icon as m } from "@progress/kendo-vue-common";
10
+ const f = /* @__PURE__ */ l({
11
+ name: "KendoBreadcrumbLink",
12
+ props: {
13
+ id: String,
14
+ tabIndex: Number,
15
+ dir: String,
16
+ disabled: Boolean,
17
+ text: String,
18
+ svgIcon: Object,
19
+ icon: Object,
20
+ ariaCurrent: Boolean,
21
+ isLast: Boolean,
22
+ isFirst: Boolean,
23
+ onSelect: Function
24
+ },
25
+ emits: ["select", "keydown"],
26
+ computed: {
27
+ itemClasses() {
28
+ const {
29
+ isFirst: e,
30
+ svgIcon: i,
31
+ text: t,
32
+ disabled: n
33
+ } = this.$props;
34
+ return {
35
+ "k-breadcrumb-root-link": e,
36
+ "k-breadcrumb-link": !e,
37
+ "k-breadcrumb-icontext-link": i && t,
38
+ "k-breadcrumb-icon-link": i !== void 0 && !t,
39
+ "k-disabled": n
40
+ };
41
+ }
42
+ },
43
+ created() {
44
+ this.currentDir = void 0;
45
+ },
46
+ mounted() {
47
+ this.currentDir = b(this.$el, this.$props.dir);
48
+ },
49
+ setup() {
50
+ return {
51
+ linkRef: u(null)
52
+ };
53
+ },
54
+ render() {
55
+ const {
56
+ ariaCurrent: e,
57
+ isLast: i,
58
+ id: t,
59
+ svgIcon: n,
60
+ icon: a,
61
+ text: s,
62
+ tabIndex: c,
63
+ disabled: o
64
+ } = this.$props;
65
+ return r("a", {
66
+ href: "#",
67
+ "aria-current": e || i && "page",
68
+ "aria-disabled": o || i,
69
+ id: t,
70
+ ref: this.linkRef,
71
+ dir: this.currentDir,
72
+ tabindex: h(c, o),
73
+ class: this.itemClasses,
74
+ onClick: (d) => {
75
+ d.preventDefault(), this.handleSelect(d);
76
+ },
77
+ onKeydown: this.handleKeyDown
78
+ }, [a || "", n && r(m, {
79
+ class: "k-svg-icon",
80
+ icon: n
81
+ }, null), s && r("span", {
82
+ class: "k-breadcrumb-item-text"
83
+ }, [s])]);
84
+ },
85
+ methods: {
86
+ focus() {
87
+ this.$el && this.$el.focus();
88
+ },
89
+ handleSelect(e) {
90
+ this.$emit("select", {
91
+ event: e,
92
+ id: this.$props.id
93
+ });
94
+ },
95
+ handleKeyDown(e) {
96
+ this.$emit("keydown", {
97
+ event: e,
98
+ id: this.$props.id
99
+ });
100
+ }
101
+ }
102
+ });
103
+ export {
104
+ f as BreadcrumbLink
105
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),s=require("@progress/kendo-vue-common"),i=t.defineComponent({name:"KendoBreadcrumbListItem",props:{id:String,isFirstItem:Boolean,isLastItem:Boolean},computed:{itemClasses(){const{isFirstItem:e,isLastItem:r}=this.$props;return{"k-breadcrumb-item":!0,"k-breadcrumb-root-item":e,"k-breadcrumb-last-item":r}}},render(){const e=s.getDefaultSlots(this);return t.createVNode("li",{id:this.$props.id,class:this.itemClasses},[e])}});exports.BreadcrumbListItem=i;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as r, createVNode as s } from "vue";
9
+ import { getDefaultSlots as i } from "@progress/kendo-vue-common";
10
+ const a = /* @__PURE__ */ r({
11
+ name: "KendoBreadcrumbListItem",
12
+ props: {
13
+ id: String,
14
+ isFirstItem: Boolean,
15
+ isLastItem: Boolean
16
+ },
17
+ computed: {
18
+ itemClasses() {
19
+ const {
20
+ isFirstItem: t,
21
+ isLastItem: e
22
+ } = this.$props;
23
+ return {
24
+ "k-breadcrumb-item": !0,
25
+ "k-breadcrumb-root-item": t,
26
+ "k-breadcrumb-last-item": e
27
+ };
28
+ }
29
+ },
30
+ render() {
31
+ const t = i(this);
32
+ return s("li", {
33
+ id: this.$props.id,
34
+ class: this.itemClasses
35
+ }, [t]);
36
+ }
37
+ });
38
+ export {
39
+ a as BreadcrumbListItem
40
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),o=require("@progress/kendo-vue-common"),i=n.defineComponent({name:"KendoBreadcrumbOrderedList",props:{rootItem:Boolean,id:String,dir:String,tabIndex:Number,disabled:Boolean,collapseMode:{type:String,validator:function(e){return["auto","wrap","none"].includes(e)}}},computed:{itemClasses(){const{rootItem:e,disabled:t,collapseMode:r}=this.$props;return{"k-breadcrumb-root-item-container":e,"k-breadcrumb-container":!e,"k-disabled":t,"!k-flex-wrap":r==="wrap","k-flex-none":r==="none"}}},created(){this.currentDir=void 0},mounted(){this.currentDir=o.getDir(this.$el,this.$props.dir)},render(){const e=o.getDefaultSlots(this),{id:t,disabled:r,tabIndex:d}=this.$props;return n.createVNode("ol",{id:t,dir:this.currentDir,tabindex:o.getTabIndex(d,r),class:this.itemClasses},[e])}});exports.BreadcrumbOrderedList=i;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as i, createVNode as n } from "vue";
9
+ import { getDir as d, getDefaultSlots as s, getTabIndex as a } from "@progress/kendo-vue-common";
10
+ const p = /* @__PURE__ */ i({
11
+ name: "KendoBreadcrumbOrderedList",
12
+ props: {
13
+ rootItem: Boolean,
14
+ id: String,
15
+ dir: String,
16
+ tabIndex: Number,
17
+ disabled: Boolean,
18
+ collapseMode: {
19
+ type: String,
20
+ validator: function(e) {
21
+ return ["auto", "wrap", "none"].includes(e);
22
+ }
23
+ }
24
+ },
25
+ computed: {
26
+ itemClasses() {
27
+ const {
28
+ rootItem: e,
29
+ disabled: t,
30
+ collapseMode: r
31
+ } = this.$props;
32
+ return {
33
+ "k-breadcrumb-root-item-container": e,
34
+ "k-breadcrumb-container": !e,
35
+ "k-disabled": t,
36
+ "!k-flex-wrap": r === "wrap",
37
+ "k-flex-none": r === "none"
38
+ };
39
+ }
40
+ },
41
+ created() {
42
+ this.currentDir = void 0;
43
+ },
44
+ mounted() {
45
+ this.currentDir = d(this.$el, this.$props.dir);
46
+ },
47
+ render() {
48
+ const e = s(this), {
49
+ id: t,
50
+ disabled: r,
51
+ tabIndex: o
52
+ } = this.$props;
53
+ return n("ol", {
54
+ id: t,
55
+ dir: this.currentDir,
56
+ tabindex: a(o, r),
57
+ class: this.itemClasses
58
+ }, [e]);
59
+ }
60
+ });
61
+ export {
62
+ p as BreadcrumbOrderedList
63
+ };
package/card/Avatar.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 o=require("vue"),d=require("./interfaces/Enums.js"),s=require("../package-metadata.js"),t=require("@progress/kendo-vue-common"),l=o.defineComponent({name:"KendoAvatar",props:{type:{type:String,default:d.avatarType.TEXT,validator:function(e){return["text","image","icon"].includes(e)}},border:Boolean,rounded:{type:String,default:"medium",validator:function(e){return["small","medium","large","full"].includes(e)}},fillMode:{type:String,default:"solid",validator:function(e){return["solid","outline"].includes(e)}},size:{type:String,default:"medium",validator:function(e){return["small","medium","large"].includes(e)}},themeColor:{type:String,default:"primary",validator:function(e){return["primary","secondary","tertiary","info","success","warning","error","dark","light","inverse","inherit"].includes(e)}}},created(){t.validatePackage(s.packageMetadata)},computed:{wrapperClass(){const{border:e,type:u,size:a,rounded:n,fillMode:r,themeColor:i}=this.$props;return{"k-avatar-bordered":e,"k-avatar":!0,[`k-avatar-${t.kendoThemeMaps.sizeMap[a]||a}`]:a,[`k-rounded-${t.kendoThemeMaps.roundedMap[n]||n}`]:n,[`k-avatar-${r}`]:r,[`k-avatar-${r}-${i}`]:!!(r&&i)}},innerClass(){return{[`k-avatar-${this.$props.type}`]:this.$props.type}}},render(){const e=t.getDefaultSlots(this);return o.createVNode("div",{class:this.wrapperClass},[o.createVNode("span",{class:this.innerClass},[e])])}});exports.Avatar=l;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),d=require("./interfaces/Enums.js"),s=require("../package-metadata.js"),t=require("@progress/kendo-vue-common"),l=o.defineComponent({name:"KendoAvatar",props:{type:{type:String,default:d.avatarType.TEXT,validator:function(e){return["text","image","icon"].includes(e)}},border:Boolean,rounded:{type:String,default:"medium",validator:function(e){return["small","medium","large","full"].includes(e)}},fillMode:{type:String,default:"solid",validator:function(e){return["solid","outline"].includes(e)}},size:{type:String,default:"medium",validator:function(e){return["small","medium","large",null].includes(e)}},themeColor:{type:String,default:"primary",validator:function(e){return["primary","secondary","tertiary","info","success","warning","error","dark","light","inverse","inherit"].includes(e)}}},created(){t.validatePackage(s.packageMetadata)},computed:{wrapperClass(){const{border:e,type:u,size:a,rounded:n,fillMode:r,themeColor:i}=this.$props;return{"k-avatar-bordered":e,"k-avatar":!0,[`k-avatar-${t.kendoThemeMaps.sizeMap[a]||a}`]:a,[`k-rounded-${t.kendoThemeMaps.roundedMap[n]||n}`]:n,[`k-avatar-${r}`]:r,[`k-avatar-${r}-${i}`]:!!(r&&i)}},innerClass(){return{[`k-avatar-${this.$props.type}`]:this.$props.type}}},render(){const e=t.getDefaultSlots(this);return o.createVNode("div",{class:this.wrapperClass},[o.createVNode("span",{class:this.innerClass},[e])])}});exports.Avatar=l;
package/card/Avatar.mjs CHANGED
@@ -5,10 +5,10 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as d, createVNode as o } from "vue";
8
+ import { defineComponent as d, createVNode as n } from "vue";
9
9
  import { avatarType as l } from "./interfaces/Enums.mjs";
10
10
  import { packageMetadata as s } from "../package-metadata.mjs";
11
- import { validatePackage as u, kendoThemeMaps as n, getDefaultSlots as p } from "@progress/kendo-vue-common";
11
+ import { validatePackage as u, kendoThemeMaps as o, getDefaultSlots as p } from "@progress/kendo-vue-common";
12
12
  const g = /* @__PURE__ */ d({
13
13
  name: "KendoAvatar",
14
14
  props: {
@@ -38,7 +38,7 @@ const g = /* @__PURE__ */ d({
38
38
  type: String,
39
39
  default: "medium",
40
40
  validator: function(e) {
41
- return ["small", "medium", "large"].includes(e);
41
+ return ["small", "medium", "large", null].includes(e);
42
42
  }
43
43
  },
44
44
  themeColor: {
@@ -65,8 +65,8 @@ const g = /* @__PURE__ */ d({
65
65
  return {
66
66
  "k-avatar-bordered": e,
67
67
  "k-avatar": !0,
68
- [`k-avatar-${n.sizeMap[t] || t}`]: t,
69
- [`k-rounded-${n.roundedMap[a] || a}`]: a,
68
+ [`k-avatar-${o.sizeMap[t] || t}`]: t,
69
+ [`k-rounded-${o.roundedMap[a] || a}`]: a,
70
70
  [`k-avatar-${r}`]: r,
71
71
  [`k-avatar-${r}-${i}`]: !!(r && i)
72
72
  };
@@ -79,9 +79,9 @@ const g = /* @__PURE__ */ d({
79
79
  },
80
80
  render() {
81
81
  const e = p(this);
82
- return o("div", {
82
+ return n("div", {
83
83
  class: this.wrapperClass
84
- }, [o("span", {
84
+ }, [n("span", {
85
85
  class: this.innerClass
86
86
  }, [e])]);
87
87
  }