rsuite 5.48.0 → 5.48.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.
@@ -6,7 +6,7 @@ import Input from '../Input';
6
6
  import { mergeRefs, useCustom, useControlled, safeSetSelection } from '../utils';
7
7
  import { getInputSelectedState, validateDateTime, getPatternGroups } from './utils';
8
8
  import useDateInputState from './useDateInputState';
9
- var isTestEnvironment = process.env.RUN_ENV === 'test';
9
+ var isTestEnvironment = undefined === 'test';
10
10
  /**
11
11
  * The DateInput component lets users select a date with the keyboard.
12
12
  * @version 5.58.0
@@ -48,6 +48,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
48
  limitStartYear = props.limitStartYear,
49
49
  overrideLocale = props.locale,
50
50
  menuClassName = props.menuClassName,
51
+ menuStyle = props.menuStyle,
51
52
  _props$appearance = props.appearance,
52
53
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
53
54
  _props$placement = props.placement,
@@ -85,7 +86,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
85
86
  onToggleMonthDropdown = props.onToggleMonthDropdown,
86
87
  onToggleTimeDropdown = props.onToggleTimeDropdown,
87
88
  onShortcutClick = props.onShortcutClick,
88
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick"]);
89
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick"]);
89
90
  var _useCustom = useCustom('DatePicker', overrideLocale),
90
91
  locale = _useCustom.locale,
91
92
  formatDate = _useCustom.formatDate,
@@ -476,15 +477,15 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
476
477
  var bottomRanges = (ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {
477
478
  return (range === null || range === void 0 ? void 0 : range.placement) === 'bottom' || (range === null || range === void 0 ? void 0 : range.placement) === undefined;
478
479
  })) || [];
479
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
480
+ var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {
480
481
  var left = positionProps.left,
481
482
  top = positionProps.top,
482
483
  className = positionProps.className;
483
484
  var classes = merge(menuClassName, className, prefix('date-menu'));
484
- var styles = {
485
+ var styles = _extends({}, menuStyle, {
485
486
  left: left,
486
487
  top: top
487
- };
488
+ });
488
489
  return /*#__PURE__*/React.createElement(PickerOverlay, {
489
490
  role: "dialog",
490
491
  className: classes,
@@ -550,7 +551,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
550
551
  onClose: handleTriggerClose,
551
552
  onEntered: createChainedFunction(handleEntered, onEntered),
552
553
  onExited: createChainedFunction(handleExited, onExited),
553
- speaker: renderDropdownMenu
554
+ speaker: renderCalendarOverlay
554
555
  }, /*#__PURE__*/React.createElement(Component, {
555
556
  className: merge(className, classes),
556
557
  style: style,
@@ -137,7 +137,8 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
137
137
  var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val === undefined ? defaultValue : val, _accepterProps);
138
138
  return /*#__PURE__*/React.createElement(Component, {
139
139
  className: classes,
140
- ref: ref
140
+ ref: ref,
141
+ "data-testid": "form-control-wrapper"
141
142
  }, /*#__PURE__*/React.createElement(AccepterComponent, _extends({
142
143
  id: controlId,
143
144
  "aria-labelledby": controlId ? controlId + "-control-label" : null,
@@ -12,7 +12,7 @@ import Checkbox from '../Checkbox';
12
12
  import { useCascadeValue, useColumnData, useFlattenData, isSomeChildChecked } from './utils';
13
13
  import { getNodeParents, findNodeOfTree } from '../utils/treeUtils';
14
14
  import { getColumnsAndPaths } from '../Cascader/utils';
15
- import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect } from '../utils';
15
+ import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect, useControlled } from '../utils';
16
16
  import { PickerToggle, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, usePickerClassName, usePublicMethods, useToggleKeyDownEvent, useFocusItemValue, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
17
17
  var emptyArray = [];
18
18
 
@@ -90,10 +90,12 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
90
90
  var _useFlattenData = useFlattenData(data, itemKeys),
91
91
  flattenData = _useFlattenData.flattenData,
92
92
  addFlattenData = _useFlattenData.addFlattenData;
93
+ var _useControlled = useControlled(valueProp, defaultValue),
94
+ controlledValue = _useControlled[0];
93
95
  var _useCascadeValue = useCascadeValue(_extends({}, itemKeys, {
94
96
  uncheckableItemValues: uncheckableItemValues,
95
97
  cascade: cascade,
96
- value: valueProp || defaultValue
98
+ value: controlledValue
97
99
  }), flattenData),
98
100
  value = _useCascadeValue.value,
99
101
  setValue = _useCascadeValue.setValue,
@@ -212,7 +212,8 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
212
212
  'read-only': !inputFocused
213
213
  }),
214
214
  placeholder: inputPlaceholder,
215
- render: renderInput
215
+ render: renderInput,
216
+ "data-testid": "picker-toggle-input"
216
217
  }), children ? /*#__PURE__*/React.createElement("span", {
217
218
  className: prefix(hasValue ? 'value' : 'placeholder'),
218
219
  "aria-placeholder": typeof children === 'string' ? children : undefined
@@ -2,6 +2,7 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React, { useEffect, useState, useCallback, useRef } from 'react';
4
4
  import canUseDOM from 'dom-lib/canUseDOM';
5
+ import pick from 'lodash/pick';
5
6
  export var mediaQuerySizeMap = {
6
7
  xs: '(max-width: 575px)',
7
8
  sm: '(min-width: 576px)',
@@ -33,7 +34,7 @@ export function useMediaQueryLegacy(query) {
33
34
  });
34
35
  var _useState = useState(function () {
35
36
  return mediaQueries.map(function (query) {
36
- return matchMedia(query);
37
+ return pick(matchMedia(query), ['matches', 'media']);
37
38
  });
38
39
  }),
39
40
  mediaQueryArray = _useState[0],
@@ -59,7 +60,6 @@ export function useMediaQueryLegacy(query) {
59
60
  query.removeEventListener('change', handleChange);
60
61
  });
61
62
  };
62
- // eslint-disable-next-line react-hooks/exhaustive-deps
63
63
  }, [mediaQueries]);
64
64
  return mediaQueryArray.map(function (query) {
65
65
  return query.matches;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.48.0",
3
+ "version": "5.48.1",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",