rsuite 5.50.0 → 5.51.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 +11 -0
- package/CheckTreePicker/styles/index.less +3 -3
- package/DatePicker/styles/index.less +1 -1
- package/Form/styles/mixin.less +1 -2
- package/InputGroup/styles/index.less +0 -14
- package/InputPicker/styles/index.less +1 -1
- package/Picker/styles/index.less +2 -2
- package/Picker/styles/mixin.less +3 -3
- package/TagInput/styles/index.less +1 -1
- package/TagPicker/styles/index.less +5 -1
- package/TreePicker/styles/index.less +2 -2
- package/cjs/@types/common.d.ts +8 -0
- package/cjs/AutoComplete/AutoComplete.js +14 -11
- package/cjs/AutoComplete/Combobox.d.ts +8 -0
- package/cjs/AutoComplete/Combobox.js +31 -0
- package/cjs/Calendar/CalendarContainer.js +35 -37
- package/cjs/Cascader/Cascader.js +12 -11
- package/cjs/Cascader/DropdownMenu.d.ts +3 -20
- package/cjs/Cascader/DropdownMenu.js +48 -48
- package/cjs/Cascader/TreeView.d.ts +24 -0
- package/cjs/Cascader/TreeView.js +174 -0
- package/cjs/CheckPicker/CheckPicker.js +9 -8
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
- package/cjs/CheckTreePicker/CheckTreePicker.js +20 -20
- package/cjs/DatePicker/DatePicker.js +5 -6
- package/cjs/DateRangePicker/DateRangePicker.js +3 -4
- package/cjs/Form/Form.d.ts +14 -0
- package/cjs/Form/Form.js +39 -30
- package/cjs/Form/FormContext.d.ts +1 -0
- package/cjs/FormControl/FormControl.js +40 -18
- package/cjs/FormGroup/FormGroup.js +2 -1
- package/cjs/InputPicker/InputPicker.js +46 -29
- package/cjs/InputPicker/InputSearch.js +3 -15
- package/cjs/InputPicker/TagList.d.ts +3 -0
- package/cjs/InputPicker/TagList.js +29 -0
- package/cjs/InputPicker/TextBox.d.ts +18 -0
- package/cjs/InputPicker/TextBox.js +48 -0
- package/cjs/MultiCascader/MultiCascader.js +13 -10
- package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +77 -74
- package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/Picker/ListCheckItem.d.ts} +3 -3
- package/cjs/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +14 -30
- package/{esm/Picker/DropdownMenuItem.d.ts → cjs/Picker/ListItem.d.ts} +4 -4
- package/cjs/Picker/{DropdownMenuItem.js → ListItem.js} +15 -24
- package/cjs/Picker/ListItemGroup.d.ts +6 -0
- package/cjs/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/cjs/Picker/Listbox.d.ts +35 -0
- package/cjs/Picker/{DropdownMenu.js → Listbox.js} +49 -64
- package/cjs/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/cjs/Picker/{PickerOverlay.js → PickerPopup.js} +9 -7
- package/cjs/Picker/PickerToggle.d.ts +1 -1
- package/cjs/Picker/PickerToggle.js +16 -9
- package/cjs/Picker/PickerToggleTrigger.d.ts +15 -0
- package/cjs/Picker/PickerToggleTrigger.js +21 -5
- package/cjs/Picker/SearchBar.js +7 -9
- package/cjs/Picker/TreeView.d.ts +7 -0
- package/cjs/Picker/TreeView.js +31 -0
- package/cjs/Picker/hooks/index.d.ts +6 -0
- package/cjs/Picker/hooks/index.js +18 -0
- package/cjs/Picker/hooks/useCombobox.d.ts +7 -0
- package/cjs/Picker/hooks/useCombobox.js +22 -0
- package/cjs/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/cjs/Picker/hooks/useFocusItemValue.js +246 -0
- package/cjs/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/cjs/Picker/hooks/usePickerClassName.js +39 -0
- package/cjs/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +2 -2
- package/cjs/Picker/{usePickerRef.js → hooks/usePickerRef.js} +1 -1
- package/cjs/Picker/hooks/useSearch.d.ts +18 -0
- package/cjs/Picker/hooks/useSearch.js +57 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.js +101 -0
- package/cjs/Picker/index.d.ts +7 -6
- package/cjs/Picker/index.js +26 -19
- package/cjs/Picker/propTypes.d.ts +0 -6
- package/cjs/Picker/propTypes.js +0 -5
- package/cjs/Picker/utils.d.ts +2 -96
- package/cjs/Picker/utils.js +1 -406
- package/cjs/SelectPicker/SelectPicker.js +8 -8
- package/cjs/TagInput/index.js +4 -0
- package/cjs/TreePicker/TreeNode.d.ts +2 -2
- package/cjs/TreePicker/TreeNode.js +22 -56
- package/cjs/TreePicker/TreePicker.js +19 -20
- package/dist/rsuite-no-reset-rtl.css +109 -117
- 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 +109 -117
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +109 -117
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +109 -117
- package/dist/rsuite.js +184 -74
- 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 +8 -0
- package/esm/AutoComplete/AutoComplete.js +15 -12
- package/esm/AutoComplete/Combobox.d.ts +8 -0
- package/esm/AutoComplete/Combobox.js +25 -0
- package/esm/Calendar/CalendarContainer.js +37 -39
- package/esm/Cascader/Cascader.js +13 -12
- package/esm/Cascader/DropdownMenu.d.ts +3 -20
- package/esm/Cascader/DropdownMenu.js +50 -49
- package/esm/Cascader/TreeView.d.ts +24 -0
- package/esm/Cascader/TreeView.js +167 -0
- package/esm/CheckPicker/CheckPicker.js +10 -9
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
- package/esm/CheckTreePicker/CheckTreePicker.js +21 -21
- package/esm/DatePicker/DatePicker.js +5 -6
- package/esm/DateRangePicker/DateRangePicker.js +3 -4
- package/esm/Form/Form.d.ts +14 -0
- package/esm/Form/Form.js +41 -32
- package/esm/Form/FormContext.d.ts +1 -0
- package/esm/FormControl/FormControl.js +39 -17
- package/esm/FormGroup/FormGroup.js +3 -2
- package/esm/InputPicker/InputPicker.js +47 -30
- package/esm/InputPicker/InputSearch.js +4 -15
- package/esm/InputPicker/TagList.d.ts +3 -0
- package/esm/InputPicker/TagList.js +23 -0
- package/esm/InputPicker/TextBox.d.ts +18 -0
- package/esm/InputPicker/TextBox.js +42 -0
- package/esm/MultiCascader/MultiCascader.js +14 -11
- package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
- package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/Picker/ListCheckItem.d.ts} +3 -3
- package/esm/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +15 -30
- package/{cjs/Picker/DropdownMenuItem.d.ts → esm/Picker/ListItem.d.ts} +4 -4
- package/esm/Picker/{DropdownMenuItem.js → ListItem.js} +16 -24
- package/esm/Picker/ListItemGroup.d.ts +6 -0
- package/esm/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/esm/Picker/Listbox.d.ts +35 -0
- package/esm/Picker/{DropdownMenu.js → Listbox.js} +50 -64
- package/esm/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/esm/Picker/{PickerOverlay.js → PickerPopup.js} +10 -8
- package/esm/Picker/PickerToggle.d.ts +1 -1
- package/esm/Picker/PickerToggle.js +16 -9
- package/esm/Picker/PickerToggleTrigger.d.ts +15 -0
- package/esm/Picker/PickerToggleTrigger.js +20 -5
- package/esm/Picker/SearchBar.js +8 -9
- package/esm/Picker/TreeView.d.ts +7 -0
- package/esm/Picker/TreeView.js +25 -0
- package/esm/Picker/hooks/index.d.ts +6 -0
- package/esm/Picker/hooks/index.js +7 -0
- package/esm/Picker/hooks/useCombobox.d.ts +7 -0
- package/esm/Picker/hooks/useCombobox.js +17 -0
- package/esm/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/esm/Picker/hooks/useFocusItemValue.js +240 -0
- package/esm/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/esm/Picker/hooks/usePickerClassName.js +33 -0
- package/esm/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +2 -2
- package/esm/Picker/{usePickerRef.js → hooks/usePickerRef.js} +1 -1
- package/esm/Picker/hooks/useSearch.d.ts +18 -0
- package/esm/Picker/hooks/useSearch.js +51 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.js +96 -0
- package/esm/Picker/index.d.ts +7 -6
- package/esm/Picker/index.js +7 -6
- package/esm/Picker/propTypes.d.ts +0 -6
- package/esm/Picker/propTypes.js +0 -5
- package/esm/Picker/utils.d.ts +2 -96
- package/esm/Picker/utils.js +2 -401
- package/esm/SelectPicker/SelectPicker.js +9 -9
- package/esm/TagInput/index.js +4 -0
- package/esm/TreePicker/TreeNode.d.ts +2 -2
- package/esm/TreePicker/TreeNode.js +24 -58
- package/esm/TreePicker/TreePicker.js +20 -21
- package/package.json +1 -1
- package/styles/variables.less +1 -3
- package/cjs/Picker/DropdownMenu.d.ts +0 -59
- package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
- package/esm/Picker/DropdownMenu.d.ts +0 -59
- package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
|
@@ -27,9 +27,20 @@ var _getDataGroupBy = require("../utils/getDataGroupBy");
|
|
|
27
27
|
var _Picker = require("../Picker");
|
|
28
28
|
var _Tag = _interopRequireDefault(require("../Tag"));
|
|
29
29
|
var _InputAutosize = _interopRequireDefault(require("./InputAutosize"));
|
|
30
|
-
var
|
|
30
|
+
var _TextBox = _interopRequireDefault(require("./TextBox"));
|
|
31
31
|
var _InputPickerContext = _interopRequireDefault(require("./InputPickerContext"));
|
|
32
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4
|
|
32
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
33
|
+
var convertSize = function convertSize(size) {
|
|
34
|
+
switch (size) {
|
|
35
|
+
case 'lg':
|
|
36
|
+
return 'lg';
|
|
37
|
+
case 'sm':
|
|
38
|
+
case 'xs':
|
|
39
|
+
return 'sm';
|
|
40
|
+
default:
|
|
41
|
+
return 'md';
|
|
42
|
+
}
|
|
43
|
+
};
|
|
33
44
|
/**
|
|
34
45
|
* Single item selector with text box input.
|
|
35
46
|
*
|
|
@@ -212,7 +223,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
212
223
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.updatePosition) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);
|
|
213
224
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
214
225
|
}, [searchKeyword, value]);
|
|
215
|
-
var
|
|
226
|
+
var getDataItem = function getDataItem(value) {
|
|
216
227
|
// Find active `MenuItem` by `value`
|
|
217
228
|
var allData = getAllDataAndCache();
|
|
218
229
|
var activeItem = allData.find(function (item) {
|
|
@@ -470,7 +481,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
470
481
|
blurInput();
|
|
471
482
|
setOpen(false);
|
|
472
483
|
});
|
|
473
|
-
var
|
|
484
|
+
var renderListItem = function renderListItem(label, item) {
|
|
474
485
|
// 'Create option "{0}"' => Create option "xxxxx"
|
|
475
486
|
var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
|
|
476
487
|
return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
|
|
@@ -482,7 +493,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
482
493
|
itemNode: null
|
|
483
494
|
};
|
|
484
495
|
}
|
|
485
|
-
var dataItem =
|
|
496
|
+
var dataItem = getDataItem(value);
|
|
486
497
|
var itemNode = dataItem.itemNode;
|
|
487
498
|
if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {
|
|
488
499
|
itemNode = renderValue(value, dataItem.activeItem, itemNode);
|
|
@@ -503,17 +514,19 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
503
514
|
var tags = value || [];
|
|
504
515
|
var items = [];
|
|
505
516
|
var tagElements = tags.map(function (tag) {
|
|
506
|
-
var
|
|
507
|
-
isValid =
|
|
508
|
-
itemNode =
|
|
509
|
-
activeItem =
|
|
517
|
+
var _getDataItem = getDataItem(tag),
|
|
518
|
+
isValid = _getDataItem.isValid,
|
|
519
|
+
itemNode = _getDataItem.itemNode,
|
|
520
|
+
activeItem = _getDataItem.activeItem;
|
|
510
521
|
items.push(activeItem);
|
|
511
522
|
if (!isValid) {
|
|
512
523
|
return null;
|
|
513
524
|
}
|
|
514
|
-
return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({
|
|
525
|
+
return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({
|
|
526
|
+
role: "option"
|
|
527
|
+
}, tagRest, {
|
|
515
528
|
key: tag,
|
|
516
|
-
size: rest.size
|
|
529
|
+
size: convertSize(rest.size),
|
|
517
530
|
closable: !disabled && closable && !readOnly && !plaintext,
|
|
518
531
|
title: typeof itemNode === 'string' ? itemNode : undefined,
|
|
519
532
|
onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose)
|
|
@@ -526,7 +539,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
526
539
|
}
|
|
527
540
|
return tagElements;
|
|
528
541
|
};
|
|
529
|
-
var
|
|
542
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
530
543
|
var left = positionProps.left,
|
|
531
544
|
top = positionProps.top,
|
|
532
545
|
className = positionProps.className;
|
|
@@ -550,21 +563,20 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
550
563
|
items = items.sort(sort(false));
|
|
551
564
|
}
|
|
552
565
|
if (disabledOptions) {
|
|
553
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
566
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
554
567
|
ref: (0, _utils.mergeRefs)(overlay, speakerRef)
|
|
555
568
|
});
|
|
556
569
|
}
|
|
557
|
-
var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.
|
|
558
|
-
id: id ? id + "-listbox" : undefined,
|
|
570
|
+
var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {
|
|
559
571
|
listProps: listProps,
|
|
560
572
|
listRef: list,
|
|
561
573
|
disabledItemValues: disabledItemValues,
|
|
562
574
|
valueKey: valueKey,
|
|
563
575
|
labelKey: labelKey,
|
|
564
576
|
classPrefix: menuClassPrefix,
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
577
|
+
listItemClassPrefix: multi ? undefined : menuClassPrefix + "-item",
|
|
578
|
+
listItemAs: multi ? _Picker.ListCheckItem : _Picker.ListItem,
|
|
579
|
+
listItemProps: {
|
|
568
580
|
renderMenuItemCheckbox: renderMenuItemCheckbox
|
|
569
581
|
},
|
|
570
582
|
activeItemValues: multi ? value : [value],
|
|
@@ -579,12 +591,12 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
579
591
|
onSelect: multi ? handleCheckTag : handleSelectItem // fixme don't use any
|
|
580
592
|
,
|
|
581
593
|
renderMenuGroup: renderMenuGroup,
|
|
582
|
-
renderMenuItem:
|
|
594
|
+
renderMenuItem: renderListItem,
|
|
583
595
|
virtualized: virtualized
|
|
584
596
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
585
597
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
|
|
586
598
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
587
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
599
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
588
600
|
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
589
601
|
autoWidth: menuAutoWidth,
|
|
590
602
|
className: classes,
|
|
@@ -617,7 +629,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
617
629
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
618
630
|
var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["tag"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["focused"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["disabled-options"])))] = disabledOptions, _merge));
|
|
619
631
|
var searching = !!searchKeyword && open;
|
|
620
|
-
var
|
|
632
|
+
var editable = searchable && !disabled && !rest.loading;
|
|
621
633
|
var inputProps = multi ? {
|
|
622
634
|
inputStyle: {
|
|
623
635
|
maxWidth: maxWidth - 63
|
|
@@ -643,6 +655,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
643
655
|
}
|
|
644
656
|
var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);
|
|
645
657
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
658
|
+
id: id,
|
|
659
|
+
multiple: multi,
|
|
646
660
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
647
661
|
ref: triggerRef,
|
|
648
662
|
trigger: "active",
|
|
@@ -650,7 +664,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
650
664
|
onEntered: (0, _utils.createChainedFunction)(onEntered, onOpen),
|
|
651
665
|
onExit: (0, _utils.createChainedFunction)(handleExit, onExit),
|
|
652
666
|
onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
|
|
653
|
-
speaker:
|
|
667
|
+
speaker: renderPopup,
|
|
654
668
|
placement: placement
|
|
655
669
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
656
670
|
className: classes,
|
|
@@ -659,7 +673,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
659
673
|
onKeyDown: onPickerKeyDown,
|
|
660
674
|
ref: root
|
|
661
675
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
662
|
-
id: id,
|
|
663
676
|
appearance: appearance,
|
|
664
677
|
readOnly: readOnly,
|
|
665
678
|
plaintext: plaintext,
|
|
@@ -673,18 +686,22 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
673
686
|
disabled: disabled,
|
|
674
687
|
placement: placement,
|
|
675
688
|
inputValue: value,
|
|
689
|
+
focusItemValue: focusItemValue,
|
|
676
690
|
caret: !disabledOptions
|
|
677
|
-
}), searching || multi && hasValue ? null : itemNode || placeholderNode),
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
691
|
+
}), searching || multi && hasValue ? null : itemNode || placeholderNode), /*#__PURE__*/_react.default.createElement(_TextBox.default, {
|
|
692
|
+
showTagList: hasValue && multi,
|
|
693
|
+
tags: tagElements,
|
|
694
|
+
editable: editable,
|
|
681
695
|
readOnly: readOnly,
|
|
696
|
+
disabled: disabled,
|
|
697
|
+
multiple: multi,
|
|
682
698
|
onBlur: onBlur,
|
|
683
699
|
onFocus: (0, _utils.createChainedFunction)(handleFocus, onFocus),
|
|
684
700
|
inputRef: inputRef,
|
|
685
701
|
onChange: handleSearch,
|
|
686
|
-
|
|
687
|
-
|
|
702
|
+
inputValue: open ? searchKeyword : '',
|
|
703
|
+
inputProps: inputProps
|
|
704
|
+
})));
|
|
688
705
|
});
|
|
689
706
|
InputPicker.displayName = 'InputPicker';
|
|
690
707
|
InputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
5
|
exports.__esModule = true;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
|
|
10
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
-
var _react =
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
var _utils = require("../utils");
|
|
14
12
|
var _templateObject;
|
|
15
13
|
var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
@@ -25,10 +23,10 @@ var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
25
23
|
readOnly = props.readOnly,
|
|
26
24
|
onChange = props.onChange,
|
|
27
25
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "children", "className", "value", "inputRef", "style", "readOnly", "onChange"]);
|
|
28
|
-
var handleChange = (0,
|
|
26
|
+
var handleChange = (0, _utils.useEventCallback)(function (event) {
|
|
29
27
|
var _event$target;
|
|
30
28
|
onChange === null || onChange === void 0 ? void 0 : onChange(event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value, event);
|
|
31
|
-
}
|
|
29
|
+
});
|
|
32
30
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
33
31
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
34
32
|
merge = _useClassNames.merge,
|
|
@@ -47,15 +45,5 @@ var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
47
45
|
})), children);
|
|
48
46
|
});
|
|
49
47
|
InputSearch.displayName = 'InputSearch';
|
|
50
|
-
InputSearch.propTypes = {
|
|
51
|
-
classPrefix: _propTypes.default.string,
|
|
52
|
-
value: _propTypes.default.string,
|
|
53
|
-
className: _propTypes.default.string,
|
|
54
|
-
children: _propTypes.default.node,
|
|
55
|
-
style: _propTypes.default.object,
|
|
56
|
-
inputRef: _utils.TypeChecker.refType,
|
|
57
|
-
as: _propTypes.default.elementType,
|
|
58
|
-
onChange: _propTypes.default.func
|
|
59
|
-
};
|
|
60
48
|
var _default = InputSearch;
|
|
61
49
|
exports.default = _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
|
+
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _utils = require("../utils");
|
|
12
|
+
var _useCombobox2 = _interopRequireDefault(require("../Picker/hooks/useCombobox"));
|
|
13
|
+
var _templateObject;
|
|
14
|
+
var TagList = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
15
|
+
var children = props.children,
|
|
16
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children"]);
|
|
17
|
+
var _useClassNames = (0, _utils.useClassNames)('picker'),
|
|
18
|
+
prefix = _useClassNames.prefix;
|
|
19
|
+
var _useCombobox = (0, _useCombobox2.default)(),
|
|
20
|
+
id = _useCombobox.id;
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
22
|
+
ref: ref,
|
|
23
|
+
role: "listbox",
|
|
24
|
+
id: id + "-describe",
|
|
25
|
+
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["tag-list"])))
|
|
26
|
+
}, rest), children);
|
|
27
|
+
});
|
|
28
|
+
var _default = TagList;
|
|
29
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InputSearchProps } from './InputSearch';
|
|
3
|
+
interface TextBoxProps {
|
|
4
|
+
tags?: React.ReactNode;
|
|
5
|
+
inputProps?: InputSearchProps;
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
9
|
+
onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
10
|
+
onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
+
inputValue?: string;
|
|
12
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
13
|
+
editable?: boolean;
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
showTagList?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const TextBox: React.ForwardRefExoticComponent<TextBoxProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export default TextBox;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
|
+
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _TagList = _interopRequireDefault(require("./TagList"));
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
var _InputSearch = _interopRequireDefault(require("./InputSearch"));
|
|
14
|
+
var _templateObject;
|
|
15
|
+
var TextBox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
16
|
+
var tags = props.tags,
|
|
17
|
+
inputProps = props.inputProps,
|
|
18
|
+
readOnly = props.readOnly,
|
|
19
|
+
disabled = props.disabled,
|
|
20
|
+
multiple = props.multiple,
|
|
21
|
+
onBlur = props.onBlur,
|
|
22
|
+
onFocus = props.onFocus,
|
|
23
|
+
onChange = props.onChange,
|
|
24
|
+
inputValue = props.inputValue,
|
|
25
|
+
inputRef = props.inputRef,
|
|
26
|
+
editable = props.editable,
|
|
27
|
+
showTagList = props.showTagList,
|
|
28
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tags", "inputProps", "readOnly", "disabled", "multiple", "onBlur", "onFocus", "onChange", "inputValue", "inputRef", "editable", "showTagList"]);
|
|
29
|
+
var _useClassNames = (0, _utils.useClassNames)('picker'),
|
|
30
|
+
prefix = _useClassNames.prefix;
|
|
31
|
+
if (!multiple && disabled) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
35
|
+
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["textbox"]))),
|
|
36
|
+
ref: ref
|
|
37
|
+
}, rest), showTagList ? /*#__PURE__*/_react.default.createElement(_TagList.default, null, tags) : null, editable && /*#__PURE__*/_react.default.createElement(_InputSearch.default, (0, _extends2.default)({}, inputProps, {
|
|
38
|
+
tabIndex: -1,
|
|
39
|
+
readOnly: readOnly,
|
|
40
|
+
onBlur: onBlur,
|
|
41
|
+
onFocus: onFocus,
|
|
42
|
+
inputRef: inputRef,
|
|
43
|
+
onChange: onChange,
|
|
44
|
+
value: inputValue
|
|
45
|
+
})));
|
|
46
|
+
});
|
|
47
|
+
var _default = TextBox;
|
|
48
|
+
exports.default = _default;
|
|
@@ -13,7 +13,7 @@ var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
|
13
13
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
14
14
|
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
15
15
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
16
|
-
var
|
|
16
|
+
var _TreeView = _interopRequireDefault(require("./TreeView"));
|
|
17
17
|
var _Checkbox = _interopRequireDefault(require("../Checkbox"));
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
var _treeUtils = require("../utils/treeUtils");
|
|
@@ -334,9 +334,10 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
334
334
|
'cascader-row-focus': item[valueKey] === focusItemValue
|
|
335
335
|
});
|
|
336
336
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
337
|
+
role: "treeitem",
|
|
338
|
+
"aria-disabled": disabled,
|
|
337
339
|
key: key,
|
|
338
340
|
className: itemClasses,
|
|
339
|
-
"aria-disabled": disabled,
|
|
340
341
|
"data-key": item[valueKey]
|
|
341
342
|
}, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
342
343
|
disabled: disabled,
|
|
@@ -365,12 +366,13 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
365
366
|
var items = getSearchResult();
|
|
366
367
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
367
368
|
className: prefix('cascader-search-panel'),
|
|
368
|
-
"data-layer": 0
|
|
369
|
+
"data-layer": 0,
|
|
370
|
+
role: "tree"
|
|
369
371
|
}, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement("div", {
|
|
370
372
|
className: prefix('none')
|
|
371
373
|
}, locale.noResultsText));
|
|
372
374
|
};
|
|
373
|
-
var
|
|
375
|
+
var renderTreeView = function renderTreeView(positionProps, speakerRef) {
|
|
374
376
|
var _ref = positionProps || {},
|
|
375
377
|
left = _ref.left,
|
|
376
378
|
top = _ref.top,
|
|
@@ -382,7 +384,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
382
384
|
var classes = merge(className, menuClassName, prefix('cascader-menu', 'multi-cascader-menu', {
|
|
383
385
|
inline: inline
|
|
384
386
|
}));
|
|
385
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
387
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
386
388
|
ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
|
|
387
389
|
className: classes,
|
|
388
390
|
style: styles,
|
|
@@ -393,8 +395,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
393
395
|
onChange: handleSearch,
|
|
394
396
|
value: searchKeyword,
|
|
395
397
|
inputRef: searchInput
|
|
396
|
-
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(
|
|
397
|
-
id: id ? id + "-listbox" : undefined,
|
|
398
|
+
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
|
|
398
399
|
cascade: cascade,
|
|
399
400
|
menuWidth: menuWidth,
|
|
400
401
|
menuHeight: menuHeight,
|
|
@@ -444,22 +445,24 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
444
445
|
classes = _usePickerClassName[0],
|
|
445
446
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
446
447
|
if (inline) {
|
|
447
|
-
return
|
|
448
|
+
return renderTreeView();
|
|
448
449
|
}
|
|
449
450
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
451
|
+
id: id,
|
|
452
|
+
popupType: "tree",
|
|
453
|
+
multiple: true,
|
|
450
454
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
451
455
|
ref: trigger,
|
|
452
456
|
placement: placement,
|
|
453
457
|
onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),
|
|
454
458
|
onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),
|
|
455
459
|
onExit: (0, _utils3.createChainedFunction)(onClose, onExit),
|
|
456
|
-
speaker:
|
|
460
|
+
speaker: renderTreeView
|
|
457
461
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
458
462
|
className: classes,
|
|
459
463
|
style: style,
|
|
460
464
|
ref: root
|
|
461
465
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
462
|
-
id: id,
|
|
463
466
|
as: toggleAs,
|
|
464
467
|
appearance: appearance,
|
|
465
468
|
disabled: disabled,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
3
|
import { ValueType } from './MultiCascader';
|
|
4
|
-
export interface
|
|
4
|
+
export interface TreeViewProps extends WithAsProps {
|
|
5
5
|
disabledItemValues: ValueType;
|
|
6
6
|
value: ValueType;
|
|
7
7
|
childrenKey: string;
|
|
@@ -21,5 +21,5 @@ export interface DropdownMenuProps extends WithAsProps {
|
|
|
21
21
|
/**
|
|
22
22
|
* TODO: reuse Menu from Cascader for consistent behavior
|
|
23
23
|
*/
|
|
24
|
-
declare const
|
|
25
|
-
export default
|
|
24
|
+
declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
|
|
25
|
+
export default TreeView;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
5
|
exports.__esModule = true;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
-
var _react =
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
10
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
13
11
|
var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
|
|
14
12
|
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
@@ -20,7 +18,7 @@ var emptyArray = [];
|
|
|
20
18
|
/**
|
|
21
19
|
* TODO: reuse Menu from Cascader for consistent behavior
|
|
22
20
|
*/
|
|
23
|
-
var
|
|
21
|
+
var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
24
22
|
var _props$as = props.as,
|
|
25
23
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
26
24
|
_props$classPrefix = props.classPrefix,
|
|
@@ -46,18 +44,24 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
46
44
|
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
47
45
|
_props$labelKey = props.labelKey,
|
|
48
46
|
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
47
|
+
style = props.style,
|
|
49
48
|
renderMenuItem = props.renderMenuItem,
|
|
50
49
|
renderMenu = props.renderMenu,
|
|
51
50
|
_onCheck = props.onCheck,
|
|
52
51
|
onSelect = props.onSelect,
|
|
53
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
|
|
52
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "style", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
|
|
54
53
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
55
54
|
merge = _useClassNames.merge,
|
|
56
55
|
prefix = _useClassNames.prefix;
|
|
57
56
|
var classes = merge(className, prefix('items'));
|
|
58
|
-
var _useCustom = (0, _utils.useCustom)(
|
|
57
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
59
58
|
rtl = _useCustom.rtl;
|
|
60
|
-
var
|
|
59
|
+
var _useCombobox = (0, _Picker.useCombobox)(),
|
|
60
|
+
id = _useCombobox.id,
|
|
61
|
+
labelId = _useCombobox.labelId,
|
|
62
|
+
popupType = _useCombobox.popupType,
|
|
63
|
+
multiple = _useCombobox.multiple;
|
|
64
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
61
65
|
var paths = [];
|
|
62
66
|
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
63
67
|
if (i < layer - 1 && cascadePaths) {
|
|
@@ -66,15 +70,21 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
66
70
|
}
|
|
67
71
|
paths.push(node);
|
|
68
72
|
return paths;
|
|
69
|
-
}
|
|
70
|
-
var handleSelect = (0,
|
|
73
|
+
};
|
|
74
|
+
var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
|
|
71
75
|
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
72
76
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
73
|
-
}
|
|
74
|
-
var renderCascadeNode = function renderCascadeNode(
|
|
77
|
+
});
|
|
78
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
79
|
+
var node = nodeProps.node,
|
|
80
|
+
index = nodeProps.index,
|
|
81
|
+
layer = nodeProps.layer,
|
|
82
|
+
focus = nodeProps.focus,
|
|
83
|
+
uncheckable = nodeProps.uncheckable,
|
|
84
|
+
size = nodeProps.size;
|
|
75
85
|
var children = node[childrenKey];
|
|
76
86
|
var nodeValue = node[valueKey];
|
|
77
|
-
var
|
|
87
|
+
var label = node[labelKey];
|
|
78
88
|
var disabled = disabledItemValues.some(function (disabledValue) {
|
|
79
89
|
return (0, _utils.shallowEqual)(disabledValue, nodeValue);
|
|
80
90
|
});
|
|
@@ -90,8 +100,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
90
100
|
valueKey: valueKey
|
|
91
101
|
});
|
|
92
102
|
}
|
|
93
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.ListCheckItem, {
|
|
94
104
|
as: "li",
|
|
105
|
+
role: "treeitem",
|
|
106
|
+
"aria-level": layer + 1,
|
|
107
|
+
"aria-setsize": size,
|
|
108
|
+
"aria-posinset": index + 1,
|
|
109
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
95
110
|
key: layer + "-" + onlyKey,
|
|
96
111
|
disabled: disabled,
|
|
97
112
|
active: active,
|
|
@@ -111,73 +126,61 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
111
126
|
return _onCheck === null || _onCheck === void 0 ? void 0 : _onCheck(node, event, checked);
|
|
112
127
|
},
|
|
113
128
|
checkable: !uncheckable
|
|
114
|
-
}, renderMenuItem ? renderMenuItem(
|
|
129
|
+
}, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/_react.default.createElement(Icon, {
|
|
115
130
|
className: prefix('caret'),
|
|
116
131
|
spin: node.loading
|
|
117
132
|
}) : null);
|
|
118
133
|
};
|
|
119
|
-
var
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
var onlyKey = layer + "_" + children.length;
|
|
130
|
-
var menu = /*#__PURE__*/_react.default.createElement("ul", {
|
|
131
|
-
role: "listbox"
|
|
132
|
-
}, children.map(function (item, index) {
|
|
133
|
-
var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
|
|
134
|
-
return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
|
|
135
|
-
});
|
|
136
|
-
if (uncheckable) {
|
|
137
|
-
uncheckableCount++;
|
|
138
|
-
}
|
|
139
|
-
return renderCascadeNode(item, index, layer, cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]), uncheckable);
|
|
140
|
-
}));
|
|
141
|
-
var parentNode = cascadePaths[layer - 1];
|
|
142
|
-
var columnClasses = prefix('column', {
|
|
143
|
-
'column-uncheckable': uncheckableCount === children.length
|
|
134
|
+
var columnStyles = {
|
|
135
|
+
height: menuHeight,
|
|
136
|
+
width: menuWidth
|
|
137
|
+
};
|
|
138
|
+
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
139
|
+
var uncheckableCount = 0;
|
|
140
|
+
var onlyKey = layer + "_" + children.length;
|
|
141
|
+
var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
|
|
142
|
+
var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
|
|
143
|
+
return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
|
|
144
144
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
if (uncheckable) {
|
|
146
|
+
uncheckableCount++;
|
|
147
|
+
}
|
|
148
|
+
var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
|
|
149
|
+
return renderCascadeNode({
|
|
150
|
+
node: item,
|
|
151
|
+
index: index,
|
|
152
|
+
layer: layer,
|
|
153
|
+
focus: focus,
|
|
154
|
+
uncheckable: uncheckable,
|
|
155
|
+
size: children.length
|
|
156
|
+
});
|
|
157
|
+
}));
|
|
158
|
+
var parentNode = cascadePaths[layer - 1];
|
|
159
|
+
var columnClasses = prefix('column', {
|
|
160
|
+
'column-uncheckable': uncheckableCount === children.length
|
|
151
161
|
});
|
|
152
|
-
return /*#__PURE__*/_react.default.createElement("
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
162
|
+
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
163
|
+
role: "group",
|
|
164
|
+
key: onlyKey,
|
|
165
|
+
className: columnClasses,
|
|
166
|
+
"data-layer": layer,
|
|
167
|
+
style: columnStyles
|
|
168
|
+
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
169
|
+
});
|
|
170
|
+
var styles = (0, _extends2.default)({}, style, {
|
|
171
|
+
width: cascadeData.length * menuWidth
|
|
172
|
+
});
|
|
173
|
+
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
174
|
+
role: "tree",
|
|
175
|
+
id: id + "-" + popupType,
|
|
176
|
+
"aria-labelledby": labelId,
|
|
177
|
+
"aria-multiselectable": multiple
|
|
178
|
+
}, rest, {
|
|
157
179
|
ref: ref,
|
|
158
|
-
className: classes
|
|
159
|
-
|
|
180
|
+
className: classes,
|
|
181
|
+
style: styles
|
|
182
|
+
}), cascadeNodes);
|
|
160
183
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
classPrefix: _propTypes.default.string,
|
|
164
|
-
data: _propTypes.default.array,
|
|
165
|
-
disabledItemValues: _propTypes.default.array,
|
|
166
|
-
value: _propTypes.default.array,
|
|
167
|
-
childrenKey: _propTypes.default.string,
|
|
168
|
-
valueKey: _propTypes.default.string,
|
|
169
|
-
labelKey: _propTypes.default.string,
|
|
170
|
-
menuWidth: _propTypes.default.number,
|
|
171
|
-
menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
172
|
-
className: _propTypes.default.string,
|
|
173
|
-
cascade: _propTypes.default.bool,
|
|
174
|
-
cascadeData: _propTypes.default.array,
|
|
175
|
-
cascadePaths: _propTypes.default.array,
|
|
176
|
-
uncheckableItemValues: _propTypes.default.array,
|
|
177
|
-
renderMenuItem: _propTypes.default.func,
|
|
178
|
-
renderMenu: _propTypes.default.func,
|
|
179
|
-
onSelect: _propTypes.default.func,
|
|
180
|
-
onCheck: _propTypes.default.func
|
|
181
|
-
};
|
|
182
|
-
var _default = DropdownMenu;
|
|
184
|
+
TreeView.displayName = 'TreeView';
|
|
185
|
+
var _default = TreeView;
|
|
183
186
|
exports.default = _default;
|