funda-ui 4.5.657 → 4.5.671

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 (73) hide show
  1. package/ColorPicker/index.js +3 -1
  2. package/Date/index.d.ts +1 -0
  3. package/Date/index.js +17 -2
  4. package/DragDropList/index.css +188 -0
  5. package/DragDropList/index.d.ts +44 -0
  6. package/DragDropList/index.js +1587 -0
  7. package/Input/index.d.ts +2 -0
  8. package/Input/index.js +14 -1
  9. package/LICENSE +21 -0
  10. package/MasonryLayout/index.d.ts +2 -0
  11. package/MasonryLayout/index.js +115 -5
  12. package/MultipleSelect/index.css +237 -144
  13. package/MultipleSelect/index.d.ts +24 -10
  14. package/MultipleSelect/index.js +2240 -1225
  15. package/README.md +3 -1
  16. package/RangeSlider/index.js +14 -1
  17. package/Textarea/index.d.ts +2 -0
  18. package/Textarea/index.js +14 -1
  19. package/Tree/index.d.ts +1 -0
  20. package/Tree/index.js +29 -0
  21. package/Utils/useBoundedDrag.d.ts +125 -0
  22. package/Utils/useBoundedDrag.js +380 -0
  23. package/Utils/useDragDropPosition.d.ts +169 -0
  24. package/Utils/useDragDropPosition.js +456 -0
  25. package/Utils/useIsMobile.d.ts +2 -0
  26. package/Utils/useIsMobile.js +168 -0
  27. package/all.d.ts +1 -0
  28. package/all.js +1 -1
  29. package/lib/cjs/ColorPicker/index.js +3 -1
  30. package/lib/cjs/Date/index.d.ts +1 -0
  31. package/lib/cjs/Date/index.js +17 -2
  32. package/lib/cjs/DragDropList/index.d.ts +44 -0
  33. package/lib/cjs/DragDropList/index.js +1587 -0
  34. package/lib/cjs/Input/index.d.ts +2 -0
  35. package/lib/cjs/Input/index.js +14 -1
  36. package/lib/cjs/MasonryLayout/index.d.ts +2 -0
  37. package/lib/cjs/MasonryLayout/index.js +115 -5
  38. package/lib/cjs/MultipleSelect/index.d.ts +24 -10
  39. package/lib/cjs/MultipleSelect/index.js +2240 -1225
  40. package/lib/cjs/RangeSlider/index.js +14 -1
  41. package/lib/cjs/Textarea/index.d.ts +2 -0
  42. package/lib/cjs/Textarea/index.js +14 -1
  43. package/lib/cjs/Tree/index.d.ts +1 -0
  44. package/lib/cjs/Tree/index.js +29 -0
  45. package/lib/cjs/Utils/useBoundedDrag.d.ts +125 -0
  46. package/lib/cjs/Utils/useBoundedDrag.js +380 -0
  47. package/lib/cjs/Utils/useDragDropPosition.d.ts +169 -0
  48. package/lib/cjs/Utils/useDragDropPosition.js +456 -0
  49. package/lib/cjs/Utils/useIsMobile.d.ts +2 -0
  50. package/lib/cjs/Utils/useIsMobile.js +168 -0
  51. package/lib/cjs/index.d.ts +1 -0
  52. package/lib/cjs/index.js +1 -1
  53. package/lib/css/DragDropList/index.css +188 -0
  54. package/lib/css/MultipleSelect/index.css +237 -144
  55. package/lib/esm/ColorPicker/index.tsx +53 -49
  56. package/lib/esm/Date/index.tsx +3 -0
  57. package/lib/esm/DragDropList/index.scss +245 -0
  58. package/lib/esm/DragDropList/index.tsx +494 -0
  59. package/lib/esm/Input/index.tsx +17 -3
  60. package/lib/esm/MasonryLayout/index.tsx +125 -7
  61. package/lib/esm/MultipleSelect/index.scss +288 -183
  62. package/lib/esm/MultipleSelect/index.tsx +305 -166
  63. package/lib/esm/MultipleSelect/utils/func.ts +21 -1
  64. package/lib/esm/Tabs/Tabs.tsx +1 -1
  65. package/lib/esm/Textarea/index.tsx +18 -1
  66. package/lib/esm/Tree/TreeList.tsx +32 -0
  67. package/lib/esm/Tree/index.tsx +3 -0
  68. package/lib/esm/Utils/hooks/useBoundedDrag.tsx +301 -0
  69. package/lib/esm/Utils/hooks/useDragDropPosition.tsx +420 -0
  70. package/lib/esm/Utils/hooks/useIsMobile.tsx +56 -0
  71. package/lib/esm/index.js +1 -0
  72. package/package.json +1 -1
  73. package/lib/esm/MultipleSelect/ItemList.tsx +0 -323
@@ -1,220 +1,313 @@
1
1
  /* ======================================================
2
2
  <!-- Multiple Select -->
3
3
  /* ====================================================== */
4
- .m-select__wrapper {
5
- --m-select-wrapper-min-w: 350px;
6
- --m-select-wrapper-min-h: 315px;
7
- --m-select-header-font-size: 0.75rem;
8
- --m-select-body-font-size: 0.75rem;
9
- --m-select-scrollbar-color: rgba(0, 0, 0, 0.2);
10
- --m-select-scrollbar-track: rgba(0, 0, 0, 0);
11
- --m-select-scrollbar-w: 10px;
12
- --m-select-search-icon-color: #333;
13
- --m-select-body-bg: #fff;
14
- --m-select-header-bg: #dee2e6;
15
- --m-select-border-color: #dee2e6;
16
- --m-select-options-item-bg: #f6f6f6;
17
- --m-select-options-item-icon-color: #000;
18
- --m-select-options-item-selected-bg: #0b5ed7;
19
- --m-select-options-item-selected-icon-color: #fff;
20
- --m-select-options-item-selected-text-color: #fff;
21
- --m-select-options-item-dividingline-color: rgba(255, 255, 255, 1);
22
- --m-select-search-input-w: 100px;
23
- --m-select-search-input-bg: #fff;
24
- --m-select-search-input-text-color: #333;
25
- min-width: var(--m-select-wrapper-min-w);
26
- min-height: var(--m-select-wrapper-min-h);
4
+ .m-select-v2__wrapper {
5
+ --m-select-v2-wrapper-min-w: 350px;
6
+ --m-select-v2-wrapper-min-h: 315px;
7
+ --m-select-v2-header-font-size: 0.75rem;
8
+ --m-select-v2-body-font-size: 0.75rem;
9
+ --m-select-v2-scrollbar-color: rgba(0, 0, 0, 0.2);
10
+ --m-select-v2-scrollbar-track: rgba(0, 0, 0, 0);
11
+ --m-select-v2-scrollbar-w: 10px;
12
+ --m-select-v2-search-icon-color: #333;
13
+ --m-select-v2-body-bg: #fff;
14
+ --m-select-v2-header-bg: #dee2e6;
15
+ --m-select-v2-border-color: #dee2e6;
16
+ --m-select-v2-search-input-w: 100px;
17
+ --m-select-v2-search-input-bg: #fff;
18
+ --m-select-v2-search-input-text-color: #333;
19
+ min-width: var(--m-select-v2-wrapper-min-w);
20
+ min-height: var(--m-select-v2-wrapper-min-h);
27
21
  width: 100%;
28
22
  height: 100%;
29
- border: solid 1px var(--m-select-border-color);
23
+ border: solid 1px var(--m-select-v2-border-color);
30
24
  border-radius: 0.35rem;
31
25
  position: relative;
32
- background: var(--m-select-body-bg);
33
- /*-------- Multilevel --------*/
34
- /*-------- List --------*/
26
+ background: var(--m-select-v2-body-bg);
35
27
  }
36
- .m-select__wrapper .m-select-diving-line {
28
+ .m-select-v2__wrapper .m-select-v2-diving-line {
37
29
  width: 1px;
38
- background-color: var(--m-select-border-color);
30
+ background-color: var(--m-select-v2-border-color);
39
31
  left: 50%;
40
32
  top: 0;
41
33
  position: absolute;
42
34
  height: 100%;
43
35
  z-index: 1;
44
36
  }
45
- .m-select__wrapper .m-select-inner {
37
+ .m-select-v2__wrapper .m-select-v2-inner {
46
38
  display: flex;
47
39
  font-size: 0.8em;
48
40
  height: 100%;
41
+ /* Main */
42
+ /* List */
43
+ /* Header */
49
44
  /* Search */
50
45
  }
51
- .m-select__wrapper .m-select-inner ul,
52
- .m-select__wrapper .m-select-inner li {
53
- margin: 0;
54
- padding: 0;
55
- list-style: none;
56
- }
57
- .m-select__wrapper .m-select-inner div.m-select__selected__container,
58
- .m-select__wrapper .m-select-inner div.m-select__available__container {
46
+ .m-select-v2__wrapper .m-select-v2-inner div.m-select-v2__selected__container,
47
+ .m-select-v2__wrapper .m-select-v2-inner div.m-select-v2__available__container {
59
48
  position: relative;
60
49
  flex: 1;
61
50
  }
62
- .m-select__wrapper .m-select-inner ul.m-select__selected,
63
- .m-select__wrapper .m-select-inner ul.m-select__available {
64
- position: relative;
65
- overflow: auto;
66
- overflow-x: hidden;
67
- border: none;
68
- position: relative;
69
- width: 100%;
70
- }
71
- .m-select__wrapper .m-select-inner ul {
72
- user-select: none;
73
- }
74
- .m-select__wrapper .m-select-inner li {
75
- cursor: default;
76
- position: relative;
77
- font-size: var(--m-select-body-font-size);
78
- display: block;
79
- background: var(--m-select-options-item-bg);
80
- border-bottom: 1px solid var(--m-select-options-item-dividingline-color);
81
- }
82
- .m-select__wrapper .m-select-inner li.disabled {
83
- pointer-events: none;
84
- opacity: 0.4;
85
- }
86
- .m-select__wrapper .m-select-inner li.hide {
87
- display: none;
88
- }
89
- .m-select__wrapper .m-select-inner li:hover {
90
- opacity: 0.8;
91
- }
92
- .m-select__wrapper .m-select-inner li.selected {
93
- background: var(--m-select-options-item-selected-bg);
94
- color: var(--m-select-options-item-selected-text-color);
95
- }
96
- .m-select__wrapper .m-select-inner li.selected > i svg path {
97
- fill: var(--m-select-options-item-selected-icon-color);
51
+ .m-select-v2__wrapper .m-select-v2-inner div.m-select-v2__selected__container .m-select-v2__header {
52
+ border-radius: 0 0.35rem 0 0;
98
53
  }
99
- .m-select__wrapper .m-select-inner li:last-child {
100
- border-bottom: none;
54
+ .m-select-v2__wrapper .m-select-v2-inner div.m-select-v2__available__container .m-select-v2__header {
55
+ border-radius: 0.35rem 0 0 0;
101
56
  }
102
- .m-select__wrapper .m-select-inner li > div {
103
- padding: 0.35rem 0.75rem;
104
- display: flex;
105
- justify-content: space-between;
106
- width: 100%;
57
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2-draggable-list {
58
+ font-size: var(--m-select-v2-body-font-size);
107
59
  overflow: hidden;
108
- text-overflow: ellipsis;
109
- word-wrap: break-word;
110
- word-break: break-word;
111
- }
112
- .m-select__wrapper .m-select-inner li > div > strong {
113
- font-weight: normal;
114
- display: flex;
115
- align-items: center;
116
- }
117
- .m-select__wrapper .m-select-inner li > div > strong .arrow {
118
- display: inline-block;
119
- margin-left: 0.2rem;
120
- }
121
- .m-select__wrapper .m-select-inner li > div.active .arrow {
122
- transform: rotate(90deg);
60
+ overflow-y: auto;
61
+ max-height: calc(var(--m-select-v2-wrapper-min-h) - 1.75rem);
62
+ /* Search Result */
123
63
  }
124
- .m-select__wrapper .m-select-inner li > div > i {
125
- display: inline-block;
126
- cursor: pointer;
64
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2-draggable-list::-webkit-scrollbar {
65
+ width: var(--m-select-v2-scrollbar-w);
127
66
  }
128
- .m-select__wrapper .m-select-inner li > div > i svg path {
129
- fill: var(--m-select-options-item-icon-color);
67
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2-draggable-list::-webkit-scrollbar-thumb {
68
+ background: var(--m-select-v2-scrollbar-color);
130
69
  }
131
- .m-select__wrapper .m-select-inner div.m-select__selected__container .m-select__header {
132
- border-radius: 0 0.35rem 0 0;
70
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2-draggable-list::-webkit-scrollbar-track {
71
+ background: var(--m-select-v2-scrollbar-track);
133
72
  }
134
- .m-select__wrapper .m-select-inner div.m-select__available__container .m-select__header {
135
- border-radius: 0.35rem 0 0 0;
73
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2-draggable-list .m-select-v2-draggable-list__item.hide {
74
+ display: none;
136
75
  }
137
- .m-select__wrapper .m-select-inner .m-select__header {
76
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__header {
138
77
  border: none;
139
- font-size: var(--m-select-header-font-size);
78
+ font-size: var(--m-select-v2-header-font-size);
140
79
  margin-bottom: 1px;
141
- background: var(--m-select-header-bg);
80
+ background: var(--m-select-v2-header-bg);
142
81
  display: flex;
143
82
  justify-content: space-between;
144
83
  align-items: center;
145
84
  height: 1.625rem;
146
85
  }
147
- .m-select__wrapper .m-select-inner .m-select__btn--add-all {
86
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__btn--add-all {
148
87
  padding: 0.2rem;
149
88
  }
150
- .m-select__wrapper .m-select-inner .m-select__btn--remove-all {
89
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__btn--remove-all {
151
90
  padding: 0.2rem;
152
91
  }
153
- .m-select__wrapper .m-select-inner .m-select__count {
92
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__count {
154
93
  padding: 0.2rem;
155
94
  }
156
- .m-select__wrapper .m-select-inner .m-select__title {
95
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__title {
157
96
  padding: 0.2rem;
158
97
  font-weight: bold;
159
98
  }
160
- .m-select__wrapper .m-select-inner .m-select__search__container {
99
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__search__container {
161
100
  position: relative;
162
101
  /* required */
163
102
  align-items: center;
164
103
  display: flex;
165
104
  }
166
- .m-select__wrapper .m-select-inner .m-select__search__container input.m-select__search {
105
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__search__container input.m-select-v2__search {
167
106
  height: 14px;
168
107
  padding: 0.1rem 0.5rem;
169
108
  opacity: 0.5;
170
109
  margin: 4px;
171
- width: var(--m-select-search-input-w);
172
- background-color: var(--m-select-search-input-bg);
173
- color: var(--m-select-search-input-text-color);
110
+ width: var(--m-select-v2-search-input-w);
111
+ background-color: var(--m-select-v2-search-input-bg);
112
+ color: var(--m-select-v2-search-input-text-color);
174
113
  border-radius: 25px;
175
114
  border: none;
176
115
  outline: none;
177
116
  box-shadow: none;
178
117
  }
179
- .m-select__wrapper .m-select-inner .m-select__search__container i {
118
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__search__container i {
180
119
  position: absolute;
181
120
  right: 0.6em;
182
121
  }
183
- .m-select__wrapper .m-select-inner .m-select__search__container i svg {
184
- fill: var(--m-select-search-icon-color);
122
+ .m-select-v2__wrapper .m-select-v2-inner .m-select-v2__search__container i svg {
123
+ fill: var(--m-select-v2-search-icon-color);
124
+ }
125
+
126
+ /*
127
+ ///////////////////////////////////////////////////////////
128
+ //////////////////// DragDrop List //////////////////
129
+ ///////////////////////////////////////////////////////////
130
+ */
131
+ .m-select-v2-draggable-list {
132
+ --m-select-v2-draggable-content-bg: transparent;
133
+ --m-select-v2-draggable-content-color: inherit;
134
+ --m-select-v2-draggable-border-color: #ddd;
135
+ --m-select-v2-draggable-wrapper-radius: 0.25rem;
136
+ --m-select-v2-draggable-control-radius: 0.25rem;
137
+ --m-select-v2-draggable-primary-color: #ffa940;
138
+ --m-select-v2-draggable-content-diff-bg: #fafafa;
139
+ --m-select-v2-draggable-content-diff-border-color: #d9d9d9;
140
+ --m-select-v2-draggable-control-fs: 0.75rem;
141
+ --m-select-v2-draggable-control-w: 100px;
142
+ --m-select-v2-draggable-btn-confirm-bg: #52c41a;
143
+ --m-select-v2-draggable-btn-cancel-bg: #ff4d4f;
144
+ --m-select-v2-draggable-btn-color: #fff;
145
+ list-style: none;
146
+ padding: 0;
147
+ margin: 0;
148
+ width: 100%;
149
+ position: relative;
150
+ /* hide wrapper border */
151
+ border-width: 0;
152
+ border-radius: 0;
153
+ /* Fix the problem that mobile terminals cannot be touched, DO NOT USE "<svg>" */
154
+ /* FORM */
155
+ }
156
+ .m-select-v2-draggable-list li {
157
+ margin: 0;
158
+ padding: 0;
185
159
  }
186
- .m-select__wrapper ul.m-select__options-contentlist > li ul {
187
- transition: max-height 0.25s ease;
188
- overflow: hidden;
160
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item {
161
+ padding: 0;
162
+ position: relative;
163
+ transition: transform 0.15s ease;
189
164
  position: relative;
190
- padding-left: 1rem;
191
165
  }
192
- .m-select__wrapper ul.m-select__options-contentlist > li:not(.active) ul {
193
- max-height: 0;
166
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item .m-select-v2-draggable-list__itemcontent {
167
+ padding: 5px 15px;
168
+ background: var(--m-select-v2-draggable-content-bg);
169
+ color: var(--m-select-v2-draggable-content-color);
170
+ border-bottom: 1px solid var(--m-select-v2-draggable-border-color);
171
+ display: flex;
172
+ align-items: center;
173
+ user-select: none;
174
+ transition: all 0.15s ease;
175
+ }
176
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item .m-select-v2-draggable-list__itemcontent .m-select-v2-draggable-list__itemcontent-inner {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: space-between;
180
+ width: 100%;
181
+ }
182
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.disabled {
183
+ pointer-events: none !important;
184
+ opacity: 0.4 !important;
185
+ }
186
+ .m-select-v2-draggable-list.alternate-collapse .m-select-v2-draggable-list__collapse-arrow {
187
+ cursor: pointer;
188
+ display: inline-block;
189
+ width: 20px;
190
+ text-align: center;
191
+ user-select: none;
192
+ margin-left: 0.2rem;
193
+ }
194
+ .m-select-v2-draggable-list.alternate-collapse .m-select-v2-draggable-list__collapse-arrow svg {
195
+ transition: all 0.15s ease;
194
196
  }
195
- .m-select__wrapper ul.m-select__options-contentlist > li ul ul {
196
- margin-top: auto;
197
+ .m-select-v2-draggable-list.alternate-collapse .m-select-v2-draggable-list__collapse-arrow:hover {
198
+ opacity: 0.7;
197
199
  }
198
- .m-select__wrapper ul.m-select__options-contentlist {
200
+ .m-select-v2-draggable-list.alternate-collapse .m-select-v2-draggable-list__item.has-children {
199
201
  position: relative;
200
- width: 100%;
201
- overflow: hidden;
202
- overflow-y: auto;
203
- max-height: calc(315px - 1.75rem);
204
202
  }
205
- .m-select__wrapper ul.m-select__options-contentlist::-webkit-scrollbar {
206
- width: var(--m-select-scrollbar-w);
203
+ .m-select-v2-draggable-list.alternate-collapse .m-select-v2-draggable-list__item.collapsed .m-select-v2-draggable-list__collapse-arrow svg {
204
+ transform: rotate(-90deg);
207
205
  }
208
- .m-select__wrapper ul.m-select__options-contentlist::-webkit-scrollbar-thumb {
209
- background: var(--m-select-scrollbar-color);
206
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.draggable .m-select-v2-draggable-list__itemcontent {
207
+ padding-left: 1.5em;
210
208
  }
211
- .m-select__wrapper ul.m-select__options-contentlist::-webkit-scrollbar-track {
212
- background: var(--m-select-scrollbar-track);
209
+ .m-select-v2-draggable-list.handle-pos-right .m-select-v2-draggable-list__item.draggable .m-select-v2-draggable-list__itemcontent, .m-select-v2-draggable-list.icon-hide .m-select-v2-draggable-list__item.draggable .m-select-v2-draggable-list__itemcontent {
210
+ padding-left: 0.5rem;
213
211
  }
214
- .m-select__wrapper ul.m-select__options-contentlist.dragging {
215
- cursor: grab;
212
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.block.draggable {
213
+ cursor: move;
216
214
  }
217
- .m-select__wrapper ul.m-select__options-contentlist--hide {
218
- overflow: hidden;
219
- height: auto;
215
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.dragging .m-select-v2-draggable-list__itemcontent {
216
+ background: #fff9e6;
217
+ border: 1px dashed #ffd591;
218
+ opacity: 0.8;
219
+ }
220
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.drag-over .m-select-v2-draggable-list__itemcontent {
221
+ background: #fff9e6;
222
+ border: 2px solid #ffd591;
223
+ }
224
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.drag-over-top::before {
225
+ content: "";
226
+ position: absolute;
227
+ top: -3px;
228
+ left: 0;
229
+ right: 0;
230
+ height: 2px;
231
+ background: var(--m-select-v2-draggable-primary-color);
232
+ border-radius: 1px;
233
+ }
234
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.drag-over-bottom::after {
235
+ content: "";
236
+ position: absolute;
237
+ bottom: -3px;
238
+ left: 0;
239
+ right: 0;
240
+ height: 2px;
241
+ background: var(--m-select-v2-draggable-primary-color);
242
+ border-radius: 1px;
243
+ }
244
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__handle {
245
+ color: #999;
246
+ padding: 5px;
247
+ cursor: move;
248
+ transition: color 0.15s ease;
249
+ position: absolute;
250
+ width: 1em;
251
+ height: 1em;
252
+ top: 50%;
253
+ transform: translateY(-50%);
254
+ z-index: 1;
255
+ display: flex;
256
+ align-items: center;
257
+ font-size: 0.75rem;
258
+ }
259
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__handle.left {
260
+ left: 0;
261
+ }
262
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__handle.right {
263
+ right: 1em;
264
+ }
265
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item,
266
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__itemcontent {
267
+ transition: all 0.15s ease;
268
+ }
269
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.editing .m-select-v2-draggable-list__itemcontent, .m-select-v2-draggable-list .m-select-v2-draggable-list__item:hover .m-select-v2-draggable-list__itemcontent {
270
+ background: var(--m-select-v2-draggable-content-diff-bg);
271
+ border-color: var(--m-select-v2-draggable-content-diff-border-color);
272
+ }
273
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__item.block:hover .m-select-v2-draggable-list__handle {
274
+ color: var(--m-select-v2-draggable-primary-color);
275
+ }
276
+ .m-select-v2-draggable-list.handle .m-select-v2-draggable-list__handle:hover {
277
+ color: var(--m-select-v2-draggable-primary-color);
278
+ }
279
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-form {
280
+ display: flex;
281
+ flex: 1;
282
+ gap: 10px;
283
+ align-items: center;
284
+ }
285
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-form input {
286
+ padding: 4px 8px;
287
+ border: 1px solid var(--m-select-v2-draggable-border-color);
288
+ border-radius: var(--m-select-v2-draggable-control-radius);
289
+ font-size: var(--m-select-v2-draggable-control-fs);
290
+ width: var(--m-select-v2-draggable-control-w);
291
+ }
292
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-buttons {
293
+ display: flex;
294
+ gap: 5px;
295
+ }
296
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-buttons button {
297
+ padding: 0.2rem 0.5rem;
298
+ border: none;
299
+ font-size: 0.75rem;
300
+ border-radius: var(--m-select-v2-draggable-control-radius);
301
+ cursor: pointer;
302
+ }
303
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-buttons button:first-child {
304
+ background: var(--m-select-v2-draggable-btn-confirm-bg);
305
+ color: var(--m-select-v2-draggable-btn-color);
306
+ }
307
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-buttons button:last-child {
308
+ background: var(--m-select-v2-draggable-btn-cancel-bg);
309
+ color: var(--m-select-v2-draggable-btn-color);
310
+ }
311
+ .m-select-v2-draggable-list .m-select-v2-draggable-list__edit-buttons button:hover {
312
+ opacity: 0.8;
220
313
  }
@@ -1,6 +1,16 @@
1
1
  import React from 'react';
2
2
  export interface OptionConfig {
3
- [propName: string]: string | number | boolean | Function;
3
+ id: number;
4
+ parentId?: number;
5
+ label: string;
6
+ listItemLabel: string;
7
+ value: string;
8
+ queryString: string;
9
+ depth?: number;
10
+ children?: OptionConfig[];
11
+ disabled?: boolean;
12
+ extendedContent?: React.ReactNode;
13
+ [key: string]: any;
4
14
  }
5
15
  export declare type MultipleSelectProps = {
6
16
  contentRef?: React.ForwardedRef<any>;
@@ -17,11 +27,6 @@ export declare type MultipleSelectProps = {
17
27
  iconAdd?: React.ReactNode | string;
18
28
  iconRemove?: React.ReactNode | string;
19
29
  unattachedSelect?: boolean;
20
- hierarchical?: boolean;
21
- indentation?: string;
22
- doubleIndent?: boolean;
23
- alternateCollapse?: boolean;
24
- arrow?: React.ReactNode;
25
30
  defaultValue?: string;
26
31
  value?: string;
27
32
  label?: React.ReactNode | string;
@@ -29,7 +34,16 @@ export declare type MultipleSelectProps = {
29
34
  options?: OptionConfig[] | string;
30
35
  disabled?: any;
31
36
  required?: any;
32
- appendControl?: React.ReactNode;
37
+ /** DragDrop List */
38
+ draggable?: boolean;
39
+ handleHide?: boolean;
40
+ handleIcon?: string;
41
+ handlePos?: 'left' | 'right';
42
+ dragMode?: 'handle' | 'block';
43
+ indentation?: string;
44
+ doubleIndent?: boolean;
45
+ alternateCollapse?: boolean;
46
+ arrow?: React.ReactNode;
33
47
  /** Whether to use square brackets to save result and initialize default value */
34
48
  extractValueByBrackets?: boolean;
35
49
  /** Incoming data, you can set the third parameter of `onFetch` */
@@ -43,9 +57,9 @@ export declare type MultipleSelectProps = {
43
57
  fetchFuncMethodParams?: any[];
44
58
  fetchCallback?: (data: any) => void;
45
59
  onFetch?: (data: any) => void;
46
- onAddAll?: (e: any, data: any, dataStr: any) => void;
47
- onRemoveAll?: (e: any, data: any, dataStr: any) => void;
48
- onChange?: (e: any, data: any, dataStr: any, currentData: any, type: string) => void;
60
+ onAddAll?: (e: HTMLElement | null, data: any[], dataStr: string, res: any[]) => void;
61
+ onRemoveAll?: (e: HTMLElement | null, data: any[], dataStr: string, res: any[]) => void;
62
+ onChange?: (e: HTMLElement | null, data: any[], dataStr: string, currentData: any, type: string, res: any[]) => void;
49
63
  };
50
64
  declare const MultipleSelect: React.ForwardRefExoticComponent<MultipleSelectProps & React.RefAttributes<unknown>>;
51
65
  export default MultipleSelect;