@skedulo/sked-ui 19.12.1 → 19.12.2

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.
@@ -2,10 +2,6 @@ import * as React from 'react';
2
2
  import { ReactDatePickerProps } from 'react-datepicker';
3
3
  import { RangeType } from '../calendar-controls/elements/RangePicker';
4
4
  export declare type LocaleType = 'AU' | 'US' | 'UK';
5
- export interface CustomInput extends React.PureComponent {
6
- value: Date;
7
- onClick: React.MouseEventHandler;
8
- }
9
5
  export interface DatepickerProps {
10
6
  /**
11
7
  * The currently selected date.
@@ -111,11 +107,13 @@ export interface DatepickerProps {
111
107
  declare type CustomInputType = React.InputHTMLAttributes<HTMLInputElement> & {
112
108
  onBlurCustom: () => void;
113
109
  openCalendar: (open: boolean) => void;
110
+ onBackspace: () => void;
114
111
  Component: (props: React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>) => JSX.Element;
115
112
  };
116
113
  export declare const CustomInput: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & {
117
114
  onBlurCustom: () => void;
118
115
  openCalendar: (open: boolean) => void;
116
+ onBackspace: () => void;
119
117
  Component: (props: React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>) => JSX.Element;
120
118
  } & React.RefAttributes<HTMLInputElement>>;
121
119
  export declare const Datepicker: React.FC<DatepickerProps>;
package/dist/index.js CHANGED
@@ -17592,15 +17592,14 @@ var DefaultInput = react__WEBPACK_IMPORTED_MODULE_4__["forwardRef"](function (_r
17592
17592
  var CustomInput = react__WEBPACK_IMPORTED_MODULE_4__["forwardRef"](function (_ref2, ref) {
17593
17593
  var openCalendar = _ref2.openCalendar,
17594
17594
  onBlurCustom = _ref2.onBlurCustom,
17595
+ onBackspace = _ref2.onBackspace,
17595
17596
  Component = _ref2.Component,
17596
17597
  keyDownOriginal = _ref2.onKeyDown,
17597
17598
  onBlur = _ref2.onBlur,
17598
- rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref2, ["openCalendar", "onBlurCustom", "Component", "onKeyDown", "onBlur"]);
17599
+ rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref2, ["openCalendar", "onBlurCustom", "onBackspace", "Component", "onKeyDown", "onBlur"]);
17599
17600
 
17600
17601
  var onKeyDown = function onKeyDown(event) {
17601
- var key = event.key;
17602
-
17603
- switch (key) {
17602
+ switch (event.key) {
17604
17603
  case 'Enter':
17605
17604
  case 'Escape':
17606
17605
  openCalendar(false);
@@ -17609,6 +17608,10 @@ var CustomInput = react__WEBPACK_IMPORTED_MODULE_4__["forwardRef"](function (_re
17609
17608
  case 'ArrowDown':
17610
17609
  openCalendar(true);
17611
17610
  break;
17611
+
17612
+ case 'Backspace':
17613
+ onBackspace();
17614
+ break;
17612
17615
  }
17613
17616
 
17614
17617
  return keyDownOriginal(event);
@@ -17711,15 +17714,21 @@ var Datepicker = function Datepicker(_ref3) {
17711
17714
  setInputDateValue(formatDateValue(selected));
17712
17715
  }, [selected === null || selected === void 0 ? void 0 : selected.valueOf()]);
17713
17716
 
17714
- var setChange = function setChange(event) {
17717
+ var handleOnBackspace = function handleOnBackspace() {
17718
+ if (date && clearable) {
17719
+ setInputDateValue(''); // if the date value is cleared, set the date to be null
17720
+
17721
+ setDate(null);
17722
+ }
17723
+ };
17724
+
17725
+ var setDateOnChangeRaw = function setDateOnChangeRaw(event) {
17715
17726
  var _event$target;
17716
17727
 
17717
- var dateValue = (event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value) || '';
17718
- setInputDateValue(dateValue);
17719
- calendarRef.current.setOpen(true); // if the date value is cleared, set the date to be null
17728
+ var dateValue = event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;
17720
17729
 
17721
- if (dateValue === '' && date && clearable) {
17722
- setDate(null);
17730
+ if (dateValue !== undefined) {
17731
+ setInputDateValue(dateValue);
17723
17732
  }
17724
17733
  };
17725
17734
 
@@ -17746,13 +17755,14 @@ var Datepicker = function Datepicker(_ref3) {
17746
17755
  }, react__WEBPACK_IMPORTED_MODULE_4__["createElement"](react_datepicker__WEBPACK_IMPORTED_MODULE_5___default.a, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({
17747
17756
  value: inputDateValue,
17748
17757
  selected: date,
17749
- onChangeRaw: setChange,
17758
+ onChangeRaw: setDateOnChangeRaw,
17750
17759
  onChange: setDateOnChange,
17751
17760
  nextMonthButtonLabel: "",
17752
17761
  previousMonthButtonLabel: "",
17753
17762
  customInput: react__WEBPACK_IMPORTED_MODULE_4__["createElement"](CustomInput, {
17754
17763
  openCalendar: setCalendarVisibleState,
17755
17764
  onBlurCustom: callOnChangeFunctions,
17765
+ onBackspace: handleOnBackspace,
17756
17766
  Component: customInput || DefaultInput
17757
17767
  }),
17758
17768
  ref: calendarRef,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skedulo/sked-ui",
3
- "version": "19.12.1",
3
+ "version": "19.12.2",
4
4
  "license": "UNLICENSED",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",