indicator-ui 0.1.7 → 0.1.8

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.
package/dist/index.js CHANGED
@@ -2907,6 +2907,69 @@ function addYears(date, amount, options) {
2907
2907
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addYears);
2908
2908
 
2909
2909
 
2910
+ /***/ }),
2911
+
2912
+ /***/ "./node_modules/date-fns/compareAsc.js":
2913
+ /*!*********************************************!*\
2914
+ !*** ./node_modules/date-fns/compareAsc.js ***!
2915
+ \*********************************************/
2916
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2917
+
2918
+ "use strict";
2919
+ __webpack_require__.r(__webpack_exports__);
2920
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2921
+ /* harmony export */ compareAsc: () => (/* binding */ compareAsc),
2922
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2923
+ /* harmony export */ });
2924
+ /* harmony import */ var _toDate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toDate.js */ "./node_modules/date-fns/toDate.js");
2925
+
2926
+
2927
+ /**
2928
+ * @name compareAsc
2929
+ * @category Common Helpers
2930
+ * @summary Compare the two dates and return -1, 0 or 1.
2931
+ *
2932
+ * @description
2933
+ * Compare the two dates and return 1 if the first date is after the second,
2934
+ * -1 if the first date is before the second or 0 if dates are equal.
2935
+ *
2936
+ * @param dateLeft - The first date to compare
2937
+ * @param dateRight - The second date to compare
2938
+ *
2939
+ * @returns The result of the comparison
2940
+ *
2941
+ * @example
2942
+ * // Compare 11 February 1987 and 10 July 1989:
2943
+ * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))
2944
+ * //=> -1
2945
+ *
2946
+ * @example
2947
+ * // Sort the array of dates:
2948
+ * const result = [
2949
+ * new Date(1995, 6, 2),
2950
+ * new Date(1987, 1, 11),
2951
+ * new Date(1989, 6, 10)
2952
+ * ].sort(compareAsc)
2953
+ * //=> [
2954
+ * // Wed Feb 11 1987 00:00:00,
2955
+ * // Mon Jul 10 1989 00:00:00,
2956
+ * // Sun Jul 02 1995 00:00:00
2957
+ * // ]
2958
+ */
2959
+ function compareAsc(dateLeft, dateRight) {
2960
+ const diff = +(0,_toDate_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(dateLeft) - +(0,_toDate_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(dateRight);
2961
+
2962
+ if (diff < 0) return -1;
2963
+ else if (diff > 0) return 1;
2964
+
2965
+ // Return 0 if diff is 0; return NaN if diff is NaN
2966
+ return diff;
2967
+ }
2968
+
2969
+ // Fallback for modularized imports:
2970
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (compareAsc);
2971
+
2972
+
2910
2973
  /***/ }),
2911
2974
 
2912
2975
  /***/ "./node_modules/date-fns/constants.js":
@@ -53631,12 +53694,12 @@ __webpack_require__.r(__webpack_exports__);
53631
53694
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
53632
53695
  /* harmony export */ useControlInput: () => (/* reexport safe */ _useControlInput__WEBPACK_IMPORTED_MODULE_0__.useControlInput),
53633
53696
  /* harmony export */ useKeyboardInput: () => (/* reexport safe */ _useKeyboardInput__WEBPACK_IMPORTED_MODULE_1__.useKeyboardInput),
53634
- /* harmony export */ useKeyboardPressed: () => (/* reexport safe */ _useKeyboardPressed__WEBPACK_IMPORTED_MODULE_2__.useKeyboardPressed),
53697
+ /* harmony export */ useKeyboardPressing: () => (/* reexport safe */ _useKeyboardPressing__WEBPACK_IMPORTED_MODULE_2__.useKeyboardPressing),
53635
53698
  /* harmony export */ useTouchpadInput: () => (/* reexport safe */ _useTouchpadInput__WEBPACK_IMPORTED_MODULE_3__.useTouchpadInput)
53636
53699
  /* harmony export */ });
53637
53700
  /* harmony import */ var _useControlInput__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useControlInput */ "./src/hooks/controlsInput/useControlInput.ts");
53638
53701
  /* harmony import */ var _useKeyboardInput__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useKeyboardInput */ "./src/hooks/controlsInput/useKeyboardInput.ts");
53639
- /* harmony import */ var _useKeyboardPressed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useKeyboardPressed */ "./src/hooks/controlsInput/useKeyboardPressed.ts");
53702
+ /* harmony import */ var _useKeyboardPressing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useKeyboardPressing */ "./src/hooks/controlsInput/useKeyboardPressing.ts");
53640
53703
  /* harmony import */ var _useTouchpadInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useTouchpadInput */ "./src/hooks/controlsInput/useTouchpadInput.ts");
53641
53704
 
53642
53705
 
@@ -53703,22 +53766,22 @@ function useKeyboardInput() {
53703
53766
 
53704
53767
  /***/ }),
53705
53768
 
53706
- /***/ "./src/hooks/controlsInput/useKeyboardPressed.ts":
53707
- /*!*******************************************************!*\
53708
- !*** ./src/hooks/controlsInput/useKeyboardPressed.ts ***!
53709
- \*******************************************************/
53769
+ /***/ "./src/hooks/controlsInput/useKeyboardPressing.ts":
53770
+ /*!********************************************************!*\
53771
+ !*** ./src/hooks/controlsInput/useKeyboardPressing.ts ***!
53772
+ \********************************************************/
53710
53773
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53711
53774
 
53712
53775
  "use strict";
53713
53776
  __webpack_require__.r(__webpack_exports__);
53714
53777
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
53715
- /* harmony export */ useKeyboardPressed: () => (/* binding */ useKeyboardPressed)
53778
+ /* harmony export */ useKeyboardPressing: () => (/* binding */ useKeyboardPressing)
53716
53779
  /* harmony export */ });
53717
53780
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
53718
53781
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
53719
53782
 
53720
53783
  var MIN_PRESSING_DURATION_DEFAULT = 100;
53721
- function useKeyboardPressed() {
53784
+ function useKeyboardPressing() {
53722
53785
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53723
53786
  args[_key] = arguments[_key];
53724
53787
  }
@@ -53735,13 +53798,15 @@ function useKeyboardPressed() {
53735
53798
  var getKeyEvent = function getKeyEvent(props) {
53736
53799
  var keyCode = props.keyCode,
53737
53800
  eventOrigin = props.eventOrigin,
53738
- startDuration = props.startDuration;
53801
+ startDuration = props.startDuration,
53802
+ status = props.status;
53739
53803
  var resDuration = Date.now() - startDuration;
53740
53804
  return {
53741
53805
  originalEvent: eventOrigin,
53742
53806
  detail: {
53743
53807
  keyCode: keyCode,
53744
- duration: resDuration
53808
+ duration: resDuration,
53809
+ status: status
53745
53810
  }
53746
53811
  };
53747
53812
  };
@@ -53752,13 +53817,22 @@ function useKeyboardPressed() {
53752
53817
  callback === null || callback === void 0 || callback(getKeyEvent({
53753
53818
  keyCode: keyCode,
53754
53819
  startDuration: startDuration,
53755
- eventOrigin: eventOrigin
53820
+ eventOrigin: eventOrigin,
53821
+ status: 'pressing'
53756
53822
  }));
53757
53823
  }
53758
53824
  }, []);
53759
53825
  var onKeyUp = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (eventOrigin) {
53760
53826
  var keyCode = eventOrigin.code;
53761
- endPressed(keyCode);
53827
+ var startDuration = endPressed(keyCode);
53828
+ if (startDuration !== undefined) {
53829
+ callback === null || callback === void 0 || callback(getKeyEvent({
53830
+ keyCode: keyCode,
53831
+ startDuration: startDuration,
53832
+ eventOrigin: eventOrigin,
53833
+ status: 'released'
53834
+ }));
53835
+ }
53762
53836
  }, []);
53763
53837
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
53764
53838
  var _ref$current, _ref$current2;
@@ -53786,7 +53860,9 @@ function usePressedListener() {
53786
53860
  return pressedKey.current.get(key);
53787
53861
  };
53788
53862
  var endPressed = function endPressed(key) {
53863
+ var resDuration = pressedKey.current.get(key);
53789
53864
  pressedKey.current["delete"](key);
53865
+ return resDuration;
53790
53866
  };
53791
53867
  return {
53792
53868
  isPressedDuring: isPressedDuring,
@@ -53833,7 +53909,7 @@ __webpack_require__.r(__webpack_exports__);
53833
53909
  /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__.useInteractiveZone),
53834
53910
  /* harmony export */ useIsErrorField: () => (/* reexport safe */ _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__.useIsErrorField),
53835
53911
  /* harmony export */ useKeyboardInput: () => (/* reexport safe */ _controlsInput__WEBPACK_IMPORTED_MODULE_16__.useKeyboardInput),
53836
- /* harmony export */ useKeyboardPressed: () => (/* reexport safe */ _controlsInput__WEBPACK_IMPORTED_MODULE_16__.useKeyboardPressed),
53912
+ /* harmony export */ useKeyboardPressing: () => (/* reexport safe */ _controlsInput__WEBPACK_IMPORTED_MODULE_16__.useKeyboardPressing),
53837
53913
  /* harmony export */ useModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_15__.useModal),
53838
53914
  /* harmony export */ useModalAnim: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_14__.useModalAnim),
53839
53915
  /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__.useResettableTimeout),
@@ -59689,6 +59765,7 @@ __webpack_require__.r(__webpack_exports__);
59689
59765
  /* harmony export */ setDateMonth: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_1__.setDateMonth),
59690
59766
  /* harmony export */ setDateYear: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_1__.setDateYear),
59691
59767
  /* harmony export */ setOnlyDate: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_1__.setOnlyDate),
59768
+ /* harmony export */ sortDates: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_1__.sortDates),
59692
59769
  /* harmony export */ subDateYear: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_1__.subDateYear)
59693
59770
  /* harmony export */ });
59694
59771
  /* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./src/ui/DateTimePicker/ui/index.ts");
@@ -59894,18 +59971,21 @@ var equalDates = function equalDates(a, b) {
59894
59971
  "use strict";
59895
59972
  __webpack_require__.r(__webpack_exports__);
59896
59973
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
59897
- /* harmony export */ addDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.addDateYear),
59974
+ /* harmony export */ addDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.addDateYear),
59898
59975
  /* harmony export */ changeInterval: () => (/* reexport safe */ _changeInterval__WEBPACK_IMPORTED_MODULE_0__.changeInterval),
59899
- /* harmony export */ convertDate: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.convertDate),
59900
- /* harmony export */ equalDates: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.equalDates),
59901
- /* harmony export */ setDateMonth: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.setDateMonth),
59902
- /* harmony export */ setDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.setDateYear),
59903
- /* harmony export */ setOnlyDate: () => (/* reexport safe */ _setOnlyDate__WEBPACK_IMPORTED_MODULE_1__.setOnlyDate),
59904
- /* harmony export */ subDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_2__.subDateYear)
59976
+ /* harmony export */ convertDate: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.convertDate),
59977
+ /* harmony export */ equalDates: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.equalDates),
59978
+ /* harmony export */ setDateMonth: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.setDateMonth),
59979
+ /* harmony export */ setDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.setDateYear),
59980
+ /* harmony export */ setOnlyDate: () => (/* reexport safe */ _setOnlyDate__WEBPACK_IMPORTED_MODULE_2__.setOnlyDate),
59981
+ /* harmony export */ sortDates: () => (/* reexport safe */ _sortDates__WEBPACK_IMPORTED_MODULE_1__.sortDates),
59982
+ /* harmony export */ subDateYear: () => (/* reexport safe */ _helperFunctions__WEBPACK_IMPORTED_MODULE_3__.subDateYear)
59905
59983
  /* harmony export */ });
59906
59984
  /* harmony import */ var _changeInterval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./changeInterval */ "./src/ui/DateTimePicker/lib/changeInterval.ts");
59907
- /* harmony import */ var _setOnlyDate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setOnlyDate */ "./src/ui/DateTimePicker/lib/setOnlyDate.ts");
59908
- /* harmony import */ var _helperFunctions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helperFunctions */ "./src/ui/DateTimePicker/lib/helperFunctions.ts");
59985
+ /* harmony import */ var _sortDates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sortDates */ "./src/ui/DateTimePicker/lib/sortDates.ts");
59986
+ /* harmony import */ var _setOnlyDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./setOnlyDate */ "./src/ui/DateTimePicker/lib/setOnlyDate.ts");
59987
+ /* harmony import */ var _helperFunctions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helperFunctions */ "./src/ui/DateTimePicker/lib/helperFunctions.ts");
59988
+
59909
59989
 
59910
59990
 
59911
59991
 
@@ -59946,6 +60026,30 @@ function setOnlyDate(_ref) {
59946
60026
 
59947
60027
  /***/ }),
59948
60028
 
60029
+ /***/ "./src/ui/DateTimePicker/lib/sortDates.ts":
60030
+ /*!************************************************!*\
60031
+ !*** ./src/ui/DateTimePicker/lib/sortDates.ts ***!
60032
+ \************************************************/
60033
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
60034
+
60035
+ "use strict";
60036
+ __webpack_require__.r(__webpack_exports__);
60037
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
60038
+ /* harmony export */ sortDates: () => (/* binding */ sortDates)
60039
+ /* harmony export */ });
60040
+ /* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! date-fns */ "./node_modules/date-fns/compareAsc.js");
60041
+
60042
+ function sortDates(dates) {
60043
+ var first = dates[0];
60044
+ var second = dates[1];
60045
+ if (first && second && (0,date_fns__WEBPACK_IMPORTED_MODULE_0__.compareAsc)(first, second) > 0) {
60046
+ return [second, first];
60047
+ }
60048
+ return dates;
60049
+ }
60050
+
60051
+ /***/ }),
60052
+
59949
60053
  /***/ "./src/ui/DateTimePicker/styles/DateTimePicker.module.scss":
59950
60054
  /*!*****************************************************************!*\
59951
60055
  !*** ./src/ui/DateTimePicker/styles/DateTimePicker.module.scss ***!
@@ -60399,6 +60503,7 @@ __webpack_require__.r(__webpack_exports__);
60399
60503
  /* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/ui */ "./src/ui/index.ts");
60400
60504
  /* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ui */ "./src/ui/DateTimePicker/ui/index.ts");
60401
60505
  /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles */ "./src/ui/DateTimePicker/styles/index.ts");
60506
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
60402
60507
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
60403
60508
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
60404
60509
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -60412,6 +60517,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
60412
60517
 
60413
60518
 
60414
60519
 
60520
+
60415
60521
  var DateTimePicker = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
60416
60522
  var date = props.date,
60417
60523
  onSubmit = props.onSubmit,
@@ -60430,7 +60536,7 @@ var DateTimePicker = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardR
60430
60536
  _useState4 = _slicedToArray(_useState3, 2),
60431
60537
  pickerType = _useState4[0],
60432
60538
  setPickerType = _useState4[1];
60433
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
60539
+ (0,_hooks__WEBPACK_IMPORTED_MODULE_7__.useDeepCompareEffect)(function () {
60434
60540
  var convertedDate = (0,_ui__WEBPACK_IMPORTED_MODULE_4__.convertDate)({
60435
60541
  initDate: date || undefined,
60436
60542
  type: type
@@ -60457,7 +60563,7 @@ var DateTimePicker = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardR
60457
60563
  var handleChangeDate = function handleChangeDate(value) {
60458
60564
  var processDate = function processDate(newDate) {
60459
60565
  if (Array.isArray(newDate) && type === 'date-range') {
60460
- return newDate;
60566
+ return (0,_ui__WEBPACK_IMPORTED_MODULE_4__.sortDates)(newDate);
60461
60567
  } else if (typeof newDate === 'string') {
60462
60568
  return newDate;
60463
60569
  }
@@ -60873,9 +60979,6 @@ function TimePickerFeed(_ref) {
60873
60979
  getCurScrollTop = _useSyncedStateRef2[2];
60874
60980
  var containerHeight = _config__WEBPACK_IMPORTED_MODULE_5__.SIDES_NUM * _config__WEBPACK_IMPORTED_MODULE_5__.SIDE_ELEMENT_NUM * _config__WEBPACK_IMPORTED_MODULE_5__.CELL_SIZE + _config__WEBPACK_IMPORTED_MODULE_5__.VIEW_CELL_SIZE;
60875
60981
  var viewRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
60876
- var scrollEndTimeout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
60877
- var changeValueTimeoutRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
60878
- var adjustScrollPositionTimeoutRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
60879
60982
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
60880
60983
  var startScrollTop = getCurScrollTop();
60881
60984
  if (containerRef.current && startScrollTop !== undefined) {
@@ -60899,38 +61002,12 @@ function TimePickerFeed(_ref) {
60899
61002
  (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 || _containerRef$current2.removeEventListener('wheel', onWheel);
60900
61003
  };
60901
61004
  }, []);
61005
+ var updateValue = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useDebouncedInvoker)(function () {
61006
+ var centerItem = getCenterItem();
61007
+ onChangeCenterItem === null || onChangeCenterItem === void 0 || onChangeCenterItem(centerItem);
61008
+ }, _config__WEBPACK_IMPORTED_MODULE_5__.CHANGE_VALUE_TIMEOUT);
60902
61009
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
60903
- var _clearChangeTimeout = function _clearChangeTimeout() {
60904
- if (adjustScrollPositionTimeoutRef.current != null) {
60905
- clearTimeout(adjustScrollPositionTimeoutRef.current);
60906
- }
60907
- };
60908
- _clearChangeTimeout();
60909
- if (changeValueTimeoutRef.current) {
60910
- changeValueTimeoutRef.current = setTimeout(function () {
60911
- adjustScrollPosition(centerItem);
60912
- }, _config__WEBPACK_IMPORTED_MODULE_5__.ADJUST_SCROLL_POSITION_TIMEOUT);
60913
- }
60914
- return function () {
60915
- _clearChangeTimeout();
60916
- };
60917
- }, [centerItem]);
60918
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
60919
- var _clearChangeTimeout = function _clearChangeTimeout() {
60920
- if (changeValueTimeoutRef.current != null) {
60921
- clearTimeout(changeValueTimeoutRef.current);
60922
- }
60923
- };
60924
- _clearChangeTimeout();
60925
- if (changeValueTimeoutRef.current) {
60926
- changeValueTimeoutRef.current = setTimeout(function () {
60927
- var centerItem = getCenterItem();
60928
- onChangeCenterItem === null || onChangeCenterItem === void 0 || onChangeCenterItem(centerItem);
60929
- }, _config__WEBPACK_IMPORTED_MODULE_5__.CHANGE_VALUE_TIMEOUT);
60930
- }
60931
- return function () {
60932
- _clearChangeTimeout();
60933
- };
61010
+ updateValue();
60934
61011
  }, [curScrollTop]);
60935
61012
  var getCenterItem = function getCenterItem() {
60936
61013
  return Math.round(Math.abs(getCurScrollTop()) / _config__WEBPACK_IMPORTED_MODULE_5__.CELL_SIZE);
@@ -60961,30 +61038,24 @@ function TimePickerFeed(_ref) {
60961
61038
  children: item
60962
61039
  })), idx);
60963
61040
  };
60964
- var adjustScrollPosition = function adjustScrollPosition(centerIndex) {
60965
- if (scrollEndTimeout.current != null) {
60966
- clearTimeout(scrollEndTimeout.current);
60967
- }
60968
- scrollEndTimeout.current = setTimeout(function () {
60969
- if (!isDragging.current) {
60970
- if (!containerRef.current) return;
60971
- var newPosition = centerIndex * _config__WEBPACK_IMPORTED_MODULE_5__.CELL_SIZE;
60972
- // Плавная коррекция позиции
60973
- containerRef.current.scrollTo({
60974
- top: newPosition,
60975
- behavior: 'smooth'
60976
- });
60977
- }
60978
- }, _config__WEBPACK_IMPORTED_MODULE_5__.SCROLL_END_TIMEOUT);
60979
- };
61041
+ var adjustScrollPosition = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useDebouncedInvoker)(function () {
61042
+ var centerIndex = getCenterItem();
61043
+ if (!isDragging.current && !isTouchedRef.current) {
61044
+ if (!containerRef.current) return;
61045
+ var newPosition = centerIndex * _config__WEBPACK_IMPORTED_MODULE_5__.CELL_SIZE;
61046
+ // Плавная коррекция позиции
61047
+ containerRef.current.scrollTo({
61048
+ top: newPosition,
61049
+ behavior: 'smooth'
61050
+ });
61051
+ }
61052
+ }, _config__WEBPACK_IMPORTED_MODULE_5__.SCROLL_END_TIMEOUT);
60980
61053
  var onScroll = function onScroll(event) {
60981
61054
  setCurScrollTop(event.currentTarget.scrollTop);
60982
61055
  if (viewRef.current) {
60983
61056
  viewRef.current.scrollTop = event.currentTarget.scrollTop;
60984
61057
  }
60985
- if (isTouchedRef.current) {
60986
- adjustScrollPosition(getCenterItem());
60987
- }
61058
+ adjustScrollPosition();
60988
61059
  };
60989
61060
  var getContent = function getContent() {
60990
61061
  var isView = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -61032,7 +61103,7 @@ function TimePickerFeed(_ref) {
61032
61103
  var _containerRef$current8;
61033
61104
  isDragging.current = false;
61034
61105
  (_containerRef$current8 = containerRef.current) === null || _containerRef$current8 === void 0 || _containerRef$current8.classList.remove(_styles__WEBPACK_IMPORTED_MODULE_4__.TimePickerFeedStyle.grabbing);
61035
- adjustScrollPosition(getCenterItem());
61106
+ adjustScrollPosition();
61036
61107
  };
61037
61108
  var isTouchedRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);
61038
61109
  var onTouchStart = function onTouchStart() {
@@ -61040,6 +61111,7 @@ function TimePickerFeed(_ref) {
61040
61111
  };
61041
61112
  var onTouchEnd = function onTouchEnd() {
61042
61113
  isTouchedRef.current = false;
61114
+ adjustScrollPosition();
61043
61115
  };
61044
61116
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
61045
61117
  className: _styles__WEBPACK_IMPORTED_MODULE_4__.TimePickerFeedStyle.wrapper,
@@ -61823,7 +61895,6 @@ function TimePicker(_ref4) {
61823
61895
  });
61824
61896
  }
61825
61897
  }, [hoursCenter, minuteCenter]);
61826
- //
61827
61898
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
61828
61899
  if (time) {
61829
61900
  var newHours = getHours({
@@ -63598,7 +63669,8 @@ function DateField(_ref) {
63598
63669
  animeType: 'popover'
63599
63670
  }),
63600
63671
  open = _useModal.open,
63601
- close = _useModal.close;
63672
+ close = _useModal.close,
63673
+ getIsShow = _useModal.getIsShow;
63602
63674
  var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)((0,_lib__WEBPACK_IMPORTED_MODULE_9__.getDateFromValue)({
63603
63675
  value: value,
63604
63676
  outFormat: outFormat,
@@ -63675,9 +63747,11 @@ function DateField(_ref) {
63675
63747
  setIsFocus(false);
63676
63748
  };
63677
63749
  var handleFocus = function handleFocus(e) {
63678
- onFocus && onFocus(e);
63679
63750
  setIsFocus(true);
63680
- open();
63751
+ if (!getIsShow()) {
63752
+ open();
63753
+ }
63754
+ onFocus === null || onFocus === void 0 || onFocus(e);
63681
63755
  };
63682
63756
  var getDateContent = function getDateContent() {
63683
63757
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_DateFieldBase__WEBPACK_IMPORTED_MODULE_10__.DateFieldBase, _objectSpread(_objectSpread({}, props), {}, {
@@ -63932,7 +64006,8 @@ function DateTimeField(_ref) {
63932
64006
  animeType: 'popover'
63933
64007
  }),
63934
64008
  open = _useModal.open,
63935
- close = _useModal.close;
64009
+ close = _useModal.close,
64010
+ getIsShow = _useModal.getIsShow;
63936
64011
  var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)((0,_lib__WEBPACK_IMPORTED_MODULE_9__.getTimeFromValue)({
63937
64012
  value: value,
63938
64013
  outFormat: outFormat,
@@ -64023,9 +64098,11 @@ function DateTimeField(_ref) {
64023
64098
  setIsFocus(false);
64024
64099
  };
64025
64100
  var handleFocus = function handleFocus(e) {
64026
- onFocus && onFocus(e);
64027
64101
  setIsFocus(true);
64028
- open();
64102
+ if (!getIsShow()) {
64103
+ open();
64104
+ }
64105
+ onFocus === null || onFocus === void 0 || onFocus(e);
64029
64106
  };
64030
64107
  var getTimeContent = function getTimeContent() {
64031
64108
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_TimeFieldBase__WEBPACK_IMPORTED_MODULE_10__.TimeFieldBase, _objectSpread(_objectSpread({}, props), {}, {
@@ -64172,7 +64249,8 @@ function TimeField(_ref) {
64172
64249
  animeType: 'popover'
64173
64250
  }),
64174
64251
  open = _useModal.open,
64175
- close = _useModal.close;
64252
+ close = _useModal.close,
64253
+ getIsShow = _useModal.getIsShow;
64176
64254
  var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)((0,_lib__WEBPACK_IMPORTED_MODULE_9__.getTimeFromValue)({
64177
64255
  value: value,
64178
64256
  outFormat: outFormat,
@@ -64249,9 +64327,11 @@ function TimeField(_ref) {
64249
64327
  setIsFocus(false);
64250
64328
  };
64251
64329
  var handleFocus = function handleFocus(e) {
64252
- onFocus && onFocus(e);
64253
64330
  setIsFocus(true);
64254
- open();
64331
+ if (!getIsShow()) {
64332
+ open();
64333
+ }
64334
+ onFocus === null || onFocus === void 0 || onFocus(e);
64255
64335
  };
64256
64336
  var getTimeContent = function getTimeContent() {
64257
64337
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_TimeFieldBase__WEBPACK_IMPORTED_MODULE_10__.TimeFieldBase, _objectSpread(_objectSpread({}, props), {}, {
@@ -64792,7 +64872,7 @@ function DateRangeField(_ref) {
64792
64872
  width = _ref$width === void 0 ? 'fill' : _ref$width,
64793
64873
  additionsStyles = _ref.additionsStyles,
64794
64874
  _ref$position = _ref.position,
64795
- position = _ref$position === void 0 ? 'absolute' : _ref$position;
64875
+ position = _ref$position === void 0 ? 'fixed' : _ref$position;
64796
64876
  var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
64797
64877
  _useState2 = _slicedToArray(_useState, 2),
64798
64878
  isFocus = _useState2[0],
@@ -64801,13 +64881,17 @@ function DateRangeField(_ref) {
64801
64881
  var datePickerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
64802
64882
  var _useModal = (0,_hooks__WEBPACK_IMPORTED_MODULE_5__.useModal)(datePickerRef, {
64803
64883
  targetRef: fieldRef,
64804
- animeType: 'popover'
64884
+ animeType: 'popover',
64885
+ position: position
64805
64886
  }),
64806
64887
  open = _useModal.open,
64807
- close = _useModal.close;
64888
+ close = _useModal.close,
64889
+ getIsShow = _useModal.getIsShow;
64808
64890
  var handleFocus = function handleFocus(e) {
64809
64891
  setIsFocus(true);
64810
- open();
64892
+ if (!getIsShow()) {
64893
+ open();
64894
+ }
64811
64895
  onFocus === null || onFocus === void 0 || onFocus(e);
64812
64896
  };
64813
64897
  var handleBlur = function handleBlur(e) {
@@ -64891,8 +64975,8 @@ function DateRangeField(_ref) {
64891
64975
  iconSecond: secondIcon,
64892
64976
  textFirst: firstText,
64893
64977
  textSecond: secondText,
64894
- disabled: disabled,
64895
64978
  width: width,
64979
+ disabled: disabled,
64896
64980
  onXClose: getClearButton()
64897
64981
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ui__WEBPACK_IMPORTED_MODULE_3__.DateTimePicker, {
64898
64982
  type: 'date-range',
@@ -70936,6 +71020,7 @@ __webpack_require__.r(__webpack_exports__);
70936
71020
  /* harmony export */ setDateMonth: () => (/* reexport safe */ _DateTimePicker__WEBPACK_IMPORTED_MODULE_24__.setDateMonth),
70937
71021
  /* harmony export */ setDateYear: () => (/* reexport safe */ _DateTimePicker__WEBPACK_IMPORTED_MODULE_24__.setDateYear),
70938
71022
  /* harmony export */ setOnlyDate: () => (/* reexport safe */ _DateTimePicker__WEBPACK_IMPORTED_MODULE_24__.setOnlyDate),
71023
+ /* harmony export */ sortDates: () => (/* reexport safe */ _DateTimePicker__WEBPACK_IMPORTED_MODULE_24__.sortDates),
70939
71024
  /* harmony export */ subDateYear: () => (/* reexport safe */ _DateTimePicker__WEBPACK_IMPORTED_MODULE_24__.subDateYear)
70940
71025
  /* harmony export */ });
70941
71026
  /* harmony import */ var _Buttons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Buttons */ "./src/ui/Buttons/index.ts");
@@ -71229,6 +71314,7 @@ __webpack_require__.r(__webpack_exports__);
71229
71314
  /* harmony export */ setDateYear: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.setDateYear),
71230
71315
  /* harmony export */ setDeepValue: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_4__.setDeepValue),
71231
71316
  /* harmony export */ setOnlyDate: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.setOnlyDate),
71317
+ /* harmony export */ sortDates: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.sortDates),
71232
71318
  /* harmony export */ startOfDayUTC: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_4__.startOfDayUTC),
71233
71319
  /* harmony export */ subDateYear: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.subDateYear),
71234
71320
  /* harmony export */ throttle: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_4__.throttle),
@@ -71247,7 +71333,7 @@ __webpack_require__.r(__webpack_exports__);
71247
71333
  /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useInteractiveZone),
71248
71334
  /* harmony export */ useIsErrorField: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useIsErrorField),
71249
71335
  /* harmony export */ useKeyboardInput: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useKeyboardInput),
71250
- /* harmony export */ useKeyboardPressed: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useKeyboardPressed),
71336
+ /* harmony export */ useKeyboardPressing: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useKeyboardPressing),
71251
71337
  /* harmony export */ useModal: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useModal),
71252
71338
  /* harmony export */ useModalAnim: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useModalAnim),
71253
71339
  /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResettableTimeout),