@progress/kendo-vue-dateinputs 8.0.3-develop.2 → 8.0.3-develop.3

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.
Files changed (120) hide show
  1. package/PopupSettings.d.ts +21 -0
  2. package/calendar/components/Calendar.d.ts +206 -0
  3. package/calendar/components/CalendarCell.d.ts +70 -0
  4. package/calendar/components/CalendarHeaderTitle.d.ts +35 -0
  5. package/calendar/components/CalendarWeekCell.d.ts +35 -0
  6. package/calendar/components/Header.d.ts +175 -0
  7. package/calendar/components/View.d.ts +204 -0
  8. package/calendar/components/ViewList.d.ts +226 -0
  9. package/calendar/components/interfaces/CalendarComputed.d.ts +17 -0
  10. package/calendar/components/interfaces/CalendarData.d.ts +17 -0
  11. package/calendar/components/interfaces/CalendarEventArguments.d.ts +63 -0
  12. package/calendar/components/interfaces/CalendarMethods.d.ts +40 -0
  13. package/calendar/components/interfaces/CalendarProps.d.ts +66 -0
  14. package/calendar/components/interfaces/CalendarState.d.ts +32 -0
  15. package/calendar/models/ActiveView.d.ts +11 -0
  16. package/calendar/models/CalendarMode.d.ts +16 -0
  17. package/calendar/models/CalendarSettings.d.ts +84 -0
  18. package/calendar/models/CalendarViewEnum.d.ts +16 -0
  19. package/calendar/models/CellContext.d.ts +26 -0
  20. package/calendar/models/NavigationAction.d.ts +22 -0
  21. package/calendar/models/SelectionRange.d.ts +24 -0
  22. package/calendar/models/SelectionRangeEnd.d.ts +11 -0
  23. package/calendar/models/ViewService.d.ts +32 -0
  24. package/calendar/models/main.d.ts +17 -0
  25. package/calendar/services/BusViewService.d.ts +28 -0
  26. package/calendar/services/CenturyViewService.d.ts +32 -0
  27. package/calendar/services/DOMService.d.ts +36 -0
  28. package/calendar/services/DecadeViewService.d.ts +34 -0
  29. package/calendar/services/MonthViewService.d.ts +40 -0
  30. package/calendar/services/NavigationService.d.ts +20 -0
  31. package/calendar/services/WeekNamesService.d.ts +16 -0
  32. package/calendar/services/YearViewService.d.ts +38 -0
  33. package/calendar/services/main.d.ts +16 -0
  34. package/calendar/utils/main.d.ts +33 -0
  35. package/common/PickerWrap.d.ts +23 -0
  36. package/dateinput/DateInput.d.ts +260 -0
  37. package/dateinput/DateInput.mjs +3 -3
  38. package/dateinput/interfaces/DateInputBlurEvent.d.ts +16 -0
  39. package/dateinput/interfaces/DateInputComputed.d.ts +15 -0
  40. package/dateinput/interfaces/DateInputData.d.ts +18 -0
  41. package/dateinput/interfaces/DateInputEventArguments.d.ts +17 -0
  42. package/dateinput/interfaces/DateInputFocusEvent.d.ts +16 -0
  43. package/dateinput/interfaces/DateInputMethods.d.ts +37 -0
  44. package/dateinput/interfaces/DateInputProps.d.ts +38 -0
  45. package/dateinput/interfaces/DateInputState.d.ts +16 -0
  46. package/dateinput/models/DateInputSettings.d.ts +160 -0
  47. package/dateinput/models/format-placeholder.d.ts +46 -0
  48. package/dateinput/models/incremental-steps.d.ts +18 -0
  49. package/dateinput/models/kendo-date.d.ts +60 -0
  50. package/dateinput/models/main.d.ts +14 -0
  51. package/dateinput/models/mask.d.ts +14 -0
  52. package/dateinput/models/selection.d.ts +14 -0
  53. package/dateinput/utils.d.ts +37 -0
  54. package/datepicker/DatePicker.d.ts +280 -0
  55. package/datepicker/DatePicker.js +1 -1
  56. package/datepicker/DatePicker.mjs +11 -10
  57. package/datepicker/ToggleButton.d.ts +151 -0
  58. package/datepicker/interfaces/DatePickerComputed.d.ts +15 -0
  59. package/datepicker/interfaces/DatePickerData.d.ts +15 -0
  60. package/datepicker/interfaces/DatePickerEventArguments.d.ts +29 -0
  61. package/datepicker/interfaces/DatePickerFocusBlurEvents.d.ts +25 -0
  62. package/datepicker/interfaces/DatePickerMethods.d.ts +34 -0
  63. package/datepicker/interfaces/DatePickerProps.d.ts +53 -0
  64. package/datepicker/interfaces/DatePickerState.d.ts +23 -0
  65. package/datepicker/models/DatePickerSettings.d.ts +157 -0
  66. package/datepicker/models/main.d.ts +9 -0
  67. package/daterangepicker/DateRangePicker.d.ts +315 -0
  68. package/daterangepicker/interfaces/DateRangePickerFocusBlurEvents.d.ts +25 -0
  69. package/daterangepicker/models/DateRangePickerCalendarSettings.d.ts +13 -0
  70. package/daterangepicker/models/DateRangePickerDateInputSettings.d.ts +13 -0
  71. package/daterangepicker/models/DateRangePickerPopupSettings.d.ts +13 -0
  72. package/daterangepicker/models/DateRangePickerSettings.d.ts +162 -0
  73. package/daterangepicker/models/main.d.ts +12 -0
  74. package/datetimepicker/DateTimePicker.d.ts +380 -0
  75. package/datetimepicker/DateTimePicker.js +1 -1
  76. package/datetimepicker/DateTimePicker.mjs +17 -16
  77. package/datetimepicker/DateTimeSelector.d.ts +188 -0
  78. package/datetimepicker/interfaces/DateTimePickerFocusBlurEvents.d.ts +25 -0
  79. package/datetimepicker/models/DateTimePickerSettings.d.ts +199 -0
  80. package/datetimepicker/models/main.d.ts +9 -0
  81. package/defaults.d.ts +27 -0
  82. package/dist/cdn/js/kendo-vue-dateinputs.js +1 -1
  83. package/index.d.mts +30 -3477
  84. package/index.d.ts +30 -3477
  85. package/messages/main.d.ts +117 -0
  86. package/package-metadata.d.ts +12 -0
  87. package/package-metadata.js +1 -1
  88. package/package-metadata.mjs +2 -2
  89. package/package.json +16 -10
  90. package/timepicker/TimeList.d.ts +129 -0
  91. package/timepicker/TimePart.d.ts +177 -0
  92. package/timepicker/TimePart.js +1 -1
  93. package/timepicker/TimePart.mjs +2 -2
  94. package/timepicker/TimePicker.d.ts +369 -0
  95. package/timepicker/TimePicker.js +1 -1
  96. package/timepicker/TimePicker.mjs +1 -0
  97. package/timepicker/TimeSelector.d.ts +185 -0
  98. package/timepicker/interfaces/TimePickerFocusBlurEvents.d.ts +25 -0
  99. package/timepicker/models/IncrementalSteps.d.ts +15 -0
  100. package/timepicker/models/ListItem.d.ts +14 -0
  101. package/timepicker/models/ListService.d.ts +22 -0
  102. package/timepicker/models/ListServiceSettings.d.ts +19 -0
  103. package/timepicker/models/TimePart.d.ts +17 -0
  104. package/timepicker/models/TimePickerSettings.d.ts +180 -0
  105. package/timepicker/models/main.d.ts +14 -0
  106. package/timepicker/services/DOMService.d.ts +17 -0
  107. package/timepicker/services/DayPeriodService.d.ts +54 -0
  108. package/timepicker/services/HoursService.d.ts +40 -0
  109. package/timepicker/services/MinutesService.d.ts +39 -0
  110. package/timepicker/services/SecondsService.d.ts +39 -0
  111. package/timepicker/services/main.d.ts +13 -0
  112. package/timepicker/utils.d.ts +63 -0
  113. package/utils.d.ts +77 -0
  114. package/utils.mjs +1 -1
  115. package/virtualization/Virtualization.d.ts +186 -0
  116. package/virtualization/Virtualization.js +1 -1
  117. package/virtualization/Virtualization.mjs +2 -2
  118. package/virtualization/services/RowHeightService.d.ts +25 -0
  119. package/virtualization/services/ScrollerService.d.ts +56 -0
  120. package/virtualization/services/main.d.ts +10 -0
@@ -0,0 +1,186 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 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 { ScrollAction, PageAction } from './services/main';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export interface ScrollActionArguments {
13
+ index: number;
14
+ target: HTMLDivElement | null;
15
+ scrollAction?: ScrollAction;
16
+ pageAction?: PageAction;
17
+ animationInProgress: boolean;
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export declare enum ScrollDirection {
23
+ Backward = 0,
24
+ Forward = 1
25
+ }
26
+ /**
27
+ * @hidden
28
+ */
29
+ export type Direction = 'horizontal' | 'vertical';
30
+ /**
31
+ * @hidden
32
+ */
33
+ export interface VirtualizationComputed {
34
+ [key: string]: any;
35
+ element: HTMLDivElement | null;
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export interface VirtualizationProps {
41
+ bottomOffset: number;
42
+ direction?: String;
43
+ forceScroll?: boolean;
44
+ itemHeight?: number;
45
+ itemWidth?: number;
46
+ maxScrollDifference?: number;
47
+ scrollOffsetSize?: number;
48
+ scrollDuration?: number;
49
+ skip: number;
50
+ tabIndex?: number;
51
+ take: number;
52
+ topOffset: number;
53
+ total: number;
54
+ role?: string;
55
+ }
56
+ /**
57
+ * @hidden
58
+ */
59
+ declare const Virtualization: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
60
+ bottomOffset: {
61
+ type: NumberConstructor;
62
+ required: true;
63
+ };
64
+ direction: {
65
+ type: StringConstructor;
66
+ default: () => string;
67
+ };
68
+ forceScroll: {
69
+ type: BooleanConstructor;
70
+ default: boolean;
71
+ };
72
+ itemHeight: NumberConstructor;
73
+ itemWidth: NumberConstructor;
74
+ maxScrollDifference: {
75
+ type: NumberConstructor;
76
+ default: number;
77
+ };
78
+ scrollDuration: {
79
+ type: NumberConstructor;
80
+ default: number;
81
+ };
82
+ scrollOffsetSize: {
83
+ type: NumberConstructor;
84
+ default: number;
85
+ };
86
+ skip: {
87
+ type: NumberConstructor;
88
+ required: true;
89
+ };
90
+ tabIndex: NumberConstructor;
91
+ take: {
92
+ type: NumberConstructor;
93
+ required: true;
94
+ };
95
+ topOffset: {
96
+ type: NumberConstructor;
97
+ required: true;
98
+ };
99
+ total: {
100
+ type: NumberConstructor;
101
+ required: true;
102
+ };
103
+ role: StringConstructor;
104
+ }>, {}, {}, {
105
+ element(): HTMLDivElement | null;
106
+ }, {
107
+ containerOffsetSize(): number;
108
+ containerScrollSize(): number;
109
+ containerScrollPosition(): number;
110
+ activeIndex(): number;
111
+ itemIndex(offset: number): number;
112
+ itemOffset(index: number): number;
113
+ isIndexVisible(index: number): boolean;
114
+ isListScrolled(index: number): boolean;
115
+ scrollTo(value: number): void;
116
+ scrollToIndex(index: number): void;
117
+ animateToIndex(index: number): void;
118
+ scrollToBottom(): void;
119
+ scrollStep(start: number, end: number): number;
120
+ scrollRange(indexOffset: number, direction: ScrollDirection): any;
121
+ containerMaxScroll(): number;
122
+ getContainerScrollDirection(indexOffset: number): ScrollDirection;
123
+ initServices(newProps?: any): void;
124
+ getContainerProperty(propertyName: string): number;
125
+ handleScroll(event: any): void;
126
+ handleScrollAction(action: ScrollAction): void;
127
+ handlePageAction(action: PageAction): void;
128
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
129
+ scroll: (event: any) => true;
130
+ scrollaction: (event: any) => true;
131
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
132
+ bottomOffset: {
133
+ type: NumberConstructor;
134
+ required: true;
135
+ };
136
+ direction: {
137
+ type: StringConstructor;
138
+ default: () => string;
139
+ };
140
+ forceScroll: {
141
+ type: BooleanConstructor;
142
+ default: boolean;
143
+ };
144
+ itemHeight: NumberConstructor;
145
+ itemWidth: NumberConstructor;
146
+ maxScrollDifference: {
147
+ type: NumberConstructor;
148
+ default: number;
149
+ };
150
+ scrollDuration: {
151
+ type: NumberConstructor;
152
+ default: number;
153
+ };
154
+ scrollOffsetSize: {
155
+ type: NumberConstructor;
156
+ default: number;
157
+ };
158
+ skip: {
159
+ type: NumberConstructor;
160
+ required: true;
161
+ };
162
+ tabIndex: NumberConstructor;
163
+ take: {
164
+ type: NumberConstructor;
165
+ required: true;
166
+ };
167
+ topOffset: {
168
+ type: NumberConstructor;
169
+ required: true;
170
+ };
171
+ total: {
172
+ type: NumberConstructor;
173
+ required: true;
174
+ };
175
+ role: StringConstructor;
176
+ }>> & Readonly<{
177
+ onScroll?: (event: any) => any;
178
+ onScrollaction?: (event: any) => any;
179
+ }>, {
180
+ direction: string;
181
+ forceScroll: boolean;
182
+ maxScrollDifference: number;
183
+ scrollDuration: number;
184
+ scrollOffsetSize: number;
185
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
186
+ export { Virtualization };
@@ -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 a=require("vue"),h=require("@progress/kendo-vue-common"),S=require("./services/RowHeightService.js"),m=require("./services/ScrollerService.js");let s=function(t){return t[t.Backward=0]="Backward",t[t.Forward=1]="Forward",t}({});const g=(t,e,r)=>Math.min(Math.abs(e-t),r),w=17,v={[s.Forward]:t=>e=>e+t,[s.Backward]:t=>e=>e-t},H={[s.Forward]:t=>e=>Math.min(e,t),[s.Backward]:t=>e=>Math.max(e,t)},$={[s.Forward]:t=>e=>e<t,[s.Backward]:t=>e=>e>t},b=a.defineComponent({name:"Virtualization",emits:{scroll:t=>!0,scrollaction:t=>!0},props:{bottomOffset:{type:Number,required:!0},direction:{type:String,default:function(){return"vertical"}},forceScroll:{type:Boolean,default:!1},itemHeight:Number,itemWidth:Number,maxScrollDifference:{type:Number,default:100},scrollDuration:{type:Number,default:100},scrollOffsetSize:{type:Number,default:0},skip:{type:Number,required:!0},tabIndex:Number,take:{type:Number,required:!0},topOffset:{type:Number,required:!0},total:{type:Number,required:!0},role:String},created(){this.animationInProgress=!1,this.lastTotal=void 0,this.scrollerService=new m.ScrollerService(this.handleScrollAction,this.handlePageAction)},mounted(){this.scrollContainer=this.$refs.scrollContainer},computed:{element(){return this.scrollContainer}},methods:{containerOffsetSize(){return this.getContainerProperty(this.$props.direction==="vertical"?"offsetHeight":"offsetWidth")},containerScrollSize(){return this.getContainerProperty(this.$props.direction==="vertical"?"scrollHeight":"scrollWidth")},containerScrollPosition(){return this.getContainerProperty(this.$props.direction==="vertical"?"scrollTop":"scrollLeft")},activeIndex(){return this.itemIndex(Math.ceil(this.containerScrollPosition()))},itemIndex(t){return this.rowHeightService?this.rowHeightService.index(t):0},itemOffset(t){return this.rowHeightService?this.rowHeightService.offset(t):0},isIndexVisible(t){if(!this.rowHeightService)return!1;const e=this.containerScrollPosition(),r=e+this.containerOffsetSize(),i=this.rowHeightService.offset(t),o=i+this.rowHeightService.height(t);return i>=e&&o<=r},isListScrolled(t){return this.rowHeightService?this.containerScrollPosition()!==this.rowHeightService.offset(t):!1},scrollTo(t){const e=this.$props.direction==="vertical"?"scrollTop":"scrollLeft";this.scrollContainer&&(this.scrollContainer[e]=t)},scrollToIndex(t){this.rowHeightService&&(this.animationInProgress=!1,this.scrollTo(this.rowHeightService.offset(t)))},animateToIndex(t){if(!this.rowHeightService||!window)return;window.cancelAnimationFrame(this.cancelAnimation);const e=this.rowHeightService.offset(t),r=this.getContainerScrollDirection(e);let{start:i,end:o}=this.scrollRange(e,r);if(i===o)return;const l=this.scrollStep(i,o),n=v[r](l),d=H[r](o),f=$[r](n(o)),p=u=>{this.animationInProgress=!0;const c=n(u);this.scrollTo(d(c)),f(c)?this.cancelAnimation=window.requestAnimationFrame(()=>{p(c)}):this.animationInProgress=!1};this.cancelAnimation=window.requestAnimationFrame(()=>{p(i)})},scrollToBottom(){this.rowHeightService&&this.scrollTo(this.rowHeightService.totalHeight()+this.$props.bottomOffset)},scrollStep(t,e){const r=this.$props.scrollDuration;return Math.abs(e-t)/(r/w)},scrollRange(t,e){const r=this.containerScrollPosition();if(parseInt(`${t}`,10)===parseInt(`${r}`,10))return{start:t,end:t};const i=this.containerMaxScroll(),o=e===s.Backward?1:-1,l=g(r,t,this.$props.maxScrollDifference),n=Math.min(t,i);return{start:Math.min(Math.max(n+o*l,0),i),end:n}},containerMaxScroll(){return this.containerScrollSize()-this.containerOffsetSize()},getContainerScrollDirection(t){return t<this.containerScrollPosition()?s.Backward:s.Forward},initServices(t){const e=t||this.$props,r=e.direction==="vertical"?e.itemHeight:e.itemWidth;r!==void 0&&(this.rowHeightService=new S.RowHeightService(e.total,r,0),this.scrollerService.create(this.rowHeightService,e.skip,e.take,e.total,e.topOffset,this.$props.scrollOffsetSize,this.$props.direction))},getContainerProperty(t){return this.scrollContainer?this.scrollContainer[t]:0},handleScroll(t){if(!this.scrollContainer||!this.rowHeightService)return;const e=t.target;this.scrollerService.onScroll({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop,offsetHeight:e.offsetHeight,offsetWidth:e.offsetWidth});const i={index:this.rowHeightService.index(this.containerScrollPosition()-this.$props.topOffset),target:e,scrollAction:this.scrollAction,pageAction:this.pageAction,animationInProgress:this.animationInProgress};this.$emit("scrollaction",i),this.scrollAction=void 0,this.pageAction=void 0},handleScrollAction(t){this.scrollAction=t},handlePageAction(t){this.pageAction=t}},render(){const t=h.getDefaultSlots(this);(this.lastTotal!==this.$props.total||this.lastDirection!==this.$props.direction||this.lastTake!==this.$props.take)&&(this.initServices(),this.lastTotal=this.$props.total,this.lastDirection=this.$props.direction,this.lastTake=this.$props.take);const e=`${(this.rowHeightService?this.rowHeightService.totalHeight():0)+this.$props.bottomOffset}`,r=this.$props.direction==="vertical"?{height:`${e}px`}:{width:`${e}px`},i=h.classNames("k-content k-scrollable",{"k-scrollable-horizontal":this.$props.direction==="horizontal"}),o=h.classNames("k-scrollable-placeholder",{"k-scrollable-horizontal-placeholder":this.$props.direction==="horizontal"});return a.createVNode("div",{ref:"scrollContainer",onScroll:this.handleScroll,class:i,tabindex:this.$props.tabIndex,role:this.$props.role},[t,a.createVNode("div",{style:r,class:o},null)])}});exports.ScrollDirection=s;exports.Virtualization=b;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),h=require("@progress/kendo-vue-common"),S=require("./services/RowHeightService.js"),m=require("./services/ScrollerService.js");let s=(function(t){return t[t.Backward=0]="Backward",t[t.Forward=1]="Forward",t})({});const g=(t,e,r)=>Math.min(Math.abs(e-t),r),w=17,v={[s.Forward]:t=>e=>e+t,[s.Backward]:t=>e=>e-t},H={[s.Forward]:t=>e=>Math.min(e,t),[s.Backward]:t=>e=>Math.max(e,t)},$={[s.Forward]:t=>e=>e<t,[s.Backward]:t=>e=>e>t},b=a.defineComponent({name:"Virtualization",emits:{scroll:t=>!0,scrollaction:t=>!0},props:{bottomOffset:{type:Number,required:!0},direction:{type:String,default:function(){return"vertical"}},forceScroll:{type:Boolean,default:!1},itemHeight:Number,itemWidth:Number,maxScrollDifference:{type:Number,default:100},scrollDuration:{type:Number,default:100},scrollOffsetSize:{type:Number,default:0},skip:{type:Number,required:!0},tabIndex:Number,take:{type:Number,required:!0},topOffset:{type:Number,required:!0},total:{type:Number,required:!0},role:String},created(){this.animationInProgress=!1,this.lastTotal=void 0,this.scrollerService=new m.ScrollerService(this.handleScrollAction,this.handlePageAction)},mounted(){this.scrollContainer=this.$refs.scrollContainer},computed:{element(){return this.scrollContainer}},methods:{containerOffsetSize(){return this.getContainerProperty(this.$props.direction==="vertical"?"offsetHeight":"offsetWidth")},containerScrollSize(){return this.getContainerProperty(this.$props.direction==="vertical"?"scrollHeight":"scrollWidth")},containerScrollPosition(){return this.getContainerProperty(this.$props.direction==="vertical"?"scrollTop":"scrollLeft")},activeIndex(){return this.itemIndex(Math.ceil(this.containerScrollPosition()))},itemIndex(t){return this.rowHeightService?this.rowHeightService.index(t):0},itemOffset(t){return this.rowHeightService?this.rowHeightService.offset(t):0},isIndexVisible(t){if(!this.rowHeightService)return!1;const e=this.containerScrollPosition(),r=e+this.containerOffsetSize(),i=this.rowHeightService.offset(t),o=i+this.rowHeightService.height(t);return i>=e&&o<=r},isListScrolled(t){return this.rowHeightService?this.containerScrollPosition()!==this.rowHeightService.offset(t):!1},scrollTo(t){const e=this.$props.direction==="vertical"?"scrollTop":"scrollLeft";this.scrollContainer&&(this.scrollContainer[e]=t)},scrollToIndex(t){this.rowHeightService&&(this.animationInProgress=!1,this.scrollTo(this.rowHeightService.offset(t)))},animateToIndex(t){if(!this.rowHeightService||!window)return;window.cancelAnimationFrame(this.cancelAnimation);const e=this.rowHeightService.offset(t),r=this.getContainerScrollDirection(e);let{start:i,end:o}=this.scrollRange(e,r);if(i===o)return;const l=this.scrollStep(i,o),n=v[r](l),d=H[r](o),f=$[r](n(o)),p=u=>{this.animationInProgress=!0;const c=n(u);this.scrollTo(d(c)),f(c)?this.cancelAnimation=window.requestAnimationFrame(()=>{p(c)}):this.animationInProgress=!1};this.cancelAnimation=window.requestAnimationFrame(()=>{p(i)})},scrollToBottom(){this.rowHeightService&&this.scrollTo(this.rowHeightService.totalHeight()+this.$props.bottomOffset)},scrollStep(t,e){const r=this.$props.scrollDuration;return Math.abs(e-t)/(r/w)},scrollRange(t,e){const r=this.containerScrollPosition();if(parseInt(`${t}`,10)===parseInt(`${r}`,10))return{start:t,end:t};const i=this.containerMaxScroll(),o=e===s.Backward?1:-1,l=g(r,t,this.$props.maxScrollDifference),n=Math.min(t,i);return{start:Math.min(Math.max(n+o*l,0),i),end:n}},containerMaxScroll(){return this.containerScrollSize()-this.containerOffsetSize()},getContainerScrollDirection(t){return t<this.containerScrollPosition()?s.Backward:s.Forward},initServices(t){const e=t||this.$props,r=e.direction==="vertical"?e.itemHeight:e.itemWidth;r!==void 0&&(this.rowHeightService=new S.RowHeightService(e.total,r,0),this.scrollerService.create(this.rowHeightService,e.skip,e.take,e.total,e.topOffset,this.$props.scrollOffsetSize,this.$props.direction))},getContainerProperty(t){return this.scrollContainer?this.scrollContainer[t]:0},handleScroll(t){if(!this.scrollContainer||!this.rowHeightService)return;const e=t.target;this.scrollerService.onScroll({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop,offsetHeight:e.offsetHeight,offsetWidth:e.offsetWidth});const i={index:this.rowHeightService.index(this.containerScrollPosition()-this.$props.topOffset),target:e,scrollAction:this.scrollAction,pageAction:this.pageAction,animationInProgress:this.animationInProgress};this.$emit("scrollaction",i),this.scrollAction=void 0,this.pageAction=void 0},handleScrollAction(t){this.scrollAction=t},handlePageAction(t){this.pageAction=t}},render(){const t=h.getDefaultSlots(this);(this.lastTotal!==this.$props.total||this.lastDirection!==this.$props.direction||this.lastTake!==this.$props.take)&&(this.initServices(),this.lastTotal=this.$props.total,this.lastDirection=this.$props.direction,this.lastTake=this.$props.take);const e=`${(this.rowHeightService?this.rowHeightService.totalHeight():0)+this.$props.bottomOffset}`,r=this.$props.direction==="vertical"?{height:`${e}px`}:{width:`${e}px`},i=h.classNames("k-content k-scrollable",{"k-scrollable-horizontal":this.$props.direction==="horizontal"}),o=h.classNames("k-scrollable-placeholder",{"k-scrollable-horizontal-placeholder":this.$props.direction==="horizontal"});return a.createVNode("div",{ref:"scrollContainer",onScroll:this.handleScroll,class:i,tabindex:this.$props.tabIndex,role:this.$props.role},[t,a.createVNode("div",{style:r,class:o},null)])}});exports.ScrollDirection=s;exports.Virtualization=b;
@@ -9,9 +9,9 @@ import { defineComponent as m, createVNode as p } from "vue";
9
9
  import { getDefaultSlots as S, classNames as d } from "@progress/kendo-vue-common";
10
10
  import { RowHeightService as g } from "./services/RowHeightService.mjs";
11
11
  import { ScrollerService as w } from "./services/ScrollerService.mjs";
12
- let s = /* @__PURE__ */ function(t) {
12
+ let s = /* @__PURE__ */ (function(t) {
13
13
  return t[t.Backward = 0] = "Backward", t[t.Forward = 1] = "Forward", t;
14
- }({});
14
+ })({});
15
15
  const v = (t, e, r) => Math.min(Math.abs(e - t), r), H = 17, $ = {
16
16
  [s.Forward]: (t) => (e) => e + t,
17
17
  [s.Backward]: (t) => (e) => e - t
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare class RowHeightService {
12
+ private total;
13
+ private rowHeight;
14
+ private detailRowHeight;
15
+ private offsets;
16
+ private heights;
17
+ constructor(total: number, rowHeight: number, detailRowHeight: number);
18
+ height(rowIndex: number): number;
19
+ expandDetail(rowIndex: number): void;
20
+ collapseDetail(rowIndex: number): void;
21
+ index(position: number): number;
22
+ offset(rowIndex: number): number;
23
+ totalHeight(): number;
24
+ private updateRowHeight;
25
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 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 { RowHeightService } from './RowHeightService';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare class ScrollAction {
13
+ offset: number;
14
+ constructor(offset: number);
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare class PageAction {
20
+ skip: number;
21
+ constructor(skip: number);
22
+ }
23
+ /**
24
+ * @hidden
25
+ */
26
+ export type ScrollElement = {
27
+ offsetHeight: number;
28
+ offsetWidth: number;
29
+ scrollLeft: number;
30
+ scrollTop: number;
31
+ };
32
+ /**
33
+ * @hidden
34
+ */
35
+ export type Action = ScrollAction | PageAction;
36
+ /**
37
+ * @hidden
38
+ */
39
+ export declare class ScrollerService {
40
+ private onScrollAction;
41
+ private onPageAction;
42
+ private direction;
43
+ private firstLoaded;
44
+ private lastLoaded;
45
+ private lastScrollTop;
46
+ private take;
47
+ private total;
48
+ private rowHeightService;
49
+ private bottomOffset;
50
+ private topOffset;
51
+ constructor(onScrollAction: (action: ScrollAction) => void, onPageAction: (action: PageAction) => void);
52
+ create(rowHeightService: RowHeightService, skip: number, take: number, total: number, topOffset?: number, bottomOffset?: number, direction?: 'horizontal' | 'vertical'): void;
53
+ onScroll({ scrollLeft, scrollTop, offsetHeight, offsetWidth }: ScrollElement): void;
54
+ rowOffset(index: number): number;
55
+ private rowsForHeight;
56
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 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 { RowHeightService } from './RowHeightService';
9
+ import { PageAction, ScrollAction, ScrollElement, ScrollerService } from './ScrollerService';
10
+ export { PageAction, type ScrollElement, RowHeightService, ScrollAction, ScrollerService };