rsuite 5.0.0-beta.5 → 5.0.0

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 (194) hide show
  1. package/Animation/styles/index.less +16 -16
  2. package/Animation/styles/mixin.less +2 -2
  3. package/Button/styles/index.less +36 -1
  4. package/Button/styles/mixin.less +7 -1
  5. package/CHANGELOG.md +47 -4
  6. package/Calendar/styles/index.less +7 -1
  7. package/Checkbox/styles/index.less +18 -2
  8. package/DatePicker/styles/index.less +6 -2
  9. package/Drawer/styles/index.less +11 -2
  10. package/Drawer/styles/mixin.less +2 -2
  11. package/Dropdown/styles/index.less +4 -0
  12. package/Form/styles/mixin.less +6 -0
  13. package/InputGroup/styles/index.less +4 -0
  14. package/Message/styles/index.less +16 -0
  15. package/Modal/styles/index.less +3 -2
  16. package/Nav/styles/index.less +18 -2
  17. package/Navbar/styles/index.less +68 -34
  18. package/Notification/styles/index.less +9 -3
  19. package/Pagination/styles/index.less +12 -1
  20. package/Pagination/styles/mixin.less +7 -0
  21. package/Picker/styles/index.less +25 -3
  22. package/Picker/styles/mixin.less +7 -2
  23. package/Popover/styles/index.less +23 -30
  24. package/Popover/styles/mixins.less +72 -0
  25. package/README.md +4 -4
  26. package/Radio/styles/index.less +16 -0
  27. package/RadioGroup/styles/index.less +4 -0
  28. package/Rate/styles/index.less +13 -2
  29. package/Ripple/styles/index.less +8 -4
  30. package/Sidenav/styles/index.less +160 -47
  31. package/Table/styles/index.less +8 -0
  32. package/TagInput/package.json +7 -0
  33. package/TagInput/styles/index.less +13 -0
  34. package/Toggle/styles/index.less +29 -19
  35. package/Tooltip/styles/index.less +32 -38
  36. package/Tooltip/styles/mixins.less +72 -0
  37. package/Uploader/styles/index.less +11 -1
  38. package/cjs/@types/common.d.ts +2 -0
  39. package/cjs/Animation/Bounce.js +10 -4
  40. package/cjs/Animation/Collapse.d.ts +1 -48
  41. package/cjs/Animation/Collapse.js +60 -106
  42. package/cjs/Animation/Fade.js +10 -5
  43. package/cjs/Animation/Slide.js +8 -4
  44. package/cjs/Carousel/Carousel.d.ts +7 -0
  45. package/cjs/Carousel/Carousel.js +24 -11
  46. package/cjs/CheckTree/index.js +14 -5
  47. package/cjs/CheckTreePicker/CheckTreePicker.js +9 -5
  48. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  49. package/cjs/DatePicker/DatePicker.js +2 -13
  50. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  51. package/cjs/DateRangePicker/Calendar.js +4 -3
  52. package/cjs/DateRangePicker/DateRangePicker.d.ts +1 -1
  53. package/cjs/DateRangePicker/DateRangePicker.js +58 -43
  54. package/cjs/DateRangePicker/utils.d.ts +1 -1
  55. package/cjs/DateRangePicker/utils.js +9 -5
  56. package/cjs/Dropdown/Dropdown.js +31 -18
  57. package/cjs/Dropdown/DropdownContext.d.ts +4 -1
  58. package/cjs/Dropdown/DropdownItem.js +31 -4
  59. package/cjs/Dropdown/DropdownState.d.ts +37 -0
  60. package/cjs/Dropdown/DropdownState.js +66 -0
  61. package/cjs/Dropdown/DropdownToggle.js +3 -6
  62. package/cjs/InputNumber/InputNumber.js +11 -10
  63. package/cjs/InputPicker/InputPicker.d.ts +16 -3
  64. package/cjs/InputPicker/InputPicker.js +85 -44
  65. package/cjs/List/ListItem.d.ts +1 -1
  66. package/cjs/Menu/MenuItem.js +1 -1
  67. package/cjs/MultiCascader/MultiCascader.js +4 -3
  68. package/cjs/Nav/NavItem.js +11 -63
  69. package/cjs/Navbar/NavbarItem.d.ts +19 -0
  70. package/cjs/Navbar/NavbarItem.js +93 -0
  71. package/cjs/Pagination/Pagination.js +1 -1
  72. package/cjs/Picker/PickerToggle.js +2 -2
  73. package/cjs/Picker/utils.d.ts +1 -1
  74. package/cjs/Picker/utils.js +26 -22
  75. package/cjs/Progress/ProgressCircle.js +15 -15
  76. package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
  77. package/cjs/Sidenav/SidenavDropdown.js +6 -1
  78. package/cjs/Sidenav/SidenavItem.js +46 -12
  79. package/cjs/Slider/Slider.js +2 -1
  80. package/cjs/TagInput/index.d.ts +13 -0
  81. package/cjs/TagInput/index.js +58 -0
  82. package/cjs/TagPicker/index.d.ts +10 -2
  83. package/cjs/TagPicker/index.js +25 -6
  84. package/cjs/Tree/Tree.d.ts +0 -2
  85. package/cjs/Tree/Tree.js +13 -4
  86. package/cjs/Tree/TreeContext.d.ts +7 -0
  87. package/cjs/Tree/TreeContext.js +13 -0
  88. package/cjs/TreePicker/TreeNode.js +10 -3
  89. package/cjs/TreePicker/TreePicker.js +22 -10
  90. package/cjs/Uploader/UploadFileItem.d.ts +5 -0
  91. package/cjs/Uploader/UploadFileItem.js +4 -3
  92. package/cjs/Uploader/Uploader.d.ts +8 -3
  93. package/cjs/Uploader/Uploader.js +12 -6
  94. package/cjs/index.d.ts +2 -0
  95. package/cjs/index.js +5 -1
  96. package/cjs/utils/ajaxUpload.d.ts +5 -1
  97. package/cjs/utils/ajaxUpload.js +24 -13
  98. package/cjs/utils/constants.d.ts +1 -0
  99. package/cjs/utils/constants.js +1 -0
  100. package/cjs/utils/dateUtils.d.ts +1 -0
  101. package/cjs/utils/dateUtils.js +5 -1
  102. package/cjs/utils/useInternalId.d.ts +4 -0
  103. package/cjs/utils/useInternalId.js +24 -0
  104. package/cjs/utils/useUniqueId.d.ts +1 -1
  105. package/cjs/utils/useUniqueId.js +1 -1
  106. package/dist/rsuite-rtl.css +1614 -221
  107. package/dist/rsuite-rtl.min.css +1 -1
  108. package/dist/rsuite-rtl.min.css.map +1 -1
  109. package/dist/rsuite.css +1618 -221
  110. package/dist/rsuite.js +288 -288
  111. package/dist/rsuite.min.css +1 -1
  112. package/dist/rsuite.min.css.map +1 -1
  113. package/dist/rsuite.min.js +1 -1
  114. package/dist/rsuite.min.js.map +1 -1
  115. package/esm/@types/common.d.ts +2 -0
  116. package/esm/Animation/Bounce.js +8 -4
  117. package/esm/Animation/Collapse.d.ts +1 -48
  118. package/esm/Animation/Collapse.js +59 -104
  119. package/esm/Animation/Fade.js +8 -4
  120. package/esm/Animation/Slide.js +6 -3
  121. package/esm/Carousel/Carousel.d.ts +7 -0
  122. package/esm/Carousel/Carousel.js +25 -12
  123. package/esm/CheckTree/index.js +11 -5
  124. package/esm/CheckTreePicker/CheckTreePicker.js +8 -6
  125. package/esm/DatePicker/DatePicker.d.ts +5 -1
  126. package/esm/DatePicker/DatePicker.js +2 -13
  127. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  128. package/esm/DateRangePicker/Calendar.js +4 -3
  129. package/esm/DateRangePicker/DateRangePicker.d.ts +1 -1
  130. package/esm/DateRangePicker/DateRangePicker.js +27 -12
  131. package/esm/DateRangePicker/utils.d.ts +1 -1
  132. package/esm/DateRangePicker/utils.js +7 -3
  133. package/esm/Dropdown/Dropdown.js +30 -19
  134. package/esm/Dropdown/DropdownContext.d.ts +4 -1
  135. package/esm/Dropdown/DropdownItem.js +30 -6
  136. package/esm/Dropdown/DropdownState.d.ts +37 -0
  137. package/esm/Dropdown/DropdownState.js +55 -0
  138. package/esm/Dropdown/DropdownToggle.js +3 -6
  139. package/esm/InputNumber/InputNumber.js +11 -10
  140. package/esm/InputPicker/InputPicker.d.ts +16 -3
  141. package/esm/InputPicker/InputPicker.js +84 -45
  142. package/esm/List/ListItem.d.ts +1 -1
  143. package/esm/Menu/MenuItem.js +1 -1
  144. package/esm/MultiCascader/MultiCascader.js +4 -3
  145. package/esm/Nav/NavItem.js +12 -61
  146. package/esm/Navbar/NavbarItem.d.ts +19 -0
  147. package/esm/Navbar/NavbarItem.js +73 -0
  148. package/esm/Pagination/Pagination.js +1 -1
  149. package/esm/Picker/PickerToggle.js +2 -2
  150. package/esm/Picker/utils.d.ts +1 -1
  151. package/esm/Picker/utils.js +26 -22
  152. package/esm/Progress/ProgressCircle.js +15 -15
  153. package/esm/SelectPicker/SelectPicker.d.ts +1 -3
  154. package/esm/Sidenav/SidenavDropdown.js +5 -1
  155. package/esm/Sidenav/SidenavItem.js +47 -13
  156. package/esm/Slider/Slider.js +2 -1
  157. package/esm/TagInput/index.d.ts +13 -0
  158. package/esm/TagInput/index.js +44 -0
  159. package/esm/TagPicker/index.d.ts +10 -2
  160. package/esm/TagPicker/index.js +23 -6
  161. package/esm/Tree/Tree.d.ts +0 -2
  162. package/esm/Tree/Tree.js +10 -4
  163. package/esm/Tree/TreeContext.d.ts +7 -0
  164. package/esm/Tree/TreeContext.js +3 -0
  165. package/esm/TreePicker/TreeNode.js +10 -4
  166. package/esm/TreePicker/TreePicker.js +23 -12
  167. package/esm/Uploader/UploadFileItem.d.ts +5 -0
  168. package/esm/Uploader/UploadFileItem.js +2 -3
  169. package/esm/Uploader/Uploader.d.ts +8 -3
  170. package/esm/Uploader/Uploader.js +12 -6
  171. package/esm/index.d.ts +2 -0
  172. package/esm/index.js +1 -0
  173. package/esm/utils/ajaxUpload.d.ts +5 -1
  174. package/esm/utils/ajaxUpload.js +24 -13
  175. package/esm/utils/constants.d.ts +1 -0
  176. package/esm/utils/constants.js +1 -0
  177. package/esm/utils/dateUtils.d.ts +1 -0
  178. package/esm/utils/dateUtils.js +1 -0
  179. package/esm/utils/useInternalId.d.ts +4 -0
  180. package/esm/utils/useInternalId.js +16 -0
  181. package/esm/utils/useUniqueId.d.ts +1 -1
  182. package/esm/utils/useUniqueId.js +1 -1
  183. package/package.json +4 -9
  184. package/styles/color-modes/dark.less +28 -5
  185. package/styles/color-modes/high-contrast.less +317 -0
  186. package/styles/color-modes/light.less +24 -1
  187. package/styles/color-modes.less +5 -0
  188. package/styles/colors/high-contrast.less +105 -0
  189. package/styles/index.less +1 -0
  190. package/styles/mixins/color-modes.less +6 -0
  191. package/styles/mixins/listbox.less +13 -1
  192. package/styles/mixins/menu.less +7 -0
  193. package/styles/mixins/utilities.less +9 -1
  194. package/styles/variables.less +11 -0
@@ -0,0 +1,72 @@
1
+ @import '../../styles/variables';
2
+ @import '../../styles/mixins/hacks';
3
+ @import '../../styles/mixins/color-modes';
4
+
5
+ // Draw a triangle towards given direction
6
+ // .tooltip-arrow(@direction, @size, @color)
7
+ //
8
+ // @direction: top | right | bottom | left
9
+ // @size: Size (height) of the triangle
10
+ // @color: Filling color of the triangle
11
+
12
+ .tooltip-arrow(top, @size, @color) {
13
+ top: -@size;
14
+ // FIXED: The problem of the 1 pixel white border in Edge/IE11 browser .
15
+ .ie11-edge-direction(top, -(@size+1px));
16
+
17
+ margin-left: -@size;
18
+ border-width: 0 @size @size;
19
+ border-bottom-color: @color;
20
+ }
21
+
22
+ .tooltip-arrow(bottom, @size, @color) {
23
+ bottom: -@size;
24
+ // FIXED: The problem of the 1 pixel white border in Edge/IE11 browser .
25
+ .ie11-edge-direction(bottom, -(@size+1px));
26
+
27
+ margin-left: -@size;
28
+ border-width: @size @size 0;
29
+ border-top-color: @color;
30
+ }
31
+
32
+ /* rtl:begin:ignore */
33
+ .tooltip-arrow(right, @size, @color) {
34
+ right: -@size;
35
+ // FIXED: The problem of the 1 pixel white border in Edge/IE11 browser .
36
+ .ie11-edge-direction(right, -(@size+1px));
37
+
38
+ margin-top: -@size;
39
+ border-width: @size 0 @size @size;
40
+ border-left-color: @color;
41
+ }
42
+
43
+ .tooltip-arrow(left, @size, @color) {
44
+ left: -@size;
45
+ // FIXED: The problem of the 1 pixel white border in Edge/IE11 browser .
46
+ .ie11-edge-direction(left, -(@size+1px));
47
+
48
+ margin-top: -@size;
49
+ border-width: @size @size @size 0;
50
+ border-right-color: @color;
51
+ }
52
+
53
+ /* rtl:end:ignore */
54
+
55
+ // Append tooltip's arrow to tooltip
56
+ // @direction: The arrow's pointing direction. It's usually opposite of tooltip's placement
57
+ // e.g. tooltip[placement="top"] has an arrow[direction="bottom"]
58
+ // @size: The arrow's size (height)
59
+ // @bg: The arrow's background color, usually equal to tooltip's background
60
+ // @border: The arrow's border color, usually equal to tooltip's border (which only take effect
61
+ // in high-contrast theme)
62
+ .with-tooltip-arrow(@direction, @size: @tooltip-arrow-width, @bg: var(--rs-tooltip-bg), @border: var(--rs-tooltip-border)) {
63
+ &::after {
64
+ .tooltip-arrow(@direction, @size, @bg);
65
+ }
66
+
67
+ .high-contrast-mode({
68
+ &::before {
69
+ .tooltip-arrow(@direction, @size + 1px, @border);
70
+ }
71
+ });
72
+ }
@@ -44,6 +44,15 @@
44
44
  }
45
45
  }
46
46
 
47
+ .rs-uploader-file-item {
48
+ &:hover &-title {
49
+ .high-contrast-mode({
50
+ color: var(--rs-uploader-item-hover-text);
51
+ text-decoration: underline;
52
+ });
53
+ }
54
+ }
55
+
47
56
  .rs-uploader-text {
48
57
  .rs-uploader-file-items {
49
58
  margin-top: @uploader-file-list-margin-top;
@@ -441,7 +450,8 @@
441
450
  border: 1px dashed var(--rs-uploader-dnd-border);
442
451
  }
443
452
 
444
- .rs-uploader-trigger.rs-uploader-trigger-customize:not(.rs-uploader-trigger-disabled) .rs-uploader-trigger-btn:hover,
453
+ .rs-uploader-trigger.rs-uploader-trigger-customize:not(.rs-uploader-trigger-disabled)
454
+ .rs-uploader-trigger-btn:hover,
445
455
  .rs-uploader-trigger-drag-over .rs-uploader-trigger-btn.rs-uploader-trigger-customize {
446
456
  border-color: var(--rs-uploader-dnd-hover-border);
447
457
  }
@@ -72,6 +72,8 @@ export interface PickerBaseProps<LocaleType = any> extends WithAsProps, Animatio
72
72
  defaultOpen?: boolean;
73
73
  /** A picker that can clear values */
74
74
  cleanable?: boolean;
75
+ /** A picker can have different sizes */
76
+ size?: TypeAttributes.Size;
75
77
  /** Called when Modal is displayed */
76
78
  onOpen?: () => void;
77
79
  /** Called when Modal is closed */
@@ -13,18 +13,24 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _Transition = _interopRequireDefault(require("./Transition"));
15
15
 
16
+ var _utils = require("../utils");
17
+
16
18
  var Bounce = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
17
19
  var _ref$timeout = _ref.timeout,
18
20
  timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
19
21
  props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["timeout"]);
22
+
23
+ var _useClassNames = (0, _utils.useClassNames)('anim'),
24
+ prefix = _useClassNames.prefix;
25
+
20
26
  return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, props, {
21
27
  ref: ref,
22
28
  animation: true,
23
29
  timeout: timeout,
24
- enteringClassName: "bounce-in animated",
25
- enteredClassName: "bounce-in animated",
26
- exitingClassName: "bounce-out animated",
27
- exitedClassName: "bounce-out animated"
30
+ enteringClassName: prefix('bounce-in'),
31
+ enteredClassName: prefix('bounce-in'),
32
+ exitingClassName: prefix('bounce-out'),
33
+ exitedClassName: prefix('bounce-out')
28
34
  }));
29
35
  });
30
36
 
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import { TransitionProps } from './Transition';
4
3
  export declare enum DIMENSION {
5
4
  HEIGHT = "height",
@@ -10,52 +9,6 @@ export interface CollapseProps extends TransitionProps {
10
9
  dimension?: DIMENSION | (() => DIMENSION);
11
10
  /** Function that returns the height or width of the animating DOM node */
12
11
  getDimensionValue?: (dimension: DIMENSION, elem: Element) => number;
13
- /** ARIA role of collapsible element */
14
- role?: string;
15
- }
16
- declare function defaultGetDimensionValue(dimension: DIMENSION, elem: HTMLElement): number;
17
- declare class Collapse extends React.Component<CollapseProps> {
18
- static propTypes: {
19
- dimension: PropTypes.Requireable<any>;
20
- getDimensionValue: PropTypes.Requireable<(...args: any[]) => any>;
21
- role: PropTypes.Requireable<string>;
22
- animation: PropTypes.Requireable<boolean>;
23
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- className: PropTypes.Requireable<string>;
25
- in: PropTypes.Requireable<boolean>;
26
- unmountOnExit: PropTypes.Requireable<boolean>;
27
- transitionAppear: PropTypes.Requireable<boolean>;
28
- timeout: PropTypes.Requireable<number>;
29
- exitedClassName: PropTypes.Requireable<string>;
30
- exitingClassName: PropTypes.Requireable<string>;
31
- enteredClassName: PropTypes.Requireable<string>;
32
- enteringClassName: PropTypes.Requireable<string>;
33
- onEnter: PropTypes.Requireable<(...args: any[]) => any>;
34
- onEntering: PropTypes.Requireable<(...args: any[]) => any>;
35
- onEntered: PropTypes.Requireable<(...args: any[]) => any>;
36
- onExit: PropTypes.Requireable<(...args: any[]) => any>;
37
- onExiting: PropTypes.Requireable<(...args: any[]) => any>;
38
- onExited: PropTypes.Requireable<(...args: any[]) => any>;
39
- };
40
- static displayName: string;
41
- static defaultProps: {
42
- timeout: number;
43
- dimension: DIMENSION;
44
- exitedClassName: string;
45
- exitingClassName: string;
46
- enteredClassName: string;
47
- enteringClassName: string;
48
- getDimensionValue: typeof defaultGetDimensionValue;
49
- };
50
- transitionRef: React.RefObject<any>;
51
- constructor(props: any);
52
- getTransitionInstance(): any;
53
- handleEnter: (elem: HTMLElement) => void;
54
- handleEntering: (elem: HTMLElement) => void;
55
- handleEntered: (elem: HTMLElement) => void;
56
- handleExit: (elem: HTMLElement) => void;
57
- handleExiting: (elem: HTMLElement) => void;
58
- dimension(): DIMENSION;
59
- render(): JSX.Element;
60
12
  }
13
+ declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<any>>;
61
14
  export default Collapse;
@@ -9,25 +9,21 @@ exports.default = exports.DIMENSION = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
14
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
18
  var _domLib = require("dom-lib");
21
19
 
22
20
  var _get = _interopRequireDefault(require("lodash/get"));
23
21
 
24
22
  var _capitalize = _interopRequireDefault(require("lodash/capitalize"));
25
23
 
26
- var _pick = _interopRequireDefault(require("lodash/pick"));
27
-
28
24
  var _Transition = _interopRequireWildcard(require("./Transition"));
29
25
 
30
- var _createChainedFunction = _interopRequireDefault(require("../utils/createChainedFunction"));
26
+ var _utils = require("../utils");
31
27
 
32
28
  var DIMENSION;
33
29
  exports.DIMENSION = DIMENSION;
@@ -57,111 +53,69 @@ function getScrollDimensionValue(elem, dimension) {
57
53
  return value + "px";
58
54
  }
59
55
 
60
- var Collapse = /*#__PURE__*/function (_React$Component) {
61
- (0, _inheritsLoose2.default)(Collapse, _React$Component);
62
-
63
- function Collapse(props) {
64
- var _this;
65
-
66
- _this = _React$Component.call(this, props) || this;
67
- _this.transitionRef = void 0;
68
-
69
- _this.handleEnter = function (elem) {
70
- var dimension = _this.dimension();
71
-
72
- (0, _domLib.addStyle)(elem, dimension, 0);
73
- };
74
-
75
- _this.handleEntering = function (elem) {
76
- var dimension = _this.dimension();
77
-
78
- (0, _domLib.addStyle)(elem, dimension, getScrollDimensionValue(elem, dimension));
79
- };
80
-
81
- _this.handleEntered = function (elem) {
82
- var dimension = _this.dimension();
83
-
84
- (0, _domLib.addStyle)(elem, dimension, 'auto');
85
- };
86
-
87
- _this.handleExit = function (elem) {
88
- var dimension = _this.dimension();
89
-
90
- var getDimensionValue = _this.props.getDimensionValue;
91
- var value = getDimensionValue ? getDimensionValue(dimension, elem) : 0;
92
- (0, _domLib.addStyle)(elem, dimension, value + "px");
93
- };
94
-
95
- _this.handleExiting = function (elem) {
96
- var dimension = _this.dimension();
97
-
98
- triggerBrowserReflow(elem);
99
- (0, _domLib.addStyle)(elem, dimension, 0);
100
- };
101
-
102
- _this.transitionRef = /*#__PURE__*/_react.default.createRef();
103
- return _this;
104
- } // for testing
105
-
106
-
107
- var _proto = Collapse.prototype;
108
-
109
- _proto.getTransitionInstance = function getTransitionInstance() {
110
- return this.transitionRef.current;
111
- };
112
-
113
- _proto.dimension = function dimension() {
114
- var dimension = this.props.dimension;
115
- return typeof dimension === 'function' ? dimension() : dimension;
116
- };
117
-
118
- _proto.render = function render() {
119
- var _this$props = this.props,
120
- role = _this$props.role,
121
- className = _this$props.className,
122
- onExited = _this$props.onExited,
123
- onEnter = _this$props.onEnter,
124
- onEntering = _this$props.onEntering,
125
- onEntered = _this$props.onEntered,
126
- onExit = _this$props.onExit,
127
- onExiting = _this$props.onExiting;
128
- var enterEventHandler = (0, _createChainedFunction.default)(this.handleEnter, onEnter);
129
- var enteringEventHandler = (0, _createChainedFunction.default)(this.handleEntering, onEntering);
130
- var enteredEventHandler = (0, _createChainedFunction.default)(this.handleEntered, onEntered);
131
- var exitEventHandler = (0, _createChainedFunction.default)(this.handleExit, onExit);
132
- var exitingEventHandler = (0, _createChainedFunction.default)(this.handleExiting, onExiting);
133
- return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, (0, _pick.default)(this.props, Object.keys(_Transition.transitionPropTypes)), {
134
- ref: this.transitionRef,
135
- "aria-expanded": role ? this.props.in : null,
136
- className: (0, _classnames.default)(className, {
137
- width: this.dimension() === 'width'
138
- }),
139
- onEnter: enterEventHandler,
140
- onEntering: enteringEventHandler,
141
- onEntered: enteredEventHandler,
142
- onExit: exitEventHandler,
143
- onExiting: exitingEventHandler,
144
- onExited: onExited
145
- }));
146
- };
147
-
148
- return Collapse;
149
- }(_react.default.Component);
150
-
151
- Collapse.propTypes = (0, _extends2.default)({}, _Transition.transitionPropTypes, {
152
- dimension: _propTypes.default.any,
153
- getDimensionValue: _propTypes.default.func,
154
- role: _propTypes.default.string
56
+ var Collapse = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
57
+ var className = props.className,
58
+ dimensionProp = props.dimension,
59
+ exitedClassName = props.exitedClassName,
60
+ exitingClassName = props.exitingClassName,
61
+ enteredClassName = props.enteredClassName,
62
+ enteringClassName = props.enteringClassName,
63
+ getDimensionValue = props.getDimensionValue,
64
+ onEnter = props.onEnter,
65
+ onEntering = props.onEntering,
66
+ onEntered = props.onEntered,
67
+ onExit = props.onExit,
68
+ onExiting = props.onExiting,
69
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "dimension", "exitedClassName", "exitingClassName", "enteredClassName", "enteringClassName", "getDimensionValue", "onEnter", "onEntering", "onEntered", "onExit", "onExiting"]);
70
+
71
+ var _useClassNames = (0, _utils.useClassNames)('anim'),
72
+ prefix = _useClassNames.prefix,
73
+ merge = _useClassNames.merge;
74
+
75
+ var dimension = typeof dimensionProp === 'function' ? dimensionProp() : dimensionProp;
76
+ var handleEnter = (0, _react.useCallback)(function (elem) {
77
+ (0, _domLib.addStyle)(elem, dimension, 0);
78
+ }, [dimension]);
79
+ var handleEntering = (0, _react.useCallback)(function (elem) {
80
+ (0, _domLib.addStyle)(elem, dimension, getScrollDimensionValue(elem, dimension));
81
+ }, [dimension]);
82
+ var handleEntered = (0, _react.useCallback)(function (elem) {
83
+ (0, _domLib.addStyle)(elem, dimension, 'auto');
84
+ }, [dimension]);
85
+ var handleExit = (0, _react.useCallback)(function (elem) {
86
+ var value = getDimensionValue ? getDimensionValue(dimension, elem) : 0;
87
+ (0, _domLib.addStyle)(elem, dimension, value + "px");
88
+ }, [dimension, getDimensionValue]);
89
+ var handleExiting = (0, _react.useCallback)(function (elem) {
90
+ triggerBrowserReflow(elem);
91
+ (0, _domLib.addStyle)(elem, dimension, 0);
92
+ }, [dimension]);
93
+ return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, rest, {
94
+ ref: ref,
95
+ className: merge(className, prefix({
96
+ 'collapse-horizontal': dimension === 'width'
97
+ })),
98
+ exitedClassName: exitedClassName || prefix('collapse'),
99
+ exitingClassName: exitingClassName || prefix('collapsing'),
100
+ enteredClassName: enteredClassName || prefix('collapse', 'in'),
101
+ enteringClassName: enteringClassName || prefix('collapsing'),
102
+ onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),
103
+ onEntering: (0, _utils.createChainedFunction)(handleEntering, onEntering),
104
+ onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
105
+ onExit: (0, _utils.createChainedFunction)(handleExit, onExit),
106
+ onExiting: (0, _utils.createChainedFunction)(handleExiting, onExiting)
107
+ }));
155
108
  });
109
+
156
110
  Collapse.displayName = 'Collapse';
157
111
  Collapse.defaultProps = {
158
112
  timeout: 300,
159
113
  dimension: DIMENSION.HEIGHT,
160
- exitedClassName: 'collapse',
161
- exitingClassName: 'collapsing',
162
- enteredClassName: 'collapse in',
163
- enteringClassName: 'collapsing',
164
114
  getDimensionValue: defaultGetDimensionValue
165
115
  };
116
+ Collapse.propTypes = (0, _extends2.default)({}, _Transition.transitionPropTypes, {
117
+ dimension: _propTypes.default.any,
118
+ getDimensionValue: _propTypes.default.func
119
+ });
166
120
  var _default = Collapse;
167
121
  exports.default = _default;
@@ -11,21 +11,26 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
14
  var _Transition = _interopRequireDefault(require("./Transition"));
17
15
 
16
+ var _utils = require("../utils");
17
+
18
18
  var Fade = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
19
19
  var _ref$timeout = _ref.timeout,
20
20
  timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
21
21
  className = _ref.className,
22
22
  props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["timeout", "className"]);
23
+
24
+ var _useClassNames = (0, _utils.useClassNames)('anim'),
25
+ prefix = _useClassNames.prefix,
26
+ merge = _useClassNames.merge;
27
+
23
28
  return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, props, {
24
29
  ref: ref,
25
30
  timeout: timeout,
26
- className: (0, _classnames.default)(className, 'fade'),
27
- enteredClassName: "in",
28
- enteringClassName: "in"
31
+ className: merge(className, prefix('fade')),
32
+ enteredClassName: prefix('in'),
33
+ enteringClassName: prefix('in')
29
34
  }));
30
35
  });
31
36
 
@@ -11,18 +11,22 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
14
  var _Transition = _interopRequireDefault(require("./Transition"));
17
15
 
16
+ var _utils = require("../utils");
17
+
18
18
  var Slide = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
19
19
  var _ref$timeout = _ref.timeout,
20
20
  timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
21
21
  _ref$placement = _ref.placement,
22
22
  placement = _ref$placement === void 0 ? 'right' : _ref$placement,
23
23
  props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["timeout", "placement"]);
24
- var enterClassName = (0, _classnames.default)('slide-in', placement, 'animated');
25
- var exitClassName = (0, _classnames.default)('slide-out', placement, 'animated');
24
+
25
+ var _useClassNames = (0, _utils.useClassNames)('anim'),
26
+ prefix = _useClassNames.prefix;
27
+
28
+ var enterClassName = prefix('slide-in', placement);
29
+ var exitClassName = prefix('slide-out', placement);
26
30
  return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, props, {
27
31
  ref: ref,
28
32
  animation: true,
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
2
3
  export interface CarouselProps extends WithAsProps {
3
4
  /** Autoplay element */
@@ -8,6 +9,12 @@ export interface CarouselProps extends WithAsProps {
8
9
  placement?: 'top' | 'bottom' | 'left' | 'right';
9
10
  /** Button shape */
10
11
  shape?: 'dot' | 'bar';
12
+ /** Callback fired when the active item changes */
13
+ onSelect: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
14
+ /** Callback fired when a slide transition starts */
15
+ onSlideStart?: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
16
+ /** Callback fired when a slide transition ends */
17
+ onSlideEnd?: (index: number, event: React.TransitionEvent<HTMLDivElement>) => void;
11
18
  }
12
19
  declare const Carousel: RsRefForwardingComponent<'div', CarouselProps>;
13
20
  export default Carousel;
@@ -38,7 +38,10 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
38
38
  shape = props.shape,
39
39
  autoplay = props.autoplay,
40
40
  autoplayInterval = props.autoplayInterval,
41
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "classPrefix", "className", "placement", "shape", "autoplay", "autoplayInterval"]);
41
+ onSelect = props.onSelect,
42
+ onSlideStart = props.onSlideStart,
43
+ onSlideEnd = props.onSlideEnd,
44
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "classPrefix", "className", "placement", "shape", "autoplay", "autoplayInterval", "onSelect", "onSlideStart", "onSlideEnd"]);
42
45
 
43
46
  var _useCustom = (0, _utils.useCustom)('Carousel'),
44
47
  rtl = _useCustom.rtl;
@@ -62,23 +65,29 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
62
65
  lastIndex = _useState2[0],
63
66
  setLastIndex = _useState2[1];
64
67
 
65
- var handleAutoplay = function handleAutoplay(nextActiveIndex) {
68
+ var handleSlide = function handleSlide(nextActiveIndex, event) {
66
69
  clear();
67
- var nextIndex = nextActiveIndex !== null && nextActiveIndex !== void 0 ? nextActiveIndex : activeIndex + 1; // When index is greater than count, start from 1 again.
70
+ var index = nextActiveIndex !== null && nextActiveIndex !== void 0 ? nextActiveIndex : activeIndex + 1; // When index is greater than count, start from 1 again.
68
71
 
69
- setActiveIndex(nextIndex % count);
70
- setLastIndex(nextActiveIndex == null ? activeIndex : nextIndex % count);
72
+ var nextIndex = index % count;
73
+ setActiveIndex(nextIndex);
74
+ onSlideStart === null || onSlideStart === void 0 ? void 0 : onSlideStart(nextIndex, event);
75
+ setLastIndex(nextActiveIndex == null ? activeIndex : nextIndex);
71
76
  reset();
72
77
  };
73
78
 
74
79
  var handleChange = function handleChange(event) {
75
80
  var activeIndex = +event.target.value;
76
- handleAutoplay(activeIndex);
77
- }; // Set a timer for automatic playback.
78
- // `autoplay` needs to be cast to boolean type to avoid undefined parameters.
81
+ handleSlide(activeIndex);
82
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeIndex, event);
83
+ };
79
84
 
85
+ var handleTransitionEnd = (0, _react.useCallback)(function (event) {
86
+ onSlideEnd === null || onSlideEnd === void 0 ? void 0 : onSlideEnd(activeIndex, event);
87
+ }, [activeIndex, onSlideEnd]); // Set a timer for automatic playback.
88
+ // `autoplay` needs to be cast to boolean type to avoid undefined parameters.
80
89
 
81
- var _useTimeout = (0, _utils.useTimeout)(handleAutoplay, autoplayInterval, !!autoplay && count > 1),
90
+ var _useTimeout = (0, _utils.useTimeout)(handleSlide, autoplayInterval, !!autoplay && count > 1),
82
91
  clear = _useTimeout.clear,
83
92
  reset = _useTimeout.reset;
84
93
 
@@ -129,7 +138,8 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
129
138
  className: prefix('content')
130
139
  }, /*#__PURE__*/_react.default.createElement("div", {
131
140
  className: prefix('slider'),
132
- style: sliderStyles
141
+ style: sliderStyles,
142
+ onTransitionEnd: handleTransitionEnd
133
143
  }, items), showMask && /*#__PURE__*/_react.default.createElement("div", {
134
144
  className: prefix('slider-after', {
135
145
  'slider-after-vertical': vertical
@@ -156,7 +166,10 @@ Carousel.propTypes = {
156
166
  autoplay: _propTypes.default.bool,
157
167
  autoplayInterval: _propTypes.default.number,
158
168
  placement: _propTypes.default.oneOf(['top', 'bottom', 'left', 'right']),
159
- shape: _propTypes.default.oneOf(['dot', 'bar'])
169
+ shape: _propTypes.default.oneOf(['dot', 'bar']),
170
+ onSelect: _propTypes.default.func,
171
+ onSlideStart: _propTypes.default.func,
172
+ onSlideEnd: _propTypes.default.func
160
173
  };
161
174
  var _default = Carousel;
162
175
  exports.default = _default;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -7,15 +9,22 @@ exports.default = void 0;
7
9
 
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
13
15
 
16
+ var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
17
+
14
18
  var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
15
- return /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
16
- ref: ref,
17
- inline: true
18
- }, props));
19
+ var dragNodeRef = (0, _react.useRef)();
20
+ return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
21
+ value: {
22
+ inline: true,
23
+ dragNodeRef: dragNodeRef
24
+ }
25
+ }, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
26
+ ref: ref
27
+ }, props)));
19
28
  });
20
29
 
21
30
  CheckTree.displayName = 'CheckTree';
@@ -33,6 +33,8 @@ var _VirtualizedList = require("../Picker/VirtualizedList");
33
33
 
34
34
  var _CheckTreeNode = _interopRequireDefault(require("./CheckTreeNode"));
35
35
 
36
+ var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
37
+
36
38
  var _utils = require("../utils");
37
39
 
38
40
  var _Picker = require("../Picker");
@@ -67,7 +69,6 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
67
69
  toggleAs = props.toggleAs,
68
70
  searchKeyword = props.searchKeyword,
69
71
  overrideLocale = props.locale,
70
- inline = props.inline,
71
72
  cascade = props.cascade,
72
73
  disabled = props.disabled,
73
74
  valueKey = props.valueKey,
@@ -107,7 +108,11 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
107
108
  renderValue = props.renderValue,
108
109
  renderTreeIcon = props.renderTreeIcon,
109
110
  renderTreeNode = props.renderTreeNode,
110
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "style", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "locale", "inline", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
111
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "style", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
112
+
113
+ var _useContext = (0, _react.useContext)(_TreeContext.default),
114
+ inline = _useContext.inline;
115
+
111
116
  var triggerRef = (0, _react.useRef)();
112
117
  var targetRef = (0, _react.useRef)();
113
118
  var listRef = (0, _react.useRef)();
@@ -425,7 +430,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
425
430
  triggerRef: triggerRef,
426
431
  overlayRef: overlayRef,
427
432
  targetRef: targetRef
428
- });
433
+ }, inline);
429
434
  var handleClean = (0, _react.useCallback)(function (event) {
430
435
  var target = event.target; // exclude searchBar
431
436
 
@@ -643,7 +648,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
643
648
  }, style) : {};
644
649
  return /*#__PURE__*/_react.default.createElement("div", {
645
650
  id: id ? id + "-listbox" : undefined,
646
- ref: treeViewRef,
651
+ ref: inline ? (0, _utils.mergeRefs)(treeViewRef, ref) : treeViewRef,
647
652
  role: "tree",
648
653
  "aria-multiselectable": true,
649
654
  className: classes,
@@ -772,7 +777,6 @@ CheckTreePicker.defaultProps = defaultProps;
772
777
  CheckTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
773
778
  height: _propTypes.default.number,
774
779
  appearance: _propTypes.default.oneOf(['default', 'subtle']),
775
- inline: _propTypes.default.bool,
776
780
  locale: _propTypes.default.any,
777
781
  cascade: _propTypes.default.bool,
778
782
  countable: _propTypes.default.bool,
@@ -10,7 +10,11 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
10
10
  calendarDefaultDate?: Date;
11
11
  /** Format date */
12
12
  format?: string;
13
- /** Display date panel when component initial */
13
+ /**
14
+ * Display date panel when component initial
15
+ *
16
+ * @deprecated use <Calendar> instead
17
+ **/
14
18
  inline?: boolean;
15
19
  /** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
16
20
  isoWeek?: boolean;