@progress/kendo-react-dateinputs 13.3.0-develop.9 → 13.4.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 (125) hide show
  1. package/PopupSettings.d.ts +22 -0
  2. package/calendar/components/Calendar.d.ts +202 -0
  3. package/calendar/components/Calendar.mjs +7 -7
  4. package/calendar/components/CalendarCell.d.ts +71 -0
  5. package/calendar/components/CalendarHeaderTitle.d.ts +38 -0
  6. package/calendar/components/CalendarNavigationItem.d.ts +39 -0
  7. package/calendar/components/CalendarWeekCell.d.ts +42 -0
  8. package/calendar/components/Header.d.ts +65 -0
  9. package/calendar/components/Header.mjs +3 -3
  10. package/calendar/components/HorizontalViewList.d.ts +80 -0
  11. package/calendar/components/HorizontalViewList.mjs +3 -3
  12. package/calendar/components/MultiViewCalendar.d.ts +226 -0
  13. package/calendar/components/MultiViewCalendar.js +1 -1
  14. package/calendar/components/MultiViewCalendar.mjs +17 -17
  15. package/calendar/components/Navigation.d.ts +85 -0
  16. package/calendar/components/TodayCommand.d.ts +46 -0
  17. package/calendar/components/TodayCommand.mjs +3 -3
  18. package/calendar/components/View.d.ts +101 -0
  19. package/calendar/components/ViewList.d.ts +128 -0
  20. package/calendar/models/ActiveView.d.ts +11 -0
  21. package/calendar/models/CalendarSettings.d.ts +256 -0
  22. package/calendar/models/CalendarViewEnum.d.ts +16 -0
  23. package/calendar/models/CellContext.d.ts +72 -0
  24. package/calendar/models/MultiViewCalendarMode.d.ts +16 -0
  25. package/calendar/models/MultiViewCalendarSettings.d.ts +129 -0
  26. package/calendar/models/NavigationAction.d.ts +22 -0
  27. package/calendar/models/SelectionRange.d.ts +24 -0
  28. package/calendar/models/SelectionRangeEnd.d.ts +11 -0
  29. package/calendar/models/ViewService.d.ts +32 -0
  30. package/calendar/models/WeekDaysFormat.d.ts +11 -0
  31. package/calendar/models/index.d.ts +18 -0
  32. package/calendar/services/BusViewService.d.ts +28 -0
  33. package/calendar/services/CenturyViewService.d.ts +32 -0
  34. package/calendar/services/CenturyViewService.mjs +4 -4
  35. package/calendar/services/DOMService.d.ts +36 -0
  36. package/calendar/services/DecadeViewService.d.ts +34 -0
  37. package/calendar/services/DecadeViewService.mjs +4 -4
  38. package/calendar/services/MonthViewService.d.ts +40 -0
  39. package/calendar/services/MonthViewService.mjs +2 -2
  40. package/calendar/services/NavigationService.d.ts +21 -0
  41. package/calendar/services/ScrollSyncService.d.ts +28 -0
  42. package/calendar/services/WeekNamesService.d.ts +17 -0
  43. package/calendar/services/YearViewService.d.ts +38 -0
  44. package/calendar/services/YearViewService.mjs +2 -2
  45. package/calendar/services/index.d.ts +17 -0
  46. package/calendar/utils/ScrollSync.d.ts +20 -0
  47. package/codemods/utils.js +1 -8
  48. package/codemods/v11/dateinput-handle.js +1 -8
  49. package/codemods/v11/datepicker-handle.js +1 -8
  50. package/common/AdaptiveMode.d.ts +22 -0
  51. package/common/ClearButton.d.ts +20 -0
  52. package/dateinput/DateInput.d.ts +248 -0
  53. package/dateinput/DateInput.js +1 -1
  54. package/dateinput/DateInput.mjs +63 -65
  55. package/dateinput/dateInputIntl.d.ts +30 -0
  56. package/dateinput/models/DateInputSettings.d.ts +107 -0
  57. package/dateinput/models/common-package-props.d.ts +34 -0
  58. package/dateinput/models/dateinput-options.d.ts +105 -0
  59. package/dateinput/models/format-placeholder.d.ts +46 -0
  60. package/dateinput/models/incremental-steps.d.ts +24 -0
  61. package/dateinput/models/index.d.ts +15 -0
  62. package/dateinput/models/kendo-date.d.ts +60 -0
  63. package/dateinput/models/mask.d.ts +14 -0
  64. package/dateinput/models/selection.d.ts +14 -0
  65. package/dateinput/utils.d.ts +31 -0
  66. package/datepicker/DatePicker.d.ts +279 -0
  67. package/datepicker/DatePicker.js +1 -1
  68. package/datepicker/DatePicker.mjs +68 -72
  69. package/datepicker/ToggleButton.d.ts +17 -0
  70. package/datepicker/models/DatePickerSettings.d.ts +248 -0
  71. package/datepicker/models/index.d.ts +9 -0
  72. package/daterangepicker/DateRangePicker.d.ts +357 -0
  73. package/daterangepicker/DateRangePicker.mjs +13 -13
  74. package/daterangepicker/models/DateRangePickerCalendarSettings.d.ts +13 -0
  75. package/daterangepicker/models/DateRangePickerDateInputSettings.d.ts +13 -0
  76. package/daterangepicker/models/DateRangePickerPopupSettings.d.ts +13 -0
  77. package/daterangepicker/models/DateRangePickerSettings.d.ts +129 -0
  78. package/daterangepicker/models/index.d.ts +12 -0
  79. package/datetimepicker/DateTimePicker.d.ts +420 -0
  80. package/datetimepicker/DateTimePicker.js +1 -1
  81. package/datetimepicker/DateTimePicker.mjs +16 -20
  82. package/datetimepicker/DateTimeSelector.d.ts +111 -0
  83. package/datetimepicker/DateTimeSelector.mjs +3 -3
  84. package/datetimepicker/models/DateTimePickerSettings.d.ts +154 -0
  85. package/datetimepicker/models/index.d.ts +9 -0
  86. package/dist/cdn/js/kendo-react-dateinputs.js +1 -1
  87. package/hooks/usePickerFloatingLabel.d.ts +27 -0
  88. package/index.d.mts +35 -4952
  89. package/index.d.ts +35 -4952
  90. package/messages/index.d.ts +132 -0
  91. package/package-metadata.d.ts +12 -0
  92. package/package-metadata.js +1 -1
  93. package/package-metadata.mjs +10 -16
  94. package/package.json +8 -8
  95. package/timepicker/TimeList.d.ts +97 -0
  96. package/timepicker/TimeList.js +5 -5
  97. package/timepicker/TimeList.mjs +122 -112
  98. package/timepicker/TimePart.d.ts +146 -0
  99. package/timepicker/TimePart.mjs +3 -3
  100. package/timepicker/TimePicker.d.ts +417 -0
  101. package/timepicker/TimePicker.js +1 -1
  102. package/timepicker/TimePicker.mjs +64 -68
  103. package/timepicker/TimeSelector.d.ts +149 -0
  104. package/timepicker/TimeSelector.mjs +3 -3
  105. package/timepicker/models/IncrementalSteps.d.ts +18 -0
  106. package/timepicker/models/ListItem.d.ts +14 -0
  107. package/timepicker/models/ListService.d.ts +22 -0
  108. package/timepicker/models/ListServiceSettings.d.ts +19 -0
  109. package/timepicker/models/TimePart.d.ts +17 -0
  110. package/timepicker/models/TimePickerSettings.d.ts +137 -0
  111. package/timepicker/models/index.d.ts +14 -0
  112. package/timepicker/services/DOMService.d.ts +18 -0
  113. package/timepicker/services/DayPeriodService.d.ts +54 -0
  114. package/timepicker/services/HoursService.d.ts +40 -0
  115. package/timepicker/services/MinutesService.d.ts +39 -0
  116. package/timepicker/services/SecondsService.d.ts +39 -0
  117. package/timepicker/services/index.d.ts +13 -0
  118. package/timepicker/utils.d.ts +63 -0
  119. package/timepicker/utils.mjs +1 -1
  120. package/utils.d.ts +103 -0
  121. package/utils.js +1 -1
  122. package/utils.mjs +46 -46
  123. package/virtualization/Virtualization.d.ts +125 -0
  124. package/virtualization/services/ScrollerService.d.ts +56 -0
  125. package/virtualization/services/index.d.ts +10 -0
@@ -0,0 +1,132 @@
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 const prevView = "multiviewcalendar.prevView";
12
+ /**
13
+ * @hidden
14
+ */
15
+ export declare const nextView = "multiviewcalendar.nextView";
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare const increaseValue = "dateinput.increment";
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare const decreaseValue = "dateinput.decrement";
24
+ /**
25
+ * @hidden
26
+ */
27
+ export declare const clear = "dateinput.clear";
28
+ /**
29
+ * @hidden
30
+ */
31
+ export declare const today = "calendar.today";
32
+ /**
33
+ * @hidden
34
+ */
35
+ export declare const toggleCalendar = "datepicker.toggleCalendar";
36
+ /**
37
+ * @hidden
38
+ */
39
+ export declare const swapStartEnd = "daterangepicker.swapStartEnd";
40
+ /**
41
+ * @hidden
42
+ */
43
+ export declare const start = "daterangepicker.start";
44
+ /**
45
+ * @hidden
46
+ */
47
+ export declare const end = "daterangepicker.end";
48
+ /**
49
+ * @hidden
50
+ */
51
+ export declare const separator = "daterangepicker.separator";
52
+ /**
53
+ * @hidden
54
+ */
55
+ export declare const toggleDateTimeSelector = "datetimepicker.toggleDateTimeSelector";
56
+ /**
57
+ * @hidden
58
+ */
59
+ export declare const now = "timepicker.now";
60
+ /**
61
+ * @hidden
62
+ */
63
+ export declare const selectNow = "timepicker.selectNow";
64
+ /**
65
+ * @hidden
66
+ */
67
+ export declare const timePickerCancel = "timepicker.cancel";
68
+ /**
69
+ * @hidden
70
+ */
71
+ export declare const timePickerSet = "timepicker.set";
72
+ /**
73
+ * @hidden
74
+ */
75
+ export declare const toggleTimeSelector = "timepicker.toggleTimeSelector";
76
+ /**
77
+ * @hidden
78
+ */
79
+ export declare const toggleClock = "timepicker.toggleClock";
80
+ /**
81
+ * @hidden
82
+ */
83
+ export declare const date = "datetimepicker.date";
84
+ /**
85
+ * @hidden
86
+ */
87
+ export declare const time = "datetimepicker.time";
88
+ /**
89
+ * @hidden
90
+ */
91
+ export declare const dateTimePickerCancel = "datetimepicker.cancel";
92
+ /**
93
+ * @hidden
94
+ */
95
+ export declare const dateTimePickerSet = "datetimepicker.set";
96
+ /**
97
+ * @hidden
98
+ */
99
+ export declare const dateRangePickerCancel = "daterangepicker.cancel";
100
+ /**
101
+ * @hidden
102
+ */
103
+ export declare const dateRangePickerSet = "daterangepicker.set";
104
+ /**
105
+ * @hidden
106
+ */
107
+ export declare const messages: {
108
+ "calendar.today": string;
109
+ "timepicker.now": string;
110
+ "timepicker.set": string;
111
+ "timepicker.cancel": string;
112
+ "datetimepicker.date": string;
113
+ "datetimepicker.time": string;
114
+ "datetimepicker.cancel": string;
115
+ "datetimepicker.set": string;
116
+ "daterangepicker.cancel": string;
117
+ "daterangepicker.set": string;
118
+ "daterangepicker.start": string;
119
+ "daterangepicker.end": string;
120
+ "daterangepicker.separator": string;
121
+ "timepicker.selectNow": string;
122
+ "timepicker.toggleTimeSelector": string;
123
+ "timepicker.toggleClock": string;
124
+ "dateinput.increment": string;
125
+ "dateinput.decrement": string;
126
+ "dateinput.clear": string;
127
+ "datepicker.toggleCalendar": string;
128
+ "multiviewcalendar.prevView": string;
129
+ "multiviewcalendar.nextView": string;
130
+ "daterangepicker.swapStartEnd": string;
131
+ "datetimepicker.toggleDateTimeSelector": string;
132
+ };
@@ -0,0 +1,12 @@
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 { PackageMetadata } from '@progress/kendo-licensing';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const packageMetadata: PackageMetadata;
@@ -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=Object.freeze({name:"@progress/kendo-react-dateinputs",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1768491006,version:"13.3.0-develop.9",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-dateinputs",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1770218834,version:"13.4.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"});exports.packageMetadata=e;
@@ -1,19 +1,13 @@
1
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
- *-------------------------------------------------------------------------------------------
2
+ * @hidden
7
3
  */
8
- const e = Object.freeze({
9
- name: "@progress/kendo-react-dateinputs",
10
- productName: "KendoReact",
11
- productCode: "KENDOUIREACT",
12
- productCodes: ["KENDOUIREACT"],
13
- publishDate: 1768491006,
14
- version: "13.3.0-develop.9",
15
- licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
4
+ export const packageMetadata = Object.freeze({
5
+ name: '@progress/kendo-react-dateinputs',
6
+ productName: 'KendoReact',
7
+ productCode: 'KENDOUIREACT',
8
+ productCodes: ['KENDOUIREACT'],
9
+ publishDate: 1617189075,
10
+ version: '13.4.0-develop.1',
11
+ licensingDocsUrl:
12
+ 'https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
16
13
  });
17
- export {
18
- e as packageMetadata
19
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-dateinputs",
3
- "version": "13.3.0-develop.9",
3
+ "version": "13.4.0-develop.1",
4
4
  "description": "React DateInput is a perfect input component for handling quick and efficient date values. KendoReact Date Inputs package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -28,12 +28,12 @@
28
28
  "@progress/kendo-date-math": "^1.4.0",
29
29
  "@progress/kendo-licensing": "^1.7.2",
30
30
  "@progress/kendo-dateinputs-common": "^0.4.7",
31
- "@progress/kendo-react-buttons": "13.3.0-develop.9",
32
- "@progress/kendo-react-common": "13.3.0-develop.9",
33
- "@progress/kendo-react-intl": "13.3.0-develop.9",
34
- "@progress/kendo-react-labels": "13.3.0-develop.9",
35
- "@progress/kendo-react-layout": "13.3.0-develop.9",
36
- "@progress/kendo-react-popup": "13.3.0-develop.9",
31
+ "@progress/kendo-react-buttons": "13.4.0-develop.1",
32
+ "@progress/kendo-react-common": "13.4.0-develop.1",
33
+ "@progress/kendo-react-intl": "13.4.0-develop.1",
34
+ "@progress/kendo-react-labels": "13.4.0-develop.1",
35
+ "@progress/kendo-react-layout": "13.4.0-develop.1",
36
+ "@progress/kendo-react-popup": "13.4.0-develop.1",
37
37
  "@progress/kendo-svg-icons": "^4.0.0",
38
38
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
39
39
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
@@ -89,7 +89,7 @@
89
89
  "package": {
90
90
  "productName": "KendoReact",
91
91
  "productCode": "KENDOUIREACT",
92
- "publishDate": 1768491006,
92
+ "publishDate": 1770218834,
93
93
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
94
94
  }
95
95
  },
@@ -0,0 +1,97 @@
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 { default as PropTypes } from 'prop-types';
9
+ import { DateInputsClassStructure } from '@progress/kendo-react-common';
10
+ import { DateFormatPart } from '@progress/kendo-react-intl';
11
+ import { ListServiceSettings } from './models/index.js';
12
+ import { DOMService } from './services/index.js';
13
+ import * as React from 'react';
14
+ /**
15
+ * @hidden
16
+ */
17
+ export interface TimeListProps {
18
+ id?: number;
19
+ max?: Date;
20
+ min?: Date;
21
+ onBlur?: any;
22
+ onChange?: any;
23
+ onFocus?: any;
24
+ part: DateFormatPart;
25
+ step?: number;
26
+ value: Date;
27
+ smoothScroll?: boolean;
28
+ boundRange?: boolean;
29
+ disabled?: boolean;
30
+ show?: boolean;
31
+ mobileMode?: boolean;
32
+ unstyled?: DateInputsClassStructure;
33
+ }
34
+ /**
35
+ * @hidden
36
+ */
37
+ export declare class TimeList extends React.Component<TimeListProps, {}> {
38
+ static propTypes: {
39
+ id: PropTypes.Requireable<number>;
40
+ max: PropTypes.Requireable<Date>;
41
+ min: PropTypes.Requireable<Date>;
42
+ part: (props: TimeListProps, propName: string, componentName: string) => null;
43
+ step: (props: TimeListProps, propName: string, componentName: string) => null;
44
+ value: PropTypes.Requireable<Date>;
45
+ smoothScroll: PropTypes.Requireable<boolean>;
46
+ show: PropTypes.Requireable<boolean>;
47
+ };
48
+ static defaultProps: {
49
+ boundRange: boolean;
50
+ max: Date;
51
+ min: Date;
52
+ step: number;
53
+ smoothScroll: boolean;
54
+ };
55
+ protected dom: DOMService;
56
+ private intl;
57
+ private _element;
58
+ private service;
59
+ private virtualization;
60
+ private topOffset;
61
+ private bottomOffset;
62
+ private itemHeight;
63
+ private listHeight;
64
+ private topThreshold;
65
+ private bottomThreshold;
66
+ private animateToIndex;
67
+ private lastMeasuredHeight?;
68
+ constructor(props: TimeListProps);
69
+ get element(): HTMLDivElement | null;
70
+ protected get animate(): boolean;
71
+ private get min();
72
+ private get max();
73
+ private get step();
74
+ /**
75
+ * @hidden
76
+ */
77
+ componentDidMount(): void;
78
+ /**
79
+ * @hidden
80
+ */
81
+ componentDidUpdate(prevProps: TimeListProps): void;
82
+ /**
83
+ * @hidden
84
+ */
85
+ render(): React.JSX.Element | undefined;
86
+ focus: (args?: any) => void;
87
+ protected itemOffset: (scrollTop: number) => number;
88
+ protected calculateHeights: () => void;
89
+ protected configureServices: ({ min, max, value }?: TimeListProps) => void;
90
+ protected serviceSettings: (settings?: any) => ListServiceSettings;
91
+ private handleScrollAction;
92
+ private handleFocus;
93
+ private handleBlur;
94
+ private handleMouseOver;
95
+ private handleKeyDown;
96
+ private handleChange;
97
+ }
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react"),u=require("prop-types"),T=require("@progress/kendo-date-math"),i=require("@progress/kendo-react-common"),b=require("@progress/kendo-react-intl"),I=require("../virtualization/Virtualization.js"),p=require("./models/TimePart.js"),H=require("./services/DayPeriodService.js"),M=require("./services/DOMService.js"),D=require("./services/HoursService.js"),E=require("./services/MinutesService.js"),P=require("./services/SecondsService.js"),v=require("../utils.js");function R(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:()=>o[e]})}}return n.default=o,Object.freeze(n)}const a=R(x),_=2,S=.05,w=100,C=0,O=9,N={[i.Keys.end]:(o,n)=>o[o.length-1],[i.Keys.home]:(o,n)=>o[0],[i.Keys.up]:(o,n)=>o[n-1],[i.Keys.down]:(o,n)=>o[n+1]},g={[p.TIME_PART.dayperiod]:H.DayPeriodService,[p.TIME_PART.hour]:D.HoursService,[p.TIME_PART.minute]:E.MinutesService,[p.TIME_PART.second]:P.SecondsService},l=class l extends a.Component{constructor(n){super(n),this.intl=null,this._element=null,this.service=null,this.virtualization=null,this.topOffset=0,this.bottomOffset=0,this.itemHeight=0,this.listHeight=0,this.topThreshold=0,this.bottomThreshold=0,this.animateToIndex=!1,this.focus=e=>{Promise.resolve().then(()=>{this.element&&this.element.focus(e)})},this.itemOffset=e=>{if(!this.virtualization||!this.service)return-1;const t=this.service.selectedIndex(this.props.value),s=this.virtualization.activeIndex(),r=this.virtualization.itemOffset(s),c=Math.abs(Math.ceil(e)-r);if(t===s&&c<_)return r;const d=t>s;return d&&c>=this.bottomThreshold||!d&&c>this.topThreshold?this.virtualization.itemOffset(s+1):r},this.calculateHeights=()=>{this.dom.didCalculate&&(this.itemHeight=this.dom.itemHeight,this.listHeight=this.dom.timeListHeight,this.topOffset=(this.listHeight-this.itemHeight)/2,this.bottomOffset=this.listHeight-this.itemHeight,this.props.mobileMode&&(this.topOffset+=O,this.bottomOffset+=O*2),this.topThreshold=this.itemHeight*S,this.bottomThreshold=this.itemHeight*(1-S))},this.configureServices=({min:e,max:t,value:s}=this.props)=>{if(this.service){const[r,c]=this.service.limitRange(e||this.min,t||this.max,s||this.props.value);this.service.configure(this.serviceSettings({min:r,max:c}))}},this.serviceSettings=e=>{const t={boundRange:this.props.boundRange||l.defaultProps.boundRange,insertUndividedMax:!1,min:T.cloneDate(this.min),max:T.cloneDate(this.max),part:this.props.part,step:this.step},s=Object.assign({},t,e);return s.boundRange=s.part.type!=="hour"||this.props.boundRange||l.defaultProps.boundRange,s},this.handleScrollAction=({target:e,animationInProgress:t})=>{if(!(!this.virtualization||!this.service)&&e&&!t){this.animateToIndex=!1;const s=this.virtualization.itemIndex(this.itemOffset(e.scrollTop)),r=this.service.data(this.props.value)[s];this.handleChange(r)}},this.handleFocus=e=>{const{onFocus:t}=this.props;t&&t.call(void 0,e)},this.handleBlur=e=>{const{onBlur:t}=this.props;t&&t.call(void 0,e)},this.handleMouseOver=()=>{if(!this._element)return;const e=i.getActiveElement(document);document&&e!==this._element&&this.props.show&&this._element.focus({preventScroll:!0})},this.handleKeyDown=e=>{if(!this.service)return;const{keyCode:t}=e;(t===i.Keys.down||t===i.Keys.up||t===i.Keys.end||t===i.Keys.home)&&e.preventDefault();const r=(N[e.keyCode]||i.noop)(this.service.data(this.props.value),this.service.selectedIndex(this.props.value));r&&this.handleChange(r)},this.handleChange=v.debounce(e=>{if(!this.service)return;const t=this.service.apply(this.props.value,e.value);if(this.props.value.getTime()===t.getTime())return;const{onChange:s}=this.props;s&&s.call(void 0,t)},w),this.dom=new M.DOMService}get element(){return this._element}get animate(){return!!(this.props.smoothScroll&&this.animateToIndex)}get min(){return this.props.min||l.defaultProps.min}get max(){return this.props.max||l.defaultProps.max}get step(){return this.props.step!==void 0&&this.props.step!==0?Math.floor(this.props.step):l.defaultProps.step}componentDidMount(){Promise.resolve().then(()=>{const{unstyled:n}=this.props;this._element&&(this.dom.calculateHeights(this._element,n),this.forceUpdate())})}componentDidUpdate(){if(!this.virtualization||!this.service)return;const n=this.service.selectedIndex(this.props.value);if(this.virtualization[this.animate?"animateToIndex":"scrollToIndex"](n),this.animateToIndex=!0,!this.topOffset&&this._element){const{unstyled:e}=this.props;this.dom.calculateHeights(this._element,e)}}render(){const{part:n,value:e,unstyled:t}=this.props;if(!n.type||!g[n.type])return;const s=t&&t.uTime;this.calculateHeights(),this.intl=b.provideIntlService(this),this.service=new g[n.type](this.intl),this.configureServices();const r=this.service.data(e),c="translateY("+this.topOffset+"px)",d=this.service.total(e),f=a.createElement(a.Fragment,null,a.createElement("ul",{style:{transform:c,msTransform:c},className:i.classNames(i.uTime.ul({c:s}))},r.map((h,y)=>a.createElement("li",{key:y,className:i.classNames(i.uTime.li({c:s})),onClick:()=>{this.handleChange(h)}},a.createElement("span",null,h.text)))),a.createElement("div",{className:i.classNames(i.uTime.scrollablePlaceholder({c:s}))}));return a.createElement("div",{className:i.classNames(i.uTime.list({c:s})),id:String(this.props.id||""),tabIndex:this.props.disabled?-1:0,ref:h=>{this._element=h},onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseOver:this.handleMouseOver},this.dom.didCalculate?a.createElement(I.Virtualization,{bottomOffset:this.bottomOffset,children:f,className:i.classNames(i.uTime.containerSelector({c:s}),i.uTime.container({c:s})),itemHeight:this.itemHeight,maxScrollDifference:this.listHeight,onScrollAction:this.handleScrollAction,ref:h=>{this.virtualization=h},role:"presentation",skip:C,tabIndex:-1,take:d,topOffset:this.topOffset,total:d,unstyled:t}):a.createElement("div",{className:i.classNames(i.uTime.containerSelector({c:s}),i.uTime.container({c:s,content:!0,scrollable:!0}))},f))}};l.propTypes={id:u.number,max:u.instanceOf(Date),min:u.instanceOf(Date),part:function(n,e,t){const s=n[e];if(!s||!g[s.type])throw new Error(`
9
- Invalid prop '${e}' supplied to ${t}.
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("react"),d=require("prop-types"),T=require("@progress/kendo-date-math"),i=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-intl"),M=require("../virtualization/Virtualization.js"),p=require("./models/TimePart.js"),x=require("./services/DayPeriodService.js"),I=require("./services/DOMService.js"),D=require("./services/HoursService.js"),E=require("./services/MinutesService.js"),_=require("./services/SecondsService.js"),v=require("../utils.js");function P(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(n,e,s.get?s:{enumerable:!0,get:()=>o[e]})}}return n.default=o,Object.freeze(n)}const l=P(H),R=2,b=.05,C=100,w=0,S=9,N={[i.Keys.end]:(o,n)=>o[o.length-1],[i.Keys.home]:(o,n)=>o[0],[i.Keys.up]:(o,n)=>o[n-1],[i.Keys.down]:(o,n)=>o[n+1]},g={[p.TIME_PART.dayperiod]:x.DayPeriodService,[p.TIME_PART.hour]:D.HoursService,[p.TIME_PART.minute]:E.MinutesService,[p.TIME_PART.second]:_.SecondsService},h=class h extends l.Component{constructor(n){super(n),this.intl=null,this._element=null,this.service=null,this.virtualization=null,this.topOffset=0,this.bottomOffset=0,this.itemHeight=0,this.listHeight=0,this.topThreshold=0,this.bottomThreshold=0,this.animateToIndex=!1,this.focus=e=>{Promise.resolve().then(()=>{this.element&&this.element.focus(e)})},this.itemOffset=e=>{if(!this.virtualization||!this.service)return-1;const s=this.service.selectedIndex(this.props.value),t=this.virtualization.activeIndex(),r=this.virtualization.itemOffset(t),a=Math.abs(Math.ceil(e)-r);if(s===t&&a<R)return r;const c=s>t;return c&&a>=this.bottomThreshold||!c&&a>this.topThreshold?this.virtualization.itemOffset(t+1):r},this.calculateHeights=()=>{this.dom.didCalculate&&(this.itemHeight=this.dom.itemHeight,this.listHeight=this.dom.timeListHeight,this.topOffset=(this.listHeight-this.itemHeight)/2,this.bottomOffset=this.listHeight-this.itemHeight,this.props.mobileMode&&(this.topOffset+=S,this.bottomOffset+=S*2),this.topThreshold=this.itemHeight*b,this.bottomThreshold=this.itemHeight*(1-b))},this.configureServices=({min:e,max:s,value:t}=this.props)=>{if(this.service){const[r,a]=this.service.limitRange(e||this.min,s||this.max,t||this.props.value);this.service.configure(this.serviceSettings({min:r,max:a}))}},this.serviceSettings=e=>{const s={boundRange:this.props.boundRange||h.defaultProps.boundRange,insertUndividedMax:!1,min:T.cloneDate(this.min),max:T.cloneDate(this.max),part:this.props.part,step:this.step},t=Object.assign({},s,e);return t.boundRange=t.part.type!=="hour"||this.props.boundRange||h.defaultProps.boundRange,t},this.handleScrollAction=({target:e,animationInProgress:s})=>{if(!(!this.virtualization||!this.service)&&e&&!s){this.animateToIndex=!1;const t=this.virtualization.itemIndex(this.itemOffset(e.scrollTop)),r=this.service.data(this.props.value)[t];this.handleChange(r)}},this.handleFocus=e=>{const{onFocus:s}=this.props;s&&s.call(void 0,e)},this.handleBlur=e=>{const{onBlur:s}=this.props;s&&s.call(void 0,e)},this.handleMouseOver=()=>{if(!this._element)return;const e=i.getActiveElement(document);document&&e!==this._element&&this.props.show&&this._element.focus({preventScroll:!0})},this.handleKeyDown=e=>{if(!this.service)return;const{keyCode:s}=e;(s===i.Keys.down||s===i.Keys.up||s===i.Keys.end||s===i.Keys.home)&&e.preventDefault();const r=(N[e.keyCode]||i.noop)(this.service.data(this.props.value),this.service.selectedIndex(this.props.value));r&&this.handleChange(r)},this.handleChange=v.debounce(e=>{if(!this.service)return;const s=this.service.apply(this.props.value,e.value);if(this.props.value.getTime()===s.getTime())return;const{onChange:t}=this.props;t&&t.call(void 0,s)},C),this.dom=new I.DOMService}get element(){return this._element}get animate(){return!!(this.props.smoothScroll&&this.animateToIndex)}get min(){return this.props.min||h.defaultProps.min}get max(){return this.props.max||h.defaultProps.max}get step(){return this.props.step!==void 0&&this.props.step!==0?Math.floor(this.props.step):h.defaultProps.step}componentDidMount(){Promise.resolve().then(()=>{const{unstyled:n}=this.props;this._element&&(this.dom.calculateHeights(this._element,n),this.lastMeasuredHeight=this._element.clientHeight,this.forceUpdate())})}componentDidUpdate(n){var s;if(!this.virtualization||!this.service)return;if(this._element){const t=this._element.clientHeight,r=this.lastMeasuredHeight!==void 0&&Math.abs(t-this.lastMeasuredHeight)>1,a=this.props.mobileMode!==n.mobileMode;if(r||a){const{unstyled:c}=this.props;this.dom.calculateHeights(this._element,c),this.calculateHeights(),this.lastMeasuredHeight=t,this.animateToIndex=!1,this.forceUpdate();return}(s=this.lastMeasuredHeight)!=null||(this.lastMeasuredHeight=t)}const e=this.service.selectedIndex(this.props.value);if(this.virtualization[this.animate?"animateToIndex":"scrollToIndex"](e),this.animateToIndex=!0,!this.topOffset&&this._element){const{unstyled:t}=this.props;this.dom.calculateHeights(this._element,t)}}render(){const{part:n,value:e,unstyled:s}=this.props;if(!n.type||!g[n.type])return;const t=s&&s.uTime;this.calculateHeights(),this.intl=O.provideIntlService(this),this.service=new g[n.type](this.intl),this.configureServices();const r=this.service.data(e),a="translateY("+this.topOffset+"px)",c=this.service.total(e),f=l.createElement(l.Fragment,null,l.createElement("ul",{style:{transform:a,msTransform:a},className:i.classNames(i.uTime.ul({c:t}))},r.map((u,y)=>l.createElement("li",{key:y,className:i.classNames(i.uTime.li({c:t})),onClick:()=>{this.handleChange(u)}},l.createElement("span",null,u.text)))),l.createElement("div",{className:i.classNames(i.uTime.scrollablePlaceholder({c:t}))}));return l.createElement("div",{className:i.classNames(i.uTime.list({c:t})),id:String(this.props.id||""),tabIndex:this.props.disabled?-1:0,ref:u=>{this._element=u},onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseOver:this.handleMouseOver},this.dom.didCalculate?l.createElement(M.Virtualization,{bottomOffset:this.bottomOffset,children:f,className:i.classNames(i.uTime.containerSelector({c:t}),i.uTime.container({c:t})),itemHeight:this.itemHeight,maxScrollDifference:this.listHeight,onScrollAction:this.handleScrollAction,ref:u=>{this.virtualization=u},role:"presentation",skip:w,tabIndex:-1,take:c,topOffset:this.topOffset,total:c,unstyled:s}):l.createElement("div",{className:i.classNames(i.uTime.containerSelector({c:t}),i.uTime.container({c:t,content:!0,scrollable:!0}))},f))}};h.propTypes={id:d.number,max:d.instanceOf(Date),min:d.instanceOf(Date),part:function(n,e,s){const t=n[e];if(!t||!g[t.type])throw new Error(`
9
+ Invalid prop '${e}' supplied to ${s}.
10
10
  Supported part types are hour|minute|second|dayperiod.
11
- `);return null},step:function(n,e,t){const s=n[e];if(s!==void 0&&s<=0)throw new Error(`
12
- Invalid prop '${e}' supplied to ${t}.
11
+ `);return null},step:function(n,e,s){const t=n[e];if(t!==void 0&&t<=0)throw new Error(`
12
+ Invalid prop '${e}' supplied to ${s}.
13
13
  ${e} cannot be less than 1.
14
- `);return null},value:u.instanceOf(Date),smoothScroll:u.bool,show:u.bool},l.defaultProps={boundRange:!1,max:v.MAX_TIME,min:v.MIDNIGHT_DATE,step:1,smoothScroll:!0};let m=l;b.registerForIntl(m);exports.TimeList=m;
14
+ `);return null},value:d.instanceOf(Date),smoothScroll:d.bool,show:d.bool},h.defaultProps={boundRange:!1,max:v.MAX_TIME,min:v.MIDNIGHT_DATE,step:1,smoothScroll:!0};let m=h;O.registerForIntl(m);exports.TimeList=m;