@hi-ui/cascader 5.0.0-experimental.0 → 5.0.0-experimental.2
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 +345 -0
- package/lib/cjs/Cascader.js +45 -6
- package/lib/cjs/CascaderMenuList.js +18 -8
- package/lib/esm/Cascader.js +45 -6
- package/lib/esm/CascaderMenuList.js +18 -8
- package/lib/types/Cascader.d.ts +7 -2
- package/lib/types/context.d.ts +4 -0
- package/package.json +13 -12
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# @hi-ui/cascader
|
|
2
|
+
|
|
3
|
+
## 5.0.0-experimental.2
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 59cef699f: feat: 组件语义化样式改造,增加 styles 和 classNames 属性 (5.0)
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- eb17c4697: style: 修复 UI/样式问题 (5.0)
|
|
12
|
+
- Updated dependencies [7f204c892]
|
|
13
|
+
- Updated dependencies [eb17c4697]
|
|
14
|
+
- Updated dependencies [eb17c4697]
|
|
15
|
+
- Updated dependencies [c407744fe]
|
|
16
|
+
- Updated dependencies [59cef699f]
|
|
17
|
+
- @hi-ui/icons@5.0.0-experimental.1
|
|
18
|
+
- @hi-ui/core@5.0.0-experimental.1
|
|
19
|
+
- @hi-ui/highlighter@5.0.0-experimental.1
|
|
20
|
+
- @hi-ui/input@5.0.0-experimental.2
|
|
21
|
+
- @hi-ui/picker@5.0.0-experimental.2
|
|
22
|
+
- @hi-ui/popper@5.0.0-experimental.1
|
|
23
|
+
- @hi-ui/virtual-list@5.0.0-experimental.1
|
|
24
|
+
- @hi-ui/use-merge-semantic@5.0.0-experimental.0
|
|
25
|
+
- @hi-ui/spinner@5.0.0-experimental.1
|
|
26
|
+
|
|
27
|
+
## 5.0.0-experimental.1
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 8f23e9322: style: 表单类组件统一调整后缀颜色、placeholder 颜色 (5.0)
|
|
32
|
+
- 发布 hiui experimental 版本
|
|
33
|
+
- 8561492d5: fix(cascader): 在平铺搜索模式下,当设置了 changeOnSelect 则搜索结果中展示父节点 (5.0)
|
|
34
|
+
- Updated dependencies [8f23e9322]
|
|
35
|
+
- Updated dependencies [b27483796]
|
|
36
|
+
- Updated dependencies [900c6c2f0]
|
|
37
|
+
- Updated dependencies
|
|
38
|
+
- @hi-ui/input@5.0.0-experimental.1
|
|
39
|
+
- @hi-ui/picker@5.0.0-experimental.1
|
|
40
|
+
|
|
41
|
+
## 5.0.0-experimental.0
|
|
42
|
+
|
|
43
|
+
### Major Changes
|
|
44
|
+
|
|
45
|
+
- 8f3aa85e4: feat: 组件的 package.json 中的 exports 统一加上 types 配置 (5.0)
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- b9989e482: feat(picker): 增加 clearSearchOnClosed api 默认是 false (5.0)
|
|
50
|
+
- f1ab51725: <br>
|
|
51
|
+
- feat(picker): 下拉选择类组件增加 xs 尺寸 (5.0)
|
|
52
|
+
- feat(input): 输入框组件增加 xs 尺寸 (5.0)
|
|
53
|
+
- 3e1d3608f: feat(cascader): add onItemClick api (5.0)
|
|
54
|
+
- 6dca7795c: feat: 下拉选择组件增加 showIndicator 参数 & 修改 appearance 中的 unset 样式 (5.0)
|
|
55
|
+
- 77d969c2e: feat: 下拉选择类组件 appearance 参数增加 contained 类型 (5.0)
|
|
56
|
+
- 58ad82e94: feat: 输入框和选择器组件增加 borderless 形态 (5.0)
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- 6fb223e3a: style: fix ui bug (5.0)
|
|
61
|
+
- 1662753e0: style: fix ui bug (5.0)
|
|
62
|
+
- cf89262c7: style(picker): 移除 picker 组件中的 \_\_text 样式定义 (5.0)
|
|
63
|
+
- 9b34d99bc: fix: 修复 5.0 UI 问题 (5.0)
|
|
64
|
+
- be5a59325: style: 修改样式问题 (5.0)
|
|
65
|
+
- 79ea480f3: feat(global-context): 增加 size api 全局配置 (5.0)
|
|
66
|
+
- 2e56529f7: styles: 主题定制功能完善&&样式变量化写法改造&&兼容 RTL (5.0)
|
|
67
|
+
- eb718e940: fix: 修改组件问题 (5.0)
|
|
68
|
+
- 95abba983: fix: 修改 UI 问题 (5.0)
|
|
69
|
+
- f3bf08f27: fix(cascader): 平铺搜索结果时不再展示不可点击的父节点 (5.0)
|
|
70
|
+
- de8d058dc: perf: 对下拉选择类组件的 customRender 的内容增加 memoization 以优化性能 (5.0)
|
|
71
|
+
- 5210770d9: feat(picker): add header api (5.0)
|
|
72
|
+
- 424700fc5: style(cascader&check-cascader): 调整下拉框样式,增加搜索框宽度设置 (5.0)
|
|
73
|
+
- 4b2596538: <br>
|
|
74
|
+
- style(cascader&check-cascader): 增加 white-space: nowrap; 样式以防止文本换行 (5.0)
|
|
75
|
+
- style(cascader&check-cascader): 调整搜索框默认宽度为 100px (5.0)
|
|
76
|
+
- feat(check-cascader): 增加 flattedSearchResult 属性,用于控制搜索结果的展现形式 (5.0)
|
|
77
|
+
- fix(cascader): 修复当搜索结果为空时,下拉框没有显示空状态问题 (5.0)
|
|
78
|
+
- 33da3144e: build: 将 package.json 中 exports 配置中的 types 配置放在最上面 (5.0)
|
|
79
|
+
- 7f3abee55: style: fix ui bug (5.0)
|
|
80
|
+
- 0a4e90dbd: <br>
|
|
81
|
+
- style(tag-input): 间距调整 (5.0)
|
|
82
|
+
- style(select): 选择类组件选项圆角改为 4px (5.0)
|
|
83
|
+
- style(picker): 搜索框样式调整 (5.0)
|
|
84
|
+
- 79739ed82: <br>
|
|
85
|
+
- fix(cascader): 处理当 value 为空时清空选项的选中态(5.0)
|
|
86
|
+
- style(cascader&check-cascader): 调整选项容器最小宽度为 160px (5.0)
|
|
87
|
+
- style(cascader&check-cascader): 优化下拉框宽度,让内容和搜索框默认宽度对齐 (5.0)
|
|
88
|
+
- perf(cascader&check-cascader): 优化 customRender 函数,支持传递选中项和当前值 (5.0)
|
|
89
|
+
- 4a31cea53: style: 统一调整选择类组件 hover 时的背景色 (5.0)
|
|
90
|
+
- 99801c2d1: fix: 修复 UI 问题 (5.0)
|
|
91
|
+
- Updated dependencies [0b34e1c15]
|
|
92
|
+
- Updated dependencies [da2e63a14]
|
|
93
|
+
- Updated dependencies [1e226cd66]
|
|
94
|
+
- Updated dependencies [b9989e482]
|
|
95
|
+
- Updated dependencies [1662753e0]
|
|
96
|
+
- Updated dependencies [122d1d859]
|
|
97
|
+
- Updated dependencies [f1ab51725]
|
|
98
|
+
- Updated dependencies [41552be0b]
|
|
99
|
+
- Updated dependencies [8c0ee78f0]
|
|
100
|
+
- Updated dependencies [9b34d99bc]
|
|
101
|
+
- Updated dependencies [8f3aa85e4]
|
|
102
|
+
- Updated dependencies [f4fc0ef30]
|
|
103
|
+
- Updated dependencies [ec4c7faa2]
|
|
104
|
+
- Updated dependencies [29cae09ea]
|
|
105
|
+
- Updated dependencies [fd4c20bbd]
|
|
106
|
+
- Updated dependencies [be5a59325]
|
|
107
|
+
- Updated dependencies [71fc15e5c]
|
|
108
|
+
- Updated dependencies [79ea480f3]
|
|
109
|
+
- Updated dependencies [2e56529f7]
|
|
110
|
+
- Updated dependencies [277c5033a]
|
|
111
|
+
- Updated dependencies [95abba983]
|
|
112
|
+
- Updated dependencies [4a31cea53]
|
|
113
|
+
- Updated dependencies [976ec929d]
|
|
114
|
+
- Updated dependencies [f1ab51725]
|
|
115
|
+
- Updated dependencies [6dca7795c]
|
|
116
|
+
- Updated dependencies [7b956b1eb]
|
|
117
|
+
- Updated dependencies [5210770d9]
|
|
118
|
+
- Updated dependencies [e2d184e74]
|
|
119
|
+
- Updated dependencies [4006b2c8c]
|
|
120
|
+
- Updated dependencies [77d969c2e]
|
|
121
|
+
- Updated dependencies [e42e2badf]
|
|
122
|
+
- Updated dependencies [33da3144e]
|
|
123
|
+
- Updated dependencies [7f3abee55]
|
|
124
|
+
- Updated dependencies [6fcda9bf2]
|
|
125
|
+
- Updated dependencies [0a4e90dbd]
|
|
126
|
+
- Updated dependencies [58ad82e94]
|
|
127
|
+
- Updated dependencies [a0f0c9d6b]
|
|
128
|
+
- Updated dependencies [f2be367e9]
|
|
129
|
+
- Updated dependencies [1972fd16a]
|
|
130
|
+
- Updated dependencies [99801c2d1]
|
|
131
|
+
- Updated dependencies [86910f5e2]
|
|
132
|
+
- Updated dependencies [cb7b794d0]
|
|
133
|
+
- @hi-ui/picker@5.0.0-experimental.0
|
|
134
|
+
- @hi-ui/input@5.0.0-experimental.0
|
|
135
|
+
- @hi-ui/popper@5.0.0-experimental.0
|
|
136
|
+
- @hi-ui/icons@5.0.0-experimental.0
|
|
137
|
+
- @hi-ui/virtual-list@5.0.0-experimental.0
|
|
138
|
+
- @hi-ui/core@5.0.0-experimental.0
|
|
139
|
+
- @hi-ui/use-check-state@5.0.0-experimental.0
|
|
140
|
+
- @hi-ui/use-data-source@5.0.0-experimental.0
|
|
141
|
+
- @hi-ui/use-latest@5.0.0-experimental.0
|
|
142
|
+
- @hi-ui/use-search-mode@5.0.0-experimental.0
|
|
143
|
+
- @hi-ui/use-toggle@5.0.0-experimental.0
|
|
144
|
+
- @hi-ui/use-uncontrolled-state@5.0.0-experimental.0
|
|
145
|
+
- @hi-ui/highlighter@5.0.0-experimental.0
|
|
146
|
+
- @hi-ui/spinner@5.0.0-experimental.0
|
|
147
|
+
- @hi-ui/array-utils@5.0.0-experimental.0
|
|
148
|
+
- @hi-ui/classname@5.0.0-experimental.0
|
|
149
|
+
- @hi-ui/env@5.0.0-experimental.0
|
|
150
|
+
- @hi-ui/func-utils@5.0.0-experimental.0
|
|
151
|
+
- @hi-ui/tree-utils@5.0.0-experimental.0
|
|
152
|
+
- @hi-ui/type-assertion@5.0.0-experimental.0
|
|
153
|
+
|
|
154
|
+
## 4.5.2
|
|
155
|
+
|
|
156
|
+
### Patch Changes
|
|
157
|
+
|
|
158
|
+
- [#3415](https://github.com/XiaoMi/hiui/pull/3415) [`e7a09db`](https://github.com/XiaoMi/hiui/commit/e7a09db7f75022fee82a254a74a2ec17c6b03638) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(cascader): 修复在异步加载数据下,首次打开弹窗没有定位到已选节点位置的问题 (#3414)
|
|
159
|
+
|
|
160
|
+
## 4.5.1
|
|
161
|
+
|
|
162
|
+
### Patch Changes
|
|
163
|
+
|
|
164
|
+
- [#3407](https://github.com/XiaoMi/hiui/pull/3407) [`4a1444965`](https://github.com/XiaoMi/hiui/commit/4a1444965bdeeeb12333e43a05caa2e76d74eb47) Thanks [@zyprepare](https://github.com/zyprepare)! - perf(cascader): 体验优化:每次打开菜单时自动定位到已选节点 (#3406)
|
|
165
|
+
|
|
166
|
+
- Updated dependencies [[`b2de718e9`](https://github.com/XiaoMi/hiui/commit/b2de718e9fd12dbe8fa1d762c6924696c19bc924)]:
|
|
167
|
+
- @hi-ui/core@4.0.11
|
|
168
|
+
|
|
169
|
+
## 4.5.0
|
|
170
|
+
|
|
171
|
+
### Minor Changes
|
|
172
|
+
|
|
173
|
+
- [#3231](https://github.com/XiaoMi/hiui/pull/3231) [`bbba46153`](https://github.com/XiaoMi/hiui/commit/bbba4615313cd0618deff633bebc657e7f34ec94) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(cascader): onChange 回调中增加选中项对象参数返回 (#3230)
|
|
174
|
+
|
|
175
|
+
### Patch Changes
|
|
176
|
+
|
|
177
|
+
- Updated dependencies [[`dc1311a91`](https://github.com/XiaoMi/hiui/commit/dc1311a917518bc5debef755a9fcd4e33fb58790)]:
|
|
178
|
+
- @hi-ui/use-search-mode@4.2.1
|
|
179
|
+
|
|
180
|
+
## 4.4.1
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- [#3196](https://github.com/XiaoMi/hiui/pull/3196) [`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0) Thanks [@KEH3](https://github.com/KEH3)! - fix(popper): ref 中增加更新位置方法解决上游组件弹窗被遮挡问题 (#3195)
|
|
185
|
+
|
|
186
|
+
- Updated dependencies [[`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0)]:
|
|
187
|
+
- @hi-ui/picker@4.1.8
|
|
188
|
+
- @hi-ui/popper@4.1.7
|
|
189
|
+
|
|
190
|
+
## 4.4.0
|
|
191
|
+
|
|
192
|
+
### Minor Changes
|
|
193
|
+
|
|
194
|
+
- [#3172](https://github.com/XiaoMi/hiui/pull/3172) [`a883d8e19`](https://github.com/XiaoMi/hiui/commit/a883d8e197446ef0e7cefcc5cc44d21ed1d0807f) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(mock-input): 增加 onClear 参数 (#3171)
|
|
195
|
+
|
|
196
|
+
### Patch Changes
|
|
197
|
+
|
|
198
|
+
- Updated dependencies [[`7bf0630`](https://github.com/XiaoMi/hiui/commit/7bf063053a73923af41c33370c31371325206276), [`a883d8e19`](https://github.com/XiaoMi/hiui/commit/a883d8e197446ef0e7cefcc5cc44d21ed1d0807f)]:
|
|
199
|
+
- @hi-ui/highlighter@4.1.2
|
|
200
|
+
- @hi-ui/input@4.4.0
|
|
201
|
+
|
|
202
|
+
## 4.3.2
|
|
203
|
+
|
|
204
|
+
### Patch Changes
|
|
205
|
+
|
|
206
|
+
- [#3137](https://github.com/XiaoMi/hiui/pull/3137) [`5d2e1424a`](https://github.com/XiaoMi/hiui/commit/5d2e1424ac6f67c4dbdf6d99c6715bd380419288) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(cascader): useSelect 增加 value 参数以支持选中项的初始化状态 (#3135)
|
|
207
|
+
|
|
208
|
+
## 4.3.1
|
|
209
|
+
|
|
210
|
+
### Patch Changes
|
|
211
|
+
|
|
212
|
+
- [#2994](https://github.com/XiaoMi/hiui/pull/2994) [`4d6b26507`](https://github.com/XiaoMi/hiui/commit/4d6b26507479030686d5da65e1bec8b353b80bfa) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复 keyword 设置后数据没有过滤的问题
|
|
213
|
+
|
|
214
|
+
## 4.3.0
|
|
215
|
+
|
|
216
|
+
### Minor Changes
|
|
217
|
+
|
|
218
|
+
- [#2921](https://github.com/XiaoMi/hiui/pull/2921) [`c6d9225c5`](https://github.com/XiaoMi/hiui/commit/c6d9225c5f09484344159e31af93f7ae147566bb) Thanks [@yang-x20](https://github.com/yang-x20)! - feat: 新增自定义触发器
|
|
219
|
+
|
|
220
|
+
- [#2824](https://github.com/XiaoMi/hiui/pull/2824) [`912c60b7b`](https://github.com/XiaoMi/hiui/commit/912c60b7b0f19a8386ec1de30fe6440e3963f288) Thanks [@xiamiao1121](https://github.com/xiamiao1121)! - feat: 支持前置后置内容
|
|
221
|
+
|
|
222
|
+
## 4.2.0
|
|
223
|
+
|
|
224
|
+
### Minor Changes
|
|
225
|
+
|
|
226
|
+
- [#2805](https://github.com/XiaoMi/hiui/pull/2805) [`9146d5ef2`](https://github.com/XiaoMi/hiui/commit/9146d5ef207201a6ff8f42fb3ca66e7929335c1a) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add closeOnSelect api
|
|
227
|
+
|
|
228
|
+
## 4.1.6
|
|
229
|
+
|
|
230
|
+
### Patch Changes
|
|
231
|
+
|
|
232
|
+
- [#2791](https://github.com/XiaoMi/hiui/pull/2791) [`1a00f9fc4`](https://github.com/XiaoMi/hiui/commit/1a00f9fc4a44619059d7852e846b54fedbd56715) Thanks [@zyprepare](https://github.com/zyprepare)! - build: style-inject(node 环境下有问题) 替换为 @hi-ui/style-inject
|
|
233
|
+
|
|
234
|
+
- Updated dependencies [[`1a00f9fc4`](https://github.com/XiaoMi/hiui/commit/1a00f9fc4a44619059d7852e846b54fedbd56715)]:
|
|
235
|
+
- @hi-ui/env@4.0.5
|
|
236
|
+
- @hi-ui/icons@4.0.19
|
|
237
|
+
- @hi-ui/highlighter@4.0.9
|
|
238
|
+
- @hi-ui/input@4.1.1
|
|
239
|
+
- @hi-ui/picker@4.1.6
|
|
240
|
+
- @hi-ui/popper@4.1.5
|
|
241
|
+
- @hi-ui/spinner@4.0.9
|
|
242
|
+
- @hi-ui/array-utils@4.0.5
|
|
243
|
+
- @hi-ui/classname@4.0.5
|
|
244
|
+
|
|
245
|
+
## 4.1.5
|
|
246
|
+
|
|
247
|
+
### Patch Changes
|
|
248
|
+
|
|
249
|
+
- build: rollup2 构建
|
|
250
|
+
- Updated dependencies
|
|
251
|
+
- @hi-ui/core@4.0.8
|
|
252
|
+
- @hi-ui/use-check-state@4.0.4
|
|
253
|
+
- @hi-ui/use-data-source@4.0.4
|
|
254
|
+
- @hi-ui/use-latest@4.0.4
|
|
255
|
+
- @hi-ui/use-search-mode@4.1.4
|
|
256
|
+
- @hi-ui/use-toggle@4.0.4
|
|
257
|
+
- @hi-ui/use-uncontrolled-state@4.0.4
|
|
258
|
+
- @hi-ui/icons@4.0.18
|
|
259
|
+
- @hi-ui/highlighter@4.0.8
|
|
260
|
+
- @hi-ui/input@4.0.13
|
|
261
|
+
- @hi-ui/picker@4.1.4
|
|
262
|
+
- @hi-ui/popper@4.1.3
|
|
263
|
+
- @hi-ui/spinner@4.0.8
|
|
264
|
+
- @hi-ui/array-utils@4.0.4
|
|
265
|
+
- @hi-ui/classname@4.0.4
|
|
266
|
+
- @hi-ui/env@4.0.4
|
|
267
|
+
- @hi-ui/func-utils@4.0.4
|
|
268
|
+
- @hi-ui/tree-utils@4.1.4
|
|
269
|
+
- @hi-ui/type-assertion@4.0.4
|
|
270
|
+
|
|
271
|
+
## 4.1.4
|
|
272
|
+
|
|
273
|
+
### Patch Changes
|
|
274
|
+
|
|
275
|
+
- fix: 修复 rollup3 打包 cjs 模块问题
|
|
276
|
+
- Updated dependencies
|
|
277
|
+
- @hi-ui/env@4.0.3
|
|
278
|
+
- @hi-ui/core@4.0.7
|
|
279
|
+
- @hi-ui/use-check-state@4.0.3
|
|
280
|
+
- @hi-ui/use-data-source@4.0.3
|
|
281
|
+
- @hi-ui/use-latest@4.0.3
|
|
282
|
+
- @hi-ui/use-search-mode@4.1.3
|
|
283
|
+
- @hi-ui/use-toggle@4.0.3
|
|
284
|
+
- @hi-ui/use-uncontrolled-state@4.0.3
|
|
285
|
+
- @hi-ui/icons@4.0.17
|
|
286
|
+
- @hi-ui/highlighter@4.0.7
|
|
287
|
+
- @hi-ui/input@4.0.12
|
|
288
|
+
- @hi-ui/picker@4.1.3
|
|
289
|
+
- @hi-ui/popper@4.1.2
|
|
290
|
+
- @hi-ui/spinner@4.0.7
|
|
291
|
+
- @hi-ui/array-utils@4.0.3
|
|
292
|
+
- @hi-ui/classname@4.0.3
|
|
293
|
+
- @hi-ui/func-utils@4.0.3
|
|
294
|
+
- @hi-ui/tree-utils@4.1.3
|
|
295
|
+
- @hi-ui/type-assertion@4.0.3
|
|
296
|
+
|
|
297
|
+
## 4.1.3
|
|
298
|
+
|
|
299
|
+
### Patch Changes
|
|
300
|
+
|
|
301
|
+
- [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
|
|
302
|
+
|
|
303
|
+
- Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
|
|
304
|
+
- @hi-ui/core@4.0.6
|
|
305
|
+
- @hi-ui/use-check-state@4.0.2
|
|
306
|
+
- @hi-ui/use-data-source@4.0.2
|
|
307
|
+
- @hi-ui/use-latest@4.0.2
|
|
308
|
+
- @hi-ui/use-search-mode@4.1.2
|
|
309
|
+
- @hi-ui/use-toggle@4.0.2
|
|
310
|
+
- @hi-ui/use-uncontrolled-state@4.0.2
|
|
311
|
+
- @hi-ui/icons@4.0.16
|
|
312
|
+
- @hi-ui/highlighter@4.0.6
|
|
313
|
+
- @hi-ui/input@4.0.11
|
|
314
|
+
- @hi-ui/picker@4.1.2
|
|
315
|
+
- @hi-ui/popper@4.1.1
|
|
316
|
+
- @hi-ui/spinner@4.0.6
|
|
317
|
+
- @hi-ui/array-utils@4.0.2
|
|
318
|
+
- @hi-ui/classname@4.0.2
|
|
319
|
+
- @hi-ui/env@4.0.2
|
|
320
|
+
- @hi-ui/func-utils@4.0.2
|
|
321
|
+
- @hi-ui/tree-utils@4.1.2
|
|
322
|
+
- @hi-ui/type-assertion@4.0.2
|
|
323
|
+
|
|
324
|
+
## 4.1.2
|
|
325
|
+
|
|
326
|
+
### Patch Changes
|
|
327
|
+
|
|
328
|
+
- [#2653](https://github.com/XiaoMi/hiui/pull/2653) [`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315) Thanks [@zyprepare](https://github.com/zyprepare)! - chore: 更新使用到的 G40 颜色值
|
|
329
|
+
|
|
330
|
+
- Updated dependencies [[`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315)]:
|
|
331
|
+
- @hi-ui/input@4.0.10
|
|
332
|
+
|
|
333
|
+
## 4.1.1
|
|
334
|
+
|
|
335
|
+
### Patch Changes
|
|
336
|
+
|
|
337
|
+
- [#2612](https://github.com/XiaoMi/hiui/pull/2612) [`832360b54`](https://github.com/XiaoMi/hiui/commit/832360b54231983148858b12707087c6b6fbac87) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修改下拉菜单高度为 32px
|
|
338
|
+
|
|
339
|
+
## 4.1.0
|
|
340
|
+
|
|
341
|
+
### Minor Changes
|
|
342
|
+
|
|
343
|
+
- [#2601](https://github.com/XiaoMi/hiui/pull/2601) [`80cc037a1`](https://github.com/XiaoMi/hiui/commit/80cc037a15381a5f3466a7ea79565e10f05ca129) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add size api
|
|
344
|
+
|
|
345
|
+
- [#2605](https://github.com/XiaoMi/hiui/pull/2605) [`90ea1ea81`](https://github.com/XiaoMi/hiui/commit/90ea1ea810573f730ebbc4c48272dd6181099933) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 renderExtraFooter 和 dropdownColumnRender api
|
package/lib/cjs/Cascader.js
CHANGED
|
@@ -31,6 +31,7 @@ var arrayUtils = require('@hi-ui/array-utils');
|
|
|
31
31
|
var index = require('./hooks/use-cache/lib/esm/index.js');
|
|
32
32
|
var core = require('@hi-ui/core');
|
|
33
33
|
var funcUtils = require('@hi-ui/func-utils');
|
|
34
|
+
var useMergeSemantic = require('@hi-ui/use-merge-semantic');
|
|
34
35
|
var CascaderMenuList = require('./CascaderMenuList.js');
|
|
35
36
|
var Highlighter = require('@hi-ui/highlighter');
|
|
36
37
|
function _interopDefaultCompat(e) {
|
|
@@ -95,11 +96,31 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
95
96
|
_props$showIndicator = props.showIndicator,
|
|
96
97
|
showIndicator = _props$showIndicator === void 0 ? true : _props$showIndicator,
|
|
97
98
|
renderExtraHeader = props.renderExtraHeader,
|
|
98
|
-
|
|
99
|
+
changeOnSelect = props.changeOnSelect,
|
|
100
|
+
classNamesProp = props.classNames,
|
|
101
|
+
stylesProp = props.styles,
|
|
102
|
+
rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "clearSearchOnClosed", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender", "label", "virtual", "onItemClick", "showIndicator", "renderExtraHeader", "changeOnSelect", "classNames", "styles"]);
|
|
99
103
|
var _useGlobalContext = core.useGlobalContext(),
|
|
100
|
-
globalSize = _useGlobalContext.size
|
|
104
|
+
globalSize = _useGlobalContext.size,
|
|
105
|
+
cascaderConfig = _useGlobalContext.cascader;
|
|
101
106
|
var size = (_a = sizeProp !== null && sizeProp !== void 0 ? sizeProp : globalSize) !== null && _a !== void 0 ? _a : 'md';
|
|
102
107
|
var i18n = core.useLocaleContext();
|
|
108
|
+
var _useMergeSemantic = useMergeSemantic.useMergeSemantic({
|
|
109
|
+
classNamesList: [cascaderConfig === null || cascaderConfig === void 0 ? void 0 : cascaderConfig.classNames, classNamesProp],
|
|
110
|
+
stylesList: [cascaderConfig === null || cascaderConfig === void 0 ? void 0 : cascaderConfig.styles, stylesProp],
|
|
111
|
+
info: {
|
|
112
|
+
props: Object.assign(Object.assign({}, rest), {
|
|
113
|
+
disabled: disabled,
|
|
114
|
+
searchable: searchableProp,
|
|
115
|
+
visible: visible,
|
|
116
|
+
size: size,
|
|
117
|
+
appearance: appearance,
|
|
118
|
+
expandTrigger: expandTrigger
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
}),
|
|
122
|
+
classNames = _useMergeSemantic.classNames,
|
|
123
|
+
styles = _useMergeSemantic.styles;
|
|
103
124
|
var pickerInnerRef = React.useRef(null);
|
|
104
125
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
|
105
126
|
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
|
@@ -148,7 +169,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
148
169
|
flattedData: flattedData,
|
|
149
170
|
enabled: searchableProp,
|
|
150
171
|
exclude: function exclude(node) {
|
|
151
|
-
return node.disabled || node.children;
|
|
172
|
+
return node.disabled || (changeOnSelect ? false : node.children);
|
|
152
173
|
}
|
|
153
174
|
// exclude: (option: FlattedCascaderDataItem) => {
|
|
154
175
|
// return checkCanLoadChildren(option, onLoadChildren)
|
|
@@ -198,7 +219,8 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
198
219
|
// @ts-ignore
|
|
199
220
|
cascaderData: cascaderData,
|
|
200
221
|
setCascaderData: setCascaderData,
|
|
201
|
-
flattedData: flattedData
|
|
222
|
+
flattedData: flattedData,
|
|
223
|
+
changeOnSelect: changeOnSelect
|
|
202
224
|
})),
|
|
203
225
|
rootProps = _b.rootProps,
|
|
204
226
|
context$1 = tslib.__rest(_b, ["rootProps"]);
|
|
@@ -252,6 +274,19 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
252
274
|
clear();
|
|
253
275
|
}
|
|
254
276
|
}, [value, clear]);
|
|
277
|
+
var pickerSemanticKeys = ['root', 'container', 'panel', 'header', 'search', 'body', 'footer', 'loading', 'empty', 'creator'];
|
|
278
|
+
var pickerClassNames = pickerSemanticKeys.reduce(function (acc, key) {
|
|
279
|
+
if ((classNames === null || classNames === void 0 ? void 0 : classNames[key]) !== undefined) {
|
|
280
|
+
acc[key] = classNames[key];
|
|
281
|
+
}
|
|
282
|
+
return acc;
|
|
283
|
+
}, {});
|
|
284
|
+
var pickerStyles = pickerSemanticKeys.reduce(function (acc, key) {
|
|
285
|
+
if (styles === null || styles === void 0 ? void 0 : styles[key]) {
|
|
286
|
+
acc[key] = styles[key];
|
|
287
|
+
}
|
|
288
|
+
return acc;
|
|
289
|
+
}, {});
|
|
255
290
|
return /*#__PURE__*/React__default["default"].createElement(context.CascaderProvider, {
|
|
256
291
|
value: Object.assign(Object.assign({}, context$1), {
|
|
257
292
|
expandTrigger: expandTrigger,
|
|
@@ -259,13 +294,17 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
259
294
|
menuList: showData,
|
|
260
295
|
dropdownColumnRender: dropdownColumnRender,
|
|
261
296
|
virtual: virtual,
|
|
262
|
-
onItemClickProp: onItemClickProp
|
|
297
|
+
onItemClickProp: onItemClickProp,
|
|
298
|
+
classNames: classNames,
|
|
299
|
+
styles: styles
|
|
263
300
|
})
|
|
264
301
|
}, /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
|
|
265
302
|
ref: ref,
|
|
266
303
|
innerRef: pickerInnerRef,
|
|
267
304
|
className: cls,
|
|
268
|
-
overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
|
|
305
|
+
overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName),
|
|
306
|
+
classNames: pickerClassNames,
|
|
307
|
+
styles: pickerStyles
|
|
269
308
|
}, rootProps, {
|
|
270
309
|
// 这种展现形式宽度是不固定的,关掉宽度匹配策略
|
|
271
310
|
overlay: Object.assign({
|
|
@@ -39,11 +39,15 @@ var CascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
39
39
|
var _useCascaderContext = context.useCascaderContext(),
|
|
40
40
|
flatted = _useCascaderContext.flatted,
|
|
41
41
|
menuList = _useCascaderContext.menuList,
|
|
42
|
-
dropdownColumnRender = _useCascaderContext.dropdownColumnRender
|
|
43
|
-
|
|
42
|
+
dropdownColumnRender = _useCascaderContext.dropdownColumnRender,
|
|
43
|
+
classNames = _useCascaderContext.classNames,
|
|
44
|
+
styles = _useCascaderContext.styles;
|
|
45
|
+
var cls = classname.cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menuList, flatted && prefixCls + "--flatted");
|
|
46
|
+
var rootStyle = styles === null || styles === void 0 ? void 0 : styles.menuList;
|
|
44
47
|
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
45
48
|
ref: ref,
|
|
46
|
-
className: cls
|
|
49
|
+
className: cls,
|
|
50
|
+
style: rootStyle
|
|
47
51
|
}, rest), menuList.map(function (menu, menuIndex) {
|
|
48
52
|
return typeAssertion.isArrayNonEmpty(menu) ? typeAssertion.isFunction(dropdownColumnRender) ? dropdownColumnRender( /*#__PURE__*/React__default["default"].createElement(CascaderMenu, {
|
|
49
53
|
key: menuIndex,
|
|
@@ -67,8 +71,11 @@ var CascaderMenu = function CascaderMenu(_ref) {
|
|
|
67
71
|
style = _ref.style,
|
|
68
72
|
menu = _ref.data;
|
|
69
73
|
var _useCascaderContext2 = context.useCascaderContext(),
|
|
70
|
-
virtual = _useCascaderContext2.virtual
|
|
71
|
-
|
|
74
|
+
virtual = _useCascaderContext2.virtual,
|
|
75
|
+
classNames = _useCascaderContext2.classNames,
|
|
76
|
+
styles = _useCascaderContext2.styles;
|
|
77
|
+
var cls = classname.cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menu);
|
|
78
|
+
var menuStyle = Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.menu);
|
|
72
79
|
var virtualListProps = {
|
|
73
80
|
virtual: virtual,
|
|
74
81
|
data: menu,
|
|
@@ -77,7 +84,7 @@ var CascaderMenu = function CascaderMenu(_ref) {
|
|
|
77
84
|
};
|
|
78
85
|
return /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
79
86
|
className: cls,
|
|
80
|
-
style:
|
|
87
|
+
style: menuStyle,
|
|
81
88
|
role: role
|
|
82
89
|
}, typeAssertion.isArrayNonEmpty(menu) ? virtual ? ( /*#__PURE__*/React__default["default"].createElement(VirtualList__default["default"], Object.assign({
|
|
83
90
|
itemKey: 'id',
|
|
@@ -108,13 +115,15 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
108
115
|
onItemHover = _useCascaderContext3.onItemHover,
|
|
109
116
|
titleRender = _useCascaderContext3.titleRender,
|
|
110
117
|
onLoadChildren = _useCascaderContext3.onLoadChildren,
|
|
111
|
-
getItemRequiredProps = _useCascaderContext3.getItemRequiredProps
|
|
118
|
+
getItemRequiredProps = _useCascaderContext3.getItemRequiredProps,
|
|
119
|
+
classNames = _useCascaderContext3.classNames,
|
|
120
|
+
styles = _useCascaderContext3.styles;
|
|
112
121
|
var eventOption = index.getItemEventData(option, getItemRequiredProps(option));
|
|
113
122
|
var selected = eventOption.selected,
|
|
114
123
|
loading = eventOption.loading,
|
|
115
124
|
active = eventOption.active;
|
|
116
125
|
var disabled = disabledContext || option.disabled;
|
|
117
|
-
var optionCls = classname.cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected");
|
|
126
|
+
var optionCls = classname.cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected", classNames === null || classNames === void 0 ? void 0 : classNames.option);
|
|
118
127
|
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
119
128
|
ref: ref,
|
|
120
129
|
key: option.id,
|
|
@@ -123,6 +132,7 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
123
132
|
title: typeof option.title === 'string' ? option.title : undefined
|
|
124
133
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
125
134
|
className: optionCls,
|
|
135
|
+
style: styles === null || styles === void 0 ? void 0 : styles.option,
|
|
126
136
|
onClick: function onClick(evt) {
|
|
127
137
|
if (disabled) return;
|
|
128
138
|
onItemClick(eventOption);
|
package/lib/esm/Cascader.js
CHANGED
|
@@ -25,6 +25,7 @@ import { uniqBy } from '@hi-ui/array-utils';
|
|
|
25
25
|
import { useCache } from './hooks/use-cache/lib/esm/index.js';
|
|
26
26
|
import { useGlobalContext, useLocaleContext } from '@hi-ui/core';
|
|
27
27
|
import { callAllFuncs } from '@hi-ui/func-utils';
|
|
28
|
+
import { useMergeSemantic } from '@hi-ui/use-merge-semantic';
|
|
28
29
|
import { CascaderMenuList } from './CascaderMenuList.js';
|
|
29
30
|
import Highlighter from '@hi-ui/highlighter';
|
|
30
31
|
var _prefix = getPrefixCls('cascader');
|
|
@@ -82,11 +83,31 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
82
83
|
_props$showIndicator = props.showIndicator,
|
|
83
84
|
showIndicator = _props$showIndicator === void 0 ? true : _props$showIndicator,
|
|
84
85
|
renderExtraHeader = props.renderExtraHeader,
|
|
85
|
-
|
|
86
|
+
changeOnSelect = props.changeOnSelect,
|
|
87
|
+
classNamesProp = props.classNames,
|
|
88
|
+
stylesProp = props.styles,
|
|
89
|
+
rest = __rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "clearSearchOnClosed", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender", "label", "virtual", "onItemClick", "showIndicator", "renderExtraHeader", "changeOnSelect", "classNames", "styles"]);
|
|
86
90
|
var _useGlobalContext = useGlobalContext(),
|
|
87
|
-
globalSize = _useGlobalContext.size
|
|
91
|
+
globalSize = _useGlobalContext.size,
|
|
92
|
+
cascaderConfig = _useGlobalContext.cascader;
|
|
88
93
|
var size = (_a = sizeProp !== null && sizeProp !== void 0 ? sizeProp : globalSize) !== null && _a !== void 0 ? _a : 'md';
|
|
89
94
|
var i18n = useLocaleContext();
|
|
95
|
+
var _useMergeSemantic = useMergeSemantic({
|
|
96
|
+
classNamesList: [cascaderConfig === null || cascaderConfig === void 0 ? void 0 : cascaderConfig.classNames, classNamesProp],
|
|
97
|
+
stylesList: [cascaderConfig === null || cascaderConfig === void 0 ? void 0 : cascaderConfig.styles, stylesProp],
|
|
98
|
+
info: {
|
|
99
|
+
props: Object.assign(Object.assign({}, rest), {
|
|
100
|
+
disabled: disabled,
|
|
101
|
+
searchable: searchableProp,
|
|
102
|
+
visible: visible,
|
|
103
|
+
size: size,
|
|
104
|
+
appearance: appearance,
|
|
105
|
+
expandTrigger: expandTrigger
|
|
106
|
+
})
|
|
107
|
+
}
|
|
108
|
+
}),
|
|
109
|
+
classNames = _useMergeSemantic.classNames,
|
|
110
|
+
styles = _useMergeSemantic.styles;
|
|
90
111
|
var pickerInnerRef = useRef(null);
|
|
91
112
|
var placeholder = isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
|
92
113
|
var _useUncontrolledToggl = useUncontrolledToggle({
|
|
@@ -135,7 +156,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
135
156
|
flattedData: flattedData,
|
|
136
157
|
enabled: searchableProp,
|
|
137
158
|
exclude: function exclude(node) {
|
|
138
|
-
return node.disabled || node.children;
|
|
159
|
+
return node.disabled || (changeOnSelect ? false : node.children);
|
|
139
160
|
}
|
|
140
161
|
// exclude: (option: FlattedCascaderDataItem) => {
|
|
141
162
|
// return checkCanLoadChildren(option, onLoadChildren)
|
|
@@ -185,7 +206,8 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
185
206
|
// @ts-ignore
|
|
186
207
|
cascaderData: cascaderData,
|
|
187
208
|
setCascaderData: setCascaderData,
|
|
188
|
-
flattedData: flattedData
|
|
209
|
+
flattedData: flattedData,
|
|
210
|
+
changeOnSelect: changeOnSelect
|
|
189
211
|
})),
|
|
190
212
|
rootProps = _b.rootProps,
|
|
191
213
|
context = __rest(_b, ["rootProps"]);
|
|
@@ -239,6 +261,19 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
239
261
|
clear();
|
|
240
262
|
}
|
|
241
263
|
}, [value, clear]);
|
|
264
|
+
var pickerSemanticKeys = ['root', 'container', 'panel', 'header', 'search', 'body', 'footer', 'loading', 'empty', 'creator'];
|
|
265
|
+
var pickerClassNames = pickerSemanticKeys.reduce(function (acc, key) {
|
|
266
|
+
if ((classNames === null || classNames === void 0 ? void 0 : classNames[key]) !== undefined) {
|
|
267
|
+
acc[key] = classNames[key];
|
|
268
|
+
}
|
|
269
|
+
return acc;
|
|
270
|
+
}, {});
|
|
271
|
+
var pickerStyles = pickerSemanticKeys.reduce(function (acc, key) {
|
|
272
|
+
if (styles === null || styles === void 0 ? void 0 : styles[key]) {
|
|
273
|
+
acc[key] = styles[key];
|
|
274
|
+
}
|
|
275
|
+
return acc;
|
|
276
|
+
}, {});
|
|
242
277
|
return /*#__PURE__*/React.createElement(CascaderProvider, {
|
|
243
278
|
value: Object.assign(Object.assign({}, context), {
|
|
244
279
|
expandTrigger: expandTrigger,
|
|
@@ -246,13 +281,17 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
246
281
|
menuList: showData,
|
|
247
282
|
dropdownColumnRender: dropdownColumnRender,
|
|
248
283
|
virtual: virtual,
|
|
249
|
-
onItemClickProp: onItemClickProp
|
|
284
|
+
onItemClickProp: onItemClickProp,
|
|
285
|
+
classNames: classNames,
|
|
286
|
+
styles: styles
|
|
250
287
|
})
|
|
251
288
|
}, /*#__PURE__*/React.createElement(Picker, Object.assign({
|
|
252
289
|
ref: ref,
|
|
253
290
|
innerRef: pickerInnerRef,
|
|
254
291
|
className: cls,
|
|
255
|
-
overlayClassName: cx(prefixCls + "__popper", overlayClassName)
|
|
292
|
+
overlayClassName: cx(prefixCls + "__popper", overlayClassName),
|
|
293
|
+
classNames: pickerClassNames,
|
|
294
|
+
styles: pickerStyles
|
|
256
295
|
}, rootProps, {
|
|
257
296
|
// 这种展现形式宽度是不固定的,关掉宽度匹配策略
|
|
258
297
|
overlay: Object.assign({
|
|
@@ -26,11 +26,15 @@ var CascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
26
26
|
var _useCascaderContext = useCascaderContext(),
|
|
27
27
|
flatted = _useCascaderContext.flatted,
|
|
28
28
|
menuList = _useCascaderContext.menuList,
|
|
29
|
-
dropdownColumnRender = _useCascaderContext.dropdownColumnRender
|
|
30
|
-
|
|
29
|
+
dropdownColumnRender = _useCascaderContext.dropdownColumnRender,
|
|
30
|
+
classNames = _useCascaderContext.classNames,
|
|
31
|
+
styles = _useCascaderContext.styles;
|
|
32
|
+
var cls = cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menuList, flatted && prefixCls + "--flatted");
|
|
33
|
+
var rootStyle = styles === null || styles === void 0 ? void 0 : styles.menuList;
|
|
31
34
|
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
32
35
|
ref: ref,
|
|
33
|
-
className: cls
|
|
36
|
+
className: cls,
|
|
37
|
+
style: rootStyle
|
|
34
38
|
}, rest), menuList.map(function (menu, menuIndex) {
|
|
35
39
|
return isArrayNonEmpty(menu) ? isFunction(dropdownColumnRender) ? dropdownColumnRender( /*#__PURE__*/React.createElement(CascaderMenu, {
|
|
36
40
|
key: menuIndex,
|
|
@@ -54,8 +58,11 @@ var CascaderMenu = function CascaderMenu(_ref) {
|
|
|
54
58
|
style = _ref.style,
|
|
55
59
|
menu = _ref.data;
|
|
56
60
|
var _useCascaderContext2 = useCascaderContext(),
|
|
57
|
-
virtual = _useCascaderContext2.virtual
|
|
58
|
-
|
|
61
|
+
virtual = _useCascaderContext2.virtual,
|
|
62
|
+
classNames = _useCascaderContext2.classNames,
|
|
63
|
+
styles = _useCascaderContext2.styles;
|
|
64
|
+
var cls = cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menu);
|
|
65
|
+
var menuStyle = Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.menu);
|
|
59
66
|
var virtualListProps = {
|
|
60
67
|
virtual: virtual,
|
|
61
68
|
data: menu,
|
|
@@ -64,7 +71,7 @@ var CascaderMenu = function CascaderMenu(_ref) {
|
|
|
64
71
|
};
|
|
65
72
|
return /*#__PURE__*/React.createElement("ul", {
|
|
66
73
|
className: cls,
|
|
67
|
-
style:
|
|
74
|
+
style: menuStyle,
|
|
68
75
|
role: role
|
|
69
76
|
}, isArrayNonEmpty(menu) ? virtual ? ( /*#__PURE__*/React.createElement(VirtualList, Object.assign({
|
|
70
77
|
itemKey: 'id',
|
|
@@ -95,13 +102,15 @@ var MenuItem = /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
|
95
102
|
onItemHover = _useCascaderContext3.onItemHover,
|
|
96
103
|
titleRender = _useCascaderContext3.titleRender,
|
|
97
104
|
onLoadChildren = _useCascaderContext3.onLoadChildren,
|
|
98
|
-
getItemRequiredProps = _useCascaderContext3.getItemRequiredProps
|
|
105
|
+
getItemRequiredProps = _useCascaderContext3.getItemRequiredProps,
|
|
106
|
+
classNames = _useCascaderContext3.classNames,
|
|
107
|
+
styles = _useCascaderContext3.styles;
|
|
99
108
|
var eventOption = getItemEventData(option, getItemRequiredProps(option));
|
|
100
109
|
var selected = eventOption.selected,
|
|
101
110
|
loading = eventOption.loading,
|
|
102
111
|
active = eventOption.active;
|
|
103
112
|
var disabled = disabledContext || option.disabled;
|
|
104
|
-
var optionCls = cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected");
|
|
113
|
+
var optionCls = cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected", classNames === null || classNames === void 0 ? void 0 : classNames.option);
|
|
105
114
|
return /*#__PURE__*/React.createElement("li", {
|
|
106
115
|
ref: ref,
|
|
107
116
|
key: option.id,
|
|
@@ -110,6 +119,7 @@ var MenuItem = /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
|
110
119
|
title: typeof option.title === 'string' ? option.title : undefined
|
|
111
120
|
}, /*#__PURE__*/React.createElement("div", {
|
|
112
121
|
className: optionCls,
|
|
122
|
+
style: styles === null || styles === void 0 ? void 0 : styles.option,
|
|
113
123
|
onClick: function onClick(evt) {
|
|
114
124
|
if (disabled) return;
|
|
115
125
|
onItemClick(eventOption);
|
package/lib/types/Cascader.d.ts
CHANGED
|
@@ -3,13 +3,18 @@ import type { HiBaseSizeEnum } from '@hi-ui/core';
|
|
|
3
3
|
import { UseCascaderProps } from './use-cascader';
|
|
4
4
|
import type { PopperOverlayProps } from '@hi-ui/popper';
|
|
5
5
|
import { CascaderExpandTriggerEnum, CascaderItemEventData, CascaderAppearanceEnum } from './types';
|
|
6
|
-
import { PickerProps } from '@hi-ui/picker';
|
|
6
|
+
import { PickerProps, PickerSemanticName } from '@hi-ui/picker';
|
|
7
|
+
import type { ComponentSemantic, SemanticClassNamesType, SemanticStylesType } from '@hi-ui/use-merge-semantic';
|
|
7
8
|
/**
|
|
8
9
|
* 级联选择器
|
|
9
10
|
* Trigger + MenuList + Search
|
|
10
11
|
*/
|
|
11
12
|
export declare const Cascader: React.ForwardRefExoticComponent<CascaderProps & React.RefAttributes<HTMLDivElement | null>>;
|
|
12
|
-
export
|
|
13
|
+
export type CascaderSemanticName = PickerSemanticName | 'menuList' | 'menu' | 'option';
|
|
14
|
+
export type CascaderSemanticClassNames = SemanticClassNamesType<CascaderProps, CascaderSemanticName>;
|
|
15
|
+
export type CascaderSemanticStyles = SemanticStylesType<CascaderProps, CascaderSemanticName>;
|
|
16
|
+
export type CascaderSemantic = ComponentSemantic<CascaderSemanticClassNames, CascaderSemanticStyles>;
|
|
17
|
+
export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | 'trigger' | 'scrollable' | 'header' | 'footer' | 'classNames' | 'styles'>, UseCascaderProps, CascaderSemantic {
|
|
13
18
|
/**
|
|
14
19
|
* 将 check 子项拍平展示。暂不对外暴露
|
|
15
20
|
* @private
|
package/lib/types/context.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export declare const CascaderProvider: React.Provider<(Omit<{
|
|
|
23
23
|
dropdownColumnRender?: (menu: React.ReactElement, level: number) => React.ReactNode;
|
|
24
24
|
virtual?: boolean;
|
|
25
25
|
onItemClickProp?: (event: React.MouseEvent<HTMLDivElement>, option: CascaderItemEventData) => void;
|
|
26
|
+
classNames?: Partial<Record<string, string>>;
|
|
27
|
+
styles?: Partial<Record<string, React.CSSProperties>>;
|
|
26
28
|
}) | null>;
|
|
27
29
|
export declare const useCascaderContext: () => Omit<{
|
|
28
30
|
rootProps: {
|
|
@@ -47,4 +49,6 @@ export declare const useCascaderContext: () => Omit<{
|
|
|
47
49
|
dropdownColumnRender?: (menu: React.ReactElement, level: number) => React.ReactNode;
|
|
48
50
|
virtual?: boolean;
|
|
49
51
|
onItemClickProp?: (event: React.MouseEvent<HTMLDivElement>, option: CascaderItemEventData) => void;
|
|
52
|
+
classNames?: Partial<Record<string, string>>;
|
|
53
|
+
styles?: Partial<Record<string, React.CSSProperties>>;
|
|
50
54
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hi-ui/cascader",
|
|
3
|
-
"version": "5.0.0-experimental.
|
|
3
|
+
"version": "5.0.0-experimental.2",
|
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "HiUI <mi-hiui@xiaomi.com>",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"@hi-ui/classname": "^5.0.0-experimental.0",
|
|
49
49
|
"@hi-ui/env": "^5.0.0-experimental.0",
|
|
50
50
|
"@hi-ui/func-utils": "^5.0.0-experimental.0",
|
|
51
|
-
"@hi-ui/highlighter": "^5.0.0-experimental.
|
|
52
|
-
"@hi-ui/icons": "^5.0.0-experimental.
|
|
53
|
-
"@hi-ui/input": "^5.0.0-experimental.
|
|
54
|
-
"@hi-ui/picker": "^5.0.0-experimental.
|
|
55
|
-
"@hi-ui/popper": "^5.0.0-experimental.
|
|
56
|
-
"@hi-ui/spinner": "^5.0.0-experimental.
|
|
51
|
+
"@hi-ui/highlighter": "^5.0.0-experimental.1",
|
|
52
|
+
"@hi-ui/icons": "^5.0.0-experimental.1",
|
|
53
|
+
"@hi-ui/input": "^5.0.0-experimental.2",
|
|
54
|
+
"@hi-ui/picker": "^5.0.0-experimental.2",
|
|
55
|
+
"@hi-ui/popper": "^5.0.0-experimental.1",
|
|
56
|
+
"@hi-ui/spinner": "^5.0.0-experimental.1",
|
|
57
57
|
"@hi-ui/tree-utils": "^5.0.0-experimental.0",
|
|
58
58
|
"@hi-ui/type-assertion": "^5.0.0-experimental.0",
|
|
59
59
|
"@hi-ui/use-check-state": "^5.0.0-experimental.0",
|
|
@@ -62,17 +62,18 @@
|
|
|
62
62
|
"@hi-ui/use-search-mode": "^5.0.0-experimental.0",
|
|
63
63
|
"@hi-ui/use-toggle": "^5.0.0-experimental.0",
|
|
64
64
|
"@hi-ui/use-uncontrolled-state": "^5.0.0-experimental.0",
|
|
65
|
-
"@hi-ui/virtual-list": "^5.0.0-experimental.
|
|
66
|
-
"scroll-into-view-if-needed": "^3.1.0"
|
|
65
|
+
"@hi-ui/virtual-list": "^5.0.0-experimental.1",
|
|
66
|
+
"scroll-into-view-if-needed": "^3.1.0",
|
|
67
|
+
"@hi-ui/use-merge-semantic": "^5.0.0-experimental.0"
|
|
67
68
|
},
|
|
68
69
|
"peerDependencies": {
|
|
69
|
-
"@hi-ui/core": ">=5.0.0-experimental.
|
|
70
|
+
"@hi-ui/core": ">=5.0.0-experimental.1",
|
|
70
71
|
"react": ">=16.8.6",
|
|
71
72
|
"react-dom": ">=16.8.6"
|
|
72
73
|
},
|
|
73
74
|
"devDependencies": {
|
|
74
|
-
"@hi-ui/core": "^5.0.0-experimental.
|
|
75
|
-
"@hi-ui/core-css": "^5.0.0-experimental.
|
|
75
|
+
"@hi-ui/core": "^5.0.0-experimental.1",
|
|
76
|
+
"@hi-ui/core-css": "^5.0.0-experimental.2",
|
|
76
77
|
"react": "^17.0.1",
|
|
77
78
|
"react-dom": "^17.0.1"
|
|
78
79
|
}
|