rsuite 5.55.1 → 5.57.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/AutoComplete/styles/index.css +3 -3
- package/CHANGELOG.md +33 -0
- package/CascadeTree/package.json +7 -0
- package/CascadeTree/styles/index.css +273 -0
- package/CascadeTree/styles/index.less +77 -0
- package/CascadeTree/styles/search.less +45 -0
- package/Cascader/styles/index.css +190 -195
- package/Cascader/styles/index.less +1 -122
- package/CheckPicker/styles/index.css +142 -40
- package/CheckPicker/styles/index.less +1 -1
- package/CheckTree/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.less +2 -2
- package/Checkbox/styles/index.css +159 -36
- package/Checkbox/styles/index.less +32 -13
- package/DatePicker/styles/index.css +3 -3
- package/DateRangePicker/styles/index.css +3 -3
- package/InputPicker/styles/index.css +3 -3
- package/MultiCascadeTree/package.json +7 -0
- package/MultiCascadeTree/styles/index.css +3701 -0
- package/MultiCascadeTree/styles/index.less +37 -0
- package/MultiCascader/styles/index.css +213 -108
- package/MultiCascader/styles/index.less +11 -31
- package/Pagination/styles/index.css +3 -3
- package/Radio/styles/index.css +133 -19
- package/Radio/styles/index.less +28 -12
- package/RadioGroup/styles/index.css +1 -1
- package/RadioGroup/styles/index.less +1 -1
- package/SelectPicker/styles/index.css +3 -3
- package/TagGroup/styles/index.css +1 -1
- package/TagGroup/styles/index.less +1 -1
- package/TagInput/styles/index.css +141 -39
- package/TagPicker/styles/index.css +141 -39
- package/cjs/@types/common.d.ts +12 -14
- package/cjs/CascadeTree/CascadeTree.d.ts +16 -0
- package/cjs/CascadeTree/CascadeTree.js +174 -0
- package/cjs/CascadeTree/SearchView.d.ts +17 -0
- package/cjs/CascadeTree/SearchView.js +106 -0
- package/cjs/CascadeTree/TreeView.d.ts +20 -0
- package/cjs/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/cjs/CascadeTree/hooks/index.d.ts +3 -0
- package/cjs/CascadeTree/hooks/index.js +12 -0
- package/cjs/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/cjs/CascadeTree/hooks/usePaths.js +42 -0
- package/cjs/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/CascadeTree/hooks/useSearch.js +59 -0
- package/cjs/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/cjs/CascadeTree/hooks/useSelect.js +64 -0
- package/cjs/CascadeTree/index.d.ts +4 -0
- package/cjs/CascadeTree/index.js +9 -0
- package/cjs/CascadeTree/types.d.ts +66 -0
- package/cjs/CascadeTree/types.js +2 -0
- package/cjs/CascadeTree/utils.d.ts +32 -0
- package/cjs/CascadeTree/utils.js +66 -0
- package/cjs/Cascader/Cascader.d.ts +57 -26
- package/cjs/Cascader/Cascader.js +180 -247
- package/cjs/Cascader/useActive.d.ts +15 -0
- package/cjs/Cascader/useActive.js +43 -0
- package/cjs/Checkbox/Checkbox.d.ts +67 -25
- package/cjs/Checkbox/Checkbox.js +36 -26
- package/cjs/InlineEdit/InlineEdit.d.ts +1 -1
- package/cjs/InputPicker/InputPicker.js +2 -2
- package/cjs/InputPicker/InputPickerContext.d.ts +1 -1
- package/cjs/Loader/Loader.js +5 -4
- package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +131 -0
- package/cjs/MultiCascadeTree/SearchView.d.ts +17 -0
- package/cjs/MultiCascadeTree/SearchView.js +117 -0
- package/cjs/MultiCascadeTree/TreeView.d.ts +22 -0
- package/cjs/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/cjs/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/cjs/MultiCascadeTree/hooks/index.js +16 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +202 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.js +33 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.js +83 -0
- package/cjs/MultiCascadeTree/index.d.ts +4 -0
- package/cjs/MultiCascadeTree/index.js +9 -0
- package/cjs/MultiCascadeTree/types.d.ts +26 -0
- package/cjs/MultiCascadeTree/types.js +2 -0
- package/cjs/MultiCascadeTree/utils.d.ts +37 -0
- package/cjs/MultiCascadeTree/utils.js +140 -0
- package/cjs/MultiCascader/MultiCascader.d.ts +57 -29
- package/cjs/MultiCascader/MultiCascader.js +175 -287
- package/cjs/Radio/Radio.d.ts +42 -16
- package/cjs/Radio/Radio.js +42 -37
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/TagPicker/index.js +1 -1
- package/cjs/Tree/Tree.d.ts +4 -4
- package/cjs/index.d.ts +6 -1
- package/cjs/index.js +8 -3
- package/cjs/internals/Picker/ListCheckItem.d.ts +2 -11
- package/cjs/internals/Picker/ListCheckItem.js +8 -6
- package/cjs/internals/Picker/PickerToggle.d.ts +4 -5
- package/cjs/toaster/ToastContainer.d.ts +9 -2
- package/cjs/toaster/index.d.ts +0 -1
- package/cjs/toaster/index.js +1 -3
- package/cjs/useToaster/index.d.ts +2 -0
- package/cjs/useToaster/index.js +9 -0
- package/cjs/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/cjs/{toaster → useToaster}/useToaster.js +4 -4
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +5 -2
- package/dist/rsuite-no-reset-rtl.css +322 -124
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +322 -124
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +322 -124
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +322 -124
- package/dist/rsuite.js +248 -50
- 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 +12 -14
- package/esm/CascadeTree/CascadeTree.d.ts +16 -0
- package/esm/CascadeTree/CascadeTree.js +167 -0
- package/esm/CascadeTree/SearchView.d.ts +17 -0
- package/esm/CascadeTree/SearchView.js +100 -0
- package/esm/CascadeTree/TreeView.d.ts +20 -0
- package/esm/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/esm/CascadeTree/hooks/index.d.ts +3 -0
- package/esm/CascadeTree/hooks/index.js +4 -0
- package/esm/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/esm/CascadeTree/hooks/usePaths.js +36 -0
- package/esm/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/CascadeTree/hooks/useSearch.js +54 -0
- package/esm/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/esm/CascadeTree/hooks/useSelect.js +59 -0
- package/esm/CascadeTree/index.d.ts +4 -0
- package/esm/CascadeTree/index.js +3 -0
- package/esm/CascadeTree/types.d.ts +66 -0
- package/esm/CascadeTree/types.js +1 -0
- package/esm/CascadeTree/utils.d.ts +32 -0
- package/esm/CascadeTree/utils.js +61 -0
- package/esm/Cascader/Cascader.d.ts +57 -26
- package/esm/Cascader/Cascader.js +167 -233
- package/esm/Cascader/useActive.d.ts +15 -0
- package/esm/Cascader/useActive.js +37 -0
- package/esm/Checkbox/Checkbox.d.ts +67 -25
- package/esm/Checkbox/Checkbox.js +38 -28
- package/esm/InlineEdit/InlineEdit.d.ts +1 -1
- package/esm/InputPicker/InputPicker.js +2 -2
- package/esm/InputPicker/InputPickerContext.d.ts +1 -1
- package/esm/Loader/Loader.js +6 -5
- package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/esm/MultiCascadeTree/MultiCascadeTree.js +125 -0
- package/esm/MultiCascadeTree/SearchView.d.ts +17 -0
- package/esm/MultiCascadeTree/SearchView.js +111 -0
- package/esm/MultiCascadeTree/TreeView.d.ts +22 -0
- package/esm/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/esm/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/esm/MultiCascadeTree/hooks/index.js +6 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +197 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.js +46 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.js +28 -0
- package/esm/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/MultiCascadeTree/hooks/useSearch.js +47 -0
- package/esm/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/esm/MultiCascadeTree/hooks/useSelect.js +77 -0
- package/esm/MultiCascadeTree/index.d.ts +4 -0
- package/esm/MultiCascadeTree/index.js +3 -0
- package/esm/MultiCascadeTree/types.d.ts +26 -0
- package/esm/MultiCascadeTree/types.js +1 -0
- package/esm/MultiCascadeTree/utils.d.ts +37 -0
- package/esm/MultiCascadeTree/utils.js +130 -0
- package/esm/MultiCascader/MultiCascader.d.ts +57 -29
- package/esm/MultiCascader/MultiCascader.js +168 -279
- package/esm/Radio/Radio.d.ts +42 -16
- package/esm/Radio/Radio.js +43 -38
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.js +5 -5
- package/esm/TagPicker/index.js +1 -1
- package/esm/Tree/Tree.d.ts +4 -4
- package/esm/index.d.ts +6 -1
- package/esm/index.js +5 -1
- package/esm/internals/Picker/ListCheckItem.d.ts +2 -11
- package/esm/internals/Picker/ListCheckItem.js +8 -6
- package/esm/internals/Picker/PickerToggle.d.ts +4 -5
- package/esm/toaster/ToastContainer.d.ts +9 -2
- package/esm/toaster/index.d.ts +0 -1
- package/esm/toaster/index.js +0 -1
- package/esm/useToaster/index.d.ts +2 -0
- package/esm/useToaster/index.js +3 -0
- package/esm/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/esm/{toaster → useToaster}/useToaster.js +4 -4
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/internals/Picker/styles/index.less +1 -1
- package/package.json +1 -1
- package/styles/index.less +2 -0
- package/useToaster/package.json +7 -0
- package/useToaster/styles/index.css +239 -0
- package/useToaster/styles/index.less +1 -0
- package/cjs/Cascader/DropdownMenu.d.ts +0 -24
- package/cjs/Cascader/DropdownMenu.js +0 -175
- package/cjs/Cascader/TreeView.d.ts +0 -24
- package/cjs/Cascader/utils.js +0 -79
- package/cjs/MultiCascader/TreeView.d.ts +0 -25
- package/cjs/MultiCascader/utils.d.ts +0 -71
- package/cjs/MultiCascader/utils.js +0 -382
- package/esm/Cascader/DropdownMenu.d.ts +0 -24
- package/esm/Cascader/DropdownMenu.js +0 -168
- package/esm/Cascader/TreeView.d.ts +0 -24
- package/esm/Cascader/utils.js +0 -74
- package/esm/MultiCascader/TreeView.d.ts +0 -25
- package/esm/MultiCascader/utils.d.ts +0 -71
- package/esm/MultiCascader/utils.js +0 -369
|
@@ -1,43 +1,85 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
2
|
+
import { WithAsProps, RsRefForwardingComponent, TypeAttributes } from '../@types/common';
|
|
3
3
|
export declare type ValueType = string | number;
|
|
4
|
-
export interface CheckboxProps<V = ValueType> extends WithAsProps {
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export interface CheckboxProps<V = ValueType> extends WithAsProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
5
|
+
/**
|
|
6
|
+
* The color of the checkbox when checked or indeterminate
|
|
7
|
+
*
|
|
8
|
+
* @version 5.56.0
|
|
9
|
+
*/
|
|
10
|
+
color?: TypeAttributes.Color;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to show checkbox
|
|
13
|
+
*
|
|
14
|
+
* @private Used in MultiCascader
|
|
15
|
+
*/
|
|
16
|
+
checkable?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* A checkbox can appear disabled and be unable to change states
|
|
19
|
+
*/
|
|
10
20
|
disabled?: boolean;
|
|
11
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Make the control readonly
|
|
23
|
+
*/
|
|
12
24
|
readOnly?: boolean;
|
|
13
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Render the control as plain text
|
|
27
|
+
*/
|
|
14
28
|
plaintext?: boolean;
|
|
15
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Whether or not checkbox is checked.
|
|
31
|
+
*/
|
|
16
32
|
checked?: boolean;
|
|
17
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* The initial value of checked.
|
|
35
|
+
*/
|
|
18
36
|
defaultChecked?: boolean;
|
|
19
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Whether or not checkbox is indeterminate.
|
|
39
|
+
*/
|
|
20
40
|
indeterminate?: boolean;
|
|
21
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Attributes applied to the input element.
|
|
43
|
+
*/
|
|
22
44
|
inputProps?: React.HTMLAttributes<HTMLInputElement>;
|
|
23
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Pass a ref to the input element.
|
|
47
|
+
*/
|
|
24
48
|
inputRef?: React.Ref<any>;
|
|
25
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Inline layout
|
|
51
|
+
*
|
|
52
|
+
* @private Used in CheckboxGroup
|
|
53
|
+
*/
|
|
54
|
+
inline?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* The HTML input value.
|
|
57
|
+
*/
|
|
26
58
|
value?: V;
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
checkable?: boolean;
|
|
31
|
-
/** Used for the name of the form */
|
|
59
|
+
/**
|
|
60
|
+
* Used for the name of the form
|
|
61
|
+
*/
|
|
32
62
|
name?: string;
|
|
33
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Whether the label is clickable
|
|
65
|
+
*
|
|
66
|
+
* @private Used in MultiCascader
|
|
67
|
+
*/
|
|
68
|
+
labelClickable?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Called when the user attempts to change the checked state.
|
|
71
|
+
*/
|
|
34
72
|
onChange?: (value: V | undefined, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
35
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* Called when the checkbox or label is clicked.
|
|
75
|
+
*/
|
|
36
76
|
onClick?: (event: React.SyntheticEvent) => void;
|
|
37
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Called when the checkbox is clicked.
|
|
79
|
+
*
|
|
80
|
+
* @private Used in MultiCascader
|
|
81
|
+
*/
|
|
38
82
|
onCheckboxClick?: (event: React.SyntheticEvent) => void;
|
|
39
|
-
/** Called when the user presses down a key. */
|
|
40
|
-
onKeyDown?: (event: React.KeyboardEvent) => void;
|
|
41
83
|
}
|
|
42
84
|
/**
|
|
43
85
|
* The Checkbox component is used for selecting multiple options from a set.
|
package/esm/Checkbox/Checkbox.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
6
|
-
import React, { useContext,
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
6
|
+
import React, { useContext, useMemo, useRef } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import { useControlled, partitionHTMLProps, useClassNames } from '../utils';
|
|
8
|
+
import { useControlled, partitionHTMLProps, useClassNames, useEventCallback, useUniqueId, mergeRefs } from '../utils';
|
|
9
9
|
import { CheckboxGroupContext } from '../CheckboxGroup';
|
|
10
10
|
import { refType } from '../internals/propTypes';
|
|
11
11
|
/**
|
|
@@ -30,12 +30,15 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
30
30
|
classPrefix = _props$classPrefix === void 0 ? 'checkbox' : _props$classPrefix,
|
|
31
31
|
_props$checkable = props.checkable,
|
|
32
32
|
checkable = _props$checkable === void 0 ? true : _props$checkable,
|
|
33
|
+
color = props.color,
|
|
33
34
|
_props$defaultChecked = props.defaultChecked,
|
|
34
35
|
defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
|
|
35
36
|
title = props.title,
|
|
36
37
|
inputRef = props.inputRef,
|
|
37
38
|
inputProps = props.inputProps,
|
|
38
39
|
indeterminate = props.indeterminate,
|
|
40
|
+
_props$labelClickable = props.labelClickable,
|
|
41
|
+
labelClickable = _props$labelClickable === void 0 ? true : _props$labelClickable,
|
|
39
42
|
_props$tabIndex = props.tabIndex,
|
|
40
43
|
tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
|
|
41
44
|
_props$disabled = props.disabled,
|
|
@@ -52,7 +55,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
52
55
|
onClick = props.onClick,
|
|
53
56
|
onCheckboxClick = props.onCheckboxClick,
|
|
54
57
|
onChange = props.onChange,
|
|
55
|
-
rest = _objectWithoutPropertiesLoose(props, ["as", "checked", "className", "children", "classPrefix", "checkable", "defaultChecked", "title", "inputRef", "inputProps", "indeterminate", "tabIndex", "disabled", "readOnly", "plaintext", "inline", "name", "value", "onClick", "onCheckboxClick", "onChange"]);
|
|
58
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "checked", "className", "children", "classPrefix", "checkable", "color", "defaultChecked", "title", "inputRef", "inputProps", "indeterminate", "labelClickable", "tabIndex", "disabled", "readOnly", "plaintext", "inline", "name", "value", "onClick", "onCheckboxClick", "onChange"]);
|
|
56
59
|
var _useControlled = useControlled(controlledChecked, defaultChecked),
|
|
57
60
|
selfChecked = _useControlled[0],
|
|
58
61
|
setSelfChecked = _useControlled[1],
|
|
@@ -72,7 +75,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
72
75
|
merge = _useClassNames.merge,
|
|
73
76
|
prefix = _useClassNames.prefix,
|
|
74
77
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
75
|
-
var classes = merge(className, withClassPrefix({
|
|
78
|
+
var classes = merge(className, withClassPrefix(color, {
|
|
76
79
|
inline: inline,
|
|
77
80
|
indeterminate: indeterminate,
|
|
78
81
|
disabled: disabled,
|
|
@@ -87,7 +90,8 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
87
90
|
// In uncontrolled situations, use defaultChecked instead of checked
|
|
88
91
|
htmlInputProps[controlled ? 'checked' : 'defaultChecked'] = checked;
|
|
89
92
|
}
|
|
90
|
-
var
|
|
93
|
+
var checkboxRef = useRef(null);
|
|
94
|
+
var handleChange = useEventCallback(function (event) {
|
|
91
95
|
var nextChecked = event.target.checked;
|
|
92
96
|
if (disabled || readOnly) {
|
|
93
97
|
return;
|
|
@@ -95,30 +99,34 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
95
99
|
setSelfChecked(nextChecked);
|
|
96
100
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, nextChecked, event);
|
|
97
101
|
onGroupChange === null || onGroupChange === void 0 ? void 0 : onGroupChange(value, nextChecked, event);
|
|
98
|
-
}
|
|
102
|
+
});
|
|
103
|
+
var handleLabelClick = useEventCallback(function (event) {
|
|
104
|
+
// Prevent check when label is not clickable
|
|
105
|
+
if (!labelClickable && event.target !== checkboxRef.current) {
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
var labelId = useUniqueId('label-');
|
|
99
110
|
if (plaintext) {
|
|
100
111
|
return checked ? /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {
|
|
101
112
|
ref: ref,
|
|
102
113
|
className: classes
|
|
103
114
|
}), children) : null;
|
|
104
115
|
}
|
|
105
|
-
var
|
|
106
|
-
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["
|
|
107
|
-
onClick: onCheckboxClick,
|
|
108
|
-
"aria-disabled": disabled
|
|
116
|
+
var control = /*#__PURE__*/React.createElement("span", {
|
|
117
|
+
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["control"])))
|
|
109
118
|
}, /*#__PURE__*/React.createElement("input", _extends({}, htmlInputProps, inputProps, {
|
|
119
|
+
"aria-disabled": disabled,
|
|
120
|
+
"aria-checked": indeterminate ? 'mixed' : checked,
|
|
121
|
+
"aria-labelledby": labelId,
|
|
110
122
|
name: name,
|
|
111
123
|
value: value,
|
|
112
124
|
type: "checkbox",
|
|
113
|
-
ref: inputRef,
|
|
125
|
+
ref: mergeRefs(checkboxRef, inputRef),
|
|
114
126
|
tabIndex: tabIndex,
|
|
115
127
|
readOnly: readOnly,
|
|
116
128
|
disabled: disabled,
|
|
117
|
-
|
|
118
|
-
"aria-checked": indeterminate ? 'mixed' : checked,
|
|
119
|
-
onClick: function onClick(event) {
|
|
120
|
-
return event.stopPropagation();
|
|
121
|
-
},
|
|
129
|
+
onClick: onCheckboxClick,
|
|
122
130
|
onChange: handleChange
|
|
123
131
|
})), /*#__PURE__*/React.createElement("span", {
|
|
124
132
|
className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["inner"]))),
|
|
@@ -132,28 +140,30 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
132
140
|
}), /*#__PURE__*/React.createElement("div", {
|
|
133
141
|
className: prefix(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["checker"])))
|
|
134
142
|
}, /*#__PURE__*/React.createElement("label", {
|
|
135
|
-
title: title
|
|
136
|
-
|
|
143
|
+
title: title,
|
|
144
|
+
onClick: handleLabelClick
|
|
145
|
+
}, checkable ? control : null, /*#__PURE__*/React.createElement("span", {
|
|
146
|
+
className: prefix(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["label"]))),
|
|
147
|
+
id: labelId
|
|
148
|
+
}, children))));
|
|
137
149
|
});
|
|
138
150
|
Checkbox.displayName = 'Checkbox';
|
|
139
151
|
Checkbox.propTypes = {
|
|
140
152
|
as: PropTypes.elementType,
|
|
141
|
-
|
|
153
|
+
checked: PropTypes.bool,
|
|
154
|
+
checkable: PropTypes.bool,
|
|
142
155
|
className: PropTypes.string,
|
|
143
|
-
|
|
156
|
+
children: PropTypes.node,
|
|
157
|
+
classPrefix: PropTypes.string,
|
|
144
158
|
disabled: PropTypes.bool,
|
|
145
|
-
checked: PropTypes.bool,
|
|
146
159
|
defaultChecked: PropTypes.bool,
|
|
160
|
+
inline: PropTypes.bool,
|
|
147
161
|
indeterminate: PropTypes.bool,
|
|
148
|
-
onChange: PropTypes.func,
|
|
149
|
-
onClick: PropTypes.func,
|
|
150
162
|
inputProps: PropTypes.any,
|
|
151
163
|
inputRef: refType,
|
|
152
164
|
value: PropTypes.any,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
tabIndex: PropTypes.number,
|
|
156
|
-
checkable: PropTypes.bool,
|
|
165
|
+
onChange: PropTypes.func,
|
|
166
|
+
onClick: PropTypes.func,
|
|
157
167
|
onCheckboxClick: PropTypes.func
|
|
158
168
|
};
|
|
159
169
|
export default Checkbox;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
3
|
import { type ChildrenProps } from './renderChildren';
|
|
4
|
-
export interface InlineEditProps extends WithAsProps {
|
|
4
|
+
export interface InlineEditProps extends Omit<WithAsProps, 'children'> {
|
|
5
5
|
/**
|
|
6
6
|
* If true, the InlineEdit will be disabled.
|
|
7
7
|
*/
|
|
@@ -118,7 +118,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
118
118
|
trigger = _useContext.trigger,
|
|
119
119
|
disabledOptions = _useContext.disabledOptions,
|
|
120
120
|
onTagRemove = _useContext.onTagRemove,
|
|
121
|
-
|
|
121
|
+
renderCheckbox = _useContext.renderCheckbox;
|
|
122
122
|
if (groupBy === valueKey || groupBy === labelKey) {
|
|
123
123
|
throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
|
|
124
124
|
}
|
|
@@ -573,7 +573,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
573
573
|
listItemClassPrefix: multi ? undefined : menuClassPrefix + "-item",
|
|
574
574
|
listItemAs: multi ? ListCheckItem : ListItem,
|
|
575
575
|
listItemProps: {
|
|
576
|
-
|
|
576
|
+
renderCheckbox: renderCheckbox
|
|
577
577
|
},
|
|
578
578
|
activeItemValues: multi ? value : [value],
|
|
579
579
|
focusItemValue: focusItemValue,
|
|
@@ -20,7 +20,7 @@ export interface InputPickerContextProps extends TagOnlyProps {
|
|
|
20
20
|
*/
|
|
21
21
|
disabledOptions?: boolean;
|
|
22
22
|
/** Custom render checkbox on menu item */
|
|
23
|
-
|
|
23
|
+
renderCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
|
|
24
24
|
}
|
|
25
25
|
declare const InputPickerContext: React.Context<InputPickerContextProps>;
|
|
26
26
|
export default InputPickerContext;
|
package/esm/Loader/Loader.js
CHANGED
|
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { useClassNames } from '../utils';
|
|
6
|
+
import { useClassNames, useUniqueId } from '../utils';
|
|
7
7
|
import { oneOf } from '../internals/propTypes';
|
|
8
8
|
/**
|
|
9
9
|
* The `Loader` component is used to indicate the loading state of a page or a section.
|
|
@@ -24,20 +24,20 @@ var Loader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
24
24
|
content = props.content,
|
|
25
25
|
size = props.size,
|
|
26
26
|
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "inverse", "backdrop", "speed", "center", "vertical", "content", "size"]);
|
|
27
|
-
var hasContent = !!content;
|
|
28
27
|
var _useClassNames = useClassNames(classPrefix),
|
|
29
28
|
merge = _useClassNames.merge,
|
|
30
29
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
31
30
|
prefix = _useClassNames.prefix;
|
|
31
|
+
var labelId = useUniqueId('loader-label-');
|
|
32
32
|
var classes = merge(className, prefix('wrapper', "speed-" + speed, size, {
|
|
33
33
|
'backdrop-wrapper': backdrop,
|
|
34
|
-
'has-content': hasContent,
|
|
35
34
|
vertical: vertical,
|
|
36
35
|
inverse: inverse,
|
|
37
36
|
center: center
|
|
38
37
|
}));
|
|
39
38
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
40
|
-
role: "
|
|
39
|
+
role: "status",
|
|
40
|
+
"aria-labelledby": content ? labelId : undefined
|
|
41
41
|
}, rest, {
|
|
42
42
|
ref: ref,
|
|
43
43
|
className: classes
|
|
@@ -47,7 +47,8 @@ var Loader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
47
47
|
className: withClassPrefix()
|
|
48
48
|
}, /*#__PURE__*/React.createElement("span", {
|
|
49
49
|
className: prefix('spin')
|
|
50
|
-
}),
|
|
50
|
+
}), content && /*#__PURE__*/React.createElement("span", {
|
|
51
|
+
id: labelId,
|
|
51
52
|
className: prefix('content')
|
|
52
53
|
}, content)));
|
|
53
54
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DataItemValue } from '../@types/common';
|
|
3
|
+
import type { MultiCascadeTreeProps } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* The `MultiCascadeTree` component is used to select multiple values from cascading options.
|
|
6
|
+
* @see https://rsuitejs.com/components/multi-cascade-tree/
|
|
7
|
+
*/
|
|
8
|
+
declare const MultiCascadeTree: React.ForwardRefExoticComponent<MultiCascadeTreeProps<DataItemValue, DataItemValue[]> & React.RefAttributes<unknown>>;
|
|
9
|
+
export default MultiCascadeTree;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import TreeView from './TreeView';
|
|
6
|
+
import { useCascadeValue, useSelect, useSearch } from './hooks';
|
|
7
|
+
import { useClassNames, useControlled } from '../utils';
|
|
8
|
+
import SearchView from './SearchView';
|
|
9
|
+
var emptyArray = [];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The `MultiCascadeTree` component is used to select multiple values from cascading options.
|
|
13
|
+
* @see https://rsuitejs.com/components/multi-cascade-tree/
|
|
14
|
+
*/
|
|
15
|
+
var MultiCascadeTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
16
|
+
var _props$as = props.as,
|
|
17
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
18
|
+
_props$data = props.data,
|
|
19
|
+
data = _props$data === void 0 ? emptyArray : _props$data,
|
|
20
|
+
defaultValue = props.defaultValue,
|
|
21
|
+
className = props.className,
|
|
22
|
+
_props$classPrefix = props.classPrefix,
|
|
23
|
+
classPrefix = _props$classPrefix === void 0 ? 'cascade-tree' : _props$classPrefix,
|
|
24
|
+
valueProp = props.value,
|
|
25
|
+
_props$valueKey = props.valueKey,
|
|
26
|
+
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
27
|
+
_props$labelKey = props.labelKey,
|
|
28
|
+
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
29
|
+
_props$childrenKey = props.childrenKey,
|
|
30
|
+
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
31
|
+
_props$disabledItemVa = props.disabledItemValues,
|
|
32
|
+
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
33
|
+
_props$cascade = props.cascade,
|
|
34
|
+
cascade = _props$cascade === void 0 ? true : _props$cascade,
|
|
35
|
+
columnWidth = props.columnWidth,
|
|
36
|
+
columnHeight = props.columnHeight,
|
|
37
|
+
searchable = props.searchable,
|
|
38
|
+
_props$uncheckableIte = props.uncheckableItemValues,
|
|
39
|
+
uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,
|
|
40
|
+
getChildren = props.getChildren,
|
|
41
|
+
renderColumn = props.renderColumn,
|
|
42
|
+
renderTreeNode = props.renderTreeNode,
|
|
43
|
+
onSelect = props.onSelect,
|
|
44
|
+
onCheck = props.onCheck,
|
|
45
|
+
onChange = props.onChange,
|
|
46
|
+
onSearch = props.onSearch,
|
|
47
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "data", "defaultValue", "className", "classPrefix", "value", "valueKey", "labelKey", "childrenKey", "disabledItemValues", "cascade", "columnWidth", "columnHeight", "searchable", "uncheckableItemValues", "getChildren", "renderColumn", "renderTreeNode", "onSelect", "onCheck", "onChange", "onSearch"]);
|
|
48
|
+
var itemKeys = {
|
|
49
|
+
childrenKey: childrenKey,
|
|
50
|
+
labelKey: labelKey,
|
|
51
|
+
valueKey: valueKey
|
|
52
|
+
};
|
|
53
|
+
var _useSelect = useSelect({
|
|
54
|
+
data: data,
|
|
55
|
+
childrenKey: childrenKey,
|
|
56
|
+
labelKey: labelKey,
|
|
57
|
+
valueKey: valueKey,
|
|
58
|
+
onSelect: onSelect,
|
|
59
|
+
getChildren: getChildren
|
|
60
|
+
}),
|
|
61
|
+
selectedPaths = _useSelect.selectedPaths,
|
|
62
|
+
flattenData = _useSelect.flattenData,
|
|
63
|
+
columnData = _useSelect.columnData,
|
|
64
|
+
handleSelect = _useSelect.handleSelect;
|
|
65
|
+
var _useControlled = useControlled(valueProp, defaultValue),
|
|
66
|
+
controlledValue = _useControlled[0];
|
|
67
|
+
var cascadeValueProps = _extends({}, itemKeys, {
|
|
68
|
+
uncheckableItemValues: uncheckableItemValues,
|
|
69
|
+
cascade: cascade,
|
|
70
|
+
value: controlledValue,
|
|
71
|
+
onCheck: onCheck,
|
|
72
|
+
onChange: onChange
|
|
73
|
+
});
|
|
74
|
+
var _useCascadeValue = useCascadeValue(cascadeValueProps, flattenData),
|
|
75
|
+
value = _useCascadeValue.value,
|
|
76
|
+
handleCheck = _useCascadeValue.handleCheck;
|
|
77
|
+
var _useSearch = useSearch({
|
|
78
|
+
labelKey: labelKey,
|
|
79
|
+
valueKey: valueKey,
|
|
80
|
+
childrenKey: childrenKey,
|
|
81
|
+
flattenedData: flattenData,
|
|
82
|
+
uncheckableItemValues: uncheckableItemValues,
|
|
83
|
+
onSearch: onSearch
|
|
84
|
+
}),
|
|
85
|
+
items = _useSearch.items,
|
|
86
|
+
searchKeyword = _useSearch.searchKeyword,
|
|
87
|
+
handleSearch = _useSearch.handleSearch;
|
|
88
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
89
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
90
|
+
merge = _useClassNames.merge;
|
|
91
|
+
var classes = merge(className, withClassPrefix('multi'));
|
|
92
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
93
|
+
ref: ref,
|
|
94
|
+
className: classes
|
|
95
|
+
}, rest), searchable && /*#__PURE__*/React.createElement(SearchView, {
|
|
96
|
+
data: items,
|
|
97
|
+
value: value,
|
|
98
|
+
searchKeyword: searchKeyword,
|
|
99
|
+
valueKey: valueKey,
|
|
100
|
+
labelKey: labelKey,
|
|
101
|
+
childrenKey: childrenKey,
|
|
102
|
+
disabledItemValues: disabledItemValues,
|
|
103
|
+
onCheck: handleCheck,
|
|
104
|
+
onSearch: handleSearch
|
|
105
|
+
}), !searchKeyword && /*#__PURE__*/React.createElement(TreeView, {
|
|
106
|
+
cascade: cascade,
|
|
107
|
+
columnWidth: columnWidth,
|
|
108
|
+
columnHeight: columnHeight,
|
|
109
|
+
uncheckableItemValues: uncheckableItemValues,
|
|
110
|
+
disabledItemValues: disabledItemValues,
|
|
111
|
+
valueKey: valueKey,
|
|
112
|
+
labelKey: labelKey,
|
|
113
|
+
childrenKey: childrenKey,
|
|
114
|
+
classPrefix: classPrefix,
|
|
115
|
+
cascadeData: columnData,
|
|
116
|
+
cascadePaths: selectedPaths,
|
|
117
|
+
value: value,
|
|
118
|
+
onSelect: handleSelect,
|
|
119
|
+
onCheck: handleCheck,
|
|
120
|
+
renderColumn: renderColumn,
|
|
121
|
+
renderTreeNode: renderTreeNode
|
|
122
|
+
}));
|
|
123
|
+
});
|
|
124
|
+
MultiCascadeTree.displayName = 'MultiCascadeTree';
|
|
125
|
+
export default MultiCascadeTree;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ItemDataType, WithAsProps } from '../@types/common';
|
|
3
|
+
interface SearchViewProps<T> extends WithAsProps {
|
|
4
|
+
searchKeyword: string;
|
|
5
|
+
labelKey: string;
|
|
6
|
+
valueKey: string;
|
|
7
|
+
childrenKey: string;
|
|
8
|
+
value: T[];
|
|
9
|
+
data: ItemDataType<T>[];
|
|
10
|
+
disabledItemValues: any[];
|
|
11
|
+
cascade?: boolean;
|
|
12
|
+
onSearch: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
13
|
+
onCheck: (item: ItemDataType<T>, event: React.SyntheticEvent, checked: boolean) => void;
|
|
14
|
+
inputRef?: React.RefObject<HTMLInputElement>;
|
|
15
|
+
}
|
|
16
|
+
declare function SearchView<T>(props: SearchViewProps<T>): JSX.Element;
|
|
17
|
+
export default SearchView;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useClassNames, useCustom } from '../utils';
|
|
6
|
+
import { getNodeParents } from '../utils/treeUtils';
|
|
7
|
+
import SearchBox from '../internals/SearchBox';
|
|
8
|
+
import Checkbox from '../Checkbox';
|
|
9
|
+
import { isSomeChildChecked } from './utils';
|
|
10
|
+
import { highlightLabel } from '../CascadeTree/utils';
|
|
11
|
+
function SearchView(props) {
|
|
12
|
+
var _props$as = props.as,
|
|
13
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
14
|
+
_props$classPrefix = props.classPrefix,
|
|
15
|
+
classPrefix = _props$classPrefix === void 0 ? 'cascade-search-view' : _props$classPrefix,
|
|
16
|
+
className = props.className,
|
|
17
|
+
searchKeyword = props.searchKeyword,
|
|
18
|
+
childrenKey = props.childrenKey,
|
|
19
|
+
labelKey = props.labelKey,
|
|
20
|
+
valueKey = props.valueKey,
|
|
21
|
+
value = props.value,
|
|
22
|
+
data = props.data,
|
|
23
|
+
disabledItemValues = props.disabledItemValues,
|
|
24
|
+
inputRef = props.inputRef,
|
|
25
|
+
cascade = props.cascade,
|
|
26
|
+
onSearch = props.onSearch,
|
|
27
|
+
onCheck = props.onCheck,
|
|
28
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "searchKeyword", "childrenKey", "labelKey", "valueKey", "value", "data", "disabledItemValues", "inputRef", "cascade", "onSearch", "onCheck"]);
|
|
29
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
30
|
+
merge = _useClassNames.merge,
|
|
31
|
+
prefix = _useClassNames.prefix,
|
|
32
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
33
|
+
rootPrefix = _useClassNames.rootPrefix;
|
|
34
|
+
var classes = merge(className, withClassPrefix());
|
|
35
|
+
var _useCustom = useCustom('Picker'),
|
|
36
|
+
locale = _useCustom.locale;
|
|
37
|
+
var renderSearchRow = function renderSearchRow(item, key) {
|
|
38
|
+
var _extends2;
|
|
39
|
+
var nodes = getNodeParents(item);
|
|
40
|
+
var label = highlightLabel({
|
|
41
|
+
item: item,
|
|
42
|
+
labelKey: labelKey,
|
|
43
|
+
searchKeyword: searchKeyword,
|
|
44
|
+
render: function render(patch, index) {
|
|
45
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
46
|
+
key: index,
|
|
47
|
+
className: prefix('match')
|
|
48
|
+
}, patch);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
nodes.push(_extends({}, item, (_extends2 = {}, _extends2[labelKey] = label, _extends2)));
|
|
52
|
+
var active = value.some(function (value) {
|
|
53
|
+
if (cascade) {
|
|
54
|
+
return nodes.some(function (node) {
|
|
55
|
+
return node[valueKey] === value;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return item[valueKey] === value;
|
|
59
|
+
});
|
|
60
|
+
var disabled = disabledItemValues.some(function (value) {
|
|
61
|
+
return nodes.some(function (node) {
|
|
62
|
+
return node[valueKey] === value;
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
var rowClasses = prefix('row', {
|
|
66
|
+
'row-disabled': disabled
|
|
67
|
+
});
|
|
68
|
+
var indeterminate = cascade && !active && isSomeChildChecked(item, value, {
|
|
69
|
+
valueKey: valueKey,
|
|
70
|
+
childrenKey: childrenKey
|
|
71
|
+
});
|
|
72
|
+
var handleChange = function handleChange(_value, checked, event) {
|
|
73
|
+
onCheck === null || onCheck === void 0 ? void 0 : onCheck(item, event, checked);
|
|
74
|
+
};
|
|
75
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
role: "treeitem",
|
|
77
|
+
"aria-disabled": disabled,
|
|
78
|
+
key: key,
|
|
79
|
+
className: rowClasses,
|
|
80
|
+
"data-key": item[valueKey]
|
|
81
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
82
|
+
disabled: disabled,
|
|
83
|
+
checked: active,
|
|
84
|
+
value: item[valueKey],
|
|
85
|
+
indeterminate: indeterminate,
|
|
86
|
+
onChange: handleChange
|
|
87
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
88
|
+
className: prefix('col-group')
|
|
89
|
+
}, nodes.map(function (node, index) {
|
|
90
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
91
|
+
key: "col-" + index,
|
|
92
|
+
className: prefix('col')
|
|
93
|
+
}, node[labelKey]);
|
|
94
|
+
}))));
|
|
95
|
+
};
|
|
96
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
97
|
+
className: classes
|
|
98
|
+
}, rest), /*#__PURE__*/React.createElement(SearchBox, {
|
|
99
|
+
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
100
|
+
onChange: onSearch,
|
|
101
|
+
value: searchKeyword,
|
|
102
|
+
inputRef: inputRef
|
|
103
|
+
}), searchKeyword !== '' && /*#__PURE__*/React.createElement("div", {
|
|
104
|
+
className: prefix('panel'),
|
|
105
|
+
"data-layer": 0,
|
|
106
|
+
role: "tree"
|
|
107
|
+
}, data.length ? data.map(renderSearchRow) : /*#__PURE__*/React.createElement("div", {
|
|
108
|
+
className: merge(prefix('none'), rootPrefix('picker-none'))
|
|
109
|
+
}, locale.noResultsText)));
|
|
110
|
+
}
|
|
111
|
+
export default SearchView;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
+
import type { CascadeColumn } from '../CascadeTree/types';
|
|
4
|
+
export interface TreeViewProps<T = any> extends WithAsProps {
|
|
5
|
+
disabledItemValues?: T[];
|
|
6
|
+
value: T[];
|
|
7
|
+
childrenKey: string;
|
|
8
|
+
valueKey: string;
|
|
9
|
+
labelKey: string;
|
|
10
|
+
columnWidth?: number;
|
|
11
|
+
columnHeight?: number | string;
|
|
12
|
+
cascade?: boolean;
|
|
13
|
+
cascadeData: (readonly ItemDataType<T>[])[];
|
|
14
|
+
cascadePaths?: ItemDataType<T>[];
|
|
15
|
+
uncheckableItemValues: T[];
|
|
16
|
+
renderTreeNode?: (node: React.ReactNode, item: ItemDataType<T>) => React.ReactNode;
|
|
17
|
+
renderColumn?: (childNodes: React.ReactNode, column: CascadeColumn<T>) => React.ReactNode;
|
|
18
|
+
onCheck?: (node: ItemDataType<T>, event: React.SyntheticEvent, checked: boolean) => void;
|
|
19
|
+
onSelect?: (node: ItemDataType<T>, cascadePaths: ItemDataType<T>[], event: React.SyntheticEvent) => void;
|
|
20
|
+
}
|
|
21
|
+
declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
|
|
22
|
+
export default TreeView;
|