@tiny-design/react 1.4.0 → 1.5.1
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/es/alert/alert.js +2 -2
- package/es/alert/alert.js.map +1 -1
- package/es/alert/style/_index.scss +8 -4
- package/es/alert/style/index.css +7 -4
- package/es/auto-complete/style/_index.scss +4 -5
- package/es/auto-complete/style/index.css +4 -5
- package/es/breadcrumb/style/index.css +1 -1
- package/es/breadcrumb/types.d.ts +1 -1
- package/es/button/style/index.css +14 -14
- package/es/calendar/style/_index.scss +9 -9
- package/es/calendar/style/index.css +9 -9
- package/es/card/style/index.css +3 -3
- package/es/cascader/style/_index.scss +9 -9
- package/es/cascader/style/index.css +9 -9
- package/es/checkbox/style/_index.scss +9 -12
- package/es/checkbox/style/index.css +9 -12
- package/es/collapse/collapse-panel.js +20 -20
- package/es/collapse/collapse-panel.js.map +1 -1
- package/es/collapse/style/_index.scss +27 -10
- package/es/collapse/style/index.css +27 -12
- package/es/color-picker/style/_index.scss +7 -7
- package/es/color-picker/style/index.css +4 -4
- package/es/date-picker/style/_index.scss +1 -1
- package/es/date-picker/style/index.css +1 -1
- package/es/descriptions/style/_index.scss +5 -6
- package/es/descriptions/style/index.css +6 -6
- package/es/empty/style/_index.scss +1 -1
- package/es/empty/style/index.css +1 -1
- package/es/form/style/_index.scss +5 -6
- package/es/form/style/index.css +4 -4
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/input/style/_index.scss +5 -4
- package/es/input/style/_mixin.scss +1 -1
- package/es/input/style/index.css +21 -20
- package/es/input-number/input-number.js +11 -5
- package/es/input-number/input-number.js.map +1 -1
- package/es/input-number/style/_index.scss +5 -3
- package/es/input-number/style/index.css +13 -11
- package/es/input-otp/input-otp.js +5 -7
- package/es/input-otp/input-otp.js.map +1 -1
- package/es/input-otp/style/_index.scss +1 -1
- package/es/input-otp/style/index.css +8 -8
- package/es/list/list.js +2 -2
- package/es/list/list.js.map +1 -1
- package/es/list/style/_index.scss +3 -3
- package/es/list/style/index.css +3 -3
- package/es/marquee/index.d.ts +1 -0
- package/es/marquee/index.js +9 -0
- package/es/marquee/index.js.map +1 -0
- package/es/marquee/marquee.d.ts +8 -0
- package/es/marquee/marquee.js +42 -0
- package/es/marquee/marquee.js.map +1 -0
- package/es/marquee/style/_index.scss +77 -0
- package/es/marquee/style/index.css +64 -0
- package/es/marquee/style/index.d.ts +1 -0
- package/es/marquee/style/index.js +1 -0
- package/es/marquee/types.d.ts +21 -0
- package/es/native-select/style/index.css +4 -4
- package/es/notification/style/_index.scss +1 -1
- package/es/notification/style/index.css +1 -1
- package/es/pop-confirm/style/_index.scss +1 -1
- package/es/pop-confirm/style/index.css +1 -1
- package/es/popup/style/_index.scss +9 -9
- package/es/popup/style/index.css +10 -10
- package/es/radio/style/_index.scss +5 -8
- package/es/radio/style/index.css +5 -8
- package/es/segmented/style/_index.scss +10 -10
- package/es/segmented/style/index.css +9 -9
- package/es/select/style/_index.scss +16 -17
- package/es/select/style/index.css +15 -16
- package/es/speed-dial/style/_index.scss +2 -2
- package/es/speed-dial/style/index.css +2 -2
- package/es/statistic/style/_index.scss +2 -2
- package/es/statistic/style/index.css +2 -2
- package/es/strength-indicator/strength-indicator.js +4 -3
- package/es/strength-indicator/strength-indicator.js.map +1 -1
- package/es/style/_component.scss +1 -0
- package/es/style/base.css +57 -0
- package/es/table/style/_index.scss +6 -6
- package/es/table/style/index.css +5 -5
- package/es/tag/style/index.css +1 -1
- package/es/tag/tag.js +5 -5
- package/es/tag/tag.js.map +1 -1
- package/es/textarea/style/index.css +2 -2
- package/es/time-picker/style/_index.scss +1 -1
- package/es/time-picker/style/index.css +1 -1
- package/es/timeline/style/_index.scss +3 -3
- package/es/timeline/style/index.css +3 -3
- package/es/tooltip/style/index.css +1 -1
- package/es/transfer/style/_index.scss +4 -4
- package/es/transfer/style/index.css +4 -4
- package/es/tree/style/index.css +1 -1
- package/es/typography/style/_index.scss +2 -2
- package/es/typography/style/index.css +2 -2
- package/es/upload/style/_index.scss +4 -4
- package/es/upload/style/index.css +4 -4
- package/es/waterfall/waterfall.js +7 -2
- package/es/waterfall/waterfall.js.map +1 -1
- package/lib/alert/alert.js +2 -2
- package/lib/alert/alert.js.map +1 -1
- package/lib/alert/style/_index.scss +8 -4
- package/lib/alert/style/index.css +7 -4
- package/lib/auto-complete/style/_index.scss +4 -5
- package/lib/auto-complete/style/index.css +4 -5
- package/lib/breadcrumb/style/index.css +1 -1
- package/lib/breadcrumb/types.d.ts +1 -1
- package/lib/button/style/index.css +14 -14
- package/lib/calendar/style/_index.scss +9 -9
- package/lib/calendar/style/index.css +9 -9
- package/lib/card/style/index.css +3 -3
- package/lib/cascader/style/_index.scss +9 -9
- package/lib/cascader/style/index.css +9 -9
- package/lib/checkbox/style/_index.scss +9 -12
- package/lib/checkbox/style/index.css +9 -12
- package/lib/collapse/collapse-panel.js +20 -20
- package/lib/collapse/collapse-panel.js.map +1 -1
- package/lib/collapse/style/_index.scss +27 -10
- package/lib/collapse/style/index.css +27 -12
- package/lib/color-picker/style/_index.scss +7 -7
- package/lib/color-picker/style/index.css +4 -4
- package/lib/date-picker/style/_index.scss +1 -1
- package/lib/date-picker/style/index.css +1 -1
- package/lib/descriptions/style/_index.scss +5 -6
- package/lib/descriptions/style/index.css +6 -6
- package/lib/empty/style/_index.scss +1 -1
- package/lib/empty/style/index.css +1 -1
- package/lib/form/style/_index.scss +5 -6
- package/lib/form/style/index.css +4 -4
- package/lib/index.d.ts +2 -1
- package/lib/index.js +76 -74
- package/lib/input/style/_index.scss +5 -4
- package/lib/input/style/_mixin.scss +1 -1
- package/lib/input/style/index.css +21 -20
- package/lib/input-number/input-number.js +11 -5
- package/lib/input-number/input-number.js.map +1 -1
- package/lib/input-number/style/_index.scss +5 -3
- package/lib/input-number/style/index.css +13 -11
- package/lib/input-otp/input-otp.js +5 -7
- package/lib/input-otp/input-otp.js.map +1 -1
- package/lib/input-otp/style/_index.scss +1 -1
- package/lib/input-otp/style/index.css +8 -8
- package/lib/list/list.js +2 -2
- package/lib/list/list.js.map +1 -1
- package/lib/list/style/_index.scss +3 -3
- package/lib/list/style/index.css +3 -3
- package/lib/marquee/index.js +8 -0
- package/lib/marquee/index.js.map +1 -0
- package/lib/marquee/marquee.d.ts +8 -0
- package/lib/marquee/marquee.js +45 -0
- package/lib/marquee/marquee.js.map +1 -0
- package/lib/marquee/style/_index.scss +77 -0
- package/lib/marquee/style/index.css +64 -0
- package/lib/marquee/style/index.d.ts +1 -0
- package/lib/marquee/style/index.js +1 -0
- package/lib/marquee/types.d.ts +21 -0
- package/lib/native-select/style/index.css +4 -4
- package/lib/notification/style/_index.scss +1 -1
- package/lib/notification/style/index.css +1 -1
- package/lib/pop-confirm/style/_index.scss +1 -1
- package/lib/pop-confirm/style/index.css +1 -1
- package/lib/popup/style/_index.scss +9 -9
- package/lib/popup/style/index.css +10 -10
- package/lib/radio/style/_index.scss +5 -8
- package/lib/radio/style/index.css +5 -8
- package/lib/segmented/style/_index.scss +10 -10
- package/lib/segmented/style/index.css +9 -9
- package/lib/select/style/_index.scss +16 -17
- package/lib/select/style/index.css +15 -16
- package/lib/speed-dial/style/_index.scss +2 -2
- package/lib/speed-dial/style/index.css +2 -2
- package/lib/statistic/style/_index.scss +2 -2
- package/lib/statistic/style/index.css +2 -2
- package/lib/strength-indicator/strength-indicator.js +4 -3
- package/lib/strength-indicator/strength-indicator.js.map +1 -1
- package/lib/style/_component.scss +1 -0
- package/lib/style/base.css +57 -0
- package/lib/table/style/_index.scss +6 -6
- package/lib/table/style/index.css +5 -5
- package/lib/tag/style/index.css +1 -1
- package/lib/tag/tag.js +5 -5
- package/lib/tag/tag.js.map +1 -1
- package/lib/textarea/style/index.css +2 -2
- package/lib/time-picker/style/_index.scss +1 -1
- package/lib/time-picker/style/index.css +1 -1
- package/lib/timeline/style/_index.scss +3 -3
- package/lib/timeline/style/index.css +3 -3
- package/lib/tooltip/style/index.css +1 -1
- package/lib/transfer/style/_index.scss +4 -4
- package/lib/transfer/style/index.css +4 -4
- package/lib/tree/style/index.css +1 -1
- package/lib/typography/style/_index.scss +2 -2
- package/lib/typography/style/index.css +2 -2
- package/lib/upload/style/_index.scss +4 -4
- package/lib/upload/style/index.css +4 -4
- package/lib/waterfall/waterfall.js +7 -2
- package/lib/waterfall/waterfall.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
.#{$prefix}-timeline {
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
color: var(--ty-color-text-secondary);
|
|
6
|
-
font-size:
|
|
6
|
+
font-size: var(--ty-font-size-base);
|
|
7
7
|
line-height: 1.5;
|
|
8
8
|
margin: 0;
|
|
9
9
|
padding: 0;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
&:last-child {
|
|
22
22
|
.#{$prefix}-timeline-item__head {
|
|
23
|
-
|
|
23
|
+
&::before {
|
|
24
24
|
display: none;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
color: var(--ty-color-primary);
|
|
34
34
|
height: 100%;
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
&::before {
|
|
37
37
|
content: '';
|
|
38
38
|
position: absolute;
|
|
39
39
|
top: 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.ty-timeline {
|
|
2
2
|
box-sizing: border-box;
|
|
3
3
|
color: var(--ty-color-text-secondary);
|
|
4
|
-
font-size:
|
|
4
|
+
font-size: var(--ty-font-size-base);
|
|
5
5
|
line-height: 1.5;
|
|
6
6
|
margin: 0;
|
|
7
7
|
padding: 0;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
font-size: 14px;
|
|
17
17
|
list-style: none;
|
|
18
18
|
}
|
|
19
|
-
.ty-timeline-item:last-child .ty-timeline-item__head
|
|
19
|
+
.ty-timeline-item:last-child .ty-timeline-item__head::before {
|
|
20
20
|
display: none;
|
|
21
21
|
}
|
|
22
22
|
.ty-timeline-item__head {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
color: var(--ty-color-primary);
|
|
27
27
|
height: 100%;
|
|
28
28
|
}
|
|
29
|
-
.ty-timeline-item__head
|
|
29
|
+
.ty-timeline-item__head::before {
|
|
30
30
|
content: "";
|
|
31
31
|
position: absolute;
|
|
32
32
|
top: 0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.#{$prefix}-transfer {
|
|
4
4
|
box-sizing: border-box;
|
|
5
|
-
font-size:
|
|
5
|
+
font-size: var(--ty-font-size-base);
|
|
6
6
|
color: var(--ty-color-text);
|
|
7
7
|
|
|
8
8
|
&__left-arrow {
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
vertical-align: middle;
|
|
35
35
|
width: 180px;
|
|
36
36
|
border: 1px solid var(--ty-transfer-border);
|
|
37
|
-
border-radius:
|
|
37
|
+
border-radius: var(--ty-border-radius);
|
|
38
38
|
|
|
39
39
|
&__header {
|
|
40
40
|
padding: 8px 12px 9px;
|
|
41
41
|
color: var(--ty-color-text);
|
|
42
42
|
background: var(--ty-transfer-header-bg);
|
|
43
43
|
border-bottom: 1px solid var(--ty-transfer-footer-border);
|
|
44
|
-
border-radius:
|
|
44
|
+
border-radius: var(--ty-border-radius) var(--ty-border-radius) 0 0;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&__body {
|
|
@@ -93,6 +93,6 @@
|
|
|
93
93
|
padding: 8px 12px 9px;
|
|
94
94
|
border-top: 1px solid var(--ty-transfer-footer-border);
|
|
95
95
|
background-color: var(--ty-transfer-footer-bg);
|
|
96
|
-
border-radius: 0 0
|
|
96
|
+
border-radius: 0 0 var(--ty-border-radius) var(--ty-border-radius);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ty-transfer {
|
|
2
2
|
box-sizing: border-box;
|
|
3
|
-
font-size:
|
|
3
|
+
font-size: var(--ty-font-size-base);
|
|
4
4
|
color: var(--ty-color-text);
|
|
5
5
|
}
|
|
6
6
|
.ty-transfer__left-arrow {
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
vertical-align: middle;
|
|
29
29
|
width: 180px;
|
|
30
30
|
border: 1px solid var(--ty-transfer-border);
|
|
31
|
-
border-radius:
|
|
31
|
+
border-radius: var(--ty-border-radius);
|
|
32
32
|
}
|
|
33
33
|
.ty-transfer-panel__header {
|
|
34
34
|
padding: 8px 12px 9px;
|
|
35
35
|
color: var(--ty-color-text);
|
|
36
36
|
background: var(--ty-transfer-header-bg);
|
|
37
37
|
border-bottom: 1px solid var(--ty-transfer-footer-border);
|
|
38
|
-
border-radius:
|
|
38
|
+
border-radius: var(--ty-border-radius) var(--ty-border-radius) 0 0;
|
|
39
39
|
}
|
|
40
40
|
.ty-transfer-panel__body {
|
|
41
41
|
position: relative;
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
padding: 8px 12px 9px;
|
|
80
80
|
border-top: 1px solid var(--ty-transfer-footer-border);
|
|
81
81
|
background-color: var(--ty-transfer-footer-bg);
|
|
82
|
-
border-radius: 0 0
|
|
82
|
+
border-radius: 0 0 var(--ty-border-radius) var(--ty-border-radius);
|
|
83
83
|
}
|
package/lib/tree/style/index.css
CHANGED
|
@@ -36,7 +36,7 @@ $tp-prefix: #{$prefix}-typography;
|
|
|
36
36
|
font-size: 85%;
|
|
37
37
|
background: var(--ty-typography-code-bg);
|
|
38
38
|
border: 1px solid var(--ty-typography-code-border);
|
|
39
|
-
border-radius:
|
|
39
|
+
border-radius: var(--ty-border-radius);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
mark {
|
|
@@ -99,7 +99,7 @@ p.#{$tp-prefix}, div.#{$tp-prefix} {
|
|
|
99
99
|
margin-top: 0;
|
|
100
100
|
margin-bottom: 1em;
|
|
101
101
|
color: var(--ty-typography-body-color);
|
|
102
|
-
font-size:
|
|
102
|
+
font-size: var(--ty-font-size-base);
|
|
103
103
|
line-height: 1.5;
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
font-size: 85%;
|
|
25
25
|
background: var(--ty-typography-code-bg);
|
|
26
26
|
border: 1px solid var(--ty-typography-code-border);
|
|
27
|
-
border-radius:
|
|
27
|
+
border-radius: var(--ty-border-radius);
|
|
28
28
|
}
|
|
29
29
|
.ty-typography mark {
|
|
30
30
|
padding: 0;
|
|
@@ -83,7 +83,7 @@ p.ty-typography, div.ty-typography {
|
|
|
83
83
|
margin-top: 0;
|
|
84
84
|
margin-bottom: 1em;
|
|
85
85
|
color: var(--ty-typography-body-color);
|
|
86
|
-
font-size:
|
|
86
|
+
font-size: var(--ty-font-size-base);
|
|
87
87
|
line-height: 1.5;
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
margin: 0;
|
|
8
8
|
padding: 0;
|
|
9
9
|
color: var(--ty-color-text);
|
|
10
|
-
font-size:
|
|
10
|
+
font-size: var(--ty-font-size-base);
|
|
11
11
|
outline: 0;
|
|
12
12
|
|
|
13
13
|
&__upload-list {
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
padding: 0;
|
|
17
17
|
box-sizing: border-box;
|
|
18
18
|
color: var(--ty-color-text);
|
|
19
|
-
font-size:
|
|
19
|
+
font-size: var(--ty-font-size-base);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
&__upload-list-item {
|
|
23
23
|
margin-top: 5px;
|
|
24
|
-
font-size:
|
|
24
|
+
font-size: var(--ty-font-size-base);
|
|
25
25
|
transition: background-color 300ms;
|
|
26
26
|
|
|
27
27
|
&:hover {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
text-align: center;
|
|
83
83
|
background: var(--ty-upload-dragger-bg);
|
|
84
84
|
border: 1px dashed var(--ty-upload-dragger-border);
|
|
85
|
-
border-radius:
|
|
85
|
+
border-radius: var(--ty-border-radius);
|
|
86
86
|
cursor: pointer;
|
|
87
87
|
transition: border-color 300ms, background-color 300ms;
|
|
88
88
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
margin: 0;
|
|
31
31
|
padding: 0;
|
|
32
32
|
color: var(--ty-color-text);
|
|
33
|
-
font-size:
|
|
33
|
+
font-size: var(--ty-font-size-base);
|
|
34
34
|
outline: 0;
|
|
35
35
|
}
|
|
36
36
|
.ty-upload__upload-list {
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
padding: 0;
|
|
40
40
|
box-sizing: border-box;
|
|
41
41
|
color: var(--ty-color-text);
|
|
42
|
-
font-size:
|
|
42
|
+
font-size: var(--ty-font-size-base);
|
|
43
43
|
}
|
|
44
44
|
.ty-upload__upload-list-item {
|
|
45
45
|
margin-top: 5px;
|
|
46
|
-
font-size:
|
|
46
|
+
font-size: var(--ty-font-size-base);
|
|
47
47
|
transition: background-color 300ms;
|
|
48
48
|
}
|
|
49
49
|
.ty-upload__upload-list-item:hover {
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
text-align: center;
|
|
93
93
|
background: var(--ty-upload-dragger-bg);
|
|
94
94
|
border: 1px dashed var(--ty-upload-dragger-border);
|
|
95
|
-
border-radius:
|
|
95
|
+
border-radius: var(--ty-border-radius);
|
|
96
96
|
cursor: pointer;
|
|
97
97
|
transition: border-color 300ms, background-color 300ms;
|
|
98
98
|
}
|
|
@@ -60,13 +60,18 @@ const Waterfall = react.default.forwardRef((props, ref) => {
|
|
|
60
60
|
for (const [, el] of itemRefsMap.current) if (el) observer.observe(el);
|
|
61
61
|
return () => observer.disconnect();
|
|
62
62
|
}, [items, collectItemSizes]);
|
|
63
|
+
const prevLayoutRef = (0, react.useRef)("");
|
|
63
64
|
(0, react.useEffect)(() => {
|
|
64
65
|
if (!onLayoutChange || !items || items.length === 0) return;
|
|
65
66
|
if (!items.every((item) => itemPositions.has(item.key))) return;
|
|
66
|
-
|
|
67
|
+
const sortInfo = items.map((item) => ({
|
|
67
68
|
key: item.key,
|
|
68
69
|
column: itemPositions.get(item.key).column
|
|
69
|
-
}))
|
|
70
|
+
}));
|
|
71
|
+
const layoutKey = sortInfo.map((s) => `${s.key}:${s.column}`).join(",");
|
|
72
|
+
if (layoutKey === prevLayoutRef.current) return;
|
|
73
|
+
prevLayoutRef.current = layoutKey;
|
|
74
|
+
onLayoutChange(sortInfo);
|
|
70
75
|
}, [
|
|
71
76
|
itemPositions,
|
|
72
77
|
items,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterfall.js","names":["React","getPrefixCls","ConfigContext","useBreakpoint","responsiveArray","usePositions","Transition"],"sources":["../../src/waterfall/waterfall.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Transition from '../transition';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { Breakpoint, WaterfallItem, WaterfallProps } from './types';\nimport useBreakpoint, { responsiveArray } from './hooks/use-breakpoint';\nimport usePositions, { ItemHeightData } from './hooks/use-positions';\n\nconst Waterfall = React.forwardRef<HTMLDivElement, WaterfallProps>((props, ref) => {\n const {\n prefixCls: customisedCls,\n className,\n style,\n columns = 3,\n gutter = 0,\n items,\n itemRender,\n onLayoutChange,\n ...otherProps\n } = props;\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('waterfall', configContext.prefixCls, customisedCls);\n\n // ===================== Breakpoint =====================\n const screens = useBreakpoint();\n\n const columnCount = React.useMemo<number>(() => {\n if (typeof columns === 'number') {\n return columns;\n }\n\n const matchingBreakpoint = responsiveArray.find(\n (bp: Breakpoint) => screens[bp] && columns[bp] !== undefined,\n );\n\n if (matchingBreakpoint) {\n return columns[matchingBreakpoint] as number;\n }\n\n return columns.xs ?? 1;\n }, [columns, screens]);\n\n // ====================== Gutter ======================\n const [horizontalGutter, verticalGutter] = Array.isArray(gutter)\n ? gutter\n : [gutter, gutter];\n\n // =================== Item Refs ===================\n const itemRefsMap = useRef<Map<React.Key, HTMLDivElement | null>>(new Map());\n\n const setItemRef = useCallback((key: React.Key, el: HTMLDivElement | null) => {\n itemRefsMap.current.set(key, el);\n }, []);\n\n // ================= Item Heights ==================\n const [itemHeights, setItemHeights] = useState<ItemHeightData[]>([]);\n\n const collectItemSizes = useCallback(() => {\n if (!items || items.length === 0) {\n setItemHeights([]);\n return;\n }\n\n const nextHeights = items.map<ItemHeightData>((item, index) => {\n const key = item.key ?? index;\n const el = itemRefsMap.current.get(key);\n const height = el ? el.getBoundingClientRect().height : 0;\n return [key, height, item.column];\n });\n\n setItemHeights((prev) => {\n const isSame =\n prev.length === nextHeights.length &&\n prev.every((p, i) => p[0] === nextHeights[i][0] && p[1] === nextHeights[i][1]);\n return isSame ? prev : nextHeights;\n });\n }, [items]);\n\n // ================= Positions ==================\n const [itemPositions, totalHeight] = usePositions(itemHeights, columnCount, verticalGutter);\n\n // Collect sizes on items/columns change\n useEffect(() => {\n collectItemSizes();\n }, [items, columnCount, collectItemSizes]);\n\n // ResizeObserver for dynamic content\n useEffect(() => {\n if (typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() => {\n collectItemSizes();\n });\n\n for (const [, el] of itemRefsMap.current) {\n if (el) observer.observe(el);\n }\n\n return () => observer.disconnect();\n }, [items, collectItemSizes]);\n\n // ================ onLayoutChange ================\n useEffect(() => {\n if (!onLayoutChange || !items || items.length === 0) return;\n\n const allPositioned = items.every((item) => itemPositions.has(item.key));\n if (!allPositioned) return;\n\n const sortInfo = items.map((item) => ({\n key: item.key,\n column: itemPositions.get(item.key)!.column,\n }));\n onLayoutChange(sortInfo);\n }, [itemPositions, items, onLayoutChange]);\n\n // ============== Exiting items (replaces TransitionGroup) ==============\n const prevItemsRef = useRef<WaterfallItem[]>(items || []);\n const [exitingItems, setExitingItems] = useState<Map<React.Key, WaterfallItem>>(new Map());\n\n useEffect(() => {\n const currentKeys = new Set((items || []).map((item, i) => item.key ?? i));\n const removed = new Map<React.Key, WaterfallItem>();\n\n prevItemsRef.current.forEach((item, index) => {\n const key = item.key ?? index;\n if (!currentKeys.has(key)) {\n removed.set(key, item);\n }\n });\n\n if (removed.size > 0) {\n setExitingItems((prev) => {\n const next = new Map(prev);\n removed.forEach((item, key) => next.set(key, item));\n return next;\n });\n }\n\n prevItemsRef.current = items || [];\n }, [items]);\n\n const handleExited = useCallback((key: React.Key) => {\n itemRefsMap.current.delete(key);\n setExitingItems((prev) => {\n const next = new Map(prev);\n next.delete(key);\n return next;\n });\n collectItemSizes();\n }, [collectItemSizes]);\n\n // ==================== Render ====================\n const cls = classNames(prefixCls, className);\n\n const containerStyle: React.CSSProperties = {\n ...style,\n position: 'relative',\n height: totalHeight || undefined,\n };\n\n const mergedItems = items || [];\n\n const renderItem = (item: WaterfallItem, index: number, isExiting: boolean) => {\n const key = item.key ?? index;\n const position = itemPositions.get(key);\n const hasPosition = !!position;\n const columnIndex = position?.column ?? 0;\n\n const itemStyle: React.CSSProperties = {\n position: 'absolute',\n width: `calc((100% - ${horizontalGutter * (columnCount - 1)}px) / ${columnCount})`,\n left: `calc((100% - ${horizontalGutter * (columnCount - 1)}px) / ${columnCount} * ${columnIndex} + ${horizontalGutter * columnIndex}px)`,\n top: position?.top ?? 0,\n // Only transition position changes after initial placement\n transition: hasPosition ? 'top 0.3s ease, left 0.3s ease, opacity 0.3s ease' : 'none',\n // Hide until position is computed so items don't flash at (0,0)\n opacity: hasPosition ? 1 : 0,\n };\n\n const content = item.children ?? itemRender?.({ ...item, index, column: columnIndex });\n\n return (\n <Transition\n key={key}\n in={!isExiting}\n timeout={300}\n appear={false}\n unmountOnExit={true}\n classNames={`${prefixCls}__item-fade`}\n onExited={() => handleExited(key)}\n >\n <div\n ref={(el) => setItemRef(key, el)}\n className={`${prefixCls}__item`}\n style={itemStyle}\n >\n {content}\n </div>\n </Transition>\n );\n };\n\n return (\n <div\n ref={ref}\n {...otherProps}\n className={cls}\n style={containerStyle}\n onLoad={collectItemSizes}\n onError={collectItemSizes}\n >\n {mergedItems.map((item, index) => renderItem(item, index, false))}\n {Array.from(exitingItems.entries()).map(([key, item]) =>\n renderItem(item, Number(key), true)\n )}\n </div>\n );\n});\n\nWaterfall.displayName = 'Waterfall';\n\nexport default Waterfall;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"waterfall.js","names":["React","getPrefixCls","ConfigContext","useBreakpoint","responsiveArray","usePositions","Transition"],"sources":["../../src/waterfall/waterfall.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Transition from '../transition';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { Breakpoint, WaterfallItem, WaterfallProps } from './types';\nimport useBreakpoint, { responsiveArray } from './hooks/use-breakpoint';\nimport usePositions, { ItemHeightData } from './hooks/use-positions';\n\nconst Waterfall = React.forwardRef<HTMLDivElement, WaterfallProps>((props, ref) => {\n const {\n prefixCls: customisedCls,\n className,\n style,\n columns = 3,\n gutter = 0,\n items,\n itemRender,\n onLayoutChange,\n ...otherProps\n } = props;\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('waterfall', configContext.prefixCls, customisedCls);\n\n // ===================== Breakpoint =====================\n const screens = useBreakpoint();\n\n const columnCount = React.useMemo<number>(() => {\n if (typeof columns === 'number') {\n return columns;\n }\n\n const matchingBreakpoint = responsiveArray.find(\n (bp: Breakpoint) => screens[bp] && columns[bp] !== undefined,\n );\n\n if (matchingBreakpoint) {\n return columns[matchingBreakpoint] as number;\n }\n\n return columns.xs ?? 1;\n }, [columns, screens]);\n\n // ====================== Gutter ======================\n const [horizontalGutter, verticalGutter] = Array.isArray(gutter)\n ? gutter\n : [gutter, gutter];\n\n // =================== Item Refs ===================\n const itemRefsMap = useRef<Map<React.Key, HTMLDivElement | null>>(new Map());\n\n const setItemRef = useCallback((key: React.Key, el: HTMLDivElement | null) => {\n itemRefsMap.current.set(key, el);\n }, []);\n\n // ================= Item Heights ==================\n const [itemHeights, setItemHeights] = useState<ItemHeightData[]>([]);\n\n const collectItemSizes = useCallback(() => {\n if (!items || items.length === 0) {\n setItemHeights([]);\n return;\n }\n\n const nextHeights = items.map<ItemHeightData>((item, index) => {\n const key = item.key ?? index;\n const el = itemRefsMap.current.get(key);\n const height = el ? el.getBoundingClientRect().height : 0;\n return [key, height, item.column];\n });\n\n setItemHeights((prev) => {\n const isSame =\n prev.length === nextHeights.length &&\n prev.every((p, i) => p[0] === nextHeights[i][0] && p[1] === nextHeights[i][1]);\n return isSame ? prev : nextHeights;\n });\n }, [items]);\n\n // ================= Positions ==================\n const [itemPositions, totalHeight] = usePositions(itemHeights, columnCount, verticalGutter);\n\n // Collect sizes on items/columns change\n useEffect(() => {\n collectItemSizes();\n }, [items, columnCount, collectItemSizes]);\n\n // ResizeObserver for dynamic content\n useEffect(() => {\n if (typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() => {\n collectItemSizes();\n });\n\n for (const [, el] of itemRefsMap.current) {\n if (el) observer.observe(el);\n }\n\n return () => observer.disconnect();\n }, [items, collectItemSizes]);\n\n // ================ onLayoutChange ================\n const prevLayoutRef = useRef<string>('');\n\n useEffect(() => {\n if (!onLayoutChange || !items || items.length === 0) return;\n\n const allPositioned = items.every((item) => itemPositions.has(item.key));\n if (!allPositioned) return;\n\n const sortInfo = items.map((item) => ({\n key: item.key,\n column: itemPositions.get(item.key)!.column,\n }));\n\n const layoutKey = sortInfo.map((s) => `${s.key}:${s.column}`).join(',');\n if (layoutKey === prevLayoutRef.current) return;\n prevLayoutRef.current = layoutKey;\n\n onLayoutChange(sortInfo);\n }, [itemPositions, items, onLayoutChange]);\n\n // ============== Exiting items (replaces TransitionGroup) ==============\n const prevItemsRef = useRef<WaterfallItem[]>(items || []);\n const [exitingItems, setExitingItems] = useState<Map<React.Key, WaterfallItem>>(new Map());\n\n useEffect(() => {\n const currentKeys = new Set((items || []).map((item, i) => item.key ?? i));\n const removed = new Map<React.Key, WaterfallItem>();\n\n prevItemsRef.current.forEach((item, index) => {\n const key = item.key ?? index;\n if (!currentKeys.has(key)) {\n removed.set(key, item);\n }\n });\n\n if (removed.size > 0) {\n setExitingItems((prev) => {\n const next = new Map(prev);\n removed.forEach((item, key) => next.set(key, item));\n return next;\n });\n }\n\n prevItemsRef.current = items || [];\n }, [items]);\n\n const handleExited = useCallback((key: React.Key) => {\n itemRefsMap.current.delete(key);\n setExitingItems((prev) => {\n const next = new Map(prev);\n next.delete(key);\n return next;\n });\n collectItemSizes();\n }, [collectItemSizes]);\n\n // ==================== Render ====================\n const cls = classNames(prefixCls, className);\n\n const containerStyle: React.CSSProperties = {\n ...style,\n position: 'relative',\n height: totalHeight || undefined,\n };\n\n const mergedItems = items || [];\n\n const renderItem = (item: WaterfallItem, index: number, isExiting: boolean) => {\n const key = item.key ?? index;\n const position = itemPositions.get(key);\n const hasPosition = !!position;\n const columnIndex = position?.column ?? 0;\n\n const itemStyle: React.CSSProperties = {\n position: 'absolute',\n width: `calc((100% - ${horizontalGutter * (columnCount - 1)}px) / ${columnCount})`,\n left: `calc((100% - ${horizontalGutter * (columnCount - 1)}px) / ${columnCount} * ${columnIndex} + ${horizontalGutter * columnIndex}px)`,\n top: position?.top ?? 0,\n // Only transition position changes after initial placement\n transition: hasPosition ? 'top 0.3s ease, left 0.3s ease, opacity 0.3s ease' : 'none',\n // Hide until position is computed so items don't flash at (0,0)\n opacity: hasPosition ? 1 : 0,\n };\n\n const content = item.children ?? itemRender?.({ ...item, index, column: columnIndex });\n\n return (\n <Transition\n key={key}\n in={!isExiting}\n timeout={300}\n appear={false}\n unmountOnExit={true}\n classNames={`${prefixCls}__item-fade`}\n onExited={() => handleExited(key)}\n >\n <div\n ref={(el) => setItemRef(key, el)}\n className={`${prefixCls}__item`}\n style={itemStyle}\n >\n {content}\n </div>\n </Transition>\n );\n };\n\n return (\n <div\n ref={ref}\n {...otherProps}\n className={cls}\n style={containerStyle}\n onLoad={collectItemSizes}\n onError={collectItemSizes}\n >\n {mergedItems.map((item, index) => renderItem(item, index, false))}\n {Array.from(exitingItems.entries()).map(([key, item]) =>\n renderItem(item, Number(key), true)\n )}\n </div>\n );\n});\n\nWaterfall.displayName = 'Waterfall';\n\nexport default Waterfall;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiny-design/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "A friendly UI component set for React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"@popperjs/core": "^2.11.4",
|
|
55
55
|
"classnames": "^2.3.1",
|
|
56
56
|
"tslib": "^2.3.1",
|
|
57
|
-
"@tiny-design/icons": "1.
|
|
58
|
-
"@tiny-design/tokens": "1.
|
|
57
|
+
"@tiny-design/icons": "1.5.1",
|
|
58
|
+
"@tiny-design/tokens": "1.5.1"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@testing-library/jest-dom": "^6.0.0",
|