@zykj2024/much-library 1.1.7-beta.1 → 1.1.7-beta.2

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 (305) hide show
  1. package/package.json +7 -8
  2. package/LICENSE +0 -21
  3. package/README.md +0 -35
  4. package/dist/McCascader/city.js +0 -909
  5. package/dist/McCascader/index.css +0 -60
  6. package/dist/McCascader/index.d.ts +0 -19
  7. package/dist/McCascader/index.js +0 -221
  8. package/dist/McContainer/demo/actionBar.d.ts +0 -8
  9. package/dist/McContainer/demo/actionBar.js +0 -118
  10. package/dist/McContainer/demo/base.d.ts +0 -8
  11. package/dist/McContainer/demo/base.js +0 -82
  12. package/dist/McContainer/demo/batch.d.ts +0 -8
  13. package/dist/McContainer/demo/batch.js +0 -129
  14. package/dist/McContainer/demo/collapse.d.ts +0 -8
  15. package/dist/McContainer/demo/collapse.js +0 -77
  16. package/dist/McContainer/demo/expand.d.ts +0 -8
  17. package/dist/McContainer/demo/expand.js +0 -90
  18. package/dist/McContainer/demo/generic.d.ts +0 -8
  19. package/dist/McContainer/demo/generic.js +0 -91
  20. package/dist/McContainer/demo/pagination.d.ts +0 -7
  21. package/dist/McContainer/demo/pagination.js +0 -133
  22. package/dist/McContainer/demo/search.d.ts +0 -7
  23. package/dist/McContainer/demo/search.js +0 -102
  24. package/dist/McContainer/demo/standard.d.ts +0 -7
  25. package/dist/McContainer/demo/standard.js +0 -219
  26. package/dist/McContainer/index.css +0 -123
  27. package/dist/McContainer/index.d.ts +0 -192
  28. package/dist/McContainer/index.js +0 -522
  29. package/dist/McContainer/mock/index.d.ts +0 -21
  30. package/dist/McContainer/mock/index.js +0 -50
  31. package/dist/McDateRange/demo/base.d.ts +0 -6
  32. package/dist/McDateRange/demo/base.js +0 -22
  33. package/dist/McDateRange/demo/cancelPresets.d.ts +0 -6
  34. package/dist/McDateRange/demo/cancelPresets.js +0 -23
  35. package/dist/McDateRange/demo/overlap.d.ts +0 -2
  36. package/dist/McDateRange/demo/overlap.js +0 -32
  37. package/dist/McDateRange/index.css +0 -31
  38. package/dist/McDateRange/index.d.ts +0 -28
  39. package/dist/McDateRange/index.js +0 -167
  40. package/dist/McEllipsis/demo/base.d.ts +0 -6
  41. package/dist/McEllipsis/demo/base.js +0 -22
  42. package/dist/McEllipsis/demo/middle.d.ts +0 -6
  43. package/dist/McEllipsis/demo/middle.js +0 -24
  44. package/dist/McEllipsis/demo/table.d.ts +0 -5
  45. package/dist/McEllipsis/demo/table.js +0 -93
  46. package/dist/McEllipsis/demo/tooltip-size.d.ts +0 -6
  47. package/dist/McEllipsis/demo/tooltip-size.js +0 -20
  48. package/dist/McEllipsis/demo/tooltip.d.ts +0 -6
  49. package/dist/McEllipsis/demo/tooltip.js +0 -53
  50. package/dist/McEllipsis/index.css +0 -4
  51. package/dist/McEllipsis/index.d.ts +0 -40
  52. package/dist/McEllipsis/index.js +0 -115
  53. package/dist/McEllipsisMiddle/demo/base.d.ts +0 -6
  54. package/dist/McEllipsisMiddle/demo/base.js +0 -25
  55. package/dist/McEllipsisMiddle/demo/tooltip.d.ts +0 -6
  56. package/dist/McEllipsisMiddle/demo/tooltip.js +0 -35
  57. package/dist/McEllipsisMiddle/index.css +0 -4
  58. package/dist/McEllipsisMiddle/index.d.ts +0 -13
  59. package/dist/McEllipsisMiddle/index.js +0 -42
  60. package/dist/McFonts/index.d.ts +0 -8
  61. package/dist/McFonts/index.js +0 -7
  62. package/dist/McGroupPanel/comps/SelectedItem/index.d.ts +0 -4
  63. package/dist/McGroupPanel/comps/SelectedItem/index.js +0 -75
  64. package/dist/McGroupPanel/index.css +0 -169
  65. package/dist/McGroupPanel/index.d.ts +0 -30
  66. package/dist/McGroupPanel/index.js +0 -426
  67. package/dist/McIconFont/iconfont.js +0 -1
  68. package/dist/McIconFont/index.d.ts +0 -5
  69. package/dist/McIconFont/index.js +0 -8
  70. package/dist/McIcons/business.json +0 -137
  71. package/dist/McIcons/index.css +0 -33
  72. package/dist/McInput/Input.d.ts +0 -19
  73. package/dist/McInput/Input.js +0 -48
  74. package/dist/McInput/Search.d.ts +0 -39
  75. package/dist/McInput/Search.js +0 -81
  76. package/dist/McInput/TextArea.d.ts +0 -11
  77. package/dist/McInput/TextArea.js +0 -37
  78. package/dist/McInput/demo/Input/addonBefore.d.ts +0 -3
  79. package/dist/McInput/demo/Input/addonBefore.js +0 -67
  80. package/dist/McInput/demo/Input/base.d.ts +0 -2
  81. package/dist/McInput/demo/Input/base.js +0 -31
  82. package/dist/McInput/demo/Input/isTrim.d.ts +0 -2
  83. package/dist/McInput/demo/Input/isTrim.js +0 -22
  84. package/dist/McInput/demo/Input/label.d.ts +0 -2
  85. package/dist/McInput/demo/Input/label.js +0 -26
  86. package/dist/McInput/demo/Input/ref.d.ts +0 -3
  87. package/dist/McInput/demo/Input/ref.js +0 -53
  88. package/dist/McInput/demo/Input/status.d.ts +0 -2
  89. package/dist/McInput/demo/Input/status.js +0 -23
  90. package/dist/McInput/demo/Search/search-base.d.ts +0 -2
  91. package/dist/McInput/demo/Search/search-base.js +0 -38
  92. package/dist/McInput/demo/TextArea/text-area-base.d.ts +0 -2
  93. package/dist/McInput/demo/TextArea/text-area-base.js +0 -38
  94. package/dist/McInput/index.css +0 -71
  95. package/dist/McInput/index.d.ts +0 -13
  96. package/dist/McInput/index.js +0 -7
  97. package/dist/McInputNumber/demo/index.d.ts +0 -2
  98. package/dist/McInputNumber/demo/index.js +0 -34
  99. package/dist/McInputNumber/demo/label.d.ts +0 -2
  100. package/dist/McInputNumber/demo/label.js +0 -26
  101. package/dist/McInputNumber/demo/precision.d.ts +0 -2
  102. package/dist/McInputNumber/demo/precision.js +0 -20
  103. package/dist/McInputNumber/index.css +0 -36
  104. package/dist/McInputNumber/index.d.ts +0 -16
  105. package/dist/McInputNumber/index.js +0 -50
  106. package/dist/McLazyLoader/demo/basic.d.ts +0 -2
  107. package/dist/McLazyLoader/demo/basic.js +0 -33
  108. package/dist/McLazyLoader/demo/container.d.ts +0 -2
  109. package/dist/McLazyLoader/demo/container.js +0 -83
  110. package/dist/McLazyLoader/demo/form.d.ts +0 -2
  111. package/dist/McLazyLoader/demo/form.js +0 -38
  112. package/dist/McLazyLoader/demo/has-root.d.ts +0 -2
  113. package/dist/McLazyLoader/demo/has-root.js +0 -44
  114. package/dist/McLazyLoader/demo/hori.d.ts +0 -2
  115. package/dist/McLazyLoader/demo/hori.js +0 -39
  116. package/dist/McLazyLoader/demo/table.d.ts +0 -2
  117. package/dist/McLazyLoader/demo/table.js +0 -73
  118. package/dist/McLazyLoader/index.d.ts +0 -39
  119. package/dist/McLazyLoader/index.js +0 -88
  120. package/dist/McListSelect/comps/ListSelect.d.ts +0 -67
  121. package/dist/McListSelect/comps/ListSelect.js +0 -289
  122. package/dist/McListSelect/comps/ListSelectPanel.d.ts +0 -138
  123. package/dist/McListSelect/comps/ListSelectPanel.js +0 -451
  124. package/dist/McListSelect/comps/SelectedItem.d.ts +0 -17
  125. package/dist/McListSelect/comps/SelectedItem.js +0 -76
  126. package/dist/McListSelect/demo/base.d.ts +0 -6
  127. package/dist/McListSelect/demo/base.js +0 -125
  128. package/dist/McListSelect/demo/inexistent.d.ts +0 -6
  129. package/dist/McListSelect/demo/inexistent.js +0 -111
  130. package/dist/McListSelect/demo/layout.d.ts +0 -6
  131. package/dist/McListSelect/demo/layout.js +0 -70
  132. package/dist/McListSelect/demo/other.d.ts +0 -6
  133. package/dist/McListSelect/demo/other.js +0 -68
  134. package/dist/McListSelect/demo/panel-inexistent.d.ts +0 -6
  135. package/dist/McListSelect/demo/panel-inexistent.js +0 -86
  136. package/dist/McListSelect/index.css +0 -273
  137. package/dist/McListSelect/index.d.ts +0 -10
  138. package/dist/McListSelect/index.js +0 -5
  139. package/dist/McListSelect/mock/index.d.ts +0 -1
  140. package/dist/McListSelect/mock/index.js +0 -27
  141. package/dist/McModalProvider/index.d.ts +0 -174
  142. package/dist/McModalProvider/index.js +0 -498
  143. package/dist/McPeriodSelect/demo/base.d.ts +0 -6
  144. package/dist/McPeriodSelect/demo/base.js +0 -19
  145. package/dist/McPeriodSelect/demo/half.d.ts +0 -6
  146. package/dist/McPeriodSelect/demo/half.js +0 -20
  147. package/dist/McPeriodSelect/index.css +0 -189
  148. package/dist/McPeriodSelect/index.d.ts +0 -13
  149. package/dist/McPeriodSelect/index.js +0 -305
  150. package/dist/McPopoverButton/index.d.ts +0 -14
  151. package/dist/McPopoverButton/index.js +0 -52
  152. package/dist/McPopoverForm/index.d.ts +0 -14
  153. package/dist/McPopoverForm/index.js +0 -95
  154. package/dist/McProSelect/demo/async.d.ts +0 -2
  155. package/dist/McProSelect/demo/async.js +0 -66
  156. package/dist/McProSelect/demo/base.d.ts +0 -2
  157. package/dist/McProSelect/demo/base.js +0 -29
  158. package/dist/McProSelect/demo/exclusion-async-rename.d.ts +0 -3
  159. package/dist/McProSelect/demo/exclusion-async-rename.js +0 -103
  160. package/dist/McProSelect/demo/exclusion-rename.d.ts +0 -3
  161. package/dist/McProSelect/demo/exclusion-rename.js +0 -74
  162. package/dist/McProSelect/demo/exclusion.d.ts +0 -3
  163. package/dist/McProSelect/demo/exclusion.js +0 -70
  164. package/dist/McProSelect/demo/require.d.ts +0 -2
  165. package/dist/McProSelect/demo/require.js +0 -82
  166. package/dist/McProSelect/index.d.ts +0 -35
  167. package/dist/McProSelect/index.js +0 -152
  168. package/dist/McResult/default.d.ts +0 -1
  169. package/dist/McResult/default.js +0 -98
  170. package/dist/McResult/demo/403.d.ts +0 -6
  171. package/dist/McResult/demo/403.js +0 -17
  172. package/dist/McResult/demo/404.d.ts +0 -6
  173. package/dist/McResult/demo/404.js +0 -17
  174. package/dist/McResult/demo/500.d.ts +0 -6
  175. package/dist/McResult/demo/500.js +0 -17
  176. package/dist/McResult/demo/building.d.ts +0 -6
  177. package/dist/McResult/demo/building.js +0 -12
  178. package/dist/McResult/demo/empty.d.ts +0 -2
  179. package/dist/McResult/demo/empty.js +0 -11
  180. package/dist/McResult/demo/noFunction.d.ts +0 -2
  181. package/dist/McResult/demo/noFunction.js +0 -11
  182. package/dist/McResult/demo/noUser.d.ts +0 -6
  183. package/dist/McResult/demo/noUser.js +0 -12
  184. package/dist/McResult/demo/preview.d.ts +0 -2
  185. package/dist/McResult/demo/preview.js +0 -19
  186. package/dist/McResult/icon.d.ts +0 -25
  187. package/dist/McResult/icon.js +0 -1014
  188. package/dist/McResult/index.css +0 -20
  189. package/dist/McResult/index.d.ts +0 -31
  190. package/dist/McResult/index.js +0 -119
  191. package/dist/McResult/public/403.svg +0 -164
  192. package/dist/McResult/public/404.svg +0 -123
  193. package/dist/McResult/public/500.svg +0 -129
  194. package/dist/McResult/public/building.svg +0 -127
  195. package/dist/McResult/public/code403.svg +0 -7
  196. package/dist/McResult/public/code404.svg +0 -5
  197. package/dist/McResult/public/code500.svg +0 -5
  198. package/dist/McResult/public/detailEmpty.svg +0 -1
  199. package/dist/McResult/public/empty.svg +0 -1
  200. package/dist/McResult/public/noFunction.svg +0 -1
  201. package/dist/McResult/public/noUser.svg +0 -90
  202. package/dist/McSelect/components/PanelSearchInput/index.css +0 -6
  203. package/dist/McSelect/components/PanelSearchInput/index.d.ts +0 -12
  204. package/dist/McSelect/components/PanelSearchInput/index.js +0 -45
  205. package/dist/McSelect/demo/base.d.ts +0 -2
  206. package/dist/McSelect/demo/base.js +0 -63
  207. package/dist/McSelect/demo/changeOnHidden.d.ts +0 -2
  208. package/dist/McSelect/demo/changeOnHidden.js +0 -43
  209. package/dist/McSelect/demo/dropdownRender.d.ts +0 -7
  210. package/dist/McSelect/demo/dropdownRender.js +0 -78
  211. package/dist/McSelect/demo/exclusion.d.ts +0 -3
  212. package/dist/McSelect/demo/exclusion.js +0 -64
  213. package/dist/McSelect/demo/fetchOptions.d.ts +0 -7
  214. package/dist/McSelect/demo/fetchOptions.js +0 -211
  215. package/dist/McSelect/demo/inexistent.d.ts +0 -2
  216. package/dist/McSelect/demo/inexistent.js +0 -79
  217. package/dist/McSelect/demo/labelInValue.d.ts +0 -2
  218. package/dist/McSelect/demo/labelInValue.js +0 -72
  219. package/dist/McSelect/demo/maxTagCount.d.ts +0 -3
  220. package/dist/McSelect/demo/maxTagCount.js +0 -51
  221. package/dist/McSelect/demo/multiple.d.ts +0 -2
  222. package/dist/McSelect/demo/multiple.js +0 -46
  223. package/dist/McSelect/demo/optionRender.d.ts +0 -3
  224. package/dist/McSelect/demo/optionRender.js +0 -51
  225. package/dist/McSelect/demo/panelInSearch.d.ts +0 -2
  226. package/dist/McSelect/demo/panelInSearch.js +0 -47
  227. package/dist/McSelect/demo/tagRender.d.ts +0 -3
  228. package/dist/McSelect/demo/tagRender.js +0 -51
  229. package/dist/McSelect/index.css +0 -60
  230. package/dist/McSelect/index.d.ts +0 -47
  231. package/dist/McSelect/index.js +0 -436
  232. package/dist/McTag/demo/demo1.d.ts +0 -2
  233. package/dist/McTag/demo/demo1.js +0 -18
  234. package/dist/McTag/demo/demo2.d.ts +0 -2
  235. package/dist/McTag/demo/demo2.js +0 -20
  236. package/dist/McTag/demo/demo3.d.ts +0 -2
  237. package/dist/McTag/demo/demo3.js +0 -19
  238. package/dist/McTag/demo/demo4.d.ts +0 -2
  239. package/dist/McTag/demo/demo4.js +0 -22
  240. package/dist/McTag/index.d.ts +0 -22
  241. package/dist/McTag/index.js +0 -59
  242. package/dist/McThemeConfig/customToken.json +0 -39
  243. package/dist/McThemeConfig/demo/button.d.ts +0 -2
  244. package/dist/McThemeConfig/demo/button.js +0 -226
  245. package/dist/McThemeConfig/demo/card.d.ts +0 -2
  246. package/dist/McThemeConfig/demo/card.js +0 -60
  247. package/dist/McThemeConfig/demo/drawer.d.ts +0 -2
  248. package/dist/McThemeConfig/demo/drawer.js +0 -59
  249. package/dist/McThemeConfig/demo/modal.d.ts +0 -2
  250. package/dist/McThemeConfig/demo/modal.js +0 -78
  251. package/dist/McThemeConfig/demo/radio.d.ts +0 -2
  252. package/dist/McThemeConfig/demo/radio.js +0 -136
  253. package/dist/McThemeConfig/demo/switch.d.ts +0 -2
  254. package/dist/McThemeConfig/demo/switch.js +0 -96
  255. package/dist/McThemeConfig/demo/tabs.d.ts +0 -2
  256. package/dist/McThemeConfig/demo/tabs.js +0 -35
  257. package/dist/McThemeConfig/globalStyle.d.ts +0 -2
  258. package/dist/McThemeConfig/globalStyle.js +0 -198
  259. package/dist/McThemeConfig/index.d.ts +0 -9
  260. package/dist/McThemeConfig/index.js +0 -16
  261. package/dist/McThemeConfig/layoutStyle.d.ts +0 -2
  262. package/dist/McThemeConfig/layoutStyle.js +0 -1
  263. package/dist/McThemeConfig/provider.d.ts +0 -8
  264. package/dist/McThemeConfig/provider.js +0 -20
  265. package/dist/McThemeConfig/themeToken.json +0 -152
  266. package/dist/McTreePanel/SelectedItem.d.ts +0 -4
  267. package/dist/McTreePanel/SelectedItem.js +0 -75
  268. package/dist/McTreePanel/demo/base.d.ts +0 -6
  269. package/dist/McTreePanel/demo/base.js +0 -45
  270. package/dist/McTreePanel/demo/fieldNames.d.ts +0 -6
  271. package/dist/McTreePanel/demo/fieldNames.js +0 -37
  272. package/dist/McTreePanel/demo/inexistent.d.ts +0 -6
  273. package/dist/McTreePanel/demo/inexistent.js +0 -56
  274. package/dist/McTreePanel/demo/labelInValue.d.ts +0 -6
  275. package/dist/McTreePanel/demo/labelInValue.js +0 -56
  276. package/dist/McTreePanel/demo/sortable.d.ts +0 -6
  277. package/dist/McTreePanel/demo/sortable.js +0 -34
  278. package/dist/McTreePanel/index.css +0 -110
  279. package/dist/McTreePanel/index.d.ts +0 -27
  280. package/dist/McTreePanel/index.js +0 -315
  281. package/dist/McTreeSelect/demo/base.d.ts +0 -5
  282. package/dist/McTreeSelect/demo/base.js +0 -58
  283. package/dist/McTreeSelect/demo/inexistent.d.ts +0 -5
  284. package/dist/McTreeSelect/demo/inexistent.js +0 -63
  285. package/dist/McTreeSelect/demo/label.d.ts +0 -5
  286. package/dist/McTreeSelect/demo/label.js +0 -60
  287. package/dist/McTreeSelect/demo/multiple.d.ts +0 -5
  288. package/dist/McTreeSelect/demo/multiple.js +0 -71
  289. package/dist/McTreeSelect/index.css +0 -60
  290. package/dist/McTreeSelect/index.d.ts +0 -13
  291. package/dist/McTreeSelect/index.js +0 -182
  292. package/dist/Utils/index.d.ts +0 -13
  293. package/dist/Utils/index.js +0 -60
  294. package/dist/index.d.ts +0 -31
  295. package/dist/index.js +0 -31
  296. package/dist/styles/demo/basic.d.ts +0 -2
  297. package/dist/styles/demo/basic.js +0 -44
  298. package/dist/styles/demo/delete-icon.d.ts +0 -2
  299. package/dist/styles/demo/delete-icon.js +0 -72
  300. package/dist/styles/demo/form-bottom-0.d.ts +0 -2
  301. package/dist/styles/demo/form-bottom-0.js +0 -33
  302. package/dist/styles/index.css +0 -41
  303. package/dist/styles/mixins.css +0 -2
  304. package/dist/styles/utilities.css +0 -41
  305. package/dist/typings.d.ts +0 -20
@@ -1,73 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- /**
3
- * title: 在Antd Table翻页场景中使用
4
- * description: 翻页后的数据会重新进入懒加载流程
5
- */
6
- import { Table } from 'antd';
7
- import { McLazyLoader } from "../..";
8
- import { useState } from 'react';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- var getTextList = function getTextList(cur) {
11
- return Array.from({
12
- length: 40
13
- }, function (_, index) {
14
- return {
15
- key: index + cur,
16
- value: index
17
- };
18
- });
19
- };
20
- export default (function () {
21
- var _useState = useState(1),
22
- _useState2 = _slicedToArray(_useState, 2),
23
- cur = _useState2[0],
24
- setCur = _useState2[1];
25
- console.log(cur);
26
- return /*#__PURE__*/_jsx("div", {
27
- children: /*#__PURE__*/_jsx(Table, {
28
- dataSource: getTextList(cur),
29
- scroll: {
30
- y: 200
31
- },
32
- pagination: {
33
- pageSize: 40,
34
- current: cur,
35
- total: 120
36
- },
37
- onChange: function onChange(info) {
38
- var _info$current;
39
- setCur((_info$current = info === null || info === void 0 ? void 0 : info.current) !== null && _info$current !== void 0 ? _info$current : 1);
40
- },
41
- components: {
42
- body: function body(data) {
43
- return /*#__PURE__*/_jsx(McLazyLoader, {
44
- style: {
45
- height: 200,
46
- width: 430,
47
- overflow: 'auto',
48
- display: 'flex',
49
- flexWrap: 'wrap'
50
- },
51
- onItemVisible: function onItemVisible(index) {
52
- console.log('visible', index);
53
- },
54
- itemMinHeight: 50
55
- // 不加这个的话,水平排列的元素不占空间,没有懒加载
56
- ,
57
- itemMinWidth: 200,
58
- children: data.map(function (x) {
59
- return /*#__PURE__*/_jsx("img", {
60
- width: "auto",
61
- height: 50,
62
- onLoad: function onLoad() {
63
- console.log('[window root: loaded]', new Date(), x.key, cur);
64
- },
65
- src: "http://pre.data.muchcloud.com/static/img/logo-t.34c4816d.png"
66
- }, x.key + '_' + cur);
67
- })
68
- });
69
- }
70
- }
71
- })
72
- });
73
- });
@@ -1,39 +0,0 @@
1
- import React from 'react';
2
- interface ObserverInsertionWrapperProps {
3
- children: React.ReactNode[];
4
- /**
5
- * @description 最小高度,不能为0。为0时懒加载可能会无效
6
- * @default 20
7
- */
8
- itemMinHeight: number;
9
- /**
10
- * @description 最小宽度,水平排列时不能为0
11
- * @default unset
12
- */
13
- itemMinWidth?: number;
14
- /**
15
- * @description 元素进入视图回调
16
- */
17
- onItemVisible?: (index: number, key: string) => void;
18
- /**
19
- * @description 距离视图多少像素时触发。出于用户体验考虑,建议设置一个正数
20
- * @default 0
21
- */
22
- offset?: number;
23
- /**
24
- * @description 重叠比例为多少时触发
25
- * @default 0
26
- */
27
- threshold?: number;
28
- /**
29
- * @description 监听的根元素,不传则监听浏览器窗口
30
- * @default null
31
- */
32
- root?: Element | Document | null;
33
- /**
34
- * @description 外层容器样式
35
- */
36
- style?: React.CSSProperties;
37
- }
38
- declare const ObserverInsertionWrapper: React.FC<ObserverInsertionWrapperProps>;
39
- export default ObserverInsertionWrapper;
@@ -1,88 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import React, { useEffect, useMemo, useRef, useState } from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- var getKey = function getKey(child, index) {
5
- var _child$key;
6
- return /*#__PURE__*/React.isValidElement(child) ? String((_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index) : String(index);
7
- };
8
- var ObserverInsertionWrapper = function ObserverInsertionWrapper(_ref) {
9
- var children = _ref.children,
10
- style = _ref.style,
11
- _ref$offset = _ref.offset,
12
- offset = _ref$offset === void 0 ? 0 : _ref$offset,
13
- _ref$threshold = _ref.threshold,
14
- threshold = _ref$threshold === void 0 ? 0 : _ref$threshold,
15
- _ref$root = _ref.root,
16
- root = _ref$root === void 0 ? null : _ref$root,
17
- _ref$itemMinHeight = _ref.itemMinHeight,
18
- itemMinHeight = _ref$itemMinHeight === void 0 ? 20 : _ref$itemMinHeight,
19
- itemMinWidth = _ref.itemMinWidth,
20
- onItemVisible = _ref.onItemVisible;
21
- var wrapperRef = useRef(null);
22
-
23
- // 已经显示过的 key 列表
24
- var _useState = useState(new Set()),
25
- _useState2 = _slicedToArray(_useState, 2),
26
- visibleItems = _useState2[0],
27
- setVisibleItems = _useState2[1];
28
-
29
- // 为避免 children 每次渲染变化导致 useEffect 重复执行,构建一个 keyList 哈希
30
- var keyListHash = useMemo(function () {
31
- var list = React.Children.toArray(children).map(function (child, index) {
32
- return getKey(child, index);
33
- });
34
- return JSON.stringify(list);
35
- }, [children]);
36
-
37
- // 每次 keyList 变动重置显示列表
38
- useEffect(function () {
39
- setVisibleItems(new Set());
40
- }, [keyListHash]);
41
- useEffect(function () {
42
- var _wrapperRef$current;
43
- var observer = new IntersectionObserver(function (entries) {
44
- entries.forEach(function (entry) {
45
- var index = Number(entry.target.getAttribute('data-index'));
46
- var key = String(entry.target.getAttribute('data-key'));
47
- if (entry.isIntersecting && !visibleItems.has(key)) {
48
- setVisibleItems(function (prev) {
49
- var next = new Set(prev);
50
- next.add(key);
51
- onItemVisible === null || onItemVisible === void 0 || onItemVisible(index, key);
52
- return next;
53
- });
54
- }
55
- });
56
- }, {
57
- root: root,
58
- rootMargin: "".concat(offset, "px"),
59
- threshold: threshold
60
- });
61
- var elements = (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.children;
62
- elements && Array.from(elements).forEach(function (element) {
63
- observer.observe(element);
64
- });
65
- return function () {
66
- elements && Array.from(elements).forEach(function (element) {
67
- observer.unobserve(element);
68
- });
69
- };
70
- }, [offset, threshold, root, keyListHash, visibleItems]);
71
- return /*#__PURE__*/_jsx("div", {
72
- ref: wrapperRef,
73
- style: style,
74
- children: React.Children.map(children, function (child, index) {
75
- var key = getKey(child, index);
76
- return /*#__PURE__*/_jsx("div", {
77
- "data-key": key,
78
- "data-index": index,
79
- style: {
80
- minHeight: itemMinHeight,
81
- minWidth: itemMinWidth !== null && itemMinWidth !== void 0 ? itemMinWidth : 'unset'
82
- },
83
- children: visibleItems.has(key) ? child : null
84
- }, key);
85
- })
86
- });
87
- };
88
- export default ObserverInsertionWrapper;
@@ -1,67 +0,0 @@
1
- import { FC } from 'react';
2
- import '../index.less';
3
- import { McListSelectPanelProps } from './ListSelectPanel';
4
- /**
5
- * @author: wangzt
6
- * @description: 下拉列表选择器-仅支持多选
7
- */
8
- interface Inexistent {
9
- /**
10
- * 不存在值的文字描述
11
- * @defaultValue '不存在'
12
- */
13
- text?: string;
14
- /**
15
- * 不存在值的文字颜色
16
- * @defaultValue '#ff4d4f'
17
- */
18
- color?: string;
19
- /**
20
- * 是否保留原值
21
- * @remarks 若为 true,则在执行不存在值的处理逻辑时,不向外抛出 undefined
22
- * @defaultValue false
23
- */
24
- reserveOriginalValue?: boolean;
25
- }
26
- export type McListSelectProps = Omit<McListSelectPanelProps, 'PanelInexistent'> & {
27
- /**
28
- * 查询项的字段名
29
- * @remarks 配合 McContainer 组件的查询功能使用
30
- */
31
- name?: string;
32
- /**
33
- * 查询项的标签文字
34
- * @remarks 若未设置,样式为表单项形态
35
- */
36
- label?: React.ReactNode;
37
- /**
38
- * 选择框默认文本
39
- * @defaultValue '请选择'
40
- */
41
- placeholder?: string;
42
- /**
43
- * 最多显示多少个 tag
44
- * @remarks 响应式模式会对性能产生损耗
45
- * @defaultValue 1
46
- */
47
- maxTagCount?: number | 'responsive';
48
- /**
49
- * 是否每次展开下拉菜单时都初始化(重置查询)
50
- * @defaultValue true
51
- */
52
- initOnOpen?: boolean;
53
- /**
54
- * 是否执行不存在值的处理逻辑
55
- * @remarks
56
- * - 异步查询时无效
57
- * - 为保证该属性的相关功能生效,options 无数据的情况下请配置为空数组 []
58
- * @defaultValue false
59
- */
60
- inexistent?: boolean | Inexistent;
61
- };
62
- export type McListSelectRef = {
63
- /** 初始化方法(显示下拉菜单并重置查询) */
64
- init: () => void;
65
- };
66
- declare const McListSelect: FC<McListSelectProps>;
67
- export default McListSelect;
@@ -1,289 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import { Button, Popover, Select } from 'antd';
4
- import classNames from 'classnames';
5
- import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
6
- import "../index.css";
7
- import ListSelectPanel, { isLabelInValue } from "./ListSelectPanel";
8
-
9
- /**
10
- * @author: wangzt
11
- * @description: 下拉列表选择器-仅支持多选
12
- */
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
- import { Fragment as _Fragment } from "react/jsx-runtime";
16
- var McListSelect = /*#__PURE__*/forwardRef(function (props, ref) {
17
- /* 获取label宽度 */
18
- var labelRef = useRef();
19
- var _useState = useState(11),
20
- _useState2 = _slicedToArray(_useState, 2),
21
- paddingLeft = _useState2[0],
22
- setPaddingLeft = _useState2[1];
23
- useEffect(function () {
24
- var labelResizeObserver = new ResizeObserver(function (entries) {
25
- setPaddingLeft(entries[0].contentRect.width + 11);
26
- });
27
- labelRef.current && labelResizeObserver.observe(labelRef.current);
28
- return function () {
29
- return labelResizeObserver.disconnect();
30
- };
31
- }, []);
32
- var label = props.label,
33
- _props$placeholder = props.placeholder,
34
- placeholder = _props$placeholder === void 0 ? '请选择' : _props$placeholder,
35
- maxTagCount = props.maxTagCount,
36
- _props$allowClear = props.allowClear,
37
- allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
38
- title = props.title,
39
- options = props.options,
40
- fetchOptions = props.fetchOptions,
41
- pageSize = props.pageSize,
42
- extra = props.extra,
43
- immediateInit = props.immediateInit,
44
- _props$disabled = props.disabled,
45
- disabled = _props$disabled === void 0 ? false : _props$disabled,
46
- _props$labelInValue = props.labelInValue,
47
- labelInValue = _props$labelInValue === void 0 ? false : _props$labelInValue,
48
- _props$initOnOpen = props.initOnOpen,
49
- initOnOpen = _props$initOnOpen === void 0 ? true : _props$initOnOpen,
50
- _props$inexistent = props.inexistent,
51
- inexistent = _props$inexistent === void 0 ? false : _props$inexistent,
52
- selectedLayout = props.selectedLayout,
53
- value = props.value,
54
- onChange = props.onChange,
55
- style = props.style,
56
- className = props.className;
57
- var maxTagCount0 = props.hasOwnProperty('maxTagCount') ? maxTagCount : 1;
58
- var inexistent0 = fetchOptions ? false : inexistent;
59
- var _ref = typeof inexistent0 === 'boolean' ? {} : inexistent0,
60
- _ref$text = _ref.text,
61
- text = _ref$text === void 0 ? '不存在' : _ref$text,
62
- _ref$color = _ref.color,
63
- color = _ref$color === void 0 ? '#ff4d4f' : _ref$color,
64
- _ref$reserveOriginalV = _ref.reserveOriginalValue,
65
- reserveOriginalValue = _ref$reserveOriginalV === void 0 ? false : _ref$reserveOriginalV;
66
- var _useState3 = useState([]),
67
- _useState4 = _slicedToArray(_useState3, 2),
68
- selectValue = _useState4[0],
69
- setSelectValue = _useState4[1];
70
- var _useState5 = useState(false),
71
- _useState6 = _slicedToArray(_useState5, 2),
72
- open = _useState6[0],
73
- setOpen = _useState6[1];
74
- var _useState7 = useState([]),
75
- _useState8 = _slicedToArray(_useState7, 2),
76
- panelValue = _useState8[0],
77
- setPanelValue = _useState8[1];
78
- var valueMap0 = useRef();
79
- var changeUndefinedFlag = useRef(false);
80
- var panelRef = useRef();
81
-
82
- // 格式化下拉选择器的值
83
- var selectValue0 = useMemo(function () {
84
- return selectValue.map(function (_ref2) {
85
- var _valueMap0$current;
86
- var value = _ref2.value,
87
- label = _ref2.label;
88
- return {
89
- value: value,
90
- label: label + (inexistent0 && !((_valueMap0$current = valueMap0.current) !== null && _valueMap0$current !== void 0 && _valueMap0$current[value]) ? "\u300C".concat(text, "\u300D") : '')
91
- };
92
- });
93
- }, [selectValue, inexistent0]);
94
-
95
- /* 回显 */
96
- var echo = function echo() {
97
- // 若已执行向外抛出undefined,则不执行后续代码并重置标记
98
- if (changeUndefinedFlag.current) {
99
- changeUndefinedFlag.current = false;
100
- return;
101
- }
102
- var inexistentFlag = false;
103
- var value1 = (value === null || value === void 0 ? void 0 : value.map(function (item) {
104
- var _valueMap0$current2;
105
- var v = isLabelInValue(item) ? item.value : item;
106
- if ((_valueMap0$current2 = valueMap0.current) !== null && _valueMap0$current2 !== void 0 && _valueMap0$current2[v]) {
107
- return valueMap0.current[v];
108
- } else {
109
- inexistentFlag = true;
110
- return isLabelInValue(item) ? item : {
111
- value: v,
112
- label: v
113
- };
114
- }
115
- })) || [];
116
- setSelectValue(value1);
117
- // 若当前有不存在的值,则向外抛出undefined并标记
118
- if (inexistent0 && !reserveOriginalValue && value && valueMap0.current && inexistentFlag) {
119
- changeUndefinedFlag.current = true;
120
- onChange === null || onChange === void 0 || onChange(undefined);
121
- }
122
- };
123
-
124
- /* 监听value变化,触发回显 */
125
- useEffect(function () {
126
- echo();
127
- }, [value]);
128
-
129
- /* 备选项初始化 */
130
- var optionsInit = function optionsInit() {
131
- // 非异步查询时
132
- if (!fetchOptions && options) {
133
- // 获取value映射集合
134
- var map = {};
135
- options === null || options === void 0 || options.forEach(function (item) {
136
- return map[item.value] = item;
137
- });
138
- valueMap0.current = map;
139
- // 更新回显数据
140
- echo();
141
- }
142
- };
143
-
144
- /* 监听options变化,触发备选项初始化 */
145
- useEffect(function () {
146
- optionsInit();
147
- }, [options]);
148
-
149
- /* 改变值的方法 */
150
- var changeHandle = function changeHandle(v) {
151
- // 若inexistent为true且非异步查询时,将不存在的项移除
152
- var v1 = v.filter(function (_ref3) {
153
- var _valueMap0$current3;
154
- var value = _ref3.value;
155
- return inexistent0 ? !!((_valueMap0$current3 = valueMap0.current) !== null && _valueMap0$current3 !== void 0 && _valueMap0$current3[value]) : true;
156
- });
157
- (!props.hasOwnProperty('value') || inexistent0) && setSelectValue(v1);
158
- onChange === null || onChange === void 0 || onChange(!!v1.length ? v1.map(function (i) {
159
- return labelInValue ? i : i.value;
160
- }) : undefined);
161
- };
162
- useImperativeHandle(ref, function () {
163
- return {
164
- init: function init() {
165
- var _panelRef$current;
166
- setOpen(true);
167
- (_panelRef$current = panelRef.current) === null || _panelRef$current === void 0 || _panelRef$current.init();
168
- }
169
- };
170
- });
171
- return /*#__PURE__*/_jsxs("div", {
172
- style: _objectSpread({
173
- position: label ? 'relative' : 'static',
174
- height: 'auto',
175
- '--selector-pl': "".concat(paddingLeft, "px"),
176
- '--inexistent-color': color
177
- }, style),
178
- className: classNames('mc-list-select', maxTagCount0 === 1 && 'mc-list-select--inline', className),
179
- children: [label && /*#__PURE__*/_jsx("span", {
180
- ref: labelRef,
181
- className: classNames('mc-list-select__label', disabled && 'mc-list-select--disabled'),
182
- children: label
183
- }), /*#__PURE__*/_jsx(Select, {
184
- className: "mc-list-select__content",
185
- placeholder: placeholder,
186
- mode: "multiple",
187
- showSearch: false,
188
- maxTagCount: maxTagCount0,
189
- maxTagPlaceholder: function maxTagPlaceholder(v) {
190
- return /*#__PURE__*/_jsx(Popover, {
191
- overlayStyle: {
192
- maxWidth: 300
193
- },
194
- content: v.map(function (_ref4, index) {
195
- var _ref5;
196
- var label = _ref4.label;
197
- return /*#__PURE__*/_jsxs("span", {
198
- children: [index !== 0 && /*#__PURE__*/_jsx("span", {
199
- children: ", "
200
- }), /*#__PURE__*/_jsx("span", {
201
- style: {
202
- color: ((_ref5 = '' + label) === null || _ref5 === void 0 ? void 0 : _ref5.indexOf("\u300C".concat(text, "\u300D"))) === -1 ? 'rgba(0, 0, 0, 0.88)' : color
203
- },
204
- children: label
205
- })]
206
- }, index);
207
- }),
208
- children: /*#__PURE__*/_jsx("span", {
209
- children: '+' + v.length
210
- })
211
- });
212
- },
213
- allowClear: allowClear,
214
- disabled: disabled,
215
- open: open,
216
- onDropdownVisibleChange: function onDropdownVisibleChange(o) {
217
- setOpen(o);
218
- if (o) {
219
- var _panelRef$current2;
220
- setPanelValue(selectValue);
221
- initOnOpen && ((_panelRef$current2 = panelRef.current) === null || _panelRef$current2 === void 0 ? void 0 : _panelRef$current2.init());
222
- }
223
- },
224
- labelInValue: true,
225
- value: selectValue0,
226
- onClear: function onClear() {
227
- return changeHandle([]);
228
- },
229
- onDeselect: function onDeselect(o) {
230
- return changeHandle(selectValue.filter(function (_ref6) {
231
- var value = _ref6.value;
232
- return value !== o.value;
233
- }));
234
- },
235
- dropdownStyle: {
236
- width: 'auto',
237
- padding: '16px 16px 0'
238
- },
239
- dropdownRender: function dropdownRender() {
240
- return /*#__PURE__*/_jsxs(_Fragment, {
241
- children: [/*#__PURE__*/_jsx(ListSelectPanel, {
242
- ref: panelRef,
243
- title: title,
244
- options: options,
245
- fetchOptions: fetchOptions,
246
- pageSize: pageSize,
247
- extra: extra,
248
- immediateInit: immediateInit,
249
- disabled: disabled,
250
- labelInValue: true,
251
- allowClear: allowClear,
252
- inexistent: inexistent,
253
- selectedLayout: selectedLayout,
254
- value: panelValue,
255
- onChange: function onChange(v) {
256
- setPanelValue(v || []);
257
- // 异步查询时,更新value映射集合
258
- if (fetchOptions) {
259
- var map = {};
260
- v === null || v === void 0 || v.forEach(function (item) {
261
- return map[item.value] = item;
262
- });
263
- valueMap0.current = Object.assign(valueMap0.current || {}, map);
264
- }
265
- }
266
- }), /*#__PURE__*/_jsxs("div", {
267
- className: "mc-list-select__dropdown-footer",
268
- children: [/*#__PURE__*/_jsx(Button, {
269
- size: "small",
270
- onClick: function onClick() {
271
- return setOpen(false);
272
- },
273
- children: "\u53D6\u6D88"
274
- }), /*#__PURE__*/_jsx(Button, {
275
- type: "primary",
276
- size: "small",
277
- onClick: function onClick() {
278
- changeHandle(panelValue);
279
- setOpen(false);
280
- },
281
- children: "\u786E\u5B9A"
282
- })]
283
- })]
284
- });
285
- }
286
- })]
287
- });
288
- });
289
- export default McListSelect;
@@ -1,138 +0,0 @@
1
- /// <reference types="react" />
2
- import '../index.less';
3
- export type BaseValueType = string | number;
4
- export interface Option {
5
- value: BaseValueType;
6
- label: string;
7
- disabled?: boolean;
8
- [key: string]: any;
9
- }
10
- export type MapType = Record<BaseValueType, Option>;
11
- export type McListSelectFetchOptions = (params: {
12
- current: number;
13
- pageSize: number;
14
- keyword?: string;
15
- extra?: any;
16
- }) => Promise<{
17
- data: Option[];
18
- total: number;
19
- }>;
20
- export interface PanelInexistent {
21
- /**
22
- * 不存在值的文字描述
23
- * @defaultValue '不存在'
24
- */
25
- text?: string;
26
- /**
27
- * 不存在值的文字颜色
28
- * @defaultValue '#ff4d4f'
29
- */
30
- color?: string;
31
- /**
32
- * 是否保留不存在的项并禁止其移除
33
- * @defaultValue false
34
- */
35
- reserved?: boolean;
36
- }
37
- export type LabelInValueType = {
38
- value: BaseValueType;
39
- label: string;
40
- };
41
- type SelectValueType = BaseValueType | LabelInValueType;
42
- export declare const isLabelInValue: (value: SelectValueType) => value is LabelInValueType;
43
- /**
44
- * 列表选择面板组件属性
45
- */
46
- export interface McListSelectPanelProps {
47
- /**
48
- * 面板标题
49
- * @defaultValue '可选项'
50
- */
51
- title?: React.ReactNode;
52
- /**
53
- * 可选数据列表
54
- */
55
- options?: Option[];
56
- /**
57
- * 异步分页获取选项的方法
58
- * @remarks
59
- * - 设置后将忽略原 options 属性
60
- * - 不执行不存在值的处理逻辑
61
- * - 涉及回显的场景(如表单)建议设置为 true 以对象形式交互
62
- */
63
- fetchOptions?: McListSelectFetchOptions;
64
- /**
65
- * 分页每页数量
66
- * @defaultValue 20
67
- */
68
- pageSize?: number;
69
- /**
70
- * 分页查询的额外参数
71
- * @remarks 参数变化时会触发 init 方法重置查询
72
- */
73
- extra?: any;
74
- /**
75
- * 是否立即初始化
76
- * @defaultValue true
77
- * @remarks 使用异步分页且存在 extra 参数时可设为 false,通过 extra 变化触发初始化避免重复
78
- */
79
- immediateInit?: boolean;
80
- /**
81
- * 是否禁用组件
82
- * @defaultValue false
83
- */
84
- disabled?: boolean;
85
- /**
86
- * 是否将选项标签等信息包装到值中
87
- * @defaultValue false
88
- * @remarks 涉及回显的场景(如表单)建议设置为 true
89
- */
90
- labelInValue?: boolean;
91
- /**
92
- * 是否允许清空选择
93
- * @defaultValue true
94
- */
95
- allowClear?: boolean;
96
- /**
97
- * 是否处理不存在值
98
- * @defaultValue false
99
- * @remarks 异步查询时无效
100
- */
101
- inexistent?: boolean | PanelInexistent;
102
- /**
103
- * 已选项布局方式
104
- * @defaultValue 'block'
105
- * @remarks
106
- * - 'block': 每项独占一行
107
- * - 'inline': 行内排列
108
- * - 'sortable': 每项独占一行且可排序
109
- */
110
- selectedLayout?: 'block' | 'inline' | 'sortable';
111
- /**
112
- * 当前选中的值
113
- */
114
- value?: SelectValueType[];
115
- /**
116
- * 选择变化时的回调函数
117
- * @param value - 新选中的值数组
118
- */
119
- onChange?: (value?: SelectValueType[]) => void;
120
- /**
121
- * 自定义样式
122
- */
123
- style?: React.CSSProperties;
124
- /**
125
- * 自定义类名
126
- */
127
- className?: string;
128
- /**
129
- * 组件引用
130
- */
131
- ref?: any;
132
- }
133
- export type McListSelectPanelRef = {
134
- /** 初始化方法(重置查询) */
135
- init: () => void;
136
- };
137
- declare const _default: import("react").NamedExoticComponent<McListSelectPanelProps>;
138
- export default _default;