@progress/kendo-angular-dateinputs 21.4.1 → 22.0.0-develop.1

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 (141) hide show
  1. package/calendar/localization/calendar-messages.d.ts +1 -1
  2. package/calendar/localization/multiview-calendar-messages.d.ts +1 -1
  3. package/dateinput/localization/messages.d.ts +1 -1
  4. package/datepicker/localization/messages.d.ts +1 -1
  5. package/daterange/date-range-input.d.ts +1 -1
  6. package/daterange/localization/messages.d.ts +1 -1
  7. package/datetimepicker/localization/messages.d.ts +1 -1
  8. package/fesm2022/progress-kendo-angular-dateinputs.mjs +262 -262
  9. package/package.json +15 -23
  10. package/timepicker/localization/messages.d.ts +1 -1
  11. package/esm2022/calendar/calendar.component.mjs +0 -1711
  12. package/esm2022/calendar/calendar.module.mjs +0 -91
  13. package/esm2022/calendar/calendars.module.mjs +0 -87
  14. package/esm2022/calendar/footer.component.mjs +0 -77
  15. package/esm2022/calendar/for.directive.mjs +0 -116
  16. package/esm2022/calendar/header.component.mjs +0 -367
  17. package/esm2022/calendar/horizontal-view-list.component.mjs +0 -580
  18. package/esm2022/calendar/localization/calendar-custom-messages.component.mjs +0 -51
  19. package/esm2022/calendar/localization/calendar-localized-messages.directive.mjs +0 -39
  20. package/esm2022/calendar/localization/calendar-messages.mjs +0 -45
  21. package/esm2022/calendar/localization/multiview-calendar-custom-messages.component.mjs +0 -51
  22. package/esm2022/calendar/localization/multiview-calendar-localized-messages.directive.mjs +0 -39
  23. package/esm2022/calendar/localization/multiview-calendar-messages.mjs +0 -45
  24. package/esm2022/calendar/models/cell-context.interface.mjs +0 -5
  25. package/esm2022/calendar/models/navigation-action.enum.mjs +0 -20
  26. package/esm2022/calendar/models/orientation.mjs +0 -5
  27. package/esm2022/calendar/models/row-length-options.interface.mjs +0 -5
  28. package/esm2022/calendar/models/scrollable.interface.mjs +0 -5
  29. package/esm2022/calendar/models/selection-range-end.type.mjs +0 -5
  30. package/esm2022/calendar/models/selection-range.interface.mjs +0 -10
  31. package/esm2022/calendar/models/selection.mjs +0 -50
  32. package/esm2022/calendar/models/type.mjs +0 -5
  33. package/esm2022/calendar/models/view-service.interface.mjs +0 -5
  34. package/esm2022/calendar/models/view.enum.mjs +0 -16
  35. package/esm2022/calendar/models/view.type.mjs +0 -5
  36. package/esm2022/calendar/multiview-calendar.component.mjs +0 -1564
  37. package/esm2022/calendar/multiview-calendar.module.mjs +0 -89
  38. package/esm2022/calendar/navigation.component.mjs +0 -230
  39. package/esm2022/calendar/services/bus-view.service.mjs +0 -83
  40. package/esm2022/calendar/services/century-view.service.mjs +0 -219
  41. package/esm2022/calendar/services/decade-view.service.mjs +0 -217
  42. package/esm2022/calendar/services/disabled-dates.service.mjs +0 -66
  43. package/esm2022/calendar/services/dom.service.mjs +0 -203
  44. package/esm2022/calendar/services/month-view.service.mjs +0 -223
  45. package/esm2022/calendar/services/navigation.service.mjs +0 -60
  46. package/esm2022/calendar/services/scroll-sync.service.mjs +0 -89
  47. package/esm2022/calendar/services/selection.service.mjs +0 -62
  48. package/esm2022/calendar/services/weeknames.service.mjs +0 -33
  49. package/esm2022/calendar/services/year-view.service.mjs +0 -204
  50. package/esm2022/calendar/templates/cell-template.directive.mjs +0 -45
  51. package/esm2022/calendar/templates/century-cell-template.directive.mjs +0 -43
  52. package/esm2022/calendar/templates/decade-cell-template.directive.mjs +0 -43
  53. package/esm2022/calendar/templates/footer-template.directive.mjs +0 -44
  54. package/esm2022/calendar/templates/header-template.directive.mjs +0 -47
  55. package/esm2022/calendar/templates/header-title-template.directive.mjs +0 -43
  56. package/esm2022/calendar/templates/month-cell-template.directive.mjs +0 -43
  57. package/esm2022/calendar/templates/navigation-item-template.directive.mjs +0 -43
  58. package/esm2022/calendar/templates/weeknumber-cell-template.directive.mjs +0 -43
  59. package/esm2022/calendar/templates/year-cell-template.directive.mjs +0 -43
  60. package/esm2022/calendar/view-list.component.mjs +0 -497
  61. package/esm2022/calendar/view.component.mjs +0 -432
  62. package/esm2022/common/dom-queries.mjs +0 -24
  63. package/esm2022/common/models/fillmode.mjs +0 -5
  64. package/esm2022/common/models/rounded.mjs +0 -5
  65. package/esm2022/common/models/size.mjs +0 -5
  66. package/esm2022/common/models/week-days-format.mjs +0 -5
  67. package/esm2022/common/picker.service.mjs +0 -17
  68. package/esm2022/common/utils.mjs +0 -70
  69. package/esm2022/dateinput/arrow.enum.mjs +0 -13
  70. package/esm2022/dateinput/dateinput.component.mjs +0 -1196
  71. package/esm2022/dateinput/dateinput.module.mjs +0 -45
  72. package/esm2022/dateinput/localization/dateinput-custom-messages.component.mjs +0 -60
  73. package/esm2022/dateinput/localization/dateinput-localized-messages.directive.mjs +0 -39
  74. package/esm2022/dateinput/localization/messages.mjs +0 -39
  75. package/esm2022/dateinput/models/format-placeholder.model.mjs +0 -5
  76. package/esm2022/dateinput/models/format-settings.model.mjs +0 -5
  77. package/esm2022/dateinput/models/incremental-steps.model.mjs +0 -5
  78. package/esm2022/dateinputs.module.mjs +0 -136
  79. package/esm2022/datepicker/datepicker.component.mjs +0 -1758
  80. package/esm2022/datepicker/datepicker.module.mjs +0 -83
  81. package/esm2022/datepicker/localization/datepicker-custom-messages.component.mjs +0 -53
  82. package/esm2022/datepicker/localization/datepicker-localized-messages.directive.mjs +0 -39
  83. package/esm2022/datepicker/localization/messages.mjs +0 -63
  84. package/esm2022/daterange/auto-correct-on.type.mjs +0 -5
  85. package/esm2022/daterange/date-range-end-input.directive.mjs +0 -105
  86. package/esm2022/daterange/date-range-input.mjs +0 -138
  87. package/esm2022/daterange/date-range-popup-template.directive.mjs +0 -36
  88. package/esm2022/daterange/date-range-popup.component.mjs +0 -1051
  89. package/esm2022/daterange/date-range-selection.directive.mjs +0 -223
  90. package/esm2022/daterange/date-range-start-input.directive.mjs +0 -109
  91. package/esm2022/daterange/date-range.component.mjs +0 -116
  92. package/esm2022/daterange/date-range.module.mjs +0 -103
  93. package/esm2022/daterange/date-range.service.mjs +0 -225
  94. package/esm2022/daterange/localization/daterange-popup-custom-messages.component.mjs +0 -43
  95. package/esm2022/daterange/localization/daterange-popup-localized-messages.directive.mjs +0 -39
  96. package/esm2022/daterange/localization/messages.mjs +0 -51
  97. package/esm2022/datetimepicker/datetimepicker.component.mjs +0 -2505
  98. package/esm2022/datetimepicker/datetimepicker.module.mjs +0 -106
  99. package/esm2022/datetimepicker/localization/datetimepicker-custom-messages.component.mjs +0 -52
  100. package/esm2022/datetimepicker/localization/localized-messages.directive.mjs +0 -39
  101. package/esm2022/datetimepicker/localization/messages.mjs +0 -153
  102. package/esm2022/datetimepicker/models/active-tab.type.mjs +0 -5
  103. package/esm2022/defaults.mjs +0 -24
  104. package/esm2022/directives.mjs +0 -146
  105. package/esm2022/index.mjs +0 -78
  106. package/esm2022/package-metadata.mjs +0 -16
  107. package/esm2022/popup-settings.model.mjs +0 -5
  108. package/esm2022/preventable-event.mjs +0 -27
  109. package/esm2022/progress-kendo-angular-dateinputs.mjs +0 -8
  110. package/esm2022/timepicker/localization/messages.mjs +0 -105
  111. package/esm2022/timepicker/localization/timepicker-custom-messages.component.mjs +0 -54
  112. package/esm2022/timepicker/localization/timepicker-localized-messages.directive.mjs +0 -39
  113. package/esm2022/timepicker/localization/timeselector-custom-messages.component.mjs +0 -45
  114. package/esm2022/timepicker/localization/timeselector-localized-messages.directive.mjs +0 -39
  115. package/esm2022/timepicker/models/incremental-steps.model.mjs +0 -5
  116. package/esm2022/timepicker/models/list-item.interface.mjs +0 -5
  117. package/esm2022/timepicker/models/list-service-settings.mjs +0 -5
  118. package/esm2022/timepicker/models/list-service.interface.mjs +0 -5
  119. package/esm2022/timepicker/models/time-part.default.mjs +0 -14
  120. package/esm2022/timepicker/services/dayperiod.service.mjs +0 -131
  121. package/esm2022/timepicker/services/dom.service.mjs +0 -126
  122. package/esm2022/timepicker/services/hours.service.mjs +0 -130
  123. package/esm2022/timepicker/services/milliseconds.service.mjs +0 -131
  124. package/esm2022/timepicker/services/minutes.service.mjs +0 -128
  125. package/esm2022/timepicker/services/seconds.service.mjs +0 -128
  126. package/esm2022/timepicker/timelist.component.mjs +0 -388
  127. package/esm2022/timepicker/timepicker.component.mjs +0 -1598
  128. package/esm2022/timepicker/timepicker.module.mjs +0 -71
  129. package/esm2022/timepicker/timeselector.component.mjs +0 -728
  130. package/esm2022/timepicker/util.mjs +0 -70
  131. package/esm2022/util.mjs +0 -406
  132. package/esm2022/validators/disabled-date.validator.mjs +0 -18
  133. package/esm2022/validators/disabled-dates-range.validator.mjs +0 -26
  134. package/esm2022/validators/incomplete-date.validator.mjs +0 -18
  135. package/esm2022/validators/max.validator.mjs +0 -21
  136. package/esm2022/validators/min.validator.mjs +0 -21
  137. package/esm2022/validators/time-range.validator.mjs +0 -23
  138. package/esm2022/virtualization/models/scrollable.interface.mjs +0 -5
  139. package/esm2022/virtualization/services/row-height.service.mjs +0 -73
  140. package/esm2022/virtualization/services/scroller.service.mjs +0 -109
  141. package/esm2022/virtualization/virtualization.component.mjs +0 -324
@@ -1,388 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /* eslint-disable @angular-eslint/component-selector */
6
- import { Component, EventEmitter, ElementRef, HostBinding, ViewChild, Renderer2, NgZone, Injector, Input, Output } from '@angular/core';
7
- import { debounceTime, map } from 'rxjs/operators';
8
- import { cloneDate } from '@progress/kendo-date-math';
9
- import { VirtualizationComponent } from '../virtualization/virtualization.component';
10
- import { MAX_TIME, MIDNIGHT_DATE } from '../defaults';
11
- import { TIME_PART } from './models/time-part.default';
12
- import { TimePickerDOMService } from './services/dom.service';
13
- import { HoursService } from './services/hours.service';
14
- import { MinutesService } from './services/minutes.service';
15
- import { SecondsService } from './services/seconds.service';
16
- import { MillisecondsService } from './services/milliseconds.service';
17
- import { DayPeriodService } from './services/dayperiod.service';
18
- import { closestInScope } from '../common/dom-queries';
19
- import { LocalizationService } from '@progress/kendo-angular-l10n';
20
- import { Keys, EventsOutsideAngularDirective, normalizeKeys } from '@progress/kendo-angular-common';
21
- import { NgStyle } from '@angular/common';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "./services/dom.service";
24
- import * as i2 from "@progress/kendo-angular-l10n";
25
- const SNAP_THRESHOLD = 0.05; //% of the item height
26
- const SCROLL_THRESHOLD = 2; //< 2px threshold
27
- const nil = () => (null);
28
- const getters = {
29
- [Keys.End]: (data, _) => data[data.length - 1],
30
- [Keys.Home]: (data, _) => data[0],
31
- [Keys.ArrowUp]: (data, index) => data[index - 1],
32
- [Keys.ArrowDown]: (data, index) => data[index + 1]
33
- };
34
- const services = {
35
- [TIME_PART.dayperiod]: DayPeriodService,
36
- [TIME_PART.hour]: HoursService,
37
- [TIME_PART.minute]: MinutesService,
38
- [TIME_PART.second]: SecondsService,
39
- [TIME_PART.millisecond]: MillisecondsService
40
- };
41
- /**
42
- * @hidden
43
- */
44
- export class TimeListComponent {
45
- element;
46
- injector;
47
- dom;
48
- renderer;
49
- zone;
50
- localization;
51
- min = cloneDate(MIDNIGHT_DATE);
52
- max = cloneDate(MAX_TIME);
53
- part;
54
- step = 1;
55
- disabled = false;
56
- value;
57
- isLast = false;
58
- isFirst = false;
59
- valueChange = new EventEmitter();
60
- tabOutLastPart = new EventEmitter();
61
- tabOutFirstPart = new EventEmitter();
62
- virtualization;
63
- get tabIndex() {
64
- return this.disabled ? undefined : 0;
65
- }
66
- componentClass = true;
67
- get isDayPeriod() {
68
- return this.part?.type === 'dayperiod';
69
- }
70
- get currentSelectedIndex() {
71
- return this.selectedIndex(this.value);
72
- }
73
- get roleAttribute() {
74
- return 'listbox';
75
- }
76
- get ariaLabel() {
77
- return this.localization.get(this.part?.type);
78
- }
79
- animateToIndex = true;
80
- isActive = false;
81
- skip = 0;
82
- total = 60;
83
- service;
84
- itemHeight;
85
- listHeight;
86
- topOffset;
87
- bottomOffset;
88
- bottomThreshold;
89
- topThreshold;
90
- style;
91
- data = [];
92
- indexToScroll = -1;
93
- scrollSubscription;
94
- domEvents = [];
95
- constructor(element, injector, dom, renderer, zone, localization) {
96
- this.element = element;
97
- this.injector = injector;
98
- this.dom = dom;
99
- this.renderer = renderer;
100
- this.zone = zone;
101
- this.localization = localization;
102
- }
103
- ngOnChanges(changes) {
104
- if (changes.part) {
105
- this.service = this.injector.get(services[this.part.type]);
106
- this.service.configure(this.serviceSettings());
107
- }
108
- const value = this.value;
109
- const valueChanges = changes.value || {};
110
- const [min, max] = this.service.limitRange(this.min, this.max, value);
111
- if (this.service.isRangeChanged(min, max) || changes.min || changes.max || changes.step) {
112
- this.data = [];
113
- this.service.configure(this.serviceSettings({ min, max }));
114
- }
115
- // Skip the rendering of the list whenever possible
116
- if (!this.data.length || this.hasMissingValue(valueChanges)) {
117
- this.animateToIndex = false;
118
- this.data = this.service.data(value);
119
- }
120
- this.animateToIndex = this.animateToIndex && this.textHasChanged(valueChanges);
121
- this.total = this.service.total(value);
122
- this.indexToScroll = this.selectedIndex(value);
123
- }
124
- ngOnInit() {
125
- this.animateToIndex = true;
126
- this.dom.ensureHeights();
127
- this.itemHeight = this.dom.itemHeight;
128
- this.listHeight = this.dom.timeListHeight;
129
- this.topOffset = (this.listHeight - this.itemHeight) / 2;
130
- this.bottomOffset = this.listHeight - this.itemHeight;
131
- this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
132
- this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
133
- const translate = `translateY(${this.topOffset}px)`;
134
- this.style = { transform: translate, '-ms-transform': translate };
135
- if (this.element) {
136
- this.zone.runOutsideAngular(() => {
137
- this.bindEvents();
138
- });
139
- }
140
- }
141
- ngOnDestroy() {
142
- this.scrollSubscription.unsubscribe();
143
- this.domEvents.forEach(unbindCallback => unbindCallback());
144
- }
145
- ngAfterViewInit() {
146
- this.scrollOnce((index) => this.virtualization.scrollToIndex(index));
147
- }
148
- ngAfterViewChecked() {
149
- this.scrollOnce((index) => {
150
- const action = this.animateToIndex ? 'animateToIndex' : 'scrollToIndex';
151
- this.virtualization[action](index);
152
- this.animateToIndex = true;
153
- });
154
- }
155
- getCurrentItem() {
156
- return this.indexToScroll >= 0 ? this.data[this.indexToScroll] : null;
157
- }
158
- handleChange(dataItem) {
159
- const candidate = this.service.apply(this.value, dataItem.value);
160
- if (this.value.getTime() === candidate.getTime()) {
161
- return;
162
- }
163
- this.indexToScroll = this.data.indexOf(dataItem);
164
- this.value = candidate;
165
- this.valueChange.emit(candidate);
166
- }
167
- handleItemClick(args) {
168
- const item = closestInScope(args.target, node => node.hasAttribute('data-timelist-item-index'), this.element.nativeElement);
169
- if (item) {
170
- const index = item.getAttribute('data-timelist-item-index');
171
- this.handleChange(this.data[index]);
172
- }
173
- }
174
- /**
175
- * Focuses the host element of the TimeList.
176
- *
177
- * @example
178
- * ```ts
179
- * _@Component({
180
- * selector: 'my-app',
181
- * template: `
182
- * <button (click)="timelist.focus()">Focus TimeList</button>
183
- * <kendo-timelist #timelist></kendo-timelist>
184
- * `
185
- * })
186
- * export class AppComponent { }
187
- * ```
188
- */
189
- focus() {
190
- if (!this.element) {
191
- return;
192
- }
193
- this.element.nativeElement.focus();
194
- }
195
- /**
196
- * Blurs the TimeList component.
197
- */
198
- blur() {
199
- if (!this.element) {
200
- return;
201
- }
202
- this.element.nativeElement.blur();
203
- }
204
- itemOffset(scrollTop) {
205
- const valueIndex = this.selectedIndex(this.value);
206
- const activeIndex = this.virtualization.activeIndex();
207
- const offset = this.virtualization.itemOffset(activeIndex);
208
- const distance = Math.abs(Math.ceil(scrollTop) - offset);
209
- if (valueIndex === activeIndex && distance < SCROLL_THRESHOLD) {
210
- return offset;
211
- }
212
- const scrollUp = valueIndex > activeIndex;
213
- const moveToNext = scrollUp && distance >= this.bottomThreshold || !scrollUp && distance > this.topThreshold;
214
- return moveToNext ? this.virtualization.itemOffset(activeIndex + 1) : offset;
215
- }
216
- hasMissingValue({ previousValue, currentValue }) {
217
- const isPreviousMissing = previousValue && !this.service.valueInList(previousValue);
218
- const isCurrentMissing = currentValue && !this.service.valueInList(currentValue);
219
- return isPreviousMissing || isCurrentMissing;
220
- }
221
- scrollOnce(action) {
222
- if (this.indexToScroll !== -1) {
223
- action(this.indexToScroll);
224
- this.indexToScroll = -1;
225
- }
226
- }
227
- serviceSettings(settings) {
228
- const defaults = {
229
- boundRange: false,
230
- insertUndividedMax: false,
231
- max: this.max,
232
- min: this.min,
233
- part: this.part,
234
- step: this.step
235
- };
236
- const result = Object.assign({}, defaults, settings);
237
- result.boundRange = result.part.type !== 'hour';
238
- return result;
239
- }
240
- selectedIndex(value) {
241
- if (!value) {
242
- return -1;
243
- }
244
- return this.service.selectedIndex(value);
245
- }
246
- textHasChanged({ previousValue, currentValue }) {
247
- if (!previousValue || !currentValue) {
248
- return false;
249
- }
250
- const oldData = this.data[this.selectedIndex(previousValue)];
251
- const newData = this.data[this.selectedIndex(currentValue)];
252
- return oldData && newData && oldData.text !== newData.text;
253
- }
254
- handleKeyDown(e) {
255
- const code = normalizeKeys(e);
256
- if (code === Keys.Tab && !e.shiftKey && this.isLast) {
257
- e.preventDefault();
258
- this.tabOutLastPart.emit();
259
- }
260
- if (code === Keys.Tab && e.shiftKey && this.isFirst) {
261
- e.preventDefault();
262
- this.tabOutFirstPart.emit();
263
- }
264
- const getter = getters[code] || nil;
265
- const dataItem = getter(this.data, this.service.selectedIndex(this.value));
266
- if (dataItem) {
267
- this.handleChange(dataItem);
268
- e.preventDefault();
269
- }
270
- }
271
- bindEvents() {
272
- this.scrollSubscription = this.virtualization
273
- .scroll$()
274
- .pipe(debounceTime(100), map((e) => e.target.scrollTop), map((top) => this.itemOffset(top)), map((itemOffset) => this.virtualization.itemIndex(itemOffset)))
275
- .subscribe(index => {
276
- this.virtualization.scrollToIndex(index);
277
- this.handleChange(this.data[index]);
278
- });
279
- const element = this.element.nativeElement;
280
- this.domEvents.push(this.renderer.listen(element, 'mouseover', () => !this.isActive && this.focus()), this.renderer.listen(element, 'click', () => this.focus()), this.renderer.listen(element, 'blur', () => this.isActive = false), this.renderer.listen(element, 'focus', () => this.isActive = true), this.renderer.listen(element, 'keydown', this.handleKeyDown.bind(this)));
281
- }
282
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimeListComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1.TimePickerDOMService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimeListComponent, isStandalone: true, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value", isLast: "isLast", isFirst: "isFirst" }, outputs: { valueChange: "valueChange", tabOutLastPart: "tabOutLastPart", tabOutFirstPart: "tabOutFirstPart" }, host: { properties: { "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
284
- <kendo-virtualization
285
- [attr.role]="roleAttribute"
286
- [attr.aria-label]="ariaLabel"
287
- [skip]="skip"
288
- [take]="total"
289
- [total]="total"
290
- [itemHeight]="itemHeight"
291
- [maxScrollDifference]="listHeight"
292
- [topOffset]="topOffset"
293
- [bottomOffset]="bottomOffset"
294
- class="k-time-container"
295
- tabindex="-1"
296
- >
297
- <ul [ngStyle]="style" class="k-reset"
298
- [kendoEventsOutsideAngular]="{
299
- click: handleItemClick
300
- }"
301
- [scope]="this"
302
- [attr.role]="'presentation'"
303
- >
304
- @for (item of data; track $index; let index = $index) {
305
- <li class="k-item"
306
- [attr.data-timelist-item-index]="index"
307
- [attr.role]="'option'"
308
- [attr.aria-selected]="index === currentSelectedIndex"
309
- >
310
- <span>{{item.text}}</span>
311
- </li>
312
- }
313
- </ul>
314
- </kendo-virtualization>
315
- `, isInline: true, dependencies: [{ kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
316
- }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimeListComponent, decorators: [{
318
- type: Component,
319
- args: [{
320
- selector: 'kendo-timelist',
321
- template: `
322
- <kendo-virtualization
323
- [attr.role]="roleAttribute"
324
- [attr.aria-label]="ariaLabel"
325
- [skip]="skip"
326
- [take]="total"
327
- [total]="total"
328
- [itemHeight]="itemHeight"
329
- [maxScrollDifference]="listHeight"
330
- [topOffset]="topOffset"
331
- [bottomOffset]="bottomOffset"
332
- class="k-time-container"
333
- tabindex="-1"
334
- >
335
- <ul [ngStyle]="style" class="k-reset"
336
- [kendoEventsOutsideAngular]="{
337
- click: handleItemClick
338
- }"
339
- [scope]="this"
340
- [attr.role]="'presentation'"
341
- >
342
- @for (item of data; track $index; let index = $index) {
343
- <li class="k-item"
344
- [attr.data-timelist-item-index]="index"
345
- [attr.role]="'option'"
346
- [attr.aria-selected]="index === currentSelectedIndex"
347
- >
348
- <span>{{item.text}}</span>
349
- </li>
350
- }
351
- </ul>
352
- </kendo-virtualization>
353
- `,
354
- standalone: true,
355
- imports: [VirtualizationComponent, NgStyle, EventsOutsideAngularDirective]
356
- }]
357
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Injector }, { type: i1.TimePickerDOMService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i2.LocalizationService }], propDecorators: { min: [{
358
- type: Input
359
- }], max: [{
360
- type: Input
361
- }], part: [{
362
- type: Input
363
- }], step: [{
364
- type: Input
365
- }], disabled: [{
366
- type: Input
367
- }], value: [{
368
- type: Input
369
- }], isLast: [{
370
- type: Input
371
- }], isFirst: [{
372
- type: Input
373
- }], valueChange: [{
374
- type: Output
375
- }], tabOutLastPart: [{
376
- type: Output
377
- }], tabOutFirstPart: [{
378
- type: Output
379
- }], virtualization: [{
380
- type: ViewChild,
381
- args: [VirtualizationComponent, { static: true }]
382
- }], tabIndex: [{
383
- type: HostBinding,
384
- args: ["attr.tabindex"]
385
- }], componentClass: [{
386
- type: HostBinding,
387
- args: ["class.k-time-list"]
388
- }] } });