@unicom-cloud/ui 0.8.95 → 0.8.97
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/Affix.js +1 -1
- package/Carousel.js +1 -1
- package/LiquidFill.js +4 -0
- package/Message.js +1 -1
- package/Notification.js +1 -1
- package/OverflowEllipsis.js +1 -1
- package/PageHeader.js +1 -1
- package/QrCode.js +57 -0
- package/Switch.js +1 -1
- package/Tour.js +63 -0
- package/Trigger.js +2 -2
- package/_virtual/_commonjsHelpers.js +6 -0
- package/_virtual/index.js +7 -0
- package/_virtual/index2.js +4 -0
- package/affix/index.js +70 -72
- package/alert/index.js +52 -51
- package/anchor/Anchor.js +55 -55
- package/anchor/Link.js +34 -34
- package/anchor/util.js +5 -5
- package/auto-complete/index.js +116 -122
- package/avatar/Avatar.js +33 -33
- package/avatar/Group.js +26 -26
- package/back-top/index.js +58 -61
- package/badge/index.js +46 -46
- package/breadcrumb/Item.js +42 -43
- package/breadcrumb/index.js +47 -47
- package/button/Group.js +6 -6
- package/button/index.js +91 -91
- package/calendar/Month.js +75 -75
- package/calendar/Year.js +35 -35
- package/calendar/header/index.js +25 -25
- package/calendar/index.js +103 -103
- package/card/Grid.js +8 -8
- package/card/Meta.js +16 -16
- package/card/index.js +49 -49
- package/carousel/Arrow.js +19 -19
- package/carousel/Indicator.js +26 -26
- package/carousel/index.js +108 -108
- package/cascader/Cascader.js +178 -191
- package/cascader/base/node.js +133 -136
- package/cascader/base/store.js +82 -85
- package/cascader/panel/List.js +126 -130
- package/cascader/panel/Search.js +79 -81
- package/cascader/util.js +13 -13
- package/checkbox/Checkbox.js +94 -96
- package/checkbox/Group.js +54 -56
- package/checkbox/GroupBlock.js +28 -29
- package/collapse/Collapse.js +45 -45
- package/collapse/Item.js +53 -55
- package/color-picker/ControlBar.js +43 -43
- package/color-picker/InputAlpha.js +12 -12
- package/color-picker/InputHex.js +30 -31
- package/color-picker/InputRgb.js +24 -24
- package/color-picker/Palette.js +18 -18
- package/color-picker/Panel.js +122 -125
- package/color-picker/hooks/useColorPicker.js +85 -88
- package/color-picker/hooks/useControlBlock.js +38 -40
- package/color-picker/index.js +47 -47
- package/comment/index.js +29 -29
- package/components/common/higher-order/with-speech-synthesis/index.js +37 -40
- package/components/common/hooks/useForceUpdate.js +6 -2
- package/components/common/hooks/useId.js +4 -4
- package/components/common/hooks/useInView.js +16 -16
- package/components/common/hooks/useIntersectionObserver.js +1 -1
- package/components/common/hooks/useKeyboardEvent.js +9 -10
- package/components/common/hooks/useOverflowHidden.js +1 -4
- package/components/common/hooks/usePersistCallback.js +7 -7
- package/components/common/hooks/useStateCallback.js +9 -10
- package/components/common/hooks/useWindowSize.js +8 -8
- package/components/common/space/index.js +11 -10
- package/components/common/utils/PqbCSSTransition.js +1 -1
- package/components/common/utils/convertToDurationBasedOnTimeUnits.js +6 -0
- package/components/common/utils/dom.js +27 -29
- package/components/common/utils/findScrollParent.js +17 -0
- package/components/common/utils/intersectionObserver.js +21 -0
- package/components/common/utils/is.js +99 -109
- package/components/common/utils/mutationObserver.js +19 -0
- package/components/common/utils/reactDOM.js +34 -34
- package/components/common/utils/resizeObserver.js +21 -0
- package/copy/index.js +38 -40
- package/date-picker/Picker.js +290 -295
- package/date-picker/RangePicker.js +367 -372
- package/date-picker/index.js +33 -35
- package/date-picker/panel/Body.js +46 -47
- package/date-picker/panel/Header.js +33 -33
- package/date-picker/panel/Shortcut.js +31 -31
- package/date-picker/panel/date/index.js +85 -85
- package/date-picker/panel/month/index.js +59 -59
- package/date-picker/panel/quarter/index.js +67 -70
- package/date-picker/panel/range/index.js +101 -101
- package/date-picker/panel/year/index.js +39 -39
- package/date-picker/util.js +17 -18
- package/descriptions/index.js +62 -62
- package/details/index.js +55 -56
- package/development/index.js +9 -9
- package/dist/react-transition-group/src/CSSTransition.js +1 -1
- package/dist/react-transition-group/src/SwitchTransition.js +1 -1
- package/dist/tinycolor/chunk/BOzCVdr0.js +1 -1
- package/dist/tween/src/tween.js +24 -25
- package/dist/validate/src/index.js +5 -5
- package/dist/validate/src/util.js +1 -1
- package/divider/index.js +21 -21
- package/draggable/Item.js +35 -35
- package/draggable/index.js +22 -22
- package/drawer/Drawer.js +142 -147
- package/dropdown/Button.js +48 -48
- package/dropdown/index.js +88 -92
- package/empty/index.js +16 -16
- package/form/Control.js +211 -225
- package/form/Form.js +109 -113
- package/form/FormItem.js +118 -120
- package/form/FormList.js +60 -66
- package/form/FormProvider.js +31 -34
- package/form/hook/useContext.js +17 -19
- package/form/hook/useState.js +22 -23
- package/form/hook/useWatch.js +26 -27
- package/form/promisify.js +14 -18
- package/form/store.js +304 -316
- package/form/util.js +14 -15
- package/grid/Col.js +64 -64
- package/grid/Grid.js +51 -51
- package/grid/GridItem.js +48 -48
- package/grid/Row.js +39 -39
- package/hooks/index.js +50 -52
- package/hooks/useVerificationCode.js +41 -43
- package/hooks/useWatermark.js +89 -92
- package/icon/index.js +23 -24
- package/icon-hover/index.js +16 -16
- package/icons/file.js +11 -11
- package/image/Image.js +140 -141
- package/image/ImagePreview.js +252 -255
- package/image/ImagePreviewArrow.js +25 -25
- package/image/ImagePreviewGroup.js +62 -62
- package/image/util/getScale.js +25 -28
- package/index.js +682 -679
- package/input/Button.js +48 -50
- package/input/Group.js +9 -9
- package/input/Input.js +145 -154
- package/input/InputElement.js +108 -115
- package/input/Password.js +38 -38
- package/input/Search.js +51 -55
- package/input/Textarea.js +80 -81
- package/input/useComposition.js +23 -23
- package/input-number/decimal.js +59 -62
- package/input-number/index.js +139 -141
- package/input-tag/InputTag.js +223 -231
- package/layout/Content.js +6 -6
- package/layout/Footer.js +8 -8
- package/layout/Header.js +7 -7
- package/layout/Sider.js +88 -90
- package/layout/index.js +30 -30
- package/link/index.js +45 -46
- package/liquid-fill/LiquidFill.js +189 -0
- package/liquid-fill/LiquidFill2.js +3 -0
- package/liquid-fill/index.js +4 -0
- package/liquid-fill/interface.js +1 -0
- package/list/Item.js +28 -28
- package/list/Meta.js +12 -12
- package/list/index.js +146 -148
- package/mentions/index.js +75 -76
- package/menu/Item.js +58 -58
- package/menu/Menu.js +125 -127
- package/menu/OverflowWrap.js +39 -40
- package/menu/sub-menu/Inline.js +45 -45
- package/menu/util.js +26 -28
- package/message/index.js +97 -100
- package/message/useMessage.js +26 -27
- package/modal/Confirm.js +47 -49
- package/modal/Modal.js +250 -257
- package/modal/use-modal/Hook.js +26 -28
- package/modal/use-modal/index.js +46 -49
- package/notice/index.js +89 -90
- package/notification/index.js +61 -66
- package/notification/withNotification.js +35 -35
- package/overflow-ellipsis/OverflowItem.js +19 -20
- package/overflow-ellipsis/index.js +45 -46
- package/package.json +1 -1
- package/page-header/index.js +45 -45
- package/pagination/PageItem.js +87 -91
- package/pagination/PageJumper.js +40 -41
- package/pagination/PageOption.js +31 -35
- package/pagination/Pagination.js +162 -163
- package/picker/Input.js +90 -96
- package/picker/InputRange.js +115 -122
- package/popconfirm/index.js +98 -100
- package/popover/index.js +28 -28
- package/portal/Portal.js +10 -11
- package/progress/index.js +36 -36
- package/qr-code/index.js +99 -0
- package/qr-code/interface.js +1 -0
- package/radio/Group.js +48 -48
- package/radio/GroupBlock.js +32 -33
- package/radio/Radio.js +62 -64
- package/rate/index.js +88 -88
- package/resize-box/ResizeTrigger.js +39 -39
- package/resize-box/Split.js +92 -96
- package/resize-box/SplitGroup.js +116 -122
- package/resize-box/index.js +112 -115
- package/result/index.js +44 -44
- package/select/Option.js +53 -56
- package/select/Select.js +365 -381
- package/select/util.js +95 -99
- package/select-view/Core.js +159 -160
- package/skeleton/index.js +23 -23
- package/slider/Button.js +84 -92
- package/slider/Input.js +47 -49
- package/slider/Tick.js +28 -31
- package/slider/index.js +108 -108
- package/slider/util.js +1 -1
- package/space/index.js +26 -26
- package/space-/index.js +51 -51
- package/spin/DotLoading.js +8 -8
- package/spin/index.js +47 -47
- package/statistic/Countdown.js +37 -37
- package/statistic/index.js +61 -61
- package/steps/Step.js +42 -42
- package/steps/index.js +54 -54
- package/style.css +1 -1
- package/switch/index.js +78 -79
- package/table/ColGroup.js +36 -37
- package/table/Table.js +447 -450
- package/table/hook/useExpand.js +24 -24
- package/table/hook/useRowSelection.js +62 -62
- package/table/summary/Row.js +16 -17
- package/table/tbody/Td.js +119 -118
- package/table/tbody/Tr.js +119 -121
- package/table/tbody/index.js +62 -63
- package/table/th-resizable/index.js +30 -30
- package/table/thead/Column.js +148 -148
- package/table/thead/index.js +87 -88
- package/tabs/Tab.js +55 -55
- package/tabs/TabContent.js +8 -8
- package/tabs/TabPane.js +15 -15
- package/tabs/hook/useHeaderScroll.js +36 -36
- package/tabs/tab-header/TabInk.js +31 -33
- package/tabs/tab-header/TabNavIcon.js +34 -35
- package/tabs/tab-header/index.js +192 -195
- package/tag/index.js +94 -97
- package/time-picker/Picker.js +167 -172
- package/time-picker/RangePicker.js +28 -28
- package/time-picker/TimePicker.js +146 -146
- package/time-picker/util.js +4 -4
- package/timeline/Item.js +46 -46
- package/timeline/Timeline.js +52 -52
- package/tooltip/index.js +89 -95
- package/tour/index.js +289 -0
- package/transfer/Item.js +54 -54
- package/transfer/List.js +134 -136
- package/transfer/index.js +91 -91
- package/tree/Animation.js +49 -52
- package/tree/Node.js +114 -122
- package/tree/NodeList.js +51 -51
- package/tree/Tree.js +386 -393
- package/tree-select/List.js +71 -72
- package/tree-select/Select.js +135 -143
- package/tree-select/hook/useKeyCache.js +39 -39
- package/tree-select/hook/useStateValue.js +12 -12
- package/trigger/getPopupStyle.js +60 -61
- package/trigger/index.js +338 -347
- package/types/common/space/interface.d.ts +1 -1
- package/types/common/utils/convertToDurationBasedOnTimeUnits.d.ts +3 -0
- package/types/common/utils/findScrollParent.d.ts +2 -0
- package/types/common/utils/index.d.ts +5 -0
- package/types/common/utils/intersectionObserver.d.ts +2 -0
- package/types/common/utils/math.d.ts +1 -1
- package/types/common/utils/mutationObserver.d.ts +2 -0
- package/types/common/utils/resizeObserver.d.ts +2 -0
- package/types/pc/alert/interface.d.ts +2 -2
- package/types/pc/details/interface.d.ts +2 -2
- package/types/pc/hooks/index.d.ts +0 -1
- package/types/pc/index.d.ts +3 -0
- package/types/pc/liquid-fill/LiquidFill.d.ts +30 -0
- package/types/pc/liquid-fill/LiquidFill2.d.ts +1 -0
- package/types/pc/liquid-fill/index.d.ts +4 -0
- package/types/pc/liquid-fill/interface.d.ts +0 -0
- package/types/pc/qr-code/index.d.ts +34 -0
- package/types/pc/qr-code/interface.d.ts +39 -0
- package/types/pc/table/interface.d.ts +2 -2
- package/types/pc/tour/index.d.ts +42 -0
- package/types/pc/utils/convertToDurationBasedOnTimeUnits.d.ts +3 -0
- package/types/pc/utils/findScrollParent.d.ts +2 -0
- package/types/pc/utils/index.d.ts +5 -0
- package/types/pc/utils/intersectionObserver.d.ts +2 -0
- package/types/pc/utils/math.d.ts +1 -1
- package/types/pc/utils/mutationObserver.d.ts +2 -0
- package/types/pc/utils/names.d.ts +18 -0
- package/types/pc/utils/resizeObserver.d.ts +2 -0
- package/typography/Base.js +79 -81
- package/typography/EditContent.js +30 -33
- package/typography/Ellipsis.js +78 -75
- package/typography/Operations.js +50 -52
- package/typography/Paragraph.js +7 -7
- package/typography/Typography.js +7 -7
- package/typography/useEllipsis.js +105 -106
- package/upload/TriggerNode.js +69 -76
- package/upload/Upload.js +84 -87
- package/upload/Uploader.js +115 -118
- package/upload/list/PictureItem.js +61 -71
- package/upload/list/TextItem.js +61 -67
- package/upload/list/UploadProgress.js +42 -49
- package/upload/list/index.js +49 -50
- package/upload/request_.js +37 -38
- package/upload/util.js +39 -39
- package/utils/convertToDurationBasedOnTimeUnits.js +6 -0
- package/utils/findScrollParent.js +4 -0
- package/utils/index.js +274 -275
- package/utils/intersectionObserver.js +4 -0
- package/utils/math.js +7 -11
- package/utils/mutationObserver.js +4 -0
- package/utils/names.js +12 -0
- package/utils/reactTransitionGroup.js +1 -1
- package/utils/resizeObserver.js +4 -0
- package/verification-code/VerificationCode.js +50 -51
- package/version/index.js +1 -1
- package/virtual-list/VirtualList.js +243 -244
- package/virtual-list/util/item.js +3 -4
- package/watermark/Watermark.js +27 -31
- package/components/common/hooks/useComputedState.js +0 -11
- package/components/common/utils/resizeObserverEffect.js +0 -23
- package/hooks/useComputedState.js +0 -4
- package/types/common/hooks/useComputedState.d.ts +0 -4
- package/types/common/utils/resizeObserverEffect.d.ts +0 -2
- package/types/pc/hooks/useComputedState.d.ts +0 -1
- package/types/pc/utils/resizeObserverEffect.d.ts +0 -2
- package/utils/resizeObserverEffect.js +0 -4
- /package/dist/react-transition-group/chunk/{C6QwjD4L.js → CPfP7aNL.js} +0 -0
package/tree-select/List.js
CHANGED
|
@@ -1,120 +1,119 @@
|
|
|
1
|
-
import { jsxs as j, jsx as
|
|
1
|
+
import { jsxs as j, jsx as v } from "react/jsx-runtime";
|
|
2
2
|
import z from "lodash/isFunction";
|
|
3
3
|
import I from "lodash/isString";
|
|
4
|
-
import { forwardRef as K, useRef as $, useCallback as
|
|
4
|
+
import { forwardRef as K, useRef as $, useCallback as o, useMemo as x, useImperativeHandle as F } from "react";
|
|
5
5
|
import H from "../tree/Tree.js";
|
|
6
|
-
function O(r,
|
|
6
|
+
function O(r, y) {
|
|
7
7
|
const {
|
|
8
8
|
value: c,
|
|
9
|
-
multiple:
|
|
10
|
-
loadMore:
|
|
11
|
-
treeCheckedStrategy:
|
|
12
|
-
treeCheckStrictly:
|
|
13
|
-
treeData:
|
|
14
|
-
treeProps:
|
|
15
|
-
prefixCls:
|
|
16
|
-
treeCheckable:
|
|
17
|
-
} = r,
|
|
18
|
-
(t, { checkedNodes: e, checked:
|
|
19
|
-
const i = t.map((
|
|
20
|
-
const
|
|
21
|
-
return
|
|
22
|
-
label:
|
|
23
|
-
value:
|
|
24
|
-
disabled:
|
|
25
|
-
} : c.find((
|
|
26
|
-
label:
|
|
27
|
-
value:
|
|
9
|
+
multiple: h,
|
|
10
|
+
loadMore: d,
|
|
11
|
+
treeCheckedStrategy: S,
|
|
12
|
+
treeCheckStrictly: _,
|
|
13
|
+
treeData: w,
|
|
14
|
+
treeProps: f,
|
|
15
|
+
prefixCls: C,
|
|
16
|
+
treeCheckable: M
|
|
17
|
+
} = r, k = f && f.renderTitle, u = $(), m = o(
|
|
18
|
+
(t, { checkedNodes: e, checked: l, node: n }) => {
|
|
19
|
+
const i = t.map((a) => {
|
|
20
|
+
const s = e.find((b) => b && b.props._key === a);
|
|
21
|
+
return s ? {
|
|
22
|
+
label: s.props.title,
|
|
23
|
+
value: s.props._key,
|
|
24
|
+
disabled: s.props.disabled
|
|
25
|
+
} : c.find((D) => D.value === a) || {
|
|
26
|
+
label: a,
|
|
27
|
+
value: a
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
r.onChange(i, {
|
|
31
|
-
checked:
|
|
32
|
-
trigger:
|
|
31
|
+
checked: l,
|
|
32
|
+
trigger: n?.props
|
|
33
33
|
});
|
|
34
34
|
},
|
|
35
35
|
[r.onChange, c]
|
|
36
|
-
),
|
|
37
|
-
(t, { node: e, selected:
|
|
38
|
-
let
|
|
36
|
+
), p = o(
|
|
37
|
+
(t, { node: e, selected: l }) => {
|
|
38
|
+
let n = [
|
|
39
39
|
{
|
|
40
40
|
value: e.props._key,
|
|
41
41
|
label: e.props.title
|
|
42
42
|
}
|
|
43
43
|
];
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
const i =
|
|
47
|
-
i > -1 ?
|
|
44
|
+
if (h) {
|
|
45
|
+
n = [...c];
|
|
46
|
+
const i = n.findIndex((a) => a.value === e.props._key);
|
|
47
|
+
i > -1 ? n.splice(i, 1) : n.push({
|
|
48
48
|
value: e.props._key,
|
|
49
49
|
label: e.props.title
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
r.onChange(
|
|
52
|
+
r.onChange(n, { trigger: e?.props, selected: l });
|
|
53
53
|
},
|
|
54
|
-
[r.onChange, c,
|
|
55
|
-
),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}, []), L = u(
|
|
54
|
+
[r.onChange, c, h]
|
|
55
|
+
), g = o((t, { node: e, e: l }) => {
|
|
56
|
+
const { checked: n, checkable: i, disabled: a, disableCheckbox: s } = e.props;
|
|
57
|
+
u.current && !s && !a && i !== !1 && u.current?.handleCheck?.(!n, e.props._key, l);
|
|
58
|
+
}, []), R = o(
|
|
60
59
|
(t) => {
|
|
61
|
-
if (z(
|
|
60
|
+
if (z(d)) {
|
|
62
61
|
const e = t.props.dataRef;
|
|
63
|
-
return
|
|
62
|
+
return d(t, e);
|
|
64
63
|
}
|
|
65
64
|
return [];
|
|
66
65
|
},
|
|
67
|
-
[
|
|
68
|
-
),
|
|
66
|
+
[d]
|
|
67
|
+
), L = o(
|
|
69
68
|
(t) => {
|
|
70
|
-
if (
|
|
71
|
-
return
|
|
72
|
-
const e = r.inputValue, { title:
|
|
73
|
-
if (e && I(
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
return
|
|
77
|
-
const i =
|
|
69
|
+
if (k)
|
|
70
|
+
return k(t);
|
|
71
|
+
const e = r.inputValue, { title: l } = t;
|
|
72
|
+
if (e && I(l)) {
|
|
73
|
+
const n = l.toLowerCase().indexOf(e.toLowerCase());
|
|
74
|
+
if (n === -1)
|
|
75
|
+
return l;
|
|
76
|
+
const i = l.substring(0, n + 1), a = l.substring(n + e.length);
|
|
78
77
|
return /* @__PURE__ */ j("span", { children: [
|
|
79
78
|
i,
|
|
80
|
-
/* @__PURE__ */
|
|
81
|
-
|
|
79
|
+
/* @__PURE__ */ v("span", { className: `${C}-highlight`, children: l.substring(n, e.length + 1) }),
|
|
80
|
+
a
|
|
82
81
|
] });
|
|
83
82
|
}
|
|
84
|
-
return
|
|
83
|
+
return l;
|
|
85
84
|
},
|
|
86
|
-
[
|
|
87
|
-
),
|
|
88
|
-
onCheck:
|
|
85
|
+
[C, r.inputValue, k]
|
|
86
|
+
), N = x(() => r.treeCheckable ? {
|
|
87
|
+
onCheck: m,
|
|
89
88
|
checkedKeys: c.map((t) => t.value)
|
|
90
|
-
} : {}, [
|
|
89
|
+
} : {}, [m, c, r.treeCheckable]), V = x(() => r.treeCheckable ? [] : c.map((t) => t.value), [r.treeCheckable, c]), T = o(
|
|
91
90
|
(t, e) => {
|
|
92
|
-
r.treeCheckable ?
|
|
91
|
+
r.treeCheckable ? g(t, e) : p(t, e);
|
|
93
92
|
},
|
|
94
|
-
[r.treeCheckable,
|
|
93
|
+
[r.treeCheckable, g, p]
|
|
95
94
|
);
|
|
96
|
-
return F(
|
|
95
|
+
return F(y, () => u.current, []), /* @__PURE__ */ v(
|
|
97
96
|
H,
|
|
98
97
|
{
|
|
99
|
-
ref:
|
|
98
|
+
ref: u,
|
|
100
99
|
size: r.size,
|
|
101
100
|
blockNode: !0,
|
|
102
101
|
filterNode: r.filterNode,
|
|
103
|
-
...
|
|
104
|
-
checkable:
|
|
105
|
-
multiple:
|
|
106
|
-
loadMore: r.loadMore ?
|
|
107
|
-
checkedStrategy:
|
|
108
|
-
checkStrictly:
|
|
102
|
+
...f,
|
|
103
|
+
checkable: M,
|
|
104
|
+
multiple: h,
|
|
105
|
+
loadMore: r.loadMore ? R : void 0,
|
|
106
|
+
checkedStrategy: S,
|
|
107
|
+
checkStrictly: _,
|
|
109
108
|
onMouseDown: (t) => {
|
|
110
109
|
t.preventDefault();
|
|
111
110
|
},
|
|
112
|
-
...
|
|
113
|
-
treeData:
|
|
111
|
+
...N,
|
|
112
|
+
treeData: w,
|
|
114
113
|
fieldNames: r.fieldNames,
|
|
115
|
-
renderTitle:
|
|
116
|
-
onSelect:
|
|
117
|
-
selectedKeys:
|
|
114
|
+
renderTitle: L,
|
|
115
|
+
onSelect: T,
|
|
116
|
+
selectedKeys: V
|
|
118
117
|
}
|
|
119
118
|
);
|
|
120
119
|
}
|
package/tree-select/Select.js
CHANGED
|
@@ -1,186 +1,181 @@
|
|
|
1
1
|
import { jsx as y } from "react/jsx-runtime";
|
|
2
|
-
import { isPlainObject as
|
|
2
|
+
import { isPlainObject as x, isEmptyValue as ie, isEmptyArray as le, isEmptyObject as ae } from "@unicom-cloud/utils/is";
|
|
3
3
|
import ue from "lodash/debounce";
|
|
4
4
|
import ce from "lodash/isArray";
|
|
5
|
-
import
|
|
5
|
+
import C from "lodash/isFunction";
|
|
6
6
|
import pe from "lodash/isNil";
|
|
7
|
-
import { forwardRef as me, useContext as fe, useRef as d, useState as de, useCallback as
|
|
7
|
+
import { forwardRef as me, useContext as fe, useRef as d, useState as de, useCallback as S, useEffect as M, useMemo as ge, useImperativeHandle as he } from "react";
|
|
8
8
|
import "../config-provider/ConfigProvider.js";
|
|
9
9
|
import ye from "../components/common/hooks/useId.js";
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
10
|
+
import Ce from "../components/common/hooks/useIsFirstRender.js";
|
|
11
|
+
import Se from "../components/common/hooks/useMergeProps.js";
|
|
12
|
+
import j from "../components/common/hooks/useMergeValue.js";
|
|
13
13
|
import Ve from "../select-view/index.js";
|
|
14
|
-
import
|
|
14
|
+
import u from "../tree/Tree.js";
|
|
15
15
|
import { getAllCheckedKeysByCheck as be } from "../tree/util.js";
|
|
16
|
-
import
|
|
17
|
-
import
|
|
16
|
+
import Pe from "../trigger/index.js";
|
|
17
|
+
import $ from "@unicom-cloud/utils/class-name";
|
|
18
18
|
import "../components/common/utils/is.js";
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
19
|
+
import Ne from "./List.js";
|
|
20
|
+
import Ie from "./hook/useKeyCache.js";
|
|
21
|
+
import ke, { parseValue as Oe } from "./hook/useStateValue.js";
|
|
22
22
|
import we from "./hook/useTreeData.js";
|
|
23
23
|
import { DefaultFieldNames as Te } from "./interface.js";
|
|
24
|
-
import { normalizeValueToArray as
|
|
25
|
-
import
|
|
26
|
-
const
|
|
24
|
+
import { normalizeValueToArray as ve } from "./util.js";
|
|
25
|
+
import Ee from "../config-provider/context.js";
|
|
26
|
+
const He = {
|
|
27
27
|
bordered: !0,
|
|
28
|
-
treeCheckedStrategy:
|
|
28
|
+
treeCheckedStrategy: u.SHOW_CHILD,
|
|
29
29
|
fieldNames: Te
|
|
30
|
-
},
|
|
31
|
-
const { getPrefixCls:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
),
|
|
30
|
+
}, Re = { bottom: 4 }, Ke = (U, z) => {
|
|
31
|
+
const { getPrefixCls: B, renderEmpty: J, componentConfig: q, rtl: K } = fe(Ee), t = Se(
|
|
32
|
+
U,
|
|
33
|
+
He,
|
|
34
|
+
q?.TreeSelect
|
|
35
|
+
), G = Ce(), Q = d(), k = d(null), c = d(null), O = d([]), [g] = we(t), o = Ie(g, t.fieldNames), [w, X] = de(), [a, Y] = j(!1, {
|
|
36
36
|
value: t.popupVisible
|
|
37
|
-
}), [
|
|
37
|
+
}), [n, Z] = j(
|
|
38
38
|
void 0,
|
|
39
39
|
// Compatible with previous behavior 'undefined as default'
|
|
40
40
|
{
|
|
41
41
|
value: "inputValue" in t ? t.inputValue || "" : void 0
|
|
42
42
|
}
|
|
43
|
-
), b = d(
|
|
43
|
+
), b = d(n), A = d(null), { onInputValueChange: ee } = t, [l, T] = ke(
|
|
44
44
|
t,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
), h = t.multiple || t.treeCheckable,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
await t.onSearch(o);
|
|
45
|
+
o,
|
|
46
|
+
O
|
|
47
|
+
), h = t.multiple || t.treeCheckable, p = B?.("tree-select"), v = n && !C(t.onSearch), D = ye(`${p}-popup-`), F = (e) => {
|
|
48
|
+
e !== a && (Y(e), t.onVisibleChange?.(e));
|
|
49
|
+
}, E = (e, r) => {
|
|
50
|
+
(e !== b.current || r !== A.current) && (Z(e), b.current = e, A.current = r, ee?.(e, r));
|
|
51
|
+
}, te = S(
|
|
52
|
+
(e) => ue(async (s) => {
|
|
53
|
+
if (C(t.onSearch)) {
|
|
54
|
+
await t.onSearch(s);
|
|
56
55
|
return;
|
|
57
56
|
}
|
|
58
|
-
if (!
|
|
57
|
+
if (!s)
|
|
59
58
|
return g;
|
|
60
|
-
const
|
|
61
|
-
Object.keys(
|
|
62
|
-
const
|
|
63
|
-
let
|
|
64
|
-
if (
|
|
65
|
-
t.filterTreeNode(
|
|
59
|
+
const i = /* @__PURE__ */ new Set();
|
|
60
|
+
Object.keys(o).forEach((m) => {
|
|
61
|
+
const f = o[m];
|
|
62
|
+
let N = !1;
|
|
63
|
+
if (C(t.filterTreeNode))
|
|
64
|
+
t.filterTreeNode(s, /* @__PURE__ */ y(u.Node, { ...f })) && (N = !0);
|
|
66
65
|
else {
|
|
67
|
-
const
|
|
68
|
-
|
|
66
|
+
const I = f.value || f._key;
|
|
67
|
+
I && I.indexOf(s) > -1 && (N = !0);
|
|
69
68
|
}
|
|
70
|
-
|
|
71
|
-
}),
|
|
69
|
+
N && i.add(f.key);
|
|
70
|
+
}), X(i);
|
|
72
71
|
}, 100)(e),
|
|
73
|
-
[t.onSearch, g,
|
|
74
|
-
),
|
|
72
|
+
[t.onSearch, g, o, t.filterTreeNode]
|
|
73
|
+
), W = S(() => {
|
|
75
74
|
let e = !0;
|
|
76
|
-
|
|
77
|
-
}, [
|
|
75
|
+
x(t.showSearch) && (e = t.showSearch.retainInputValueWhileSelect !== !1), t.multiple && !e && n !== void 0 && E("", "optionChecked");
|
|
76
|
+
}, [n, t.multiple, JSON.stringify(t.showSearch)]), P = S(
|
|
78
77
|
(e, r) => {
|
|
79
|
-
|
|
78
|
+
T(e, r), W(), h || F(!1);
|
|
80
79
|
},
|
|
81
|
-
[
|
|
82
|
-
), re = (e, r,
|
|
83
|
-
if (
|
|
80
|
+
[T, W, a]
|
|
81
|
+
), re = (e, r, s) => {
|
|
82
|
+
if (s.stopPropagation(), e.disabled)
|
|
84
83
|
return;
|
|
85
|
-
const
|
|
86
|
-
if (!t.treeCheckable || t.treeCheckStrictly || !
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
trigger:
|
|
84
|
+
const i = x(e.value) ? e.value.value : e.value;
|
|
85
|
+
if (!t.treeCheckable || t.treeCheckStrictly || !o[i]) {
|
|
86
|
+
const f = l.filter((N, I) => I !== r);
|
|
87
|
+
P(f, {
|
|
88
|
+
trigger: o[i] || e,
|
|
90
89
|
checked: !1,
|
|
91
90
|
selected: !1
|
|
92
91
|
});
|
|
93
92
|
return;
|
|
94
93
|
}
|
|
95
|
-
const
|
|
96
|
-
|
|
94
|
+
const m = be(
|
|
95
|
+
i,
|
|
97
96
|
!1,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
ve(l),
|
|
98
|
+
o,
|
|
99
|
+
O.current
|
|
101
100
|
);
|
|
102
|
-
|
|
103
|
-
trigger:
|
|
101
|
+
O.current = m.indeterminateKeys, P(Oe(m.checkedKeys, o, l), {
|
|
102
|
+
trigger: o[i],
|
|
104
103
|
checked: !1,
|
|
105
104
|
selected: !1
|
|
106
105
|
});
|
|
107
106
|
};
|
|
108
|
-
function
|
|
107
|
+
function H(e) {
|
|
109
108
|
return ie(e) || le(e) || ae(e);
|
|
110
109
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}, [
|
|
114
|
-
const
|
|
110
|
+
M(() => {
|
|
111
|
+
n !== void 0 && te(n), n !== b.current && (b.current = n);
|
|
112
|
+
}, [n]);
|
|
113
|
+
const R = ge(() => {
|
|
115
114
|
let e = [];
|
|
116
|
-
if (
|
|
117
|
-
for (const r in
|
|
118
|
-
const
|
|
119
|
-
|
|
115
|
+
if (n)
|
|
116
|
+
for (const r in o) {
|
|
117
|
+
const i = [...o[r].pathParentKeys, r];
|
|
118
|
+
i.some((m) => w && w.has(m)) && (e = e.concat(i));
|
|
120
119
|
}
|
|
121
120
|
return Array.from(new Set(e));
|
|
122
|
-
}, [
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
}, [n, o, w]);
|
|
122
|
+
M(() => {
|
|
123
|
+
a ? setTimeout(() => {
|
|
125
124
|
const e = l[0];
|
|
126
|
-
|
|
127
|
-
}) :
|
|
128
|
-
}, [
|
|
125
|
+
k.current && e && k.current.scrollIntoView(e.value);
|
|
126
|
+
}) : G || n && E("", "optionListHide");
|
|
127
|
+
}, [a]), he(z, () => ({
|
|
129
128
|
focus() {
|
|
130
|
-
|
|
129
|
+
c.current && c.current.focus();
|
|
131
130
|
},
|
|
132
131
|
blur() {
|
|
133
|
-
|
|
132
|
+
c.current && c.current.blur();
|
|
134
133
|
},
|
|
135
|
-
getRootDOMNode: () =>
|
|
136
|
-
var e, r;
|
|
137
|
-
return (r = (e = m.current) == null ? void 0 : e.getRootDOMNode) == null ? void 0 : r.call(e);
|
|
138
|
-
}
|
|
134
|
+
getRootDOMNode: () => c.current?.getRootDOMNode?.()
|
|
139
135
|
}));
|
|
140
|
-
const oe =
|
|
141
|
-
(e) =>
|
|
142
|
-
[
|
|
143
|
-
), ne =
|
|
136
|
+
const oe = S(
|
|
137
|
+
(e) => v ? R.indexOf(e._key) > -1 : !0,
|
|
138
|
+
[v, R]
|
|
139
|
+
), ne = S(
|
|
144
140
|
(e) => {
|
|
145
|
-
const { disabled: r, value:
|
|
146
|
-
let
|
|
147
|
-
return
|
|
148
|
-
s
|
|
149
|
-
t.labelInValue ? e :
|
|
150
|
-
)), { text:
|
|
141
|
+
const { disabled: r, value: s } = e || {};
|
|
142
|
+
let i = e?.label;
|
|
143
|
+
return C(t.renderFormat) && (i = t.renderFormat(
|
|
144
|
+
o[s] || null,
|
|
145
|
+
t.labelInValue ? e : s
|
|
146
|
+
)), { text: i || s || "", disabled: r };
|
|
151
147
|
},
|
|
152
|
-
[t.renderFormat, t.labelInValue,
|
|
148
|
+
[t.renderFormat, t.labelInValue, o]
|
|
153
149
|
), se = (e) => {
|
|
154
|
-
|
|
155
|
-
},
|
|
156
|
-
|
|
150
|
+
T(e, {});
|
|
151
|
+
}, L = (e) => /* @__PURE__ */ y(
|
|
152
|
+
Pe,
|
|
157
153
|
{
|
|
158
154
|
autoAlignPopupWidth: !1,
|
|
159
155
|
autoAlignPopupMinWidth: !0,
|
|
160
|
-
ref:
|
|
156
|
+
ref: Q,
|
|
161
157
|
classNames: "slideDynamicOrigin",
|
|
162
158
|
trigger: "click",
|
|
163
159
|
position: "bl",
|
|
164
160
|
getPopupContainer: t.getPopupContainer,
|
|
165
|
-
popupAlign:
|
|
161
|
+
popupAlign: Re,
|
|
166
162
|
unmountOnExit: t.unmountOnExit,
|
|
167
163
|
...t.triggerProps,
|
|
168
|
-
className:
|
|
169
|
-
`${
|
|
164
|
+
className: $(
|
|
165
|
+
`${p}-trigger`,
|
|
170
166
|
t.triggerProps && t.triggerProps.className
|
|
171
167
|
),
|
|
172
168
|
popup: () => {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
Pe,
|
|
169
|
+
const r = t.dropdownRender, s = v && H(R) || H(g) ? t.notFoundContent || J?.("TreeSelect") : /* @__PURE__ */ y(
|
|
170
|
+
Ne,
|
|
176
171
|
{
|
|
177
|
-
prefixCls:
|
|
178
|
-
ref:
|
|
172
|
+
prefixCls: p,
|
|
173
|
+
ref: k,
|
|
179
174
|
...t,
|
|
180
|
-
inputValue:
|
|
175
|
+
inputValue: n,
|
|
181
176
|
filterNode: oe,
|
|
182
177
|
value: l,
|
|
183
|
-
onChange:
|
|
178
|
+
onChange: P,
|
|
184
179
|
multiple: h,
|
|
185
180
|
treeData: g
|
|
186
181
|
}
|
|
@@ -188,72 +183,69 @@ const ve = {
|
|
|
188
183
|
return /* @__PURE__ */ y(
|
|
189
184
|
"div",
|
|
190
185
|
{
|
|
191
|
-
id:
|
|
192
|
-
className:
|
|
193
|
-
[`${
|
|
186
|
+
id: D,
|
|
187
|
+
className: $(`${p}-popup`, {
|
|
188
|
+
[`${p}-rtl-popup`]: K
|
|
194
189
|
}),
|
|
195
190
|
style: {
|
|
196
|
-
maxHeight:
|
|
191
|
+
maxHeight: t.treeProps?.height || t.treeProps?.virtualListProps?.height ? "unset" : "",
|
|
197
192
|
...t.dropdownMenuStyle
|
|
198
193
|
},
|
|
199
|
-
children:
|
|
194
|
+
children: C(r) ? r(s) : s
|
|
200
195
|
}
|
|
201
196
|
);
|
|
202
197
|
},
|
|
203
198
|
disabled: t.disabled,
|
|
204
199
|
onVisibleChange: (r) => {
|
|
205
|
-
|
|
200
|
+
F(r);
|
|
206
201
|
},
|
|
207
|
-
popupVisible:
|
|
202
|
+
popupVisible: a,
|
|
208
203
|
children: e
|
|
209
204
|
}
|
|
210
|
-
),
|
|
211
|
-
var r;
|
|
205
|
+
), _ = typeof t.triggerElement == "function" ? (() => {
|
|
212
206
|
let e;
|
|
213
207
|
return h ? e = l.map(
|
|
214
|
-
(
|
|
215
|
-
) : e = t.labelInValue ? l[0] :
|
|
208
|
+
(r) => t.labelInValue ? { label: r.label, value: r.value } : r.value
|
|
209
|
+
) : e = t.labelInValue ? l[0] : l[0]?.value, t.triggerElement({ value: e });
|
|
216
210
|
})() : t.triggerElement;
|
|
217
|
-
return pe(
|
|
211
|
+
return pe(_) ? /* @__PURE__ */ y(
|
|
218
212
|
Ve,
|
|
219
213
|
{
|
|
220
|
-
ref:
|
|
221
|
-
rtl:
|
|
222
|
-
ariaControls:
|
|
214
|
+
ref: c,
|
|
215
|
+
rtl: K,
|
|
216
|
+
ariaControls: D,
|
|
223
217
|
...t,
|
|
224
|
-
popupVisible:
|
|
218
|
+
popupVisible: a,
|
|
225
219
|
value: !h && ce(l) ? l[0] : l,
|
|
226
|
-
inputValue:
|
|
227
|
-
isEmptyValue:
|
|
228
|
-
prefixCls:
|
|
220
|
+
inputValue: n,
|
|
221
|
+
isEmptyValue: H(l),
|
|
222
|
+
prefixCls: p,
|
|
229
223
|
isMultiple: h,
|
|
230
224
|
renderText: ne,
|
|
231
225
|
onSort: se,
|
|
232
226
|
onRemoveCheckedItem: re,
|
|
233
227
|
onClear: (e) => {
|
|
234
|
-
|
|
235
|
-
e.stopPropagation(), N([], {}), (r = t.onClear) == null || r.call(t, !!c);
|
|
228
|
+
e.stopPropagation(), P([], {}), t.onClear?.(!!a);
|
|
236
229
|
},
|
|
237
230
|
onKeyDown: (e) => {
|
|
238
|
-
|
|
239
|
-
e.stopPropagation(), (r = t.onKeyDown) == null || r.call(t, e);
|
|
231
|
+
e.stopPropagation(), t.onKeyDown?.(e);
|
|
240
232
|
},
|
|
241
233
|
onFocus: (e) => {
|
|
242
234
|
e && e.stopPropagation();
|
|
243
235
|
},
|
|
244
236
|
onChangeInputValue: (e) => {
|
|
245
|
-
|
|
237
|
+
E(e, "manual");
|
|
246
238
|
},
|
|
247
|
-
renderView:
|
|
239
|
+
renderView: L
|
|
248
240
|
}
|
|
249
|
-
) :
|
|
241
|
+
) : L(_);
|
|
250
242
|
}, Ae = me(Ke), V = Ae;
|
|
251
243
|
V.displayName = "TreeSelect";
|
|
252
|
-
V.Node =
|
|
253
|
-
V.SHOW_ALL =
|
|
254
|
-
V.SHOW_PARENT =
|
|
255
|
-
V.SHOW_CHILD =
|
|
256
|
-
const it =
|
|
244
|
+
V.Node = u.Node;
|
|
245
|
+
V.SHOW_ALL = u.SHOW_ALL;
|
|
246
|
+
V.SHOW_PARENT = u.SHOW_PARENT;
|
|
247
|
+
V.SHOW_CHILD = u.SHOW_CHILD;
|
|
248
|
+
const it = u.Node;
|
|
257
249
|
export {
|
|
258
250
|
it as TreeSelectTreeNode,
|
|
259
251
|
V as default
|