@kdcloudjs/kdesign 1.6.21 → 1.6.23

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 (38) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/kdesign-complete.less +140 -8
  3. package/dist/kdesign.css +155 -10
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +650 -61
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/cascader/cascader.d.ts +7 -3
  11. package/es/cascader/cascader.js +243 -37
  12. package/es/cascader/style/index.css +144 -6
  13. package/es/cascader/style/index.less +122 -5
  14. package/es/cascader/style/token.less +3 -0
  15. package/es/cascader/util.d.ts +26 -0
  16. package/es/cascader/util.js +301 -0
  17. package/es/config-provider/compDefaultProps.d.ts +1 -0
  18. package/es/config-provider/compDefaultProps.js +1 -0
  19. package/es/date-picker/range-picker.js +8 -1
  20. package/es/radio/radio.js +1 -0
  21. package/es/stepper/style/index.css +10 -3
  22. package/es/stepper/style/index.less +12 -3
  23. package/es/stepper/style/token.less +3 -0
  24. package/lib/cascader/cascader.d.ts +7 -3
  25. package/lib/cascader/cascader.js +280 -56
  26. package/lib/cascader/style/index.css +144 -6
  27. package/lib/cascader/style/index.less +122 -5
  28. package/lib/cascader/style/token.less +3 -0
  29. package/lib/cascader/util.d.ts +26 -0
  30. package/lib/cascader/util.js +353 -0
  31. package/lib/config-provider/compDefaultProps.d.ts +1 -0
  32. package/lib/config-provider/compDefaultProps.js +1 -0
  33. package/lib/date-picker/range-picker.js +9 -1
  34. package/lib/radio/radio.js +1 -0
  35. package/lib/stepper/style/index.css +10 -3
  36. package/lib/stepper/style/index.less +12 -3
  37. package/lib/stepper/style/token.less +3 -0
  38. package/package.json +1 -1
@@ -114,11 +114,11 @@
114
114
  border-color: var(--kd-c-cascader-color-active, #999);
115
115
  }
116
116
  .kd-cascader-picker:focus > .kd-cascader-picker-input .kd-input-suffix,
117
- .kd-cascader-picker:focus > .kd-cascader-picker-input i[class*="kdicon"] {
117
+ .kd-cascader-picker:focus > .kd-cascader-picker-input i[class*='kdicon'] {
118
118
  color: var(--kd-c-cascader-color-active, #999);
119
119
  }
120
120
  .kd-cascader-picker:hover > .kd-cascader-picker-input .kd-input-suffix,
121
- .kd-cascader-picker:hover > .kd-cascader-picker-input i[class*="kdicon"] {
121
+ .kd-cascader-picker:hover > .kd-cascader-picker-input i[class*='kdicon'] {
122
122
  color: var(--kd-c-cascader-color-active, #999);
123
123
  }
124
124
  .kd-cascader-picker.disabled .kd-cascader-picker-input {
@@ -126,7 +126,7 @@
126
126
  border-color: var(--kd-g-color-border-strong, #d9d9d9);
127
127
  }
128
128
  .kd-cascader-picker.disabled .kd-cascader-picker-input .kd-input-suffix,
129
- .kd-cascader-picker.disabled .kd-cascader-picker-input i[class*="kdicon"] {
129
+ .kd-cascader-picker.disabled .kd-cascader-picker-input i[class*='kdicon'] {
130
130
  color: var(--kd-c-cascader-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
131
131
  }
132
132
  .kd-cascader-picker-label {
@@ -157,13 +157,13 @@
157
157
  .kd-cascader-picker-input.expand {
158
158
  border-color: var(--kd-c-cascader-color-active, #999);
159
159
  }
160
- .kd-cascader-picker-input.expand i[class*="kdicon"] {
160
+ .kd-cascader-picker-input.expand i[class*='kdicon'] {
161
161
  color: var(--kd-c-cascader-color-active, #999);
162
162
  -webkit-transform: rotate(180deg);
163
163
  transform: rotate(180deg);
164
164
  }
165
165
  .kd-cascader-picker-input .kd-input-suffix,
166
- .kd-cascader-picker-input i[class*="kdicon"] {
166
+ .kd-cascader-picker-input i[class*='kdicon'] {
167
167
  -webkit-transition: all 0.2s;
168
168
  transition: all 0.2s;
169
169
  }
@@ -188,7 +188,7 @@
188
188
  opacity: 0;
189
189
  cursor: pointer;
190
190
  visibility: hidden;
191
- color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
191
+ color: var(--kd-c-cascader-icon-clear-color-text, #d9d9d9);
192
192
  -webkit-transition: all 0.1s;
193
193
  transition: all 0.1s;
194
194
  -webkit-transform-origin: 50% 50%;
@@ -241,6 +241,9 @@
241
241
  -webkit-box-pack: justify;
242
242
  -ms-flex-pack: justify;
243
243
  justify-content: space-between;
244
+ -webkit-box-align: center;
245
+ -ms-flex-align: center;
246
+ align-items: center;
244
247
  padding: 0 var(--kd-c-cascader-menu-item-spacing-padding-horizontal, 12px);
245
248
  line-height: var(--kd-c-cascader-menu-item-sizing-height, 32px);
246
249
  cursor: pointer;
@@ -267,6 +270,141 @@
267
270
  .kd-cascader-menus .kd-cascader-menu-item.last .kd-cascader-menu-item-label {
268
271
  width: 92px;
269
272
  }
273
+ .kd-cascader-menus .kd-cascader-menu-item .kd-cascader-checkbox {
274
+ margin-right: 5px;
275
+ }
270
276
  .kd-cascader-menus .kd-empty {
271
277
  padding: 10px 0 20px;
272
278
  }
279
+ .kd-cascader-bordered {
280
+ border: 1px solid #d9d9d9;
281
+ padding-left: 8px !important;
282
+ border-radius: 2px;
283
+ }
284
+ .kd-cascader-multiple {
285
+ padding: 1px 28px 1px 0;
286
+ -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
287
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
288
+ width: 100%;
289
+ min-height: 30px;
290
+ max-height: 100px;
291
+ color: #212121;
292
+ display: -webkit-box;
293
+ display: -ms-flexbox;
294
+ display: flex;
295
+ cursor: pointer;
296
+ -webkit-box-sizing: border-box;
297
+ box-sizing: border-box;
298
+ overflow-y: auto;
299
+ overflow-x: hidden;
300
+ position: relative;
301
+ border-bottom: 1px solid #d9d9d9;
302
+ }
303
+ .kd-cascader-multiple-wrapper {
304
+ display: -webkit-box;
305
+ display: -ms-flexbox;
306
+ display: flex;
307
+ -webkit-box-align: center;
308
+ -ms-flex-align: center;
309
+ align-items: center;
310
+ -ms-flex-wrap: wrap;
311
+ flex-wrap: wrap;
312
+ width: 100%;
313
+ }
314
+ .kd-cascader-placeholder {
315
+ position: absolute;
316
+ color: #999;
317
+ overflow: hidden;
318
+ white-space: nowrap;
319
+ text-overflow: ellipsis;
320
+ }
321
+ .kd-cascader-suffix {
322
+ right: 0;
323
+ position: absolute;
324
+ display: -webkit-box;
325
+ display: -ms-flexbox;
326
+ display: flex;
327
+ -webkit-box-flex: 0;
328
+ -ms-flex: 0;
329
+ flex: 0;
330
+ -ms-flex-wrap: wrap;
331
+ flex-wrap: wrap;
332
+ -webkit-box-align: center;
333
+ -ms-flex-align: center;
334
+ align-items: center;
335
+ -webkit-box-pack: center;
336
+ -ms-flex-pack: center;
337
+ justify-content: center;
338
+ margin-left: 8px;
339
+ }
340
+ .kd-cascader-selection-tag {
341
+ max-width: 100%;
342
+ }
343
+ .kd-cascader-multiple:hover .kd-cascader-icon-clear {
344
+ opacity: 1;
345
+ }
346
+ .kd-cascader-icon-arrow {
347
+ display: -webkit-inline-box;
348
+ display: -ms-inline-flexbox;
349
+ display: inline-flex;
350
+ -webkit-box-align: center;
351
+ -ms-flex-align: center;
352
+ align-items: center;
353
+ vertical-align: middle;
354
+ }
355
+ .kd-cascader-icon-arrow-up {
356
+ -webkit-transform: rotate(180deg);
357
+ transform: rotate(180deg);
358
+ -webkit-transition: -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
359
+ transition: -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
360
+ transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
361
+ transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
362
+ }
363
+ .kd-cascader-icon-arrow-down {
364
+ -webkit-transform: rotate(0deg);
365
+ transform: rotate(0deg);
366
+ -webkit-transition: -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
367
+ transition: -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
368
+ transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
369
+ transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
370
+ }
371
+ .kd-cascader-icon-arrow-focus {
372
+ color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
373
+ }
374
+ .kd-cascader-icon-clear {
375
+ opacity: 0;
376
+ z-index: 1;
377
+ position: absolute;
378
+ background: #fff;
379
+ -webkit-transition: opacity 0.15s ease;
380
+ transition: opacity 0.15s ease;
381
+ color: var(--kd-c-cascader-icon-clear-color-text, #d9d9d9);
382
+ }
383
+ .kd-cascader-icon-clear:hover {
384
+ color: var(--kd-c-cascader-icon-clear-color-text-hover, #999);
385
+ }
386
+ .kd-cascader-tag-describe {
387
+ font-size: 12px;
388
+ height: 20px;
389
+ line-height: 18px;
390
+ margin: 2px 8px 2px 0;
391
+ -webkit-user-select: none;
392
+ -moz-user-select: none;
393
+ -ms-user-select: none;
394
+ user-select: none;
395
+ }
396
+ .kd-cascader-tag-describe-content {
397
+ display: -webkit-inline-box;
398
+ display: -ms-inline-flexbox;
399
+ display: inline-flex;
400
+ -webkit-box-align: center;
401
+ -ms-flex-align: center;
402
+ align-items: center;
403
+ vertical-align: middle;
404
+ padding: 0 7px;
405
+ overflow: hidden;
406
+ white-space: nowrap;
407
+ text-overflow: ellipsis;
408
+ border: 1px solid #ccc;
409
+ color: #212121;
410
+ }
@@ -16,14 +16,14 @@
16
16
  border-color: @cascader-active-color;
17
17
 
18
18
  .@{kd-prefix}-input-suffix,
19
- i[class*="kdicon"] {
19
+ i[class*='kdicon'] {
20
20
  color: @cascader-active-color;
21
21
  }
22
22
  }
23
23
 
24
24
  &:hover > &-input {
25
25
  .@{kd-prefix}-input-suffix,
26
- i[class*="kdicon"] {
26
+ i[class*='kdicon'] {
27
27
  color: @cascader-active-color;
28
28
  }
29
29
  }
@@ -34,7 +34,7 @@
34
34
  border-color: @color-border-strong;
35
35
 
36
36
  .@{kd-prefix}-input-suffix,
37
- i[class*="kdicon"] {
37
+ i[class*='kdicon'] {
38
38
  color: @cascader-disabled-color;
39
39
  }
40
40
  }
@@ -65,14 +65,14 @@
65
65
  &.expand {
66
66
  border-color: @cascader-active-color;
67
67
 
68
- i[class*="kdicon"] {
68
+ i[class*='kdicon'] {
69
69
  color: @cascader-active-color;
70
70
  transform: rotate(180deg);
71
71
  }
72
72
  }
73
73
 
74
74
  .@{kd-prefix}-input-suffix,
75
- i[class*="kdicon"] {
75
+ i[class*='kdicon'] {
76
76
  transition: all 0.2s;
77
77
  }
78
78
  }
@@ -142,6 +142,7 @@
142
142
  &-item {
143
143
  display: flex;
144
144
  justify-content: space-between;
145
+ align-items: center;
145
146
  padding: 0 @cascader-menu-item-padding-horizontal;
146
147
  line-height: @cascader-menu-item-height;
147
148
  cursor: pointer;
@@ -169,6 +170,10 @@
169
170
  &.last .@{cascader-menu-prefix-cls}-item-label {
170
171
  width: 92px;
171
172
  }
173
+
174
+ .@{kd-prefix}-cascader-checkbox {
175
+ margin-right: 5px;
176
+ }
172
177
  }
173
178
  }
174
179
 
@@ -176,3 +181,115 @@
176
181
  padding: 10px 0 20px;
177
182
  }
178
183
  }
184
+
185
+ .@{kd-prefix}-cascader {
186
+ &-bordered {
187
+ border: 1px solid #d9d9d9;
188
+ padding-left: 8px !important;
189
+ border-radius: 2px;
190
+ }
191
+
192
+ &-multiple {
193
+ padding: 1px 28px 1px 0;
194
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
195
+ width: 100%;
196
+ min-height: 30px;
197
+ max-height: 100px;
198
+ color: #212121;
199
+ display: flex;
200
+ cursor: pointer;
201
+ box-sizing: border-box;
202
+ overflow-y: auto;
203
+ overflow-x: hidden;
204
+ position: relative;
205
+ border-bottom: 1px solid #d9d9d9;
206
+ }
207
+
208
+ &-multiple-wrapper {
209
+ display: flex;
210
+ align-items: center;
211
+ flex-wrap: wrap;
212
+ width: 100%;
213
+ }
214
+
215
+ &-placeholder {
216
+ position: absolute;
217
+ color: @select-placeholder-color;
218
+ overflow: hidden;
219
+ white-space: nowrap;
220
+ text-overflow: ellipsis;
221
+ }
222
+
223
+ &-suffix {
224
+ right: 0;
225
+ position: absolute;
226
+ display: flex;
227
+ flex: 0;
228
+ flex-wrap: wrap;
229
+ align-items: center;
230
+ justify-content: center;
231
+ margin-left: 8px;
232
+ }
233
+
234
+ &-selection-tag {
235
+ max-width: 100%;
236
+ }
237
+
238
+ &-multiple:hover &-icon-clear {
239
+ opacity: 1;
240
+ }
241
+
242
+ &-icon {
243
+ &-arrow {
244
+ display: inline-flex;
245
+ align-items: center;
246
+ vertical-align: middle;
247
+ &-up {
248
+ transform: rotate(180deg);
249
+ transition: transform calc(@transition-duration - 0.1s) @ease;
250
+ }
251
+
252
+ &-down {
253
+ transform: rotate(0deg);
254
+ transition: transform calc(@transition-duration - 0.1s) @ease;
255
+ }
256
+
257
+ &-focus {
258
+ color: @cascader-g-color-border-foucs;
259
+ }
260
+ }
261
+
262
+ &-clear {
263
+ opacity: 0;
264
+ z-index: 1;
265
+ position: absolute;
266
+ background: #fff;
267
+ transition: opacity 0.15s ease;
268
+ color: @cascader-clear-color;
269
+ &:hover {
270
+ color: @cascader-clear-color-hover;
271
+ }
272
+ }
273
+ }
274
+ &-tag {
275
+ &-describe {
276
+ font-size: 12px;
277
+ height: 20px;
278
+ line-height: 18px;
279
+ margin: 2px 8px 2px 0;
280
+ user-select: none;
281
+
282
+ &-content {
283
+ display: inline-flex;
284
+ align-items: center;
285
+ vertical-align: middle;
286
+ padding: 0 7px;
287
+ overflow: hidden;
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ border: 1px solid #ccc;
291
+ color: #212121;
292
+ }
293
+ }
294
+ }
295
+ }
@@ -20,6 +20,9 @@
20
20
  @cascader-selected-bg-color: var(~'@{cascader-prefix}-color-background-selected', @color-background-ongoing);
21
21
  @cascader-disabled-color: var(~'@{cascader-prefix}-color-text-disabled', @color-disabled);
22
22
  @cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #d9d9d9);
23
+ @cascader-g-color-border-foucs: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
24
+ @cascader-clear-color: var(~'@{cascader-prefix}-icon-clear-color-text', #d9d9d9);
25
+ @cascader-clear-color-hover: var(~'@{cascader-prefix}-icon-clear-color-text-hover', #999);
23
26
 
24
27
  // font
25
28
  @cascader-font-size: var(~'@{cascader-prefix}-font-size', @font-size-small);
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import { CascaderValueType, CascaderOptionType, KeysDataType } from './cascader';
3
+ export declare const useChecked: (value: CascaderValueType, flattenData: CascaderOptionType[], keysData: KeysDataType, isMultiple: boolean) => never[] | readonly [unknown[], unknown[], import("react").Dispatch<import("react").SetStateAction<unknown[]>>, import("react").Dispatch<import("react").SetStateAction<unknown[]>>];
4
+ export declare const flattenAll: (data: CascaderOptionType[], newTreeData?: CascaderOptionType[]) => {
5
+ formatData: CascaderOptionType[];
6
+ keysData: CascaderOptionType;
7
+ flattenData: CascaderOptionType[];
8
+ };
9
+ export declare const isHalfChecked: (data: any[]) => boolean;
10
+ export declare const ValueSeparator = "__kdm_cascader__";
11
+ export declare const transformValuesToSet: (values: CascaderValueType) => Set<unknown>;
12
+ export declare const valueInSet: (set: Set<any>, value: string[]) => boolean;
13
+ export declare function getChildNodeKeys(node: CascaderOptionType, keysNodeProps: KeysDataType): Set<string>;
14
+ export declare const setNodeCheckedByValue: (initValues: CascaderValueType, flatNodes: CascaderOptionType[], keysNodeProps: KeysDataType) => {
15
+ checkedKeys: unknown[];
16
+ halfCheckedKeys: unknown[];
17
+ };
18
+ export declare const getHalfChecked: (halfCheckedKeys: any[], key: string) => boolean;
19
+ export declare const getChecked: (checkedKeys: any[], key: string) => boolean;
20
+ export declare const addKeys: (prevKeys?: any[], newKeys?: any[]) => any[];
21
+ export declare const delKey: (prevKeys: any[], delKeys: any[]) => never[] & any[];
22
+ export declare const getMultipleCheckValue: (_propsValue: CascaderValueType, _option: CascaderOptionType, _checked: boolean, flatNodes: CascaderOptionType[], checkedKeys: []) => any[];
23
+ export declare function getAllCheckedKeys(key: any, checked: boolean, checkedKeys: any[], keysNodeProps: KeysDataType, halfCheckedKeys: any[]): {
24
+ checkedKeys: any[];
25
+ halfCheckedKeys: any[];
26
+ };