@progress/kendo-react-dateinputs 5.18.0-dev.202309081432 → 5.18.0-dev.202309111225

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.
@@ -17,6 +17,18 @@ export interface DatePickerChangeEvent {
17
17
  show: boolean;
18
18
  target: DatePicker;
19
19
  }
20
+ /**
21
+ * The arguments for the `onOpen` event of the DatePicker.
22
+ */
23
+ export interface DatePickerOpenEvent {
24
+ target: DatePicker;
25
+ }
26
+ /**
27
+ * The arguments for the `onClose` event of the DatePicker.
28
+ */
29
+ export interface DatePickerCloseEvent {
30
+ target: DatePicker;
31
+ }
20
32
  /**
21
33
  * Represents the props of the [KendoReact DatePicker component]({% slug overview_datepicker %}).
22
34
  */
@@ -29,6 +41,14 @@ export interface DatePickerProps extends DatePickerSettings, FormComponentProps
29
41
  * Fires each time the user selects a new value ([see example]({% slug controlled_datepicker %}#toc-controlling-the-date-value)).
30
42
  */
31
43
  onChange?: (event: DatePickerChangeEvent) => void;
44
+ /**
45
+ * Fires each time the popup is opened.
46
+ */
47
+ onOpen?: (event: DatePickerOpenEvent) => void;
48
+ /**
49
+ * Fires each time the popup is closed.
50
+ */
51
+ onClose?: (event: DatePickerCloseEvent) => void;
32
52
  /**
33
53
  * Specifies the value of the DatePicker ([see example]({% slug controlled_datepicker %}#toc-controlling-the-date-value)).
34
54
  *
@@ -137,8 +137,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
137
137
  };
138
138
  _this.handleValueChange = function (value, event) {
139
139
  _this.setState({
140
- value: cloneDate(value || undefined),
141
- show: false
140
+ value: cloneDate(value || undefined)
142
141
  });
143
142
  _this.valueDuringOnChange = value;
144
143
  _this.showDuringOnChange = false;
@@ -157,6 +156,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
157
156
  }
158
157
  _this.valueDuringOnChange = undefined;
159
158
  _this.showDuringOnChange = undefined;
159
+ _this.setShow(false);
160
160
  };
161
161
  _this.handleFocus = function () {
162
162
  _this.setState({ focused: true });
@@ -475,7 +475,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
475
475
  _b['k-disabled'] = _this.props.disabled,
476
476
  _b), className), onKeyDown: _this.handleKeyDown, style: { width: width }, onFocus: onFocus, onBlur: onBlur, onClick: _this.mobileMode ? _this.handleIconClick : undefined },
477
477
  React.createElement(_this.dateInputComp, __assign({ _ref: _this._dateInput, ariaRole: 'combobox', readonly: _this.mobileMode, ariaExpanded: _this.show, ariaControls: _this._popupId }, dateInputProps)),
478
- React.createElement(_this.toggleButtonComp, { type: "button", icon: "calendar", svgIcon: calendarIcon, title: toggleButtonTitle, className: "k-input-button", rounded: null, onClick: _this.handleIconClick, "aria-label": toggleButtonTitle, onMouseDown: _this.handleIconMouseDown }),
478
+ React.createElement(_this.toggleButtonComp, { type: "button", icon: "calendar", svgIcon: calendarIcon, title: toggleButtonTitle, className: "k-input-button", rounded: null, onClick: _this.mobileMode ? undefined : _this.handleIconClick, "aria-label": toggleButtonTitle, onMouseDown: _this.handleIconMouseDown }),
479
479
  !_this.mobileMode && _this.renderPopup()),
480
480
  _this.mobileMode && _this.renderAdaptivePopup()));
481
481
  }));
@@ -484,10 +484,21 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
484
484
  : datepicker;
485
485
  };
486
486
  DatePickerWithoutContext.prototype.setShow = function (show) {
487
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
487
488
  if (this.show === show) {
488
489
  return;
489
490
  }
490
491
  this.setState({ show: show });
492
+ if (show && onOpen) {
493
+ onOpen.call(undefined, {
494
+ target: this
495
+ });
496
+ }
497
+ if (!show && onClose) {
498
+ onClose.call(undefined, {
499
+ target: this
500
+ });
501
+ }
491
502
  };
492
503
  DatePickerWithoutContext.prototype.mergeTime = function (value) {
493
504
  return this.value && value ? setTime(value, this.value) : value;
@@ -21,6 +21,18 @@ export interface DateRangePickerChangeEvent {
21
21
  show?: boolean;
22
22
  target: DateRangePicker;
23
23
  }
24
+ /**
25
+ * The arguments for the `onOpen` event of the DateRangePicker.
26
+ */
27
+ export interface DateRangePickerOpenEvent {
28
+ target: DateRangePicker;
29
+ }
30
+ /**
31
+ * The arguments for the `onClose` event of the DateRangePicker.
32
+ */
33
+ export interface DateRangePickerCloseEvent {
34
+ target: DateRangePicker;
35
+ }
24
36
  /**
25
37
  * Represents the props of the [KendoReact DateRangePicker component]({% slug overview_daterangepicker %}).
26
38
  */
@@ -40,6 +52,14 @@ export interface DateRangePickerProps extends DateRangePickerSettings {
40
52
  * Fires each time the user selects a part of a date range ([see example]({% slug controlled_daterangepicker %}#toc-controlling-the-value)).
41
53
  */
42
54
  onChange?: (event: DateRangePickerChangeEvent) => void;
55
+ /**
56
+ * Fires each time the popup is opened.
57
+ */
58
+ onOpen?: (event: DateRangePickerOpenEvent) => void;
59
+ /**
60
+ * Fires each time the popup is closed.
61
+ */
62
+ onClose?: (event: DateRangePickerCloseEvent) => void;
43
63
  /**
44
64
  * Fires each time the popup of the DateRangePicker is about to cancel in ([adaptive mode]({% slug adaptive_rendering_daterangepicker %})).
45
65
  */
@@ -466,10 +466,21 @@ var DateRangePickerWithoutContext = /** @class */ (function (_super) {
466
466
  this.nextTickId = window.setTimeout(function () { return f(); });
467
467
  };
468
468
  DateRangePickerWithoutContext.prototype.setShow = function (show) {
469
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
469
470
  if (this.show === show) {
470
471
  return;
471
472
  }
472
473
  this.setState({ show: show });
474
+ if (show && onOpen) {
475
+ onOpen.call(undefined, {
476
+ target: this
477
+ });
478
+ }
479
+ if (!show && onClose) {
480
+ onClose.call(undefined, {
481
+ target: this
482
+ });
483
+ }
473
484
  };
474
485
  DateRangePickerWithoutContext.prototype.calculateMedia = function (entries) {
475
486
  for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
@@ -13,6 +13,18 @@ export interface DateTimePickerChangeEvent {
13
13
  show: boolean;
14
14
  target: DateTimePicker;
15
15
  }
16
+ /**
17
+ * The arguments for the `onOpen` event of the DateTimePicker.
18
+ */
19
+ export interface DateTimePickerOpenEvent {
20
+ target: DateTimePicker;
21
+ }
22
+ /**
23
+ * The arguments for the `onClose` event of the DateTimePicker.
24
+ */
25
+ export interface DateTimePickerCloseEvent {
26
+ target: DateTimePicker;
27
+ }
16
28
  /**
17
29
  * Represents the props of the [KendoReact DateTimePicker component]({% slug overview_datetimepicker %}).
18
30
  */
@@ -29,6 +41,14 @@ export interface DateTimePickerProps extends DateTimePickerSettings, FormCompone
29
41
  * ([see example]({% slug controlled_datetimepicker %}#toc-controlling-the-date-value)).
30
42
  */
31
43
  onChange?: (event: DateTimePickerChangeEvent) => void;
44
+ /**
45
+ * Fires each time the popup is opened.
46
+ */
47
+ onOpen?: (event: DateTimePickerOpenEvent) => void;
48
+ /**
49
+ * Fires each time the popup is closed.
50
+ */
51
+ onClose?: (event: DateTimePickerCloseEvent) => void;
32
52
  /**
33
53
  * Specifies the value of the DateTimePicker
34
54
  * ([see example]({% slug controlled_datetimepicker %}#toc-controlling-the-date-value)).
@@ -95,8 +95,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
95
95
  };
96
96
  _this.handleValueChange = function (event) {
97
97
  _this.setState({
98
- value: cloneDate(event.value || undefined),
99
- show: false
98
+ value: cloneDate(event.value || undefined)
100
99
  });
101
100
  _this.valueDuringOnChange = event.value;
102
101
  _this.showDuringOnChange = false;
@@ -115,6 +114,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
115
114
  }
116
115
  _this.valueDuringOnChange = undefined;
117
116
  _this.showDuringOnChange = undefined;
117
+ _this.setShow(false);
118
118
  };
119
119
  _this.handleFocus = function () {
120
120
  _this.setState({ focused: true });
@@ -403,7 +403,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
403
403
  _b['k-disabled'] = _this.props.disabled,
404
404
  _b), className), onKeyDown: _this.handleKeyDown, style: { width: width }, onFocus: !_this.mobileMode ? onFocus : undefined, onBlur: onBlur, onClick: _this.mobileMode ? _this.handleDateIconClick : undefined },
405
405
  React.createElement(_this.dateInputComp, __assign({ _ref: _this._dateInput, ariaRole: "combobox", ariaControls: _this._popupId, readonly: _this.mobileMode }, dataInputProps)),
406
- React.createElement(Button, __assign({ tabIndex: -1, type: "button", icon: 'calendar', svgIcon: calendarIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.handleDateIconClick, title: provideLocalizationService(_this)
406
+ React.createElement(Button, __assign({ tabIndex: -1, type: "button", icon: 'calendar', svgIcon: calendarIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.mobileMode ? undefined : _this.handleDateIconClick, title: provideLocalizationService(_this)
407
407
  .toLanguageString(toggleDateTimeSelector, messages[toggleDateTimeSelector]), className: "k-input-button", rounded: null }, {
408
408
  'aria-label': provideLocalizationService(_this)
409
409
  .toLanguageString(toggleDateTimeSelector, messages[toggleDateTimeSelector])
@@ -422,10 +422,21 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
422
422
  : dateTimePicker;
423
423
  };
424
424
  DateTimePickerWithoutContext.prototype.setShow = function (show) {
425
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
425
426
  if (this.show === show) {
426
427
  return;
427
428
  }
428
429
  this.setState({ show: show });
430
+ if (show && onOpen) {
431
+ onOpen.call(undefined, {
432
+ target: this
433
+ });
434
+ }
435
+ if (!show && onClose) {
436
+ onClose.call(undefined, {
437
+ target: this
438
+ });
439
+ }
429
440
  };
430
441
  DateTimePickerWithoutContext.prototype.nextTick = function (f) {
431
442
  // XXX: use window.setTimeout due to async focus/blur events in IE, and missing relatedTarget prop.
package/dist/es/main.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import { Calendar, CalendarWithoutContext, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarChangeEvent } from './calendar/components/Calendar';
2
2
  import { DateInput, DateInputWithoutContext, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputChangeEvent } from './dateinput/DateInput';
3
- import { DatePicker, DatePickerWithoutContext, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerChangeEvent } from './datepicker/DatePicker';
4
- import { TimePicker, TimePickerWithoutContext, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerChangeEvent } from './timepicker/TimePicker';
3
+ import { DatePicker, DatePickerWithoutContext, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerChangeEvent, DatePickerOpenEvent, DatePickerCloseEvent } from './datepicker/DatePicker';
4
+ import { TimePicker, TimePickerWithoutContext, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerChangeEvent, TimePickerOpenEvent, TimePickerCloseEvent } from './timepicker/TimePicker';
5
5
  import { MultiViewCalendar, MultiViewCalendarWithoutContext, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarChangeEvent } from './calendar/components/MultiViewCalendar';
6
- import { DateRangePicker, DateRangePickerWithoutContext, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerChangeEvent } from './daterangepicker/DateRangePicker';
6
+ import { DateRangePicker, DateRangePickerWithoutContext, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerChangeEvent, DateRangePickerOpenEvent, DateRangePickerCloseEvent } from './daterangepicker/DateRangePicker';
7
7
  import { CalendarCell, CalendarCellProps } from './calendar/components/CalendarCell';
8
8
  import { CalendarWeekCell, CalendarWeekCellProps } from './calendar/components/CalendarWeekCell';
9
9
  import { CalendarHeaderTitle, CalendarHeaderTitleProps } from './calendar/components/CalendarHeaderTitle';
10
10
  import { CalendarNavigationItem, CalendarNavigationItemProps } from './calendar/components/CalendarNavigationItem';
11
11
  import { ActiveView, SelectionRange, CalendarSettings, CalendarViewEnum, MultiViewCalendarMode, MultiViewCalendarSettings } from './calendar/models';
12
12
  import { DateInputSettings, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder } from './dateinput/models';
13
- import { DateTimePicker, DateTimePickerWithoutContext, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerChangeEvent } from './datetimepicker/DateTimePicker';
13
+ import { DateTimePicker, DateTimePickerWithoutContext, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerChangeEvent, DateTimePickerOpenEvent, DateTimePickerCloseEvent } from './datetimepicker/DateTimePicker';
14
14
  import { DatePickerSettings } from './datepicker/models';
15
15
  import { DateTimePickerSettings } from './datetimepicker/models';
16
16
  import { TimePickerSettings } from './timepicker/models';
@@ -32,4 +32,4 @@ export { getToday, MIN_DATE, MAX_DATE, MAX_TIME, MIN_TIME } from './utils';
32
32
  export { getNow } from './timepicker/utils';
33
33
  import { HorizontalViewList, HorizontalViewListProps } from './calendar/components/HorizontalViewList';
34
34
  import { TimeSelector } from './timepicker/TimeSelector';
35
- export { dateInputsMessages, today, increaseValue, decreaseValue, toggleCalendar, swapStartEnd, separator, start, end, toggleDateTimeSelector, TimeSelector, ViewList, Virtualization, Header, TodayCommand, CalendarWithoutContext, DateInputWithoutContext, DatePickerWithoutContext, TimePickerWithoutContext, DateRangePickerWithoutContext, MultiViewCalendarWithoutContext, DateTimePickerWithoutContext, HorizontalViewList, HorizontalViewListProps, TimeList, TimePart, PickerWrap, PickerWrapProps, ToggleButton, ToggleButtonProps, ActiveView, Calendar, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarSettings, CalendarViewEnum, CalendarChangeEvent, CalendarCell, CalendarCellProps, CalendarWeekCell, CalendarWeekCellProps, CalendarHeaderTitle, CalendarHeaderTitleProps, CalendarNavigationItem, CalendarNavigationItemProps, DateInput, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputSettings, DateInputChangeEvent, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder, DatePicker, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerSettings, DatePickerChangeEvent, TimePicker, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerSettings, TimePickerChangeEvent, MultiViewCalendar, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarSettings, MultiViewCalendarMode, MultiViewCalendarChangeEvent, DateRangePicker, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerSettings, DateRangePickerCalendarSettings, DateRangePickerDateInputSettings, DateRangePickerPopupSettings, DateRangePickerChangeEvent, DateTimePicker, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerSettings, DateTimePickerChangeEvent, SelectionRange, FormComponentValidity };
35
+ export { dateInputsMessages, today, increaseValue, decreaseValue, toggleCalendar, swapStartEnd, separator, start, end, toggleDateTimeSelector, TimeSelector, ViewList, Virtualization, Header, TodayCommand, CalendarWithoutContext, DateInputWithoutContext, DatePickerWithoutContext, TimePickerWithoutContext, DateRangePickerWithoutContext, MultiViewCalendarWithoutContext, DateTimePickerWithoutContext, HorizontalViewList, HorizontalViewListProps, TimeList, TimePart, PickerWrap, PickerWrapProps, ToggleButton, ToggleButtonProps, ActiveView, Calendar, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarSettings, CalendarViewEnum, CalendarChangeEvent, CalendarCell, CalendarCellProps, CalendarWeekCell, CalendarWeekCellProps, CalendarHeaderTitle, CalendarHeaderTitleProps, CalendarNavigationItem, CalendarNavigationItemProps, DateInput, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputSettings, DateInputChangeEvent, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder, DatePicker, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerSettings, DatePickerChangeEvent, DatePickerOpenEvent, DatePickerCloseEvent, TimePicker, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerSettings, TimePickerChangeEvent, TimePickerOpenEvent, TimePickerCloseEvent, MultiViewCalendar, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarSettings, MultiViewCalendarMode, MultiViewCalendarChangeEvent, DateRangePicker, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerSettings, DateRangePickerCalendarSettings, DateRangePickerDateInputSettings, DateRangePickerPopupSettings, DateRangePickerChangeEvent, DateRangePickerOpenEvent, DateRangePickerCloseEvent, DateTimePicker, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerSettings, DateTimePickerChangeEvent, DateTimePickerOpenEvent, DateTimePickerCloseEvent, SelectionRange, FormComponentValidity };
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-react-dateinputs',
6
6
  productName: 'KendoReact',
7
7
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
8
- publishDate: 1694181710,
8
+ publishDate: 1694433092,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
11
11
  };
@@ -15,6 +15,18 @@ export interface TimePickerChangeEvent {
15
15
  show: boolean;
16
16
  target: TimePicker;
17
17
  }
18
+ /**
19
+ * The arguments for the `onOpen` event of the TimePicker.
20
+ */
21
+ export interface TimePickerOpenEvent {
22
+ target: TimePicker;
23
+ }
24
+ /**
25
+ * The arguments for the `onClose` event of the TimePicker.
26
+ */
27
+ export interface TimePickerCloseEvent {
28
+ target: TimePicker;
29
+ }
18
30
  /**
19
31
  * Represents the props of the [KendoReact TimePicker component]({% slug overview_timepicker %}).
20
32
  */
@@ -27,6 +39,14 @@ export interface TimePickerProps extends TimePickerSettings, FormComponentProps
27
39
  * Fires each time the user selects a new value ([see example]({% slug controlled_timepicker %}#toc-controlling-the-date-value)).
28
40
  */
29
41
  onChange?: (event: TimePickerChangeEvent) => void;
42
+ /**
43
+ * Fires each time the popup is opened.
44
+ */
45
+ onOpen?: (event: TimePickerOpenEvent) => void;
46
+ /**
47
+ * Fires each time the popup is closed.
48
+ */
49
+ onClose?: (event: TimePickerCloseEvent) => void;
30
50
  /**
31
51
  * Specifies the value of the TimePicker ([see example]({% slug controlled_timepicker %}#toc-controlling-the-date-value)).
32
52
  *
@@ -130,8 +130,7 @@ var TimePickerWithoutContext = /** @class */ (function (_super) {
130
130
  };
131
131
  _this.handleValueChange = function (event) {
132
132
  _this.setState({
133
- value: cloneDate(event.value || _this.state.candidate),
134
- show: false
133
+ value: cloneDate(event.value || _this.state.candidate)
135
134
  });
136
135
  _this.valueDuringOnChange = event.value;
137
136
  _this.showDuringOnChange = false;
@@ -149,6 +148,7 @@ var TimePickerWithoutContext = /** @class */ (function (_super) {
149
148
  }
150
149
  _this.valueDuringOnChange = undefined;
151
150
  _this.showDuringOnChange = undefined;
151
+ _this.setShow(false);
152
152
  };
153
153
  _this.handleFocus = function () {
154
154
  _this.setState({ focused: true });
@@ -460,7 +460,7 @@ var TimePickerWithoutContext = /** @class */ (function (_super) {
460
460
  _b['k-disabled'] = _this.props.disabled,
461
461
  _b), className), onKeyDown: _this.handleKeyDown, style: { width: width }, onFocus: onFocus, onBlur: onBlur, onClick: _this.mobileMode ? _this.handleIconClick : undefined },
462
462
  React.createElement(_this.dateInputComp, __assign({ _ref: _this._dateInput, ariaRole: "combobox", ariaControls: _this._popupId }, dateInputProps)),
463
- React.createElement(Button, __assign({ tabIndex: -1, type: "button", icon: 'clock', svgIcon: clockIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.handleIconClick, title: toggleTimeMessage, className: "k-input-button", rounded: null }, {
463
+ React.createElement(Button, __assign({ tabIndex: -1, type: "button", icon: 'clock', svgIcon: clockIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.mobileMode ? undefined : _this.handleIconClick, title: toggleTimeMessage, className: "k-input-button", rounded: null }, {
464
464
  'aria-label': toggleClockMessage
465
465
  })),
466
466
  !_this.mobileMode && _this.renderPopup()),
@@ -474,10 +474,21 @@ var TimePickerWithoutContext = /** @class */ (function (_super) {
474
474
  return setTime(MIDNIGHT_DATE, date);
475
475
  };
476
476
  TimePickerWithoutContext.prototype.setShow = function (show) {
477
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
477
478
  if (this.show === show) {
478
479
  return;
479
480
  }
480
481
  this.setState({ show: show });
482
+ if (show && onOpen) {
483
+ onOpen.call(undefined, {
484
+ target: this
485
+ });
486
+ }
487
+ if (!show && onClose) {
488
+ onClose.call(undefined, {
489
+ target: this
490
+ });
491
+ }
481
492
  };
482
493
  TimePickerWithoutContext.prototype.mergeTime = function (value) {
483
494
  return this.value && value ? setTime(this.value, value) : value;
@@ -17,6 +17,18 @@ export interface DatePickerChangeEvent {
17
17
  show: boolean;
18
18
  target: DatePicker;
19
19
  }
20
+ /**
21
+ * The arguments for the `onOpen` event of the DatePicker.
22
+ */
23
+ export interface DatePickerOpenEvent {
24
+ target: DatePicker;
25
+ }
26
+ /**
27
+ * The arguments for the `onClose` event of the DatePicker.
28
+ */
29
+ export interface DatePickerCloseEvent {
30
+ target: DatePicker;
31
+ }
20
32
  /**
21
33
  * Represents the props of the [KendoReact DatePicker component]({% slug overview_datepicker %}).
22
34
  */
@@ -29,6 +41,14 @@ export interface DatePickerProps extends DatePickerSettings, FormComponentProps
29
41
  * Fires each time the user selects a new value ([see example]({% slug controlled_datepicker %}#toc-controlling-the-date-value)).
30
42
  */
31
43
  onChange?: (event: DatePickerChangeEvent) => void;
44
+ /**
45
+ * Fires each time the popup is opened.
46
+ */
47
+ onOpen?: (event: DatePickerOpenEvent) => void;
48
+ /**
49
+ * Fires each time the popup is closed.
50
+ */
51
+ onClose?: (event: DatePickerCloseEvent) => void;
32
52
  /**
33
53
  * Specifies the value of the DatePicker ([see example]({% slug controlled_datepicker %}#toc-controlling-the-date-value)).
34
54
  *
@@ -140,8 +140,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
140
140
  };
141
141
  _this.handleValueChange = function (value, event) {
142
142
  _this.setState({
143
- value: (0, kendo_date_math_1.cloneDate)(value || undefined),
144
- show: false
143
+ value: (0, kendo_date_math_1.cloneDate)(value || undefined)
145
144
  });
146
145
  _this.valueDuringOnChange = value;
147
146
  _this.showDuringOnChange = false;
@@ -160,6 +159,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
160
159
  }
161
160
  _this.valueDuringOnChange = undefined;
162
161
  _this.showDuringOnChange = undefined;
162
+ _this.setShow(false);
163
163
  };
164
164
  _this.handleFocus = function () {
165
165
  _this.setState({ focused: true });
@@ -478,7 +478,7 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
478
478
  _b['k-disabled'] = _this.props.disabled,
479
479
  _b), className), onKeyDown: _this.handleKeyDown, style: { width: width }, onFocus: onFocus, onBlur: onBlur, onClick: _this.mobileMode ? _this.handleIconClick : undefined },
480
480
  React.createElement(_this.dateInputComp, __assign({ _ref: _this._dateInput, ariaRole: 'combobox', readonly: _this.mobileMode, ariaExpanded: _this.show, ariaControls: _this._popupId }, dateInputProps)),
481
- React.createElement(_this.toggleButtonComp, { type: "button", icon: "calendar", svgIcon: kendo_svg_icons_1.calendarIcon, title: toggleButtonTitle, className: "k-input-button", rounded: null, onClick: _this.handleIconClick, "aria-label": toggleButtonTitle, onMouseDown: _this.handleIconMouseDown }),
481
+ React.createElement(_this.toggleButtonComp, { type: "button", icon: "calendar", svgIcon: kendo_svg_icons_1.calendarIcon, title: toggleButtonTitle, className: "k-input-button", rounded: null, onClick: _this.mobileMode ? undefined : _this.handleIconClick, "aria-label": toggleButtonTitle, onMouseDown: _this.handleIconMouseDown }),
482
482
  !_this.mobileMode && _this.renderPopup()),
483
483
  _this.mobileMode && _this.renderAdaptivePopup()));
484
484
  }));
@@ -487,10 +487,21 @@ var DatePickerWithoutContext = /** @class */ (function (_super) {
487
487
  : datepicker;
488
488
  };
489
489
  DatePickerWithoutContext.prototype.setShow = function (show) {
490
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
490
491
  if (this.show === show) {
491
492
  return;
492
493
  }
493
494
  this.setState({ show: show });
495
+ if (show && onOpen) {
496
+ onOpen.call(undefined, {
497
+ target: this
498
+ });
499
+ }
500
+ if (!show && onClose) {
501
+ onClose.call(undefined, {
502
+ target: this
503
+ });
504
+ }
494
505
  };
495
506
  DatePickerWithoutContext.prototype.mergeTime = function (value) {
496
507
  return this.value && value ? (0, utils_1.setTime)(value, this.value) : value;
@@ -21,6 +21,18 @@ export interface DateRangePickerChangeEvent {
21
21
  show?: boolean;
22
22
  target: DateRangePicker;
23
23
  }
24
+ /**
25
+ * The arguments for the `onOpen` event of the DateRangePicker.
26
+ */
27
+ export interface DateRangePickerOpenEvent {
28
+ target: DateRangePicker;
29
+ }
30
+ /**
31
+ * The arguments for the `onClose` event of the DateRangePicker.
32
+ */
33
+ export interface DateRangePickerCloseEvent {
34
+ target: DateRangePicker;
35
+ }
24
36
  /**
25
37
  * Represents the props of the [KendoReact DateRangePicker component]({% slug overview_daterangepicker %}).
26
38
  */
@@ -40,6 +52,14 @@ export interface DateRangePickerProps extends DateRangePickerSettings {
40
52
  * Fires each time the user selects a part of a date range ([see example]({% slug controlled_daterangepicker %}#toc-controlling-the-value)).
41
53
  */
42
54
  onChange?: (event: DateRangePickerChangeEvent) => void;
55
+ /**
56
+ * Fires each time the popup is opened.
57
+ */
58
+ onOpen?: (event: DateRangePickerOpenEvent) => void;
59
+ /**
60
+ * Fires each time the popup is closed.
61
+ */
62
+ onClose?: (event: DateRangePickerCloseEvent) => void;
43
63
  /**
44
64
  * Fires each time the popup of the DateRangePicker is about to cancel in ([adaptive mode]({% slug adaptive_rendering_daterangepicker %})).
45
65
  */
@@ -469,10 +469,21 @@ var DateRangePickerWithoutContext = /** @class */ (function (_super) {
469
469
  this.nextTickId = window.setTimeout(function () { return f(); });
470
470
  };
471
471
  DateRangePickerWithoutContext.prototype.setShow = function (show) {
472
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
472
473
  if (this.show === show) {
473
474
  return;
474
475
  }
475
476
  this.setState({ show: show });
477
+ if (show && onOpen) {
478
+ onOpen.call(undefined, {
479
+ target: this
480
+ });
481
+ }
482
+ if (!show && onClose) {
483
+ onClose.call(undefined, {
484
+ target: this
485
+ });
486
+ }
476
487
  };
477
488
  DateRangePickerWithoutContext.prototype.calculateMedia = function (entries) {
478
489
  for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
@@ -13,6 +13,18 @@ export interface DateTimePickerChangeEvent {
13
13
  show: boolean;
14
14
  target: DateTimePicker;
15
15
  }
16
+ /**
17
+ * The arguments for the `onOpen` event of the DateTimePicker.
18
+ */
19
+ export interface DateTimePickerOpenEvent {
20
+ target: DateTimePicker;
21
+ }
22
+ /**
23
+ * The arguments for the `onClose` event of the DateTimePicker.
24
+ */
25
+ export interface DateTimePickerCloseEvent {
26
+ target: DateTimePicker;
27
+ }
16
28
  /**
17
29
  * Represents the props of the [KendoReact DateTimePicker component]({% slug overview_datetimepicker %}).
18
30
  */
@@ -29,6 +41,14 @@ export interface DateTimePickerProps extends DateTimePickerSettings, FormCompone
29
41
  * ([see example]({% slug controlled_datetimepicker %}#toc-controlling-the-date-value)).
30
42
  */
31
43
  onChange?: (event: DateTimePickerChangeEvent) => void;
44
+ /**
45
+ * Fires each time the popup is opened.
46
+ */
47
+ onOpen?: (event: DateTimePickerOpenEvent) => void;
48
+ /**
49
+ * Fires each time the popup is closed.
50
+ */
51
+ onClose?: (event: DateTimePickerCloseEvent) => void;
32
52
  /**
33
53
  * Specifies the value of the DateTimePicker
34
54
  * ([see example]({% slug controlled_datetimepicker %}#toc-controlling-the-date-value)).
@@ -98,8 +98,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
98
98
  };
99
99
  _this.handleValueChange = function (event) {
100
100
  _this.setState({
101
- value: (0, kendo_date_math_1.cloneDate)(event.value || undefined),
102
- show: false
101
+ value: (0, kendo_date_math_1.cloneDate)(event.value || undefined)
103
102
  });
104
103
  _this.valueDuringOnChange = event.value;
105
104
  _this.showDuringOnChange = false;
@@ -118,6 +117,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
118
117
  }
119
118
  _this.valueDuringOnChange = undefined;
120
119
  _this.showDuringOnChange = undefined;
120
+ _this.setShow(false);
121
121
  };
122
122
  _this.handleFocus = function () {
123
123
  _this.setState({ focused: true });
@@ -406,7 +406,7 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
406
406
  _b['k-disabled'] = _this.props.disabled,
407
407
  _b), className), onKeyDown: _this.handleKeyDown, style: { width: width }, onFocus: !_this.mobileMode ? onFocus : undefined, onBlur: onBlur, onClick: _this.mobileMode ? _this.handleDateIconClick : undefined },
408
408
  React.createElement(_this.dateInputComp, __assign({ _ref: _this._dateInput, ariaRole: "combobox", ariaControls: _this._popupId, readonly: _this.mobileMode }, dataInputProps)),
409
- React.createElement(kendo_react_buttons_1.Button, __assign({ tabIndex: -1, type: "button", icon: 'calendar', svgIcon: kendo_svg_icons_1.calendarIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.handleDateIconClick, title: (0, kendo_react_intl_1.provideLocalizationService)(_this)
409
+ React.createElement(kendo_react_buttons_1.Button, __assign({ tabIndex: -1, type: "button", icon: 'calendar', svgIcon: kendo_svg_icons_1.calendarIcon, onMouseDown: _this.handleIconMouseDown, onClick: _this.mobileMode ? undefined : _this.handleDateIconClick, title: (0, kendo_react_intl_1.provideLocalizationService)(_this)
410
410
  .toLanguageString(messages_1.toggleDateTimeSelector, messages_1.messages[messages_1.toggleDateTimeSelector]), className: "k-input-button", rounded: null }, {
411
411
  'aria-label': (0, kendo_react_intl_1.provideLocalizationService)(_this)
412
412
  .toLanguageString(messages_1.toggleDateTimeSelector, messages_1.messages[messages_1.toggleDateTimeSelector])
@@ -425,10 +425,21 @@ var DateTimePickerWithoutContext = /** @class */ (function (_super) {
425
425
  : dateTimePicker;
426
426
  };
427
427
  DateTimePickerWithoutContext.prototype.setShow = function (show) {
428
+ var _a = this.props, onOpen = _a.onOpen, onClose = _a.onClose;
428
429
  if (this.show === show) {
429
430
  return;
430
431
  }
431
432
  this.setState({ show: show });
433
+ if (show && onOpen) {
434
+ onOpen.call(undefined, {
435
+ target: this
436
+ });
437
+ }
438
+ if (!show && onClose) {
439
+ onClose.call(undefined, {
440
+ target: this
441
+ });
442
+ }
432
443
  };
433
444
  DateTimePickerWithoutContext.prototype.nextTick = function (f) {
434
445
  // XXX: use window.setTimeout due to async focus/blur events in IE, and missing relatedTarget prop.
@@ -1,16 +1,16 @@
1
1
  import { Calendar, CalendarWithoutContext, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarChangeEvent } from './calendar/components/Calendar';
2
2
  import { DateInput, DateInputWithoutContext, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputChangeEvent } from './dateinput/DateInput';
3
- import { DatePicker, DatePickerWithoutContext, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerChangeEvent } from './datepicker/DatePicker';
4
- import { TimePicker, TimePickerWithoutContext, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerChangeEvent } from './timepicker/TimePicker';
3
+ import { DatePicker, DatePickerWithoutContext, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerChangeEvent, DatePickerOpenEvent, DatePickerCloseEvent } from './datepicker/DatePicker';
4
+ import { TimePicker, TimePickerWithoutContext, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerChangeEvent, TimePickerOpenEvent, TimePickerCloseEvent } from './timepicker/TimePicker';
5
5
  import { MultiViewCalendar, MultiViewCalendarWithoutContext, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarChangeEvent } from './calendar/components/MultiViewCalendar';
6
- import { DateRangePicker, DateRangePickerWithoutContext, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerChangeEvent } from './daterangepicker/DateRangePicker';
6
+ import { DateRangePicker, DateRangePickerWithoutContext, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerChangeEvent, DateRangePickerOpenEvent, DateRangePickerCloseEvent } from './daterangepicker/DateRangePicker';
7
7
  import { CalendarCell, CalendarCellProps } from './calendar/components/CalendarCell';
8
8
  import { CalendarWeekCell, CalendarWeekCellProps } from './calendar/components/CalendarWeekCell';
9
9
  import { CalendarHeaderTitle, CalendarHeaderTitleProps } from './calendar/components/CalendarHeaderTitle';
10
10
  import { CalendarNavigationItem, CalendarNavigationItemProps } from './calendar/components/CalendarNavigationItem';
11
11
  import { ActiveView, SelectionRange, CalendarSettings, CalendarViewEnum, MultiViewCalendarMode, MultiViewCalendarSettings } from './calendar/models';
12
12
  import { DateInputSettings, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder } from './dateinput/models';
13
- import { DateTimePicker, DateTimePickerWithoutContext, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerChangeEvent } from './datetimepicker/DateTimePicker';
13
+ import { DateTimePicker, DateTimePickerWithoutContext, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerChangeEvent, DateTimePickerOpenEvent, DateTimePickerCloseEvent } from './datetimepicker/DateTimePicker';
14
14
  import { DatePickerSettings } from './datepicker/models';
15
15
  import { DateTimePickerSettings } from './datetimepicker/models';
16
16
  import { TimePickerSettings } from './timepicker/models';
@@ -32,4 +32,4 @@ export { getToday, MIN_DATE, MAX_DATE, MAX_TIME, MIN_TIME } from './utils';
32
32
  export { getNow } from './timepicker/utils';
33
33
  import { HorizontalViewList, HorizontalViewListProps } from './calendar/components/HorizontalViewList';
34
34
  import { TimeSelector } from './timepicker/TimeSelector';
35
- export { dateInputsMessages, today, increaseValue, decreaseValue, toggleCalendar, swapStartEnd, separator, start, end, toggleDateTimeSelector, TimeSelector, ViewList, Virtualization, Header, TodayCommand, CalendarWithoutContext, DateInputWithoutContext, DatePickerWithoutContext, TimePickerWithoutContext, DateRangePickerWithoutContext, MultiViewCalendarWithoutContext, DateTimePickerWithoutContext, HorizontalViewList, HorizontalViewListProps, TimeList, TimePart, PickerWrap, PickerWrapProps, ToggleButton, ToggleButtonProps, ActiveView, Calendar, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarSettings, CalendarViewEnum, CalendarChangeEvent, CalendarCell, CalendarCellProps, CalendarWeekCell, CalendarWeekCellProps, CalendarHeaderTitle, CalendarHeaderTitleProps, CalendarNavigationItem, CalendarNavigationItemProps, DateInput, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputSettings, DateInputChangeEvent, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder, DatePicker, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerSettings, DatePickerChangeEvent, TimePicker, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerSettings, TimePickerChangeEvent, MultiViewCalendar, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarSettings, MultiViewCalendarMode, MultiViewCalendarChangeEvent, DateRangePicker, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerSettings, DateRangePickerCalendarSettings, DateRangePickerDateInputSettings, DateRangePickerPopupSettings, DateRangePickerChangeEvent, DateTimePicker, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerSettings, DateTimePickerChangeEvent, SelectionRange, FormComponentValidity };
35
+ export { dateInputsMessages, today, increaseValue, decreaseValue, toggleCalendar, swapStartEnd, separator, start, end, toggleDateTimeSelector, TimeSelector, ViewList, Virtualization, Header, TodayCommand, CalendarWithoutContext, DateInputWithoutContext, DatePickerWithoutContext, TimePickerWithoutContext, DateRangePickerWithoutContext, MultiViewCalendarWithoutContext, DateTimePickerWithoutContext, HorizontalViewList, HorizontalViewListProps, TimeList, TimePart, PickerWrap, PickerWrapProps, ToggleButton, ToggleButtonProps, ActiveView, Calendar, CalendarProps, CalendarPropsContext, CalendarHandle, CalendarSettings, CalendarViewEnum, CalendarChangeEvent, CalendarCell, CalendarCellProps, CalendarWeekCell, CalendarWeekCellProps, CalendarHeaderTitle, CalendarHeaderTitleProps, CalendarNavigationItem, CalendarNavigationItemProps, DateInput, DateInputProps, DateInputPropsContext, DateInputHandle, DateInputSettings, DateInputChangeEvent, DateInputIncrementalSteps, DateInputFormatPlaceholder, DateInputCustomFormatPlaceholder, DatePicker, DatePickerProps, DatePickerPropsContext, DatePickerHandle, DatePickerSettings, DatePickerChangeEvent, DatePickerOpenEvent, DatePickerCloseEvent, TimePicker, TimePickerProps, TimePickerPropsContext, TimePickerHandle, TimePickerSettings, TimePickerChangeEvent, TimePickerOpenEvent, TimePickerCloseEvent, MultiViewCalendar, MultiViewCalendarProps, MultiViewCalendarPropsContext, MultiViewCalendarHandle, MultiViewCalendarSettings, MultiViewCalendarMode, MultiViewCalendarChangeEvent, DateRangePicker, DateRangePickerProps, DateRangePickerPropsContext, DateRangePickerHandle, DateRangePickerSettings, DateRangePickerCalendarSettings, DateRangePickerDateInputSettings, DateRangePickerPopupSettings, DateRangePickerChangeEvent, DateRangePickerOpenEvent, DateRangePickerCloseEvent, DateTimePicker, DateTimePickerProps, DateTimePickerPropsContext, DateTimePickerHandle, DateTimePickerSettings, DateTimePickerChangeEvent, DateTimePickerOpenEvent, DateTimePickerCloseEvent, SelectionRange, FormComponentValidity };
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-react-dateinputs',
9
9
  productName: 'KendoReact',
10
10
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
11
- publishDate: 1694181710,
11
+ publishDate: 1694433092,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
14
14
  };