funda-ui 2.0.555 → 2.0.755
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/CascadingSelect/index.css +128 -83
- package/CascadingSelect/index.d.ts +10 -6
- package/CascadingSelect/index.js +564 -135
- package/CascadingSelectE2E/index.css +128 -83
- package/CascadingSelectE2E/index.d.ts +7 -3
- package/CascadingSelectE2E/index.js +488 -133
- package/DropdownMenu/index.css +93 -74
- package/DropdownMenu/index.d.ts +3 -4
- package/DropdownMenu/index.js +296 -39
- package/LiveSearch/index.css +43 -0
- package/LiveSearch/index.d.ts +2 -3
- package/LiveSearch/index.js +443 -180
- package/MultiFuncSelect/index.js +59 -20
- package/lib/cjs/CascadingSelect/index.d.ts +10 -6
- package/lib/cjs/CascadingSelect/index.js +564 -135
- package/lib/cjs/CascadingSelectE2E/index.d.ts +7 -3
- package/lib/cjs/CascadingSelectE2E/index.js +488 -133
- package/lib/cjs/DropdownMenu/index.d.ts +3 -4
- package/lib/cjs/DropdownMenu/index.js +296 -39
- package/lib/cjs/LiveSearch/index.d.ts +2 -3
- package/lib/cjs/LiveSearch/index.js +443 -180
- package/lib/cjs/MultiFuncSelect/index.js +59 -20
- package/lib/css/CascadingSelect/index.css +128 -83
- package/lib/css/CascadingSelectE2E/index.css +128 -83
- package/lib/css/DropdownMenu/index.css +93 -74
- package/lib/css/LiveSearch/index.css +43 -0
- package/lib/esm/CascadingSelect/Group.tsx +37 -5
- package/lib/esm/CascadingSelect/index.scss +178 -116
- package/lib/esm/CascadingSelect/index.tsx +553 -250
- package/lib/esm/CascadingSelect/utils/get-element-property.js +154 -0
- package/lib/esm/CascadingSelect/utils/tree.js +119 -0
- package/lib/esm/CascadingSelectE2E/Group.tsx +38 -4
- package/lib/esm/CascadingSelectE2E/index.scss +178 -116
- package/lib/esm/CascadingSelectE2E/index.tsx +347 -134
- package/lib/esm/CascadingSelectE2E/utils/get-element-property.js +154 -0
- package/lib/esm/DropdownMenu/Option.tsx +16 -15
- package/lib/esm/DropdownMenu/index.scss +118 -101
- package/lib/esm/DropdownMenu/index.tsx +191 -27
- package/lib/esm/DropdownMenu/utils/get-element-property.js +153 -0
- package/lib/esm/LiveSearch/index.scss +69 -0
- package/lib/esm/LiveSearch/index.tsx +343 -144
- package/lib/esm/MultiFuncSelect/index.tsx +75 -23
- package/package.json +1 -1
|
@@ -1,49 +1,40 @@
|
|
|
1
1
|
/* ======================================================
|
|
2
2
|
<!-- Cascading Select -->
|
|
3
3
|
/* ====================================================== */
|
|
4
|
-
.
|
|
5
|
-
--
|
|
6
|
-
--
|
|
7
|
-
--
|
|
8
|
-
--
|
|
9
|
-
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
--
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
--c-select-result-arrow-fill: #a5a5a5;
|
|
16
|
-
--c-select-result-font-size: 1rem;
|
|
17
|
-
--c-select-result-padding-x: 0.75rem;
|
|
18
|
-
--c-select-result-padding-y: 0.375rem;
|
|
19
|
-
--c-select-opt-font-size: 0.875rem;
|
|
20
|
-
--c-select-opt-padding-x: .4rem;
|
|
21
|
-
--c-select-opt-padding-y: .3rem;
|
|
22
|
-
}
|
|
23
|
-
.c-select__wrapper .c-select__result {
|
|
4
|
+
.cas-select__wrapper {
|
|
5
|
+
--cas-select-arrow-fill: #a5a5a5;
|
|
6
|
+
--cas-select-result-arrow-fill: #a5a5a5;
|
|
7
|
+
--cas-select-result-font-size: 1rem;
|
|
8
|
+
--cas-select-result-padding-x: 0.75rem;
|
|
9
|
+
--cas-select-result-padding-y: 0.375rem;
|
|
10
|
+
--cas-select-opt-font-size: 0.875rem;
|
|
11
|
+
--cas-select-opt-padding-x: .4rem;
|
|
12
|
+
--cas-select-opt-padding-y: .3rem;
|
|
13
|
+
}
|
|
14
|
+
.cas-select__wrapper .cas-select__result {
|
|
24
15
|
position: absolute;
|
|
25
16
|
left: auto;
|
|
26
17
|
z-index: 1;
|
|
27
18
|
top: 0;
|
|
28
|
-
padding: var(--
|
|
29
|
-
font-size: var(--
|
|
19
|
+
padding: var(--cas-select-result-padding-y) var(--cas-select-result-padding-x);
|
|
20
|
+
font-size: var(--cas-select-result-font-size);
|
|
30
21
|
font-weight: 400;
|
|
31
22
|
line-height: 1.5;
|
|
32
23
|
color: inherit;
|
|
33
24
|
}
|
|
34
|
-
.
|
|
25
|
+
.cas-select__wrapper .cas-select__result div {
|
|
35
26
|
display: inline;
|
|
36
27
|
}
|
|
37
|
-
.
|
|
28
|
+
.cas-select__wrapper .cas-select__result span {
|
|
38
29
|
padding: 3px;
|
|
39
30
|
}
|
|
40
|
-
.
|
|
31
|
+
.cas-select__wrapper .cas-select__result svg {
|
|
41
32
|
margin: 0 0.3rem;
|
|
42
33
|
}
|
|
43
|
-
.
|
|
44
|
-
fill: var(--
|
|
34
|
+
.cas-select__wrapper .cas-select__result svg path {
|
|
35
|
+
fill: var(--cas-select-result-arrow-fill);
|
|
45
36
|
}
|
|
46
|
-
.
|
|
37
|
+
.cas-select__wrapper .cas-select__closemask {
|
|
47
38
|
position: absolute;
|
|
48
39
|
z-index: 1;
|
|
49
40
|
top: 0;
|
|
@@ -53,111 +44,165 @@
|
|
|
53
44
|
background: rgba(0, 0, 0, 0);
|
|
54
45
|
user-select: none;
|
|
55
46
|
}
|
|
56
|
-
.
|
|
47
|
+
.cas-select__wrapper .cas-select__trigger {
|
|
48
|
+
position: relative;
|
|
49
|
+
z-index: 0;
|
|
50
|
+
}
|
|
51
|
+
.cas-select__wrapper .cas-select__val {
|
|
57
52
|
position: relative;
|
|
58
53
|
}
|
|
59
|
-
.
|
|
54
|
+
.cas-select__wrapper .cas-select__val input {
|
|
60
55
|
cursor: pointer;
|
|
61
56
|
color: transparent !important;
|
|
62
57
|
}
|
|
63
|
-
.
|
|
58
|
+
.cas-select__wrapper .cas-select__val input:focus {
|
|
64
59
|
color: transparent !important;
|
|
65
60
|
}
|
|
66
|
-
.
|
|
61
|
+
.cas-select__wrapper .cas-select__val .arrow {
|
|
67
62
|
position: absolute;
|
|
68
63
|
top: 0;
|
|
69
64
|
margin-top: 0.3rem;
|
|
70
65
|
right: 0.5rem;
|
|
71
66
|
}
|
|
72
|
-
.
|
|
73
|
-
fill: var(--
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
.c-select__wrapper .c-select .c-select__items {
|
|
92
|
-
box-shadow: var(--c-select-items-box-shadow);
|
|
67
|
+
.cas-select__wrapper .cas-select__val .arrow svg .arrow-fill-g {
|
|
68
|
+
fill: var(--cas-select-arrow-fill);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/*------ List ------*/
|
|
72
|
+
.cas-select__items-wrapper {
|
|
73
|
+
--cas-select-opt-header-border-color: rgba(1, 1, 1, .2);
|
|
74
|
+
--cas-select-opt-header-text-color: #999;
|
|
75
|
+
--cas-select-opt-hover-bg: #f7f7f7;
|
|
76
|
+
--cas-select-opt-active-bg: #eeeeee;
|
|
77
|
+
--cas-select-items-box-shadow: 0 5px 15px 5px rgba(80, 102, 224, 0.08);
|
|
78
|
+
--cas-select-items-bg: #fff;
|
|
79
|
+
--cas-select-items-color: inherit;
|
|
80
|
+
--cas-select-items-border-color: rgba(0, 0, 0, .1);
|
|
81
|
+
--cas-select-items-li-border-color: #eee;
|
|
82
|
+
--cas-select-loader-color: #000000;
|
|
83
|
+
--cas-select-clean-btn-color: #b5b5b5;
|
|
84
|
+
box-shadow: var(--cas-select-items-box-shadow);
|
|
93
85
|
position: absolute;
|
|
94
86
|
left: auto;
|
|
95
87
|
max-height: 350px;
|
|
96
|
-
border: 1px solid var(--
|
|
97
|
-
background: var(--
|
|
88
|
+
border: 1px solid var(--cas-select-items-border-color);
|
|
89
|
+
background: var(--cas-select-items-bg);
|
|
98
90
|
padding: 10px;
|
|
99
91
|
overflow-y: auto;
|
|
100
92
|
box-sizing: border-box;
|
|
101
|
-
z-index: 1;
|
|
102
93
|
top: 2.3rem;
|
|
103
94
|
border-radius: 5px;
|
|
104
95
|
width: max-content;
|
|
105
96
|
/* required -> the content will not wrap at all even if it causes overflows*/
|
|
106
|
-
color: var(--
|
|
97
|
+
color: var(--cas-select-items-color);
|
|
98
|
+
display: none;
|
|
99
|
+
z-index: 1055; /* --bs-modal-zindex */
|
|
107
100
|
/* each item */
|
|
101
|
+
/* Options */
|
|
108
102
|
}
|
|
109
|
-
.
|
|
110
|
-
|
|
103
|
+
.cas-select__items-wrapper.active {
|
|
104
|
+
display: block;
|
|
111
105
|
}
|
|
112
|
-
.
|
|
106
|
+
.cas-select__items-wrapper ul,
|
|
107
|
+
.cas-select__items-wrapper li {
|
|
108
|
+
list-style: none;
|
|
109
|
+
margin: 0;
|
|
110
|
+
padding: 0;
|
|
111
|
+
}
|
|
112
|
+
.cas-select__items-wrapper .cas-select__items-loader {
|
|
113
|
+
position: absolute;
|
|
114
|
+
pointer-events: none;
|
|
115
|
+
left: 0;
|
|
116
|
+
top: 0;
|
|
117
|
+
margin-left: 5px;
|
|
118
|
+
z-index: 1;
|
|
119
|
+
z-index: 1;
|
|
120
|
+
width: 12px;
|
|
121
|
+
height: 12px;
|
|
122
|
+
text-align: center;
|
|
123
|
+
transform-origin: bottom;
|
|
124
|
+
animation: 1s linear infinite cas-select__spinner;
|
|
125
|
+
}
|
|
126
|
+
.cas-select__items-wrapper .cas-select__items-loader svg path {
|
|
127
|
+
fill: var(--cas-select-loader-color);
|
|
128
|
+
}
|
|
129
|
+
@keyframes cas-select__spinner {
|
|
130
|
+
to {
|
|
131
|
+
transform: rotate(-360deg);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
.cas-select__items-wrapper .cas-select__close svg {
|
|
113
135
|
opacity: 0.4;
|
|
114
136
|
}
|
|
115
|
-
.
|
|
137
|
+
.cas-select__items-wrapper .cas-select__close:hover svg {
|
|
116
138
|
transition: 0.2s ease-out;
|
|
117
139
|
opacity: 0.7;
|
|
118
140
|
}
|
|
119
|
-
.
|
|
141
|
+
.cas-select__items-wrapper ul {
|
|
120
142
|
transition: 0.2s ease-out;
|
|
121
143
|
min-width: 8px;
|
|
122
144
|
min-height: 9px;
|
|
123
145
|
}
|
|
124
|
-
.
|
|
146
|
+
.cas-select__items-wrapper ul > li {
|
|
125
147
|
position: relative;
|
|
126
148
|
cursor: pointer;
|
|
127
149
|
float: left;
|
|
128
150
|
padding: 0 10px;
|
|
129
151
|
margin-right: 15px;
|
|
130
|
-
border-right: 1px dotted var(--
|
|
152
|
+
border-right: 1px dotted var(--cas-select-items-li-border-color);
|
|
131
153
|
transition: 0.2s ease-out;
|
|
132
154
|
}
|
|
133
|
-
.
|
|
155
|
+
.cas-select__items-wrapper ul > li.hide-col {
|
|
156
|
+
display: none;
|
|
157
|
+
}
|
|
158
|
+
.cas-select__items-wrapper ul > li:last-child {
|
|
134
159
|
margin-right: 0;
|
|
135
160
|
border-right: none;
|
|
136
161
|
}
|
|
137
|
-
.
|
|
138
|
-
padding: var(--
|
|
139
|
-
font-size: var(--
|
|
162
|
+
.cas-select__items-wrapper .cas-select__opt {
|
|
163
|
+
padding: var(--cas-select-opt-padding-y) var(--cas-select-opt-padding-x);
|
|
164
|
+
font-size: var(--cas-select-opt-font-size);
|
|
140
165
|
border-radius: 2px;
|
|
141
166
|
}
|
|
142
|
-
.
|
|
143
|
-
background: var(--
|
|
167
|
+
.cas-select__items-wrapper .cas-select__opt:hover {
|
|
168
|
+
background: var(--cas-select-opt-hover-bg);
|
|
144
169
|
}
|
|
145
|
-
.
|
|
146
|
-
background: var(--
|
|
170
|
+
.cas-select__items-wrapper .cas-select__opt.active {
|
|
171
|
+
background: var(--cas-select-opt-active-bg);
|
|
147
172
|
}
|
|
148
|
-
.
|
|
149
|
-
padding: var(--
|
|
150
|
-
font-size: var(--
|
|
151
|
-
border-bottom: 1px dotted var(--
|
|
173
|
+
.cas-select__items-wrapper .cas-select__opt-header {
|
|
174
|
+
padding: var(--cas-select-opt-padding-y) var(--cas-select-opt-padding-x);
|
|
175
|
+
font-size: var(--cas-select-opt-font-size);
|
|
176
|
+
border-bottom: 1px dotted var(--cas-select-opt-header-border-color);
|
|
152
177
|
border-radius: 2px;
|
|
153
178
|
position: sticky;
|
|
154
|
-
top: calc(var(--
|
|
155
|
-
background: var(--
|
|
156
|
-
color: var(--
|
|
179
|
+
top: calc(var(--cas-select-opt-font-size) * -1);
|
|
180
|
+
background: var(--cas-select-items-bg);
|
|
181
|
+
color: var(--cas-select-opt-header-text-color);
|
|
182
|
+
display: flex;
|
|
183
|
+
align-items: center;
|
|
184
|
+
}
|
|
185
|
+
.cas-select__items-wrapper .cas-select__opt-header > span {
|
|
186
|
+
cursor: default;
|
|
187
|
+
}
|
|
188
|
+
.cas-select__items-wrapper .cas-select__opt-header:hover {
|
|
189
|
+
background: var(--cas-select-opt-hover-bg);
|
|
190
|
+
}
|
|
191
|
+
.cas-select__items-wrapper .cas-select__opt-header.active {
|
|
192
|
+
background: var(--cas-select-opt-active-bg);
|
|
193
|
+
}
|
|
194
|
+
.cas-select__items-wrapper .cas-select__opt-header .cas-select__opt-header__clean {
|
|
195
|
+
display: inline-block;
|
|
196
|
+
margin-left: 0.2rem;
|
|
197
|
+
padding: 0.1rem;
|
|
198
|
+
}
|
|
199
|
+
.cas-select__items-wrapper .cas-select__opt-header .cas-select__opt-header__clean:hover {
|
|
200
|
+
transform: scale(1.1);
|
|
157
201
|
}
|
|
158
|
-
.
|
|
159
|
-
|
|
202
|
+
.cas-select__items-wrapper .cas-select__opt-header .cas-select__opt-header__clean svg {
|
|
203
|
+
border: 1px var(--cas-select-clean-btn-color) solid;
|
|
204
|
+
border-radius: 50%;
|
|
160
205
|
}
|
|
161
|
-
.
|
|
162
|
-
|
|
206
|
+
.cas-select__items-wrapper .cas-select__opt-header .cas-select__opt-header__clean svg path {
|
|
207
|
+
fill: var(--cas-select-clean-btn-color);
|
|
163
208
|
}
|
|
@@ -4,7 +4,7 @@ declare module 'react' {
|
|
|
4
4
|
children?: any;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
declare type CascadingSelectOptionChangeFnType = (input: any, currentData: any, index: any, depth: any, value: any) => void;
|
|
7
|
+
declare type CascadingSelectOptionChangeFnType = (input: any, currentData: any, index: any, depth: any, value: any, closeFunc: any) => void;
|
|
8
8
|
declare type CascadingSelectProps = {
|
|
9
9
|
wrapperClassName?: string;
|
|
10
10
|
controlClassName?: string;
|
|
@@ -14,11 +14,11 @@ declare type CascadingSelectProps = {
|
|
|
14
14
|
placeholder?: string;
|
|
15
15
|
disabled?: any;
|
|
16
16
|
required?: any;
|
|
17
|
-
/** Whether to use
|
|
18
|
-
|
|
17
|
+
/** Whether to use curly braces to save result and initialize default value */
|
|
18
|
+
extractValueByBraces?: boolean;
|
|
19
19
|
/** Set headers for each column group */
|
|
20
20
|
columnTitle?: any[];
|
|
21
|
-
/** Set whether to use "label" or "value" for the value of this form
|
|
21
|
+
/** Set whether to use "label" or "value" for the value of this form
|
|
22
22
|
* Optional values: `label`, `value`
|
|
23
23
|
*/
|
|
24
24
|
valueType?: string;
|
|
@@ -36,10 +36,14 @@ declare type CascadingSelectProps = {
|
|
|
36
36
|
displayResultArrow?: React.ReactNode;
|
|
37
37
|
/** Set an arrow of control */
|
|
38
38
|
controlArrow?: React.ReactNode;
|
|
39
|
-
/** Specify a class for
|
|
39
|
+
/** Specify a class for trigger. */
|
|
40
40
|
triggerClassName?: string;
|
|
41
41
|
/** Set a piece of text or HTML code for the trigger */
|
|
42
42
|
triggerContent?: React.ReactNode;
|
|
43
|
+
/** Specify a class for clean node button. */
|
|
44
|
+
cleanNodeBtnClassName?: string;
|
|
45
|
+
/** Set a piece of text or HTML code for the clean node button */
|
|
46
|
+
cleanNodeBtnContent?: React.ReactNode;
|
|
43
47
|
/** -- */
|
|
44
48
|
id?: string;
|
|
45
49
|
style?: React.CSSProperties;
|
|
@@ -49,7 +53,7 @@ declare type CascadingSelectProps = {
|
|
|
49
53
|
fetchFuncMethod?: string;
|
|
50
54
|
fetchFuncMethodParams?: any[];
|
|
51
55
|
fetchCallback?: (data: any) => void;
|
|
52
|
-
onFetch?: (data: any) => void;
|
|
56
|
+
onFetch?: (data: any, childrenData: any) => void;
|
|
53
57
|
onChange?: CascadingSelectOptionChangeFnType | null;
|
|
54
58
|
onBlur?: (e: any) => void;
|
|
55
59
|
onFocus?: (e: any) => void;
|