@kdcloudjs/kdesign 1.7.45 → 1.7.47

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.
Files changed (91) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/dist/kdesign-complete.less +247 -0
  3. package/dist/kdesign.css +368 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +865 -237
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +10 -10
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/usePopper.js +1 -1
  11. package/es/breadcrumb/breadcrumb.d.ts +7 -0
  12. package/es/breadcrumb/breadcrumb.js +204 -0
  13. package/es/breadcrumb/breadcrumbItem.d.ts +4 -0
  14. package/es/breadcrumb/breadcrumbItem.js +53 -0
  15. package/es/breadcrumb/index.d.ts +3 -0
  16. package/es/breadcrumb/index.js +3 -0
  17. package/es/breadcrumb/interface.d.ts +33 -0
  18. package/es/breadcrumb/interface.js +2 -0
  19. package/es/breadcrumb/style/css.js +2 -0
  20. package/es/breadcrumb/style/index.css +174 -0
  21. package/es/breadcrumb/style/index.d.ts +2 -0
  22. package/es/breadcrumb/style/index.js +2 -0
  23. package/es/breadcrumb/style/index.less +71 -0
  24. package/es/breadcrumb/style/mixin.less +7 -0
  25. package/es/breadcrumb/style/token.less +27 -0
  26. package/es/city-picker/city-picker.js +3 -1
  27. package/es/config-provider/compDefaultProps.d.ts +11 -0
  28. package/es/config-provider/compDefaultProps.js +12 -1
  29. package/es/divider/divider.d.ts +22 -0
  30. package/es/divider/divider.js +66 -0
  31. package/es/divider/index.d.ts +3 -0
  32. package/es/divider/index.js +3 -0
  33. package/es/divider/style/css.js +2 -0
  34. package/es/divider/style/index.css +191 -0
  35. package/es/divider/style/index.d.ts +2 -0
  36. package/es/divider/style/index.js +2 -0
  37. package/es/divider/style/index.less +105 -0
  38. package/es/divider/style/mixin.less +19 -0
  39. package/es/divider/style/token.less +12 -0
  40. package/es/index.d.ts +2 -0
  41. package/es/index.js +3 -1
  42. package/es/select/select.js +81 -15
  43. package/es/tree/tree.d.ts +1 -0
  44. package/es/tree/tree.js +5 -4
  45. package/es/tree/treeHooks.d.ts +1 -1
  46. package/es/tree/treeHooks.js +3 -3
  47. package/es/tree/utils/treeUtils.d.ts +3 -3
  48. package/es/tree/utils/treeUtils.js +12 -4
  49. package/lib/_utils/usePopper.js +1 -1
  50. package/lib/breadcrumb/breadcrumb.d.ts +7 -0
  51. package/lib/breadcrumb/breadcrumb.js +217 -0
  52. package/lib/breadcrumb/breadcrumbItem.d.ts +4 -0
  53. package/lib/breadcrumb/breadcrumbItem.js +66 -0
  54. package/lib/breadcrumb/index.d.ts +3 -0
  55. package/lib/breadcrumb/index.js +27 -0
  56. package/lib/breadcrumb/interface.d.ts +33 -0
  57. package/lib/breadcrumb/interface.js +9 -0
  58. package/lib/breadcrumb/style/css.js +4 -0
  59. package/lib/breadcrumb/style/index.css +174 -0
  60. package/lib/breadcrumb/style/index.d.ts +2 -0
  61. package/lib/breadcrumb/style/index.js +4 -0
  62. package/lib/breadcrumb/style/index.less +71 -0
  63. package/lib/breadcrumb/style/mixin.less +7 -0
  64. package/lib/breadcrumb/style/token.less +27 -0
  65. package/lib/checkbox/group.js +0 -3
  66. package/lib/city-picker/city-picker.js +3 -1
  67. package/lib/config-provider/compDefaultProps.d.ts +11 -0
  68. package/lib/config-provider/compDefaultProps.js +12 -1
  69. package/lib/date-picker/utils/date-fns.js +1 -5
  70. package/lib/divider/divider.d.ts +22 -0
  71. package/lib/divider/divider.js +82 -0
  72. package/lib/divider/index.d.ts +3 -0
  73. package/lib/divider/index.js +27 -0
  74. package/lib/divider/style/css.js +4 -0
  75. package/lib/divider/style/index.css +191 -0
  76. package/lib/divider/style/index.d.ts +2 -0
  77. package/lib/divider/style/index.js +4 -0
  78. package/lib/divider/style/index.less +105 -0
  79. package/lib/divider/style/mixin.less +19 -0
  80. package/lib/divider/style/token.less +12 -0
  81. package/lib/index.d.ts +2 -0
  82. package/lib/index.js +14 -0
  83. package/lib/select/select.js +81 -15
  84. package/lib/style/components.less +2 -0
  85. package/lib/tree/tree.d.ts +1 -0
  86. package/lib/tree/tree.js +5 -4
  87. package/lib/tree/treeHooks.d.ts +1 -1
  88. package/lib/tree/treeHooks.js +3 -3
  89. package/lib/tree/utils/treeUtils.d.ts +3 -3
  90. package/lib/tree/utils/treeUtils.js +12 -4
  91. package/package.json +1 -1
@@ -0,0 +1,191 @@
1
+ /* ----------- color ——————---- start */
2
+ /* ----------- color ——————---- end */
3
+ /* ----------- motion ——————---- start */
4
+ /* ----------- motion ——————---- end */
5
+ /* ----------- transition ——————---- start */
6
+ /* ----------- transition ——————---- end */
7
+ /* ----------- font ——————---- start */
8
+ /* ----------- font ——————---- end */
9
+ /* ----------- zIndex ——————---- start */
10
+ /*
11
+ 普通组件内部自身层级应设置在0-100间
12
+ */
13
+ /* ----------- zIndex ——————---- end */
14
+ /* ----------- Button ——————---- start */
15
+ /* ----------- Button ——————---- end */
16
+ /* ----------- Collapse ——————---- start */
17
+ /* ----------- Collapse ——————---- end */
18
+ /* ----------- Card ——————---- start */
19
+ /* ----------- Card ——————---- end */
20
+ /* ----------- Carousel ——————---- start */
21
+ /* ----------- Carousel ——————---- end */
22
+ /* ----------- Cascader ——————---- start */
23
+ /* ----------- Cascader ——————---- end */
24
+ /* ----------- Switch ——————---- start */
25
+ /* ----------- Switch ——————---- end */
26
+ /* ----------- Input ——————---- start */
27
+ /* ----------- Input ——————---- end */
28
+ /* ----------- InputNumber ——————---- start */
29
+ /* ----------- InputNumber ——————---- end */
30
+ /* ----------- checkbox ——————---- start */
31
+ /* ----------- checkbox ——————---- start */
32
+ /* ----------- checkbox ——————---- end */
33
+ /* ----------- Radio ——————---- start */
34
+ /* ----------- Radio ——————---- end */
35
+ /* ----------- icon ——————---- start */
36
+ /* ----------- icon ——————---- end */
37
+ /* ----------- Popconfirm ——————---- start */
38
+ /* ----------- Popconfirm ——————---- end */
39
+ /* ----------- Progress ——————---- start */
40
+ /* ----------- Progress ——————---- end */
41
+ /* ----------- Pagination ——————---- start */
42
+ /* ----------- Pagination ——————---- end */
43
+ /* ----------- Timeline ——————---- start */
44
+ /* ----------- Timeline ——————---- end */
45
+ /* ----------- Tabs ——————---- start */
46
+ /* ----------- Tabs ——————---- end */
47
+ /* ----------- Select ——————---- start */
48
+ /* ----------- Select ——————---- end */
49
+ /* ----------- Rate ——————---- start */
50
+ /* ----------- Rate ——————---- end */
51
+ /* ----------- Dropdown ——————---- start */
52
+ /* ----------- Dropdown ——————---- end */
53
+ /* ----------- Tooltip ——————---- start */
54
+ /* ----------- Tooltip ——————---- end */
55
+ /* ----------- Transfer ——————---- start */
56
+ /* ----------- Transfer ——————---- end */
57
+ /* ----------- DatePicker ——————---- start */
58
+ /* ----------- DatePicker ——————---- end */
59
+ /* ----------- ColorPicker ——————---- start */
60
+ /* ----------- ColorPicker ——————---- end */
61
+ /* ----------- Tree ——————---- start */
62
+ /* ----------- Tree ——————---- end */
63
+ /* ----------- Alert ——————---- start */
64
+ /* ----------- Alert ——————---- end */
65
+ /* ----------- Split-Panel ——————---- start */
66
+ /* ----------- Split-Panel ——————---- end */
67
+ /* ----------- Modal ——————---- start */
68
+ /* ----------- Modal ——————---- end */
69
+ /* ----------- Steps ——————---- start */
70
+ /* ----------- Steps ——————---- end */
71
+ /* ----------- Form ——————---- start */
72
+ /* ----------- Form ——————---- end */
73
+ /* ----------- Tag ——————---- start */
74
+ /* ----------- Tag ——————---- end */
75
+ /* ----------- Menu ——————---- start */
76
+ /* ----------- Menu ——————---- end */
77
+ /* ----------- notice ——————---- start */
78
+ /* ----------- message ——————---- end */
79
+ /* ----------- Spin ——————---- start */
80
+ /* ----------- Spin ——————---- end */
81
+ /* ----------- Spin ——————---- start */
82
+ /* ----------- Spin ——————---- end */
83
+ /* ----------- Layout ——————---- start */
84
+ /* ----------- Layout ——————---- end */
85
+ /* ----------- Typography ——————---- start */
86
+ /* ----------- Typography ——————---- start */
87
+ /* ----------- Search ——————---- start */
88
+ /* ----------- Search ——————---- start */
89
+ /* ----------- Badge ——————---- start */
90
+ /* ----------- Badge ——————---- end */
91
+ /* ----------- Anchor ——————---- start */
92
+ /* ----------- Anchor ——————---- end */
93
+ /* ----------- Avatar ——————---- start */
94
+ /* ----------- Avatar ——————---- end */
95
+ /* ----------- AdvancedSelector ——————---- start */
96
+ /* ----------- AdvancedSelector ——————---- end */
97
+ /* ----------- motion ——————---- start */
98
+ /* ----------- motion ——————---- end */
99
+ /* ----------- transition ——————---- start */
100
+ /* ----------- transition ——————---- end */
101
+ /* ----------- zIndex ——————---- start */
102
+ /*
103
+ 普通组件内部自身层级应设置在0-100间
104
+ */
105
+ /* ----------- zIndex ——————---- end */
106
+ .kd-divider {
107
+ color: var(--kd-c-divider-color-text, var(--kd-g-color-text-primary, #212121));
108
+ font-size: var(--kd-c-divider-font-size, var(--kd-g-font-size-small, 12px));
109
+ width: 900px;
110
+ padding: var(--kd-c-divider-spacing-padding-horizontal, 0px);
111
+ -webkit-border-before: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
112
+ border-block-start: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
113
+ }
114
+ .kd-divider-vertical {
115
+ display: inline-block;
116
+ -webkit-border-start: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
117
+ border-inline-start: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
118
+ width: 0;
119
+ height: 1em;
120
+ }
121
+ .kd-divider-solid {
122
+ border-block-start-style: solid;
123
+ border-inline-start-style: solid;
124
+ }
125
+ .kd-divider-solid .kd-divider-inner-text::before,
126
+ .kd-divider-solid .kd-divider-inner-text::after {
127
+ border-block-start-style: solid !important;
128
+ }
129
+ .kd-divider-dashed {
130
+ border-block-start-style: dashed;
131
+ border-inline-start-style: dashed;
132
+ }
133
+ .kd-divider-dashed .kd-divider-inner-text::before,
134
+ .kd-divider-dashed .kd-divider-inner-text::after {
135
+ border-block-start-style: dashed !important;
136
+ }
137
+ .kd-divider-dotted {
138
+ border-block-start-style: dotted;
139
+ border-inline-start-style: dotted;
140
+ }
141
+ .kd-divider-dotted .kd-divider-inner-text::before,
142
+ .kd-divider-dotted .kd-divider-inner-text::after {
143
+ border-block-start-style: dotted !important;
144
+ }
145
+ .kd-divider-with-text {
146
+ border: unset;
147
+ }
148
+ .kd-divider-with-text .kd-divider-inner-text {
149
+ display: -webkit-box;
150
+ display: -ms-flexbox;
151
+ display: flex;
152
+ -webkit-box-align: center;
153
+ -ms-flex-align: center;
154
+ align-items: center;
155
+ }
156
+ .kd-divider-with-text .kd-divider-inner-text::before {
157
+ content: '';
158
+ width: 74px;
159
+ margin-right: 8px;
160
+ -webkit-border-before: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
161
+ border-block-start: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
162
+ }
163
+ .kd-divider-with-text .kd-divider-inner-text::after {
164
+ content: '';
165
+ width: calc(100% - 74px);
166
+ margin-left: 8px;
167
+ -webkit-border-before: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
168
+ border-block-start: 1px solid var(--kd-g-color-border-strong, #d9d9d9);
169
+ }
170
+ .kd-divider-with-text-center .kd-divider-inner-text::before,
171
+ .kd-divider-with-text-center .kd-divider-inner-text::after {
172
+ width: 50%;
173
+ }
174
+ .kd-divider-with-text-right .kd-divider-inner-text::before {
175
+ width: calc(100% - 74px);
176
+ }
177
+ .kd-divider-with-text-right .kd-divider-inner-text::after {
178
+ width: 74px;
179
+ }
180
+ .kd-divider-margin-left .kd-divider-inner-text::before {
181
+ width: 0;
182
+ }
183
+ .kd-divider-margin-left .kd-divider-inner-text::after {
184
+ width: 100%;
185
+ }
186
+ .kd-divider-margin-right .kd-divider-inner-text::before {
187
+ width: 100%;
188
+ }
189
+ .kd-divider-margin-right .kd-divider-inner-text::after {
190
+ width: 0;
191
+ }
@@ -0,0 +1,2 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.less");
4
+ require("./index.less");
@@ -0,0 +1,105 @@
1
+ @import '../../style/themes/index';
2
+ @import './mixin.less';
3
+ @divider-prefix-cls: ~'@{kd-prefix}-divider';
4
+
5
+ .@{divider-prefix-cls} {
6
+ .divider;
7
+
8
+ width: 900px;
9
+ padding: @divider-spacing-padding-horizontal;
10
+ border-block-start: 1px solid @color-border-strong;
11
+
12
+ &-vertical {
13
+ display: inline-block;
14
+ border-inline-start: 1px solid @color-border-strong;
15
+ width: 0;
16
+ height: 1em;
17
+ }
18
+
19
+ &-solid {
20
+ .borderStyle(solid)
21
+ }
22
+
23
+ &-dashed {
24
+ .borderStyle(dashed)
25
+ }
26
+
27
+ &-dotted {
28
+ .borderStyle(dotted)
29
+ }
30
+
31
+ &-with-text {
32
+ border: unset;
33
+
34
+ .@{divider-prefix-cls}-inner-text {
35
+ display: flex;
36
+ align-items: center;
37
+
38
+ &::before {
39
+ content: '';
40
+ width: 74px;
41
+ margin-right: 8px;
42
+ border-block-start: 1px solid @color-border-strong;
43
+ }
44
+
45
+ &::after {
46
+ content: '';
47
+ width: calc(100% - 74px);
48
+ margin-left: 8px;
49
+ border-block-start: 1px solid @color-border-strong;
50
+ }
51
+ }
52
+ }
53
+
54
+ &-with-text-center {
55
+ .@{divider-prefix-cls}-inner-text {
56
+
57
+ &::before,
58
+ &::after {
59
+ width: 50%;
60
+ }
61
+ }
62
+ }
63
+
64
+ &-with-text-right {
65
+ .@{divider-prefix-cls}-inner-text {
66
+
67
+ &::before {
68
+ width: calc(100% - 74px);
69
+
70
+ }
71
+
72
+ &::after {
73
+ width: 74px;
74
+ }
75
+ }
76
+ }
77
+
78
+ &-margin-left {
79
+ .@{divider-prefix-cls}-inner-text {
80
+
81
+ &::before {
82
+ width: 0;
83
+
84
+ }
85
+
86
+ &::after {
87
+ width: 100%;
88
+ }
89
+ }
90
+ }
91
+
92
+ &-margin-right {
93
+ .@{divider-prefix-cls}-inner-text {
94
+
95
+ &::before {
96
+ width: 100%;
97
+
98
+ }
99
+
100
+ &::after {
101
+ width: 0;
102
+ }
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,19 @@
1
+ @import './token.less';
2
+
3
+ .divider() {
4
+ color: @divider-color-text;
5
+ font-size: @divider-font-size;
6
+ }
7
+
8
+ .borderStyle(@border-style) {
9
+ border-block-start-style: @border-style;
10
+ border-inline-start-style: @border-style;
11
+
12
+ .@{divider-prefix-cls}-inner-text {
13
+
14
+ &::before,
15
+ &::after {
16
+ border-block-start-style: @border-style !important
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,12 @@
1
+ @import '../../style/themes/token.less';
2
+
3
+ @divider-custom-prefix: ~'--@{kd-prefix}-c-divider';
4
+
5
+ // color
6
+ @divider-color-text: var(~'@{divider-custom-prefix}-color-text', @color-text-primary);
7
+
8
+ // font
9
+ @divider-font-size: var(~'@{divider-custom-prefix}-font-size', @font-size-small);
10
+
11
+ // spacing
12
+ @divider-spacing-padding-horizontal: var(~'@{divider-custom-prefix}-spacing-padding-horizontal', 0px);
package/lib/index.d.ts CHANGED
@@ -57,3 +57,5 @@ export { default as TreeSelect } from './tree-select';
57
57
  export { default as ColorPicker } from './color-picker';
58
58
  export { default as Clipboard } from './clipboard';
59
59
  export { default as QRCode } from './qr-code';
60
+ export { default as Divider } from './divider';
61
+ export { default as Breadcrumb } from './breadcrumb';
package/lib/index.js CHANGED
@@ -37,6 +37,12 @@ Object.defineProperty(exports, "BaseData", {
37
37
  return _baseData.default;
38
38
  }
39
39
  });
40
+ Object.defineProperty(exports, "Breadcrumb", {
41
+ enumerable: true,
42
+ get: function get() {
43
+ return _breadcrumb.default;
44
+ }
45
+ });
40
46
  Object.defineProperty(exports, "Button", {
41
47
  enumerable: true,
42
48
  get: function get() {
@@ -109,6 +115,12 @@ Object.defineProperty(exports, "DatePicker", {
109
115
  return _datePicker.default;
110
116
  }
111
117
  });
118
+ Object.defineProperty(exports, "Divider", {
119
+ enumerable: true,
120
+ get: function get() {
121
+ return _divider.default;
122
+ }
123
+ });
112
124
  Object.defineProperty(exports, "Drawer", {
113
125
  enumerable: true,
114
126
  get: function get() {
@@ -444,6 +456,8 @@ var _treeSelect = _interopRequireDefault(require("./tree-select"));
444
456
  var _colorPicker = _interopRequireDefault(require("./color-picker"));
445
457
  var _clipboard = _interopRequireDefault(require("./clipboard"));
446
458
  var _qrCode = _interopRequireDefault(require("./qr-code"));
459
+ var _divider = _interopRequireDefault(require("./divider"));
460
+ var _breadcrumb = _interopRequireDefault(require("./breadcrumb"));
447
461
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
448
462
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
449
463
  /* @remove-on-es-build-begin */
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
5
+ var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
+ var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
7
+ var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
4
8
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
9
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
10
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
@@ -13,6 +17,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
13
17
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
14
18
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
15
19
  var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
20
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
16
21
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
17
22
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
18
23
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
@@ -32,6 +37,9 @@ var _virtualList = _interopRequireDefault(require("../virtual-list"));
32
37
  var _KeyCode = _interopRequireDefault(require("../_utils/KeyCode"));
33
38
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
39
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
41
+ function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
42
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
35
43
  var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
36
44
  var InternalSelect = function InternalSelect(props, ref) {
37
45
  var _context, _classNames5, _classNames6, _classNames12, _context5;
@@ -339,7 +347,7 @@ var InternalSelect = function InternalSelect(props, ref) {
339
347
  onDeselect && onDeselect(key); // 下拉项取消选中时调用,参数为选中项的value,多选模式下生效
340
348
  }
341
349
  } else {
342
- props.visible === undefined && setOptionShow(false);
350
+ handleVisibleChange(false);
343
351
  initValue !== key && onChange && onChange(labelInValue ? {
344
352
  value: key,
345
353
  label: label
@@ -355,7 +363,7 @@ var InternalSelect = function InternalSelect(props, ref) {
355
363
  setSingleVal(getOptionLabel(obj) || key);
356
364
  multipleRef.current.selectedVal = key;
357
365
  setInitValue(key);
358
- props.visible === undefined && setOptionShow(false);
366
+ handleVisibleChange(false);
359
367
  initValue !== key && onChange && onChange(labelInValue ? {
360
368
  value: key,
361
369
  label: label
@@ -388,14 +396,39 @@ var InternalSelect = function InternalSelect(props, ref) {
388
396
  setSearchValue('');
389
397
  onSelect && onSelect(key); // 下拉项被选中时调用,参数为选中项value或key
390
398
  };
399
+
400
+ var removeIntersection = function removeIntersection(selectedItems, filteredItems) {
401
+ var filteredValues = new _set.default((0, _map.default)(filteredItems).call(filteredItems, function (item) {
402
+ var _a;
403
+ return item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value);
404
+ }));
405
+ var filteredSelectedItems = [];
406
+ var filteredSelectedValues = [];
407
+ var _iterator = _createForOfIteratorHelper(selectedItems),
408
+ _step;
409
+ try {
410
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
411
+ var item = _step.value;
412
+ if (!filteredValues.has(item.value)) {
413
+ filteredSelectedItems.push(item);
414
+ filteredSelectedValues.push(item.value);
415
+ }
416
+ }
417
+ } catch (err) {
418
+ _iterator.e(err);
419
+ } finally {
420
+ _iterator.f();
421
+ }
422
+ return [filteredSelectedValues, filteredSelectedItems];
423
+ };
391
424
  // 多选模式下选中所有 与清除所有 (可以优化)
392
- var handleSelectAll = function handleSelectAll() {
425
+ var handleSelectAll = function handleSelectAll(checked) {
393
426
  var _multipleRef$current3 = multipleRef.current,
394
427
  selectedVal = _multipleRef$current3.selectedVal,
395
428
  selectMulOpts = _multipleRef$current3.selectMulOpts;
396
429
  var newSelectedVal = (0, _toConsumableArray2.default)(selectedVal);
397
430
  var newSelectMulOpts = (0, _toConsumableArray2.default)(selectMulOpts);
398
- if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
431
+ if (!checked) {
399
432
  (0, _map.default)(filledOptions).call(filledOptions, function (child) {
400
433
  var _ref = child.props || child,
401
434
  value = _ref.value;
@@ -414,23 +447,26 @@ var InternalSelect = function InternalSelect(props, ref) {
414
447
  setSearchValue('');
415
448
  }
416
449
  } else {
417
- newSelectedVal = [];
418
- newSelectMulOpts = [];
450
+ ;
451
+ var _removeIntersection = removeIntersection(newSelectMulOpts, filledOptions);
452
+ var _removeIntersection2 = (0, _slicedToArray2.default)(_removeIntersection, 2);
453
+ newSelectedVal = _removeIntersection2[0];
454
+ newSelectMulOpts = _removeIntersection2[1];
419
455
  if (typeof value === 'undefined') {
420
- multipleRef.current.selectedVal = [];
421
- multipleRef.current.selectMulOpts = [];
422
- setMulOptions([]);
456
+ multipleRef.current.selectedVal = newSelectedVal;
457
+ multipleRef.current.selectMulOpts = newSelectMulOpts;
458
+ setMulOptions((0, _toConsumableArray2.default)(newSelectMulOpts));
423
459
  }
424
460
  }
425
461
  onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
426
462
  };
427
463
  // 输入框变化搜索内容
428
- var handleSearchChange = (0, _react.useCallback)(function (event) {
464
+ var handleSearchChange = function handleSearchChange(event) {
429
465
  var val = event.currentTarget.value;
430
- setOptionShow(true);
466
+ handleVisibleChange(true);
431
467
  setSearchValue(val);
432
468
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
433
- }, [onSearch]);
469
+ };
434
470
  // 清除搜索内容
435
471
  var handleClear = (0, _react.useCallback)(function () {
436
472
  if (searchRef.current) {
@@ -540,6 +576,33 @@ var InternalSelect = function InternalSelect(props, ref) {
540
576
  }
541
577
  }, [isShowSearch, autoFocus, disabled]);
542
578
  var optionsListRef = _react.default.useRef(null);
579
+ var getCheckedState = function getCheckedState(selectedItems, filteredItems) {
580
+ var _a;
581
+ var valuesSet = new _set.default((0, _map.default)(selectedItems).call(selectedItems, function (item) {
582
+ return item.value;
583
+ }));
584
+ var number = 0;
585
+ var _iterator2 = _createForOfIteratorHelper(filteredItems),
586
+ _step2;
587
+ try {
588
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
589
+ var item = _step2.value;
590
+ if (valuesSet.has(item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value))) {
591
+ number += 1;
592
+ }
593
+ }
594
+ } catch (err) {
595
+ _iterator2.e(err);
596
+ } finally {
597
+ _iterator2.f();
598
+ }
599
+ var checked = number > 0 && number === filteredItems.length;
600
+ var indeterminate = number > 0 && number < filteredItems.length;
601
+ return {
602
+ checked: checked,
603
+ indeterminate: indeterminate
604
+ };
605
+ };
543
606
  // 渲染下拉列表框
544
607
  var renderContent = function renderContent() {
545
608
  var dropdownRender = selectProps.dropdownRender,
@@ -579,8 +642,9 @@ var InternalSelect = function InternalSelect(props, ref) {
579
642
  height: '30px',
580
643
  background: 'none'
581
644
  };
582
- var indeterminate = mulOptions.length > 0 && mulOptions.length < filledOptions.length;
583
- var checked = mulOptions.length > 0 && mulOptions.length === filledOptions.length;
645
+ var _getCheckedState = getCheckedState(mulOptions, filledOptions),
646
+ checked = _getCheckedState.checked,
647
+ indeterminate = _getCheckedState.indeterminate;
584
648
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
585
649
  className: dropDownCls,
586
650
  style: dropdownStyle,
@@ -591,7 +655,9 @@ var InternalSelect = function InternalSelect(props, ref) {
591
655
  style: checkboxStyle,
592
656
  checked: checked,
593
657
  indeterminate: indeterminate,
594
- onChange: handleSelectAll
658
+ onChange: function onChange() {
659
+ return handleSelectAll(checked);
660
+ }
595
661
  }, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/_react.default.createElement("span", {
596
662
  className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
597
663
  }, locale.getLangMsg('Select', 'seleted', {
@@ -3,6 +3,7 @@
3
3
  @import "../avatar/style/index.less";
4
4
  @import "../badge/style/index.less";
5
5
  @import "../base-data/style/index.less";
6
+ @import "../breadcrumb/style/index.less";
6
7
  @import "../button/style/index.less";
7
8
  @import "../card/style/index.less";
8
9
  @import "../carousel/style/index.less";
@@ -13,6 +14,7 @@
13
14
  @import "../collapse/style/index.less";
14
15
  @import "../color-picker/style/index.less";
15
16
  @import "../date-picker/style/index.less";
17
+ @import "../divider/style/index.less";
16
18
  @import "../drawer/style/index.less";
17
19
  @import "../dropdown/style/index.less";
18
20
  @import "../empty/style/index.less";
@@ -43,6 +43,7 @@ export interface TreeProps {
43
43
  showIcon?: boolean;
44
44
  style?: React.CSSProperties;
45
45
  className?: string;
46
+ expandOnFilterNode?: boolean;
46
47
  }
47
48
  export declare type TreeNodeData = {
48
49
  checkable?: boolean;
package/lib/tree/tree.js CHANGED
@@ -94,7 +94,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
94
94
  loadData = TreeProps.loadData,
95
95
  notFoundContent = TreeProps.notFoundContent,
96
96
  showLine = TreeProps.showLine,
97
- others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine"]);
97
+ expandOnFilterNode = TreeProps.expandOnFilterNode,
98
+ others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine", "expandOnFilterNode"]);
98
99
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
99
100
  var treeNodeClassName = (0, _classnames.default)(className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
100
101
  var treeRootClassName = "".concat(treePrefixCls, "-root");
@@ -154,7 +155,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
154
155
  setSearchStatus('NONE');
155
156
  }
156
157
  }, [filterValue]);
157
- var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue),
158
+ var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode),
158
159
  _useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
159
160
  expandedKeys = _useExpand2[0],
160
161
  setExpandedKeys = _useExpand2[1];
@@ -170,8 +171,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
170
171
  setCheckedKeys = _useChecked2[2],
171
172
  setHalfCheckedKeys = _useChecked2[3];
172
173
  var filterData = _react.default.useMemo(function () {
173
- return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData);
174
- }, [spreadAttrData, isSearching, posData, keysData, filterValue]);
174
+ return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData, expandOnFilterNode);
175
+ }, [spreadAttrData, isSearching, posData, keysData, filterValue, expandOnFilterNode]);
175
176
  (0, _react.useEffect)(function () {
176
177
  var _a, _b;
177
178
  if (typeof scrollKey === 'undefined') {
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string, expandOnFilterNode: boolean) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -75,15 +75,15 @@ var useChecked = function useChecked(checkStrictly, checkedKeysProps, defaultChe
75
75
  return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
76
76
  };
77
77
  exports.useChecked = useChecked;
78
- var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue) {
78
+ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode) {
79
79
  var expandScrollkeys = [];
80
80
  if (scrollKey) {
81
81
  var pos = (0, _treeUtils.getPos)(flattenAllData, scrollKey);
82
82
  expandScrollkeys = (0, _treeUtils.getAllParentKeys)(flattenAllData, pos);
83
83
  }
84
84
  var initialExpandedKeys = _react.default.useMemo(function () {
85
- return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus);
86
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue]);
85
+ return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus, expandOnFilterNode);
86
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue, expandOnFilterNode]);
87
87
  var _React$useState7 = _react.default.useState(initialExpandedKeys),
88
88
  _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
89
89
  expandedKeys = _React$useState8[0],