rsuite 5.17.0-beta.2 → 5.18.0-beta.3

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 (41) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/CheckTreePicker/styles/index.less +1 -1
  3. package/DatePicker/styles/index.less +4 -0
  4. package/Form/styles/mixin.less +0 -1
  5. package/FormControl/styles/index.less +10 -4
  6. package/InputGroup/styles/index.less +5 -1
  7. package/Uploader/styles/index.less +0 -15
  8. package/cjs/DatePicker/DatePicker.d.ts +2 -0
  9. package/cjs/DatePicker/DatePicker.js +4 -2
  10. package/cjs/DatePicker/Toolbar.js +1 -0
  11. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -0
  12. package/cjs/DateRangePicker/DateRangePicker.js +4 -2
  13. package/cjs/Dropdown/DropdownMenu.js +4 -4
  14. package/cjs/List/helper/useSortHelper.js +16 -11
  15. package/cjs/Uploader/UploadTrigger.d.ts +2 -1
  16. package/cjs/Uploader/UploadTrigger.js +5 -11
  17. package/cjs/Uploader/Uploader.d.ts +2 -1
  18. package/cjs/Uploader/test/Uploader.test.d.ts +1 -0
  19. package/cjs/Uploader/test/Uploader.test.js +26 -0
  20. package/dist/rsuite-rtl.css +12 -203
  21. package/dist/rsuite-rtl.min.css +1 -1
  22. package/dist/rsuite-rtl.min.css.map +1 -1
  23. package/dist/rsuite.css +12 -203
  24. package/dist/rsuite.js +11 -11
  25. package/dist/rsuite.min.css +1 -1
  26. package/dist/rsuite.min.css.map +1 -1
  27. package/dist/rsuite.min.js +1 -1
  28. package/dist/rsuite.min.js.map +1 -1
  29. package/esm/DatePicker/DatePicker.d.ts +2 -0
  30. package/esm/DatePicker/DatePicker.js +4 -2
  31. package/esm/DatePicker/Toolbar.js +1 -0
  32. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -0
  33. package/esm/DateRangePicker/DateRangePicker.js +4 -2
  34. package/esm/Dropdown/DropdownMenu.js +4 -4
  35. package/esm/List/helper/useSortHelper.js +15 -11
  36. package/esm/Uploader/UploadTrigger.d.ts +2 -1
  37. package/esm/Uploader/UploadTrigger.js +3 -10
  38. package/esm/Uploader/Uploader.d.ts +2 -1
  39. package/esm/Uploader/test/Uploader.test.d.ts +1 -0
  40. package/esm/Uploader/test/Uploader.test.js +21 -0
  41. package/package.json +2 -2
@@ -9,6 +9,8 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
9
9
  ranges?: RangeType<Date>[];
10
10
  /** Calendar panel default presentation date and time */
11
11
  calendarDefaultDate?: Date;
12
+ /** Rendered as an input, the date can be entered via the keyboard */
13
+ editable?: boolean;
12
14
  /** Format date */
13
15
  format?: string;
14
16
  /**
@@ -22,6 +22,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
22
  calendarDefaultDate = props.calendarDefaultDate,
23
23
  _props$cleanable = props.cleanable,
24
24
  cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
25
+ _props$editable = props.editable,
26
+ editable = _props$editable === void 0 ? true : _props$editable,
25
27
  defaultValue = props.defaultValue,
26
28
  disabled = props.disabled,
27
29
  _props$format = props.format,
@@ -60,7 +62,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
60
62
  onSelect = props.onSelect,
61
63
  onToggleMonthDropdown = props.onToggleMonthDropdown,
62
64
  onToggleTimeDropdown = props.onToggleTimeDropdown,
63
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
65
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
64
66
 
65
67
  var _useCustom = useCustom('DatePicker', overrideLocale),
66
68
  locale = _useCustom.locale,
@@ -438,7 +440,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
438
440
  as: toggleAs,
439
441
  ref: targetRef,
440
442
  appearance: appearance,
441
- editable: true,
443
+ editable: editable,
442
444
  inputValue: value ? formatDate(value, formatStr) : '',
443
445
  inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : formatStr,
444
446
  inputMask: DateUtils.getDateMask(formatStr),
@@ -61,6 +61,7 @@ var Toolbar = /*#__PURE__*/React.forwardRef(function (props, ref) {
61
61
  justifyContent: "space-between",
62
62
  alignItems: "flex-start"
63
63
  }, rest), /*#__PURE__*/React.createElement(PredefinedRanges, {
64
+ wrap: true,
64
65
  className: prefix('ranges'),
65
66
  ranges: ranges,
66
67
  calendarDate: calendarDate,
@@ -7,6 +7,8 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
7
7
  ranges?: RangeType[];
8
8
  /** Format date */
9
9
  format?: string;
10
+ /** Rendered as an input, the date can be entered via the keyboard */
11
+ editable?: boolean;
10
12
  /** The date range that will be selected when you click on the date */
11
13
  hoverRange?: 'week' | 'month' | ((date: Date) => DateRange);
12
14
  /** Whether to click once on selected date range,Can be used with hoverRange */
@@ -27,6 +27,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
27
27
  className = props.className,
28
28
  _props$appearance = props.appearance,
29
29
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
30
+ _props$editable = props.editable,
31
+ editable = _props$editable === void 0 ? true : _props$editable,
30
32
  _props$cleanable = props.cleanable,
31
33
  cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
32
34
  _props$character = props.character,
@@ -70,7 +72,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
70
72
  onOpen = props.onOpen,
71
73
  onSelect = props.onSelect,
72
74
  renderTitle = props.renderTitle,
73
- rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
75
+ rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
74
76
 
75
77
  var _useClassNames = useClassNames(classPrefix),
76
78
  merge = _useClassNames.merge,
@@ -644,7 +646,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
644
646
  as: toggleAs,
645
647
  ref: targetRef,
646
648
  appearance: appearance,
647
- editable: true,
649
+ editable: editable,
648
650
  inputMask: DateUtils.getDateMask(rangeFormatStr),
649
651
  inputValue: value ? getDisplayString(value, true) : '',
650
652
  inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,
@@ -45,8 +45,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
45
45
  onSelect = props.onSelect,
46
46
  _props$classPrefix = props.classPrefix,
47
47
  classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
48
+ className = props.className,
48
49
  children = props.children,
49
- rest = _objectWithoutPropertiesLoose(props, ["onToggle", "eventKey", "title", "activeKey", "onSelect", "classPrefix", "children"]);
50
+ rest = _objectWithoutPropertiesLoose(props, ["onToggle", "eventKey", "title", "activeKey", "onSelect", "classPrefix", "className", "children"]);
50
51
 
51
52
  var nav = useContext(NavContext);
52
53
  var dropdown = useContext(DropdownContext);
@@ -90,7 +91,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
90
91
 
91
92
 
92
93
  if (!dropdown) {
93
- var classes = merge(props.className, withClassPrefix());
94
+ var classes = merge(className, withClassPrefix());
94
95
  return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
95
96
  value: contextValue
96
97
  }, /*#__PURE__*/React.createElement(Menubar, {
@@ -107,9 +108,8 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
107
108
 
108
109
  var _omit = omit(rest, ['trigger']),
109
110
  icon = _omit.icon,
110
- className = _omit.className,
111
111
  disabled = _omit.disabled,
112
- menuProps = _objectWithoutPropertiesLoose(_omit, ["icon", "className", "disabled"]);
112
+ menuProps = _objectWithoutPropertiesLoose(_omit, ["icon", "disabled"]);
113
113
 
114
114
  var Icon = rtl ? AngleLeft : AngleRight;
115
115
  return /*#__PURE__*/React.createElement(Menu, {
@@ -10,6 +10,8 @@ import AutoScroller from './AutoScroller';
10
10
  import { closestNode, getEdgeOffset, getScrollingParent, isContainInteractiveElement, setInlineStyles, setTransitionDuration, setTranslate3d } from './utils';
11
11
  import { useIsMounted } from '../../utils';
12
12
  import useManager from './useManager';
13
+ var helperElementClass = 'rs-list-item-helper';
14
+ var holderElementClass = 'rs-list-item-holder';
13
15
 
14
16
  var useSortHelper = function useSortHelper(config) {
15
17
  var autoScroll = config.autoScroll,
@@ -37,14 +39,10 @@ var useSortHelper = function useSortHelper(config) {
37
39
  * start dragging
38
40
  * */
39
41
 
40
- var handlePress = useCallback(function (mouseDownEvent, targetNode, curManagedItem) {
42
+ var handlePress = useCallback(function (mouseDownEvent, _targetNode, curManagedItem) {
41
43
  var _curManagedItem$info$, _curManagedItem$info$2, _activeNodeHelper;
42
44
 
43
- if (!isMounted()) return;
44
- var listItemBaseClassName = targetNode.classList[0]; // get list item base className
45
-
46
- var helperElementClass = listItemBaseClassName + "-helper";
47
- var holderElementClass = listItemBaseClassName + "-holder"; // data
45
+ if (!isMounted()) return; // data
48
46
 
49
47
  var containerElement = containerRef.current;
50
48
  var activeNode = curManagedItem.node;
@@ -123,7 +121,6 @@ var useSortHelper = function useSortHelper(config) {
123
121
  var aTop = activeNodeOffsetEdge.top || 0;
124
122
  var cTop = containerScrollDelta.top || 0;
125
123
  var sortingOffsetY = aTop + activeNodeHolderTranslate.y + cTop;
126
- var activeNodeHeight = parseFloat(activeNodeStyle.height) || 0;
127
124
 
128
125
  for (var i = 0, len = listItemManagerRefs.length; i < len; i++) {
129
126
  var _listItemManagerRefs$;
@@ -158,17 +155,24 @@ var useSortHelper = function useSortHelper(config) {
158
155
  var curEdgeOffsetTop = curEdgeOffset.top || 0;
159
156
 
160
157
  if (prvNode && currentNodeIndex > activeNodeOldIndex && sortingOffsetY + offsetY >= curEdgeOffsetTop) {
161
- translate.y = -activeNodeHeight;
158
+ var _prvNode$edgeOffset;
159
+
160
+ var yOffset = (((_prvNode$edgeOffset = prvNode.edgeOffset) === null || _prvNode$edgeOffset === void 0 ? void 0 : _prvNode$edgeOffset.top) || 0) - curEdgeOffsetTop;
161
+ translate.y = yOffset;
162
162
  animatedNodesOffset[currentNodeIndex] = {
163
163
  x: 0,
164
- y: currentNode.offsetHeight
164
+ y: -yOffset
165
165
  };
166
166
  activeNodeNextIndex = currentNodeIndex;
167
167
  } else if (nextNode && currentNodeIndex < activeNodeOldIndex && sortingOffsetY <= curEdgeOffsetTop + offsetY) {
168
- translate.y = activeNodeHeight;
168
+ var _nextNode$edgeOffset;
169
+
170
+ var _yOffset = (((_nextNode$edgeOffset = nextNode.edgeOffset) === null || _nextNode$edgeOffset === void 0 ? void 0 : _nextNode$edgeOffset.top) || 0) - curEdgeOffsetTop;
171
+
172
+ translate.y = _yOffset;
169
173
  animatedNodesOffset[currentNodeIndex] = {
170
174
  x: 0,
171
- y: -currentNode.offsetHeight
175
+ y: -_yOffset
172
176
  };
173
177
 
174
178
  if (activeNodeNextIndex === -1) {
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { UploaderLocale } from '../locales';
3
- export interface UploadTriggerProps {
3
+ import { ButtonProps } from '../Button';
4
+ export interface UploadTriggerProps extends ButtonProps {
4
5
  as?: React.ElementType;
5
6
  name?: string;
6
7
  multiple?: boolean;
@@ -1,16 +1,9 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback, useRef, useState, useImperativeHandle } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import Ripple from '../Ripple';
6
5
  import { isIE11, useClassNames } from '../utils';
7
-
8
- var Button = function Button(props) {
9
- return /*#__PURE__*/React.createElement("button", _extends({}, props, {
10
- type: "button"
11
- }));
12
- };
13
-
6
+ import Button from '../Button';
14
7
  var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
8
  var _props$as = props.as,
16
9
  Component = _props$as === void 0 ? Button : _props$as,
@@ -126,7 +119,7 @@ var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
126
119
  buttonProps.onDrop = handleDrop;
127
120
  }
128
121
 
129
- var trigger = children ? /*#__PURE__*/React.cloneElement(React.Children.only(children), buttonProps) : /*#__PURE__*/React.createElement(Component, buttonProps, locale === null || locale === void 0 ? void 0 : locale.upload, /*#__PURE__*/React.createElement(Ripple, null));
122
+ var trigger = children ? /*#__PURE__*/React.cloneElement(React.Children.only(children), buttonProps) : /*#__PURE__*/React.createElement(Component, buttonProps, locale === null || locale === void 0 ? void 0 : locale.upload);
130
123
  return /*#__PURE__*/React.createElement("div", {
131
124
  ref: rootRef,
132
125
  className: classes
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { UploadTriggerProps } from './UploadTrigger';
2
3
  import { WithAsProps } from '../@types/common';
3
4
  import { UploaderLocale } from '../locales';
4
5
  export interface FileType {
@@ -19,7 +20,7 @@ export interface UploaderInstance {
19
20
  root: HTMLElement;
20
21
  start: (file?: FileType) => void;
21
22
  }
22
- export interface UploaderProps extends WithAsProps {
23
+ export interface UploaderProps extends WithAsProps, Omit<UploadTriggerProps, 'onChange' | 'onError' | 'onProgress'> {
23
24
  /** Uploading URL */
24
25
  action: string;
25
26
  /** File types that can be accepted. See input accept Attribute */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import Uploader from '../Uploader';
3
+
4
+ /*#__PURE__*/
5
+ React.createElement(Uploader, {
6
+ appearance: "primary",
7
+ action: "#"
8
+ });
9
+
10
+ /*#__PURE__*/
11
+ React.createElement(Uploader, {
12
+ appearance: "primary",
13
+ color: "orange",
14
+ action: "#"
15
+ });
16
+
17
+ /*#__PURE__*/
18
+ React.createElement(Uploader, {
19
+ size: "lg",
20
+ action: "#"
21
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.17.0-beta.2",
3
+ "version": "5.18.0-beta.3",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "lodash": "^4.17.11",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-window": "^1.8.7",
40
- "rsuite-table": "^5.7.0",
40
+ "rsuite-table": "^5.7.1",
41
41
  "schema-typed": "^2.0.3"
42
42
  },
43
43
  "peerDependencies": {