rsuite 5.3.0 → 5.4.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.
- package/CHANGELOG.md +24 -0
- package/Dropdown/styles/index.less +1 -0
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +7 -0
- package/Radio/styles/index.less +6 -0
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- package/TreePicker/styles/index.less +0 -14
- package/cjs/@types/common.d.ts +4 -4
- package/cjs/Cascader/utils.d.ts +7 -7
- package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
- package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
- package/cjs/CheckTree/index.js +2 -6
- package/cjs/DatePicker/DatePicker.js +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +6 -2
- package/cjs/Dropdown/DropdownToggle.js +8 -1
- package/cjs/MultiCascader/utils.d.ts +3 -3
- package/cjs/Nav/Nav.js +3 -0
- package/cjs/Nav/NavContext.d.ts +6 -0
- package/cjs/Nav/NavContext.js +1 -0
- package/cjs/Overlay/Modal.js +37 -25
- package/cjs/Overlay/Overlay.d.ts +1 -1
- package/cjs/Overlay/Overlay.js +7 -1
- package/cjs/Overlay/OverlayContext.d.ts +6 -0
- package/cjs/Overlay/OverlayContext.js +14 -0
- package/cjs/Overlay/OverlayTrigger.js +7 -1
- package/cjs/Overlay/Position.d.ts +1 -1
- package/cjs/Picker/propTypes.d.ts +3 -5
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +3 -3
- package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
- package/cjs/SelectPicker/SelectPicker.js +4 -4
- package/cjs/SelectPicker/index.d.ts +1 -1
- package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
- package/cjs/Stack/Stack.d.ts +26 -0
- package/cjs/Stack/Stack.js +86 -0
- package/cjs/Stack/index.d.ts +3 -0
- package/cjs/Stack/index.js +11 -0
- package/cjs/Steps/StepItem.js +2 -2
- package/cjs/Toggle/Toggle.js +2 -2
- package/cjs/Tree/Tree.d.ts +0 -1
- package/cjs/Tree/Tree.js +2 -6
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +1 -14
- package/cjs/TreePicker/TreePicker.js +3 -29
- package/cjs/index.d.ts +4 -2
- package/cjs/index.js +9 -5
- package/cjs/utils/treeUtils.d.ts +5 -5
- package/cjs/utils/usePortal.d.ts +1 -1
- package/dist/rsuite-rtl.css +20 -16
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +20 -16
- package/dist/rsuite.js +51 -18
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +4 -4
- package/esm/Cascader/utils.d.ts +7 -7
- package/esm/CheckPicker/CheckPicker.d.ts +9 -4
- package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
- package/esm/CheckTree/index.js +2 -4
- package/esm/DatePicker/DatePicker.js +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +6 -2
- package/esm/Dropdown/DropdownToggle.js +7 -1
- package/esm/MultiCascader/utils.d.ts +3 -3
- package/esm/Nav/Nav.js +3 -0
- package/esm/Nav/NavContext.d.ts +6 -0
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Overlay/Modal.js +37 -25
- package/esm/Overlay/Overlay.d.ts +1 -1
- package/esm/Overlay/Overlay.js +7 -2
- package/esm/Overlay/OverlayContext.d.ts +6 -0
- package/esm/Overlay/OverlayContext.js +4 -0
- package/esm/Overlay/OverlayTrigger.js +7 -2
- package/esm/Overlay/Position.d.ts +1 -1
- package/esm/Picker/propTypes.d.ts +3 -5
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +3 -3
- package/esm/SelectPicker/SelectPicker.d.ts +12 -5
- package/esm/SelectPicker/SelectPicker.js +4 -4
- package/esm/SelectPicker/index.d.ts +1 -1
- package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
- package/esm/Stack/Stack.d.ts +26 -0
- package/esm/Stack/Stack.js +71 -0
- package/esm/Stack/index.d.ts +3 -0
- package/esm/Stack/index.js +2 -0
- package/esm/Steps/StepItem.js +2 -2
- package/esm/Toggle/Toggle.js +2 -2
- package/esm/Tree/Tree.d.ts +0 -1
- package/esm/Tree/Tree.js +2 -4
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +2 -14
- package/esm/TreePicker/TreePicker.js +3 -29
- package/esm/index.d.ts +4 -2
- package/esm/index.js +2 -1
- package/esm/utils/treeUtils.d.ts +5 -5
- package/esm/utils/usePortal.d.ts +1 -1
- package/package.json +1 -1
- package/styles/index.less +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# [5.4.0](https://github.com/rsuite/rsuite/compare/v5.3.0...v5.4.0) (2021-12-17)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **DatePicker,DateRangePicker:** suppress depreated caretComponent warning ([#2233](https://github.com/rsuite/rsuite/issues/2233)) ([3a79d48](https://github.com/rsuite/rsuite/commit/3a79d486268ff31ad6a620dfc17165c3be259219))
|
|
6
|
+
- **DateRangePicker:** fix selecting ending date not working ([#2217](https://github.com/rsuite/rsuite/issues/2217)) ([2136aa3](https://github.com/rsuite/rsuite/commit/2136aa3327f914a910fb5805b2d11a036e0f6601))
|
|
7
|
+
- **Modal:** fix Modal focus being reset on re-rendering ([#2208](https://github.com/rsuite/rsuite/issues/2208)) ([a931b06](https://github.com/rsuite/rsuite/commit/a931b06942e7fc011ab77e70b105f5790a33e55b))
|
|
8
|
+
- **Nav:** fix incorrect Dropdown button background ([#2227](https://github.com/rsuite/rsuite/issues/2227)) ([421de83](https://github.com/rsuite/rsuite/commit/421de838ed13694254cc6a178d0369e12b666202))
|
|
9
|
+
- **Navbar:** fix icon style in Navbar items ([#2229](https://github.com/rsuite/rsuite/issues/2229)) ([560df61](https://github.com/rsuite/rsuite/commit/560df61a44c0338b153b2c09a50e946c207c684a))
|
|
10
|
+
- **Overlay:** overlay is rendered inside Modal by default ([#2230](https://github.com/rsuite/rsuite/issues/2230)) ([4fac628](https://github.com/rsuite/rsuite/commit/4fac628e23e41db097ec63c2ac348a7345f3ee31))
|
|
11
|
+
- **Radio:** fix unclickable without children ([#2190](https://github.com/rsuite/rsuite/issues/2190)) ([cef5946](https://github.com/rsuite/rsuite/commit/cef59463e281d6aa6b4b9576204d16eed58087c8))
|
|
12
|
+
- **SelectPicker:** fix onChange argument type ([#2193](https://github.com/rsuite/rsuite/issues/2193)) ([db0efa9](https://github.com/rsuite/rsuite/commit/db0efa94ad33de5d02bfd81e926cf622c40ecce7))
|
|
13
|
+
- **Steps:** step item not rendering number ([#2202](https://github.com/rsuite/rsuite/issues/2202)) ([413880b](https://github.com/rsuite/rsuite/commit/413880be99972d8a58d5f0a0c9b6b08017ad33a2))
|
|
14
|
+
- **Toggle:** fix Toggle is still clickable in loading state ([#2219](https://github.com/rsuite/rsuite/issues/2219)) ([e5661fd](https://github.com/rsuite/rsuite/commit/e5661fdb4ef659527ca97c2ea2231b4025e904d3))
|
|
15
|
+
- **Tree:** remove dragNode Element when drag node ([#2185](https://github.com/rsuite/rsuite/issues/2185)) ([#2237](https://github.com/rsuite/rsuite/issues/2237)) ([f6e959f](https://github.com/rsuite/rsuite/commit/f6e959f4aa24f0fa87b5fa1bbc6e1aa775fecd2b))
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **Stack:** add Stack support to the layout ([#2199](https://github.com/rsuite/rsuite/issues/2199)) ([1ac132e](https://github.com/rsuite/rsuite/commit/1ac132e0fc98a6739dee07d9e6281202530d80fa))
|
|
20
|
+
|
|
21
|
+
### Performance Improvements
|
|
22
|
+
|
|
23
|
+
- **CheckPicker:** infer value and onChange types from data prop ([#2228](https://github.com/rsuite/rsuite/issues/2228)) ([eb4f9a8](https://github.com/rsuite/rsuite/commit/eb4f9a8f4c84cf30b3521532d95f4dc2490d0699))
|
|
24
|
+
|
|
1
25
|
# [5.3.0](https://github.com/rsuite/rsuite/compare/5.2.4...5.3.0) (2021-12-10)
|
|
2
26
|
|
|
3
27
|
### Bug Fixes
|
package/Nav/styles/index.less
CHANGED
package/Navbar/styles/index.less
CHANGED
package/Radio/styles/index.less
CHANGED
|
@@ -13,20 +13,6 @@
|
|
|
13
13
|
overflow-y: auto;
|
|
14
14
|
flex: 1 1 auto;
|
|
15
15
|
|
|
16
|
-
&-drag-node-mover {
|
|
17
|
-
position: absolute;
|
|
18
|
-
top: -1000px;
|
|
19
|
-
color: var(--rs-text-primary);
|
|
20
|
-
background-color: var(--rs-bg-overlay);
|
|
21
|
-
display: inline-block;
|
|
22
|
-
margin: 0;
|
|
23
|
-
padding: @picker-tree-node-padding-vertical @picker-tree-node-padding-horizontal;
|
|
24
|
-
border-radius: 6px;
|
|
25
|
-
box-shadow: 0 1px 8px rgba(0, 0, 0, 0.12);
|
|
26
|
-
z-index: 1060;
|
|
27
|
-
cursor: move;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
16
|
&.rs-tree-virtualized {
|
|
31
17
|
overflow: hidden;
|
|
32
18
|
|
package/cjs/@types/common.d.ts
CHANGED
|
@@ -134,12 +134,12 @@ export interface SVGIcon {
|
|
|
134
134
|
viewBox: string;
|
|
135
135
|
id: string;
|
|
136
136
|
}
|
|
137
|
-
export interface ItemDataType extends Record<string, any> {
|
|
137
|
+
export interface ItemDataType<T = number | string> extends Record<string, any> {
|
|
138
138
|
label?: string | React.ReactNode;
|
|
139
|
-
value?:
|
|
139
|
+
value?: T;
|
|
140
140
|
groupBy?: string;
|
|
141
|
-
parent?: ItemDataType
|
|
142
|
-
children?: ItemDataType[];
|
|
141
|
+
parent?: ItemDataType<T>;
|
|
142
|
+
children?: ItemDataType<T>[];
|
|
143
143
|
loading?: boolean;
|
|
144
144
|
}
|
|
145
145
|
export interface Offset {
|
package/cjs/Cascader/utils.d.ts
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
import { CascaderProps } from './Cascader';
|
|
3
3
|
import { ItemDataType } from '../@types/common';
|
|
4
4
|
export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], value: any, options: any): {
|
|
5
|
-
columns: ItemDataType[][];
|
|
5
|
+
columns: ItemDataType<string | number>[][];
|
|
6
6
|
paths: T[];
|
|
7
7
|
};
|
|
8
8
|
export declare function usePaths(props: CascaderProps): {
|
|
9
9
|
enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
|
|
10
|
-
columnData: ItemDataType[][];
|
|
11
|
-
valueToPaths: ItemDataType[];
|
|
12
|
-
selectedPaths: ItemDataType[];
|
|
13
|
-
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
14
|
-
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
|
|
15
|
-
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
10
|
+
columnData: ItemDataType<string | number>[][];
|
|
11
|
+
valueToPaths: ItemDataType<string | number>[];
|
|
12
|
+
selectedPaths: ItemDataType<string | number>[];
|
|
13
|
+
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
14
|
+
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
|
|
15
|
+
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
16
16
|
addColumn: (column: ItemDataType[], index: number) => void;
|
|
17
17
|
};
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { PickerLocale } from '../locales';
|
|
2
|
-
import { PickerComponent } from '../Picker';
|
|
3
3
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
4
|
-
import {
|
|
4
|
+
import type { MultipleSelectProps } from '../SelectPicker';
|
|
5
5
|
export declare type ValueType = (number | string)[];
|
|
6
|
-
export interface CheckPickerProps<T
|
|
6
|
+
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T> {
|
|
7
7
|
/** Top the selected option in the options */
|
|
8
8
|
sticky?: boolean;
|
|
9
9
|
/** A picker that can be counted */
|
|
10
10
|
countable?: boolean;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
export interface CheckPickerComponent {
|
|
13
|
+
<T>(props: CheckPickerProps<T>): JSX.Element | null;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
16
|
+
}
|
|
17
|
+
declare const CheckPicker: CheckPickerComponent;
|
|
13
18
|
export default CheckPicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _tsExpect = require("ts-expect");
|
|
8
|
+
|
|
9
|
+
var _CheckPicker = _interopRequireDefault(require("../CheckPicker"));
|
|
10
|
+
|
|
11
|
+
// Infer value and onChange types from data
|
|
12
|
+
var numberValuedData = [{
|
|
13
|
+
label: 'One',
|
|
14
|
+
value: 1
|
|
15
|
+
}];
|
|
16
|
+
|
|
17
|
+
/*#__PURE__*/
|
|
18
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
19
|
+
data: numberValuedData,
|
|
20
|
+
value: [1]
|
|
21
|
+
}); // @ts-expect-error should not accept single value
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/*#__PURE__*/
|
|
25
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
26
|
+
data: numberValuedData,
|
|
27
|
+
value: 1
|
|
28
|
+
}); // @ts-expect-error should not accept string value
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/*#__PURE__*/
|
|
32
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
33
|
+
data: numberValuedData,
|
|
34
|
+
value: ['1']
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
/*#__PURE__*/
|
|
38
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
39
|
+
data: numberValuedData,
|
|
40
|
+
onChange: function onChange(newValue) {
|
|
41
|
+
(0, _tsExpect.expectType)(newValue);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
var stringValuedData = [{
|
|
46
|
+
label: 'One',
|
|
47
|
+
value: 'One'
|
|
48
|
+
}];
|
|
49
|
+
|
|
50
|
+
/*#__PURE__*/
|
|
51
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
52
|
+
data: stringValuedData,
|
|
53
|
+
value: ['1']
|
|
54
|
+
}); // @ts-expect-error should not accept single value
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
/*#__PURE__*/
|
|
58
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
59
|
+
data: numberValuedData,
|
|
60
|
+
value: "1"
|
|
61
|
+
}); // @ts-expect-error should not accept number value
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/*#__PURE__*/
|
|
65
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
66
|
+
data: stringValuedData,
|
|
67
|
+
value: [1]
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
/*#__PURE__*/
|
|
71
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
72
|
+
data: stringValuedData,
|
|
73
|
+
onChange: function onChange(newValue) {
|
|
74
|
+
(0, _tsExpect.expectType)(newValue);
|
|
75
|
+
}
|
|
76
|
+
});
|
package/cjs/CheckTree/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
7
5
|
exports.__esModule = true;
|
|
@@ -9,18 +7,16 @@ exports.default = void 0;
|
|
|
9
7
|
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
9
|
|
|
12
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
|
|
14
12
|
var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
|
|
15
13
|
|
|
16
14
|
var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
|
|
17
15
|
|
|
18
16
|
var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
19
|
-
var dragNodeRef = (0, _react.useRef)();
|
|
20
17
|
return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
|
|
21
18
|
value: {
|
|
22
|
-
inline: true
|
|
23
|
-
dragNodeRef: dragNodeRef
|
|
19
|
+
inline: true
|
|
24
20
|
}
|
|
25
21
|
}, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
|
|
26
22
|
ref: ref
|
|
@@ -439,7 +439,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
439
439
|
|
|
440
440
|
return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);
|
|
441
441
|
}, [formatStr, formatDate, placeholder, renderValue, value]);
|
|
442
|
-
var
|
|
442
|
+
var caretAs = (0, _react.useMemo)(function () {
|
|
443
443
|
return _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;
|
|
444
444
|
}, [formatStr]);
|
|
445
445
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
@@ -475,7 +475,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
475
475
|
active: active,
|
|
476
476
|
placement: placement,
|
|
477
477
|
disabled: disabled,
|
|
478
|
-
|
|
478
|
+
caretAs: caretAs
|
|
479
479
|
}), renderDate())));
|
|
480
480
|
});
|
|
481
481
|
|
|
@@ -294,6 +294,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
294
294
|
setHoverDateRange(nextHoverDateRange);
|
|
295
295
|
}
|
|
296
296
|
}, [getHoverRangeValue, hoverRange]);
|
|
297
|
+
/**
|
|
298
|
+
* Callback for selecting a date cell in the calendar grid
|
|
299
|
+
*/
|
|
300
|
+
|
|
297
301
|
var handleSelectDate = (0, _react.useCallback)(function (date, event) {
|
|
298
302
|
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
299
303
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
@@ -329,7 +333,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
329
333
|
nextSelectDates.reverse();
|
|
330
334
|
}
|
|
331
335
|
|
|
332
|
-
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates :
|
|
336
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
333
337
|
setSelectedDates(nextSelectDates);
|
|
334
338
|
updateCalendarDate(nextSelectDates);
|
|
335
339
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
@@ -628,7 +632,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
628
632
|
hasValue: hasValue,
|
|
629
633
|
active: isPickerToggleActive,
|
|
630
634
|
placement: placement,
|
|
631
|
-
|
|
635
|
+
caretAs: _Calendar.default,
|
|
632
636
|
disabled: disabled
|
|
633
637
|
}), getDisplayString(value))));
|
|
634
638
|
});
|
|
@@ -23,6 +23,8 @@ var _useToggleCaret = _interopRequireDefault(require("../utils/useToggleCaret"))
|
|
|
23
23
|
|
|
24
24
|
var _Sidenav = require("../Sidenav/Sidenav");
|
|
25
25
|
|
|
26
|
+
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
27
|
+
|
|
26
28
|
var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
27
29
|
var _props$as = props.as,
|
|
28
30
|
Component = _props$as === void 0 ? _Button.default : _props$as,
|
|
@@ -38,6 +40,9 @@ var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
38
40
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "renderToggle", "children", "icon", "noCaret", "placement"]);
|
|
39
41
|
var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
|
|
40
42
|
|
|
43
|
+
var _useContext = (0, _react.useContext)(_NavContext.default),
|
|
44
|
+
withinNav = _useContext.withinNav;
|
|
45
|
+
|
|
41
46
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
42
47
|
prefix = _useClassNames.prefix,
|
|
43
48
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -50,7 +55,9 @@ var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
50
55
|
|
|
51
56
|
var Caret = (0, _useToggleCaret.default)(inSidenav ? 'bottomStart' : placement);
|
|
52
57
|
|
|
53
|
-
var toggle = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
58
|
+
var toggle = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
59
|
+
appearance: withinNav ? 'subtle' : undefined
|
|
60
|
+
}, rest, {
|
|
54
61
|
ref: ref,
|
|
55
62
|
className: classes
|
|
56
63
|
}), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
@@ -39,16 +39,16 @@ export declare const removeAllChildrenValue: <T>(value: T[], item: ItemType, ite
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function useFlattenData(data: ItemDataType[], itemKeys: ItemKeys): {
|
|
41
41
|
addFlattenData: (children: ItemDataType[], parent: ItemDataType) => void;
|
|
42
|
-
flattenData: ItemDataType[];
|
|
42
|
+
flattenData: ItemDataType<string | number>[];
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
45
|
* A hook for column data
|
|
46
46
|
* @param flattenData
|
|
47
47
|
*/
|
|
48
48
|
export declare function useColumnData(flattenData: ItemType[]): {
|
|
49
|
-
columnData: ItemDataType[][];
|
|
49
|
+
columnData: ItemDataType<string | number>[][];
|
|
50
50
|
addColumn: (column: ItemDataType[], index: number) => void;
|
|
51
|
-
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
|
|
51
|
+
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
|
|
52
52
|
enforceUpdateColumnData: (nextData: ItemDataType[]) => void;
|
|
53
53
|
};
|
|
54
54
|
/**
|
package/cjs/Nav/Nav.js
CHANGED
|
@@ -79,6 +79,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
79
79
|
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
80
80
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
81
81
|
value: {
|
|
82
|
+
withinNav: true,
|
|
82
83
|
activeKey: activeKey,
|
|
83
84
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
84
85
|
}
|
|
@@ -93,6 +94,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
93
94
|
if (sidenav) {
|
|
94
95
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
95
96
|
value: {
|
|
97
|
+
withinNav: true,
|
|
96
98
|
activeKey: activeKey,
|
|
97
99
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
98
100
|
}
|
|
@@ -109,6 +111,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
109
111
|
|
|
110
112
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
111
113
|
value: {
|
|
114
|
+
withinNav: true,
|
|
112
115
|
activeKey: activeKey,
|
|
113
116
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
114
117
|
}
|
package/cjs/Nav/NavContext.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface NavContextProps {
|
|
3
|
+
/**
|
|
4
|
+
* Whether component is rendered within a <Nav>
|
|
5
|
+
*
|
|
6
|
+
* FIXME: Bad design. Should use NavContextProps | null to determin whether within a <Nav>
|
|
7
|
+
*/
|
|
8
|
+
withinNav: boolean;
|
|
3
9
|
activeKey: string | null;
|
|
4
10
|
onSelect?: (eventKey: string | undefined, event: React.SyntheticEvent) => void;
|
|
5
11
|
}
|
package/cjs/Nav/NavContext.js
CHANGED
package/cjs/Overlay/Modal.js
CHANGED
|
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
|
|
18
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
19
|
|
|
20
|
-
var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
|
|
21
|
-
|
|
22
20
|
var _contains = _interopRequireDefault(require("dom-lib/contains"));
|
|
23
21
|
|
|
24
22
|
var _getContainer = _interopRequireDefault(require("dom-lib/getContainer"));
|
|
@@ -33,6 +31,8 @@ var _utils = require("../Animation/utils");
|
|
|
33
31
|
|
|
34
32
|
var _utils2 = require("../utils");
|
|
35
33
|
|
|
34
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
35
|
+
|
|
36
36
|
var manager;
|
|
37
37
|
|
|
38
38
|
function getManager() {
|
|
@@ -125,12 +125,12 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
125
125
|
|
|
126
126
|
var mountModal = open || Transition && !exited;
|
|
127
127
|
var lastFocus = (0, _react.useRef)(null);
|
|
128
|
-
var handleDocumentKeyDown = (0,
|
|
128
|
+
var handleDocumentKeyDown = (0, _utils2.useEventCallback)(function (event) {
|
|
129
129
|
if (keyboard && event.key === _utils2.KEY_VALUES.ESC && modal.isTopModal()) {
|
|
130
130
|
onEsc === null || onEsc === void 0 ? void 0 : onEsc(event);
|
|
131
131
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
132
132
|
}
|
|
133
|
-
}
|
|
133
|
+
});
|
|
134
134
|
var restoreLastFocus = (0, _react.useCallback)(function () {
|
|
135
135
|
if (lastFocus.current) {
|
|
136
136
|
var _lastFocus$current$fo, _lastFocus$current;
|
|
@@ -139,19 +139,29 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
139
139
|
lastFocus.current = null;
|
|
140
140
|
}
|
|
141
141
|
}, []);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Determines if the currently focused element is inside the dialog,
|
|
144
|
+
* and if not, returns the focus to the dialog.
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
146
147
|
|
|
148
|
+
var handleFocusDialog = (0, _utils2.useEventCallback)(function (onBeforeFocusCallback) {
|
|
147
149
|
var currentActiveElement = document.activeElement;
|
|
148
150
|
var dialog = modal.dialog;
|
|
149
151
|
|
|
150
|
-
if (dialog &&
|
|
152
|
+
if (dialog && currentActiveElement && !(0, _contains.default)(dialog, currentActiveElement)) {
|
|
153
|
+
onBeforeFocusCallback === null || onBeforeFocusCallback === void 0 ? void 0 : onBeforeFocusCallback();
|
|
151
154
|
dialog.focus();
|
|
152
155
|
}
|
|
153
|
-
}
|
|
154
|
-
var
|
|
156
|
+
});
|
|
157
|
+
var handleEnforceFocus = (0, _utils2.useEventCallback)(function () {
|
|
158
|
+
if (!enforceFocus || !modal.isTopModal()) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
handleFocusDialog();
|
|
163
|
+
});
|
|
164
|
+
var handleBackdropClick = (0, _utils2.useEventCallback)(function (event) {
|
|
155
165
|
if (event.target !== event.currentTarget) {
|
|
156
166
|
return;
|
|
157
167
|
}
|
|
@@ -161,10 +171,10 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
161
171
|
if (backdrop === true) {
|
|
162
172
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
163
173
|
}
|
|
164
|
-
}
|
|
174
|
+
});
|
|
165
175
|
var documentKeyDownListener = (0, _react.useRef)();
|
|
166
176
|
var documentFocusListener = (0, _react.useRef)();
|
|
167
|
-
var handleOpen = (0,
|
|
177
|
+
var handleOpen = (0, _utils2.useEventCallback)(function () {
|
|
168
178
|
var containerElement = (0, _getContainer.default)(container, document.body);
|
|
169
179
|
modal.add(containerElement, containerClassName);
|
|
170
180
|
|
|
@@ -176,19 +186,15 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
176
186
|
documentFocusListener.current = (0, _on.default)(document, 'focus', handleEnforceFocus, true);
|
|
177
187
|
}
|
|
178
188
|
|
|
179
|
-
if (_canUseDOM.default) {
|
|
180
|
-
lastFocus.current = document.activeElement;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
189
|
if (autoFocus) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
190
|
+
handleFocusDialog(function () {
|
|
191
|
+
lastFocus.current = document.activeElement;
|
|
192
|
+
});
|
|
187
193
|
}
|
|
188
194
|
|
|
189
195
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
190
|
-
}
|
|
191
|
-
var handleClose = (0,
|
|
196
|
+
});
|
|
197
|
+
var handleClose = (0, _utils2.useEventCallback)(function () {
|
|
192
198
|
var _documentKeyDownListe, _documentFocusListene;
|
|
193
199
|
|
|
194
200
|
modal.remove();
|
|
@@ -197,7 +203,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
197
203
|
(_documentFocusListene = documentFocusListener.current) === null || _documentFocusListene === void 0 ? void 0 : _documentFocusListene.off();
|
|
198
204
|
documentFocusListener.current = null;
|
|
199
205
|
restoreLastFocus();
|
|
200
|
-
}
|
|
206
|
+
});
|
|
201
207
|
(0, _react.useEffect)(function () {
|
|
202
208
|
if (!open) {
|
|
203
209
|
return;
|
|
@@ -265,12 +271,18 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
265
271
|
onEntering: onEntering,
|
|
266
272
|
onEntered: onEntered
|
|
267
273
|
}), children) : children;
|
|
268
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
274
|
+
return /*#__PURE__*/_react.default.createElement(_OverlayContext.default.Provider, {
|
|
275
|
+
value: {
|
|
276
|
+
overlayContainer: function overlayContainer() {
|
|
277
|
+
return modal.dialog;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}, /*#__PURE__*/_react.default.createElement(Portal, null, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
269
281
|
ref: (0, _utils2.mergeRefs)(modal.setDialogRef, ref),
|
|
270
282
|
style: style,
|
|
271
283
|
className: className,
|
|
272
284
|
tabIndex: -1
|
|
273
|
-
}), backdrop && renderBackdrop(), dialogElement));
|
|
285
|
+
}), backdrop && renderBackdrop(), dialogElement)));
|
|
274
286
|
});
|
|
275
287
|
|
|
276
288
|
var modalPropTypes = {
|
package/cjs/Overlay/Overlay.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { TypeAttributes, AnimationEventProps } from '../@types/common';
|
|
4
4
|
export interface OverlayProps extends AnimationEventProps {
|
|
5
|
-
container?: HTMLElement | (() => HTMLElement);
|
|
5
|
+
container?: HTMLElement | (() => HTMLElement | null) | null;
|
|
6
6
|
children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
|
|
7
7
|
childrenProps?: React.HTMLAttributes<HTMLElement>;
|
|
8
8
|
className?: string;
|
package/cjs/Overlay/Overlay.js
CHANGED
|
@@ -21,6 +21,8 @@ var _utils = require("../utils");
|
|
|
21
21
|
|
|
22
22
|
var _Fade = _interopRequireDefault(require("../Animation/Fade"));
|
|
23
23
|
|
|
24
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
25
|
+
|
|
24
26
|
var overlayPropTypes = {
|
|
25
27
|
container: _propTypes.default.any,
|
|
26
28
|
children: _propTypes.default.any,
|
|
@@ -44,7 +46,11 @@ var overlayPropTypes = {
|
|
|
44
46
|
exports.overlayPropTypes = overlayPropTypes;
|
|
45
47
|
|
|
46
48
|
var Overlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
47
|
-
var
|
|
49
|
+
var _useContext = (0, _react.useContext)(_OverlayContext.default),
|
|
50
|
+
overlayContainer = _useContext.overlayContainer;
|
|
51
|
+
|
|
52
|
+
var _props$container = props.container,
|
|
53
|
+
container = _props$container === void 0 ? overlayContainer : _props$container,
|
|
48
54
|
containerPadding = props.containerPadding,
|
|
49
55
|
placement = props.placement,
|
|
50
56
|
rootClose = props.rootClose,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var OverlayContext = /*#__PURE__*/_react.default.createContext({});
|
|
11
|
+
|
|
12
|
+
OverlayContext.displayName = 'OverlayContext';
|
|
13
|
+
var _default = OverlayContext;
|
|
14
|
+
exports.default = _default;
|
|
@@ -27,6 +27,8 @@ var _utils = require("../utils");
|
|
|
27
27
|
|
|
28
28
|
var _isOneOf = _interopRequireDefault(require("../utils/isOneOf"));
|
|
29
29
|
|
|
30
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
31
|
+
|
|
30
32
|
function mergeEvents(events, props) {
|
|
31
33
|
if (events === void 0) {
|
|
32
34
|
events = {};
|
|
@@ -66,8 +68,12 @@ function onMouseEventHandler(handler, event, delay) {
|
|
|
66
68
|
var defaultTrigger = ['hover', 'focus'];
|
|
67
69
|
|
|
68
70
|
var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
71
|
+
var _useContext = (0, _react.useContext)(_OverlayContext.default),
|
|
72
|
+
overlayContainer = _useContext.overlayContainer;
|
|
73
|
+
|
|
69
74
|
var children = props.children,
|
|
70
|
-
container = props.container,
|
|
75
|
+
_props$container = props.container,
|
|
76
|
+
container = _props$container === void 0 ? overlayContainer : _props$container,
|
|
71
77
|
controlId = props.controlId,
|
|
72
78
|
defaultOpen = props.defaultOpen,
|
|
73
79
|
_props$trigger = props.trigger,
|