@uiw/doc 4.9.10 → 4.10.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 (492) hide show
  1. package/package.json +1 -1
  2. package/web/asset-manifest.json +293 -293
  3. package/web/index.html +1 -1
  4. package/web/static/css/{1059.e3a148be.chunk.css → 1059.68d3e67d.chunk.css} +2 -2
  5. package/web/static/css/{1169.e3a148be.chunk.css.map → 1059.68d3e67d.chunk.css.map} +1 -1
  6. package/web/static/css/{1169.e3a148be.chunk.css → 1061.68d3e67d.chunk.css} +2 -2
  7. package/web/static/css/{1059.e3a148be.chunk.css.map → 1061.68d3e67d.chunk.css.map} +1 -1
  8. package/web/static/css/{1061.e3a148be.chunk.css → 1169.68d3e67d.chunk.css} +2 -2
  9. package/web/static/css/{1317.e3a148be.chunk.css.map → 1169.68d3e67d.chunk.css.map} +1 -1
  10. package/web/static/css/{1317.e3a148be.chunk.css → 1317.68d3e67d.chunk.css} +2 -2
  11. package/web/static/css/{1061.e3a148be.chunk.css.map → 1317.68d3e67d.chunk.css.map} +1 -1
  12. package/web/static/css/1584.68d3e67d.chunk.css +2 -0
  13. package/web/static/css/1584.68d3e67d.chunk.css.map +1 -0
  14. package/web/static/css/1619.68d3e67d.chunk.css +2 -0
  15. package/web/static/css/1619.68d3e67d.chunk.css.map +1 -0
  16. package/web/static/css/{163.e3a148be.chunk.css → 163.68d3e67d.chunk.css} +2 -2
  17. package/web/static/css/{163.e3a148be.chunk.css.map → 163.68d3e67d.chunk.css.map} +1 -1
  18. package/web/static/css/1820.68d3e67d.chunk.css +2 -0
  19. package/web/static/css/1820.68d3e67d.chunk.css.map +1 -0
  20. package/web/static/css/2156.68d3e67d.chunk.css +2 -0
  21. package/web/static/css/2156.68d3e67d.chunk.css.map +1 -0
  22. package/web/static/css/2190.68d3e67d.chunk.css +2 -0
  23. package/web/static/css/2190.68d3e67d.chunk.css.map +1 -0
  24. package/web/static/css/{221.e3a148be.chunk.css → 221.68d3e67d.chunk.css} +2 -2
  25. package/web/static/css/{221.e3a148be.chunk.css.map → 221.68d3e67d.chunk.css.map} +1 -1
  26. package/web/static/css/2230.68d3e67d.chunk.css +2 -0
  27. package/web/static/css/2230.68d3e67d.chunk.css.map +1 -0
  28. package/web/static/css/2316.68d3e67d.chunk.css +2 -0
  29. package/web/static/css/2316.68d3e67d.chunk.css.map +1 -0
  30. package/web/static/css/2367.68d3e67d.chunk.css +2 -0
  31. package/web/static/css/2367.68d3e67d.chunk.css.map +1 -0
  32. package/web/static/css/2411.68d3e67d.chunk.css +2 -0
  33. package/web/static/css/2411.68d3e67d.chunk.css.map +1 -0
  34. package/web/static/css/2582.68d3e67d.chunk.css +2 -0
  35. package/web/static/css/2582.68d3e67d.chunk.css.map +1 -0
  36. package/web/static/css/2595.68d3e67d.chunk.css +2 -0
  37. package/web/static/css/2595.68d3e67d.chunk.css.map +1 -0
  38. package/web/static/css/2737.68d3e67d.chunk.css +2 -0
  39. package/web/static/css/2737.68d3e67d.chunk.css.map +1 -0
  40. package/web/static/css/2782.68d3e67d.chunk.css +2 -0
  41. package/web/static/css/2782.68d3e67d.chunk.css.map +1 -0
  42. package/web/static/css/3313.68d3e67d.chunk.css +2 -0
  43. package/web/static/css/3313.68d3e67d.chunk.css.map +1 -0
  44. package/web/static/css/3518.68d3e67d.chunk.css +2 -0
  45. package/web/static/css/3518.68d3e67d.chunk.css.map +1 -0
  46. package/web/static/css/3812.68d3e67d.chunk.css +2 -0
  47. package/web/static/css/3812.68d3e67d.chunk.css.map +1 -0
  48. package/web/static/css/3917.68d3e67d.chunk.css +2 -0
  49. package/web/static/css/3917.68d3e67d.chunk.css.map +1 -0
  50. package/web/static/css/4010.68d3e67d.chunk.css +2 -0
  51. package/web/static/css/4010.68d3e67d.chunk.css.map +1 -0
  52. package/web/static/css/4098.68d3e67d.chunk.css +2 -0
  53. package/web/static/css/4098.68d3e67d.chunk.css.map +1 -0
  54. package/web/static/css/4128.68d3e67d.chunk.css +2 -0
  55. package/web/static/css/4128.68d3e67d.chunk.css.map +1 -0
  56. package/web/static/css/4188.68d3e67d.chunk.css +2 -0
  57. package/web/static/css/4188.68d3e67d.chunk.css.map +1 -0
  58. package/web/static/css/{4396.dff7ced8.chunk.css → 4396.2422fe7f.chunk.css} +2 -2
  59. package/web/static/css/{4396.dff7ced8.chunk.css.map → 4396.2422fe7f.chunk.css.map} +1 -1
  60. package/web/static/css/4405.68d3e67d.chunk.css +2 -0
  61. package/web/static/css/4405.68d3e67d.chunk.css.map +1 -0
  62. package/web/static/css/4503.68d3e67d.chunk.css +2 -0
  63. package/web/static/css/4503.68d3e67d.chunk.css.map +1 -0
  64. package/web/static/css/4648.68d3e67d.chunk.css +2 -0
  65. package/web/static/css/4648.68d3e67d.chunk.css.map +1 -0
  66. package/web/static/css/4948.68d3e67d.chunk.css +2 -0
  67. package/web/static/css/4948.68d3e67d.chunk.css.map +1 -0
  68. package/web/static/css/5244.68d3e67d.chunk.css +2 -0
  69. package/web/static/css/5244.68d3e67d.chunk.css.map +1 -0
  70. package/web/static/css/5308.68d3e67d.chunk.css +2 -0
  71. package/web/static/css/5308.68d3e67d.chunk.css.map +1 -0
  72. package/web/static/css/5393.68d3e67d.chunk.css +2 -0
  73. package/web/static/css/5393.68d3e67d.chunk.css.map +1 -0
  74. package/web/static/css/5408.68d3e67d.chunk.css +2 -0
  75. package/web/static/css/5408.68d3e67d.chunk.css.map +1 -0
  76. package/web/static/css/5595.68d3e67d.chunk.css +2 -0
  77. package/web/static/css/5595.68d3e67d.chunk.css.map +1 -0
  78. package/web/static/css/5865.68d3e67d.chunk.css +2 -0
  79. package/web/static/css/5865.68d3e67d.chunk.css.map +1 -0
  80. package/web/static/css/{643.e3a148be.chunk.css → 643.68d3e67d.chunk.css} +2 -2
  81. package/web/static/css/{694.e3a148be.chunk.css.map → 643.68d3e67d.chunk.css.map} +1 -1
  82. package/web/static/css/6510.68d3e67d.chunk.css +2 -0
  83. package/web/static/css/6510.68d3e67d.chunk.css.map +1 -0
  84. package/web/static/css/6715.68d3e67d.chunk.css +2 -0
  85. package/web/static/css/6715.68d3e67d.chunk.css.map +1 -0
  86. package/web/static/css/6730.68d3e67d.chunk.css +2 -0
  87. package/web/static/css/6730.68d3e67d.chunk.css.map +1 -0
  88. package/web/static/css/{694.e3a148be.chunk.css → 694.68d3e67d.chunk.css} +2 -2
  89. package/web/static/css/{643.e3a148be.chunk.css.map → 694.68d3e67d.chunk.css.map} +1 -1
  90. package/web/static/css/7104.68d3e67d.chunk.css +2 -0
  91. package/web/static/css/7104.68d3e67d.chunk.css.map +1 -0
  92. package/web/static/css/7157.68d3e67d.chunk.css +2 -0
  93. package/web/static/css/7157.68d3e67d.chunk.css.map +1 -0
  94. package/web/static/css/7390.68d3e67d.chunk.css +2 -0
  95. package/web/static/css/7390.68d3e67d.chunk.css.map +1 -0
  96. package/web/static/css/748.68d3e67d.chunk.css +2 -0
  97. package/web/static/css/748.68d3e67d.chunk.css.map +1 -0
  98. package/web/static/css/7541.68d3e67d.chunk.css +2 -0
  99. package/web/static/css/7541.68d3e67d.chunk.css.map +1 -0
  100. package/web/static/css/7761.68d3e67d.chunk.css +2 -0
  101. package/web/static/css/7761.68d3e67d.chunk.css.map +1 -0
  102. package/web/static/css/7834.68d3e67d.chunk.css +2 -0
  103. package/web/static/css/7834.68d3e67d.chunk.css.map +1 -0
  104. package/web/static/css/7875.68d3e67d.chunk.css +2 -0
  105. package/web/static/css/7875.68d3e67d.chunk.css.map +1 -0
  106. package/web/static/css/7884.68d3e67d.chunk.css +2 -0
  107. package/web/static/css/7884.68d3e67d.chunk.css.map +1 -0
  108. package/web/static/css/8023.68d3e67d.chunk.css +2 -0
  109. package/web/static/css/8023.68d3e67d.chunk.css.map +1 -0
  110. package/web/static/css/8073.68d3e67d.chunk.css +2 -0
  111. package/web/static/css/8073.68d3e67d.chunk.css.map +1 -0
  112. package/web/static/css/8566.68d3e67d.chunk.css +2 -0
  113. package/web/static/css/8566.68d3e67d.chunk.css.map +1 -0
  114. package/web/static/css/875.68d3e67d.chunk.css +2 -0
  115. package/web/static/css/875.68d3e67d.chunk.css.map +1 -0
  116. package/web/static/css/9121.68d3e67d.chunk.css +2 -0
  117. package/web/static/css/9121.68d3e67d.chunk.css.map +1 -0
  118. package/web/static/css/9253.68d3e67d.chunk.css +2 -0
  119. package/web/static/css/9253.68d3e67d.chunk.css.map +1 -0
  120. package/web/static/css/9260.68d3e67d.chunk.css +2 -0
  121. package/web/static/css/9260.68d3e67d.chunk.css.map +1 -0
  122. package/web/static/css/9384.68d3e67d.chunk.css +2 -0
  123. package/web/static/css/9384.68d3e67d.chunk.css.map +1 -0
  124. package/web/static/css/9503.68d3e67d.chunk.css +2 -0
  125. package/web/static/css/9503.68d3e67d.chunk.css.map +1 -0
  126. package/web/static/css/9673.68d3e67d.chunk.css +2 -0
  127. package/web/static/css/9673.68d3e67d.chunk.css.map +1 -0
  128. package/web/static/css/9763.68d3e67d.chunk.css +2 -0
  129. package/web/static/css/9763.68d3e67d.chunk.css.map +1 -0
  130. package/web/static/css/9776.68d3e67d.chunk.css +2 -0
  131. package/web/static/css/9776.68d3e67d.chunk.css.map +1 -0
  132. package/web/static/css/9777.68d3e67d.chunk.css +2 -0
  133. package/web/static/css/9777.68d3e67d.chunk.css.map +1 -0
  134. package/web/static/css/9853.68d3e67d.chunk.css +2 -0
  135. package/web/static/css/9853.68d3e67d.chunk.css.map +1 -0
  136. package/web/static/css/{main.ffb4825d.css → main.57a5e574.css} +2 -2
  137. package/web/static/css/main.57a5e574.css.map +1 -0
  138. package/web/static/js/1043.349c6913.chunk.js +3 -0
  139. package/web/static/js/{1043.b6314c0a.chunk.js.LICENSE.txt → 1043.349c6913.chunk.js.LICENSE.txt} +0 -0
  140. package/web/static/js/1043.349c6913.chunk.js.map +1 -0
  141. package/web/static/js/1059.8d93d764.chunk.js +2 -0
  142. package/web/static/js/{2782.4177c657.chunk.js.map → 1059.8d93d764.chunk.js.map} +1 -1
  143. package/web/static/js/{6715.287b1279.chunk.js → 1061.bafae318.chunk.js} +2 -2
  144. package/web/static/js/1061.bafae318.chunk.js.map +1 -0
  145. package/web/static/js/1127.d65f8357.chunk.js +2 -0
  146. package/web/static/js/1127.d65f8357.chunk.js.map +1 -0
  147. package/web/static/js/{1820.6430dc26.chunk.js → 1169.4742ac85.chunk.js} +2 -2
  148. package/web/static/js/{9673.87ea6a7b.chunk.js.map → 1169.4742ac85.chunk.js.map} +1 -1
  149. package/web/static/js/{1061.2de80fcd.chunk.js → 1317.7b8f76ae.chunk.js} +2 -2
  150. package/web/static/js/{4503.e501a88a.chunk.js.map → 1317.7b8f76ae.chunk.js.map} +1 -1
  151. package/web/static/js/{1169.d986f6de.chunk.js → 1584.418b6349.chunk.js} +2 -2
  152. package/web/static/js/1584.418b6349.chunk.js.map +1 -0
  153. package/web/static/js/{7104.47f5dfec.chunk.js → 1619.9c818bd8.chunk.js} +2 -2
  154. package/web/static/js/{5244.3b905501.chunk.js.map → 1619.9c818bd8.chunk.js.map} +1 -1
  155. package/web/static/js/{163.48b6d67e.chunk.js → 163.6837d31d.chunk.js} +2 -2
  156. package/web/static/js/163.6837d31d.chunk.js.map +1 -0
  157. package/web/static/js/1820.b2763759.chunk.js +2 -0
  158. package/web/static/js/{2230.58b26a2d.chunk.js.map → 1820.b2763759.chunk.js.map} +1 -1
  159. package/web/static/js/2156.daa2586e.chunk.js +2 -0
  160. package/web/static/js/2156.daa2586e.chunk.js.map +1 -0
  161. package/web/static/js/{2316.9dec5f16.chunk.js → 2190.e0254e40.chunk.js} +2 -2
  162. package/web/static/js/2190.e0254e40.chunk.js.map +1 -0
  163. package/web/static/js/{221.6b5b2fe5.chunk.js → 221.eea92a59.chunk.js} +2 -2
  164. package/web/static/js/221.eea92a59.chunk.js.map +1 -0
  165. package/web/static/js/{2737.e8d3ead5.chunk.js → 2230.7a6c8cd8.chunk.js} +2 -2
  166. package/web/static/js/{1619.c5b10dbd.chunk.js.map → 2230.7a6c8cd8.chunk.js.map} +1 -1
  167. package/web/static/js/{2156.d32cfe3e.chunk.js → 2316.db72b41c.chunk.js} +2 -2
  168. package/web/static/js/{3313.5999c1b9.chunk.js.map → 2316.db72b41c.chunk.js.map} +1 -1
  169. package/web/static/js/2367.9ee69370.chunk.js +2 -0
  170. package/web/static/js/2367.9ee69370.chunk.js.map +1 -0
  171. package/web/static/js/2411.dc48e7bf.chunk.js +2 -0
  172. package/web/static/js/2411.dc48e7bf.chunk.js.map +1 -0
  173. package/web/static/js/{2411.66af5e4c.chunk.js → 2582.b6f142f5.chunk.js} +2 -2
  174. package/web/static/js/2582.b6f142f5.chunk.js.map +1 -0
  175. package/web/static/js/{2595.ceb152f2.chunk.js → 2595.3c01356b.chunk.js} +2 -2
  176. package/web/static/js/{4010.6db3b560.chunk.js.map → 2595.3c01356b.chunk.js.map} +1 -1
  177. package/web/static/js/2737.60b2a241.chunk.js +2 -0
  178. package/web/static/js/{2367.234da486.chunk.js.map → 2737.60b2a241.chunk.js.map} +1 -1
  179. package/web/static/js/2782.3d0e3e80.chunk.js +2 -0
  180. package/web/static/js/{7761.9173e2e1.chunk.js.map → 2782.3d0e3e80.chunk.js.map} +1 -1
  181. package/web/static/js/{2230.58b26a2d.chunk.js → 3313.ef6bf434.chunk.js} +2 -2
  182. package/web/static/js/3313.ef6bf434.chunk.js.map +1 -0
  183. package/web/static/js/3518.8040e47f.chunk.js +2 -0
  184. package/web/static/js/3518.8040e47f.chunk.js.map +1 -0
  185. package/web/static/js/3812.bc0af0bb.chunk.js +2 -0
  186. package/web/static/js/3812.bc0af0bb.chunk.js.map +1 -0
  187. package/web/static/js/3917.519fc58c.chunk.js +2 -0
  188. package/web/static/js/3917.519fc58c.chunk.js.map +1 -0
  189. package/web/static/js/{5308.c2b3bc72.chunk.js → 4010.beda51de.chunk.js} +2 -2
  190. package/web/static/js/4010.beda51de.chunk.js.map +1 -0
  191. package/web/static/js/4036.46baa59c.chunk.js +2 -0
  192. package/web/static/js/4036.46baa59c.chunk.js.map +1 -0
  193. package/web/static/js/4098.d140db1b.chunk.js +2 -0
  194. package/web/static/js/4098.d140db1b.chunk.js.map +1 -0
  195. package/web/static/js/4128.7cd288b0.chunk.js +2 -0
  196. package/web/static/js/4128.7cd288b0.chunk.js.map +1 -0
  197. package/web/static/js/{4010.6db3b560.chunk.js → 4188.d265b102.chunk.js} +2 -2
  198. package/web/static/js/4188.d265b102.chunk.js.map +1 -0
  199. package/web/static/js/4396.9e016c63.chunk.js +2 -0
  200. package/web/static/js/4396.9e016c63.chunk.js.map +1 -0
  201. package/web/static/js/{4396.d552cfe3.chunk.js → 4405.186e7fd9.chunk.js} +2 -2
  202. package/web/static/js/4405.186e7fd9.chunk.js.map +1 -0
  203. package/web/static/js/{9384.8e822042.chunk.js → 4503.3fb07ae2.chunk.js} +2 -2
  204. package/web/static/js/{2411.66af5e4c.chunk.js.map → 4503.3fb07ae2.chunk.js.map} +1 -1
  205. package/web/static/js/{4405.c204a3d7.chunk.js → 4648.d6c2126d.chunk.js} +2 -2
  206. package/web/static/js/{1059.90585733.chunk.js.map → 4648.d6c2126d.chunk.js.map} +1 -1
  207. package/web/static/js/{4877.2a1eff17.chunk.js → 4877.61f21bf4.chunk.js} +2 -2
  208. package/web/static/js/{4877.2a1eff17.chunk.js.map → 4877.61f21bf4.chunk.js.map} +1 -1
  209. package/web/static/js/{4128.61fc39cb.chunk.js → 4948.dff3b80c.chunk.js} +2 -2
  210. package/web/static/js/4948.dff3b80c.chunk.js.map +1 -0
  211. package/web/static/js/5183.7b46ce4a.js +3 -0
  212. package/web/static/js/{516.4f77e6c7.js.LICENSE.txt → 5183.7b46ce4a.js.LICENSE.txt} +1 -1
  213. package/web/static/js/5183.7b46ce4a.js.map +1 -0
  214. package/web/static/js/{5408.3dc527f7.chunk.js → 5244.608b4c80.chunk.js} +2 -2
  215. package/web/static/js/5244.608b4c80.chunk.js.map +1 -0
  216. package/web/static/js/5253.0a82cabf.chunk.js +2 -0
  217. package/web/static/js/5253.0a82cabf.chunk.js.map +1 -0
  218. package/web/static/js/{9777.90dbd095.chunk.js → 5308.4a4aa5a9.chunk.js} +2 -2
  219. package/web/static/js/{1317.6d4b9297.chunk.js.map → 5308.4a4aa5a9.chunk.js.map} +1 -1
  220. package/web/static/js/{3812.305ecc37.chunk.js → 5393.c81d552c.chunk.js} +2 -2
  221. package/web/static/js/5393.c81d552c.chunk.js.map +1 -0
  222. package/web/static/js/{5244.3b905501.chunk.js → 5408.584807af.chunk.js} +2 -2
  223. package/web/static/js/5408.584807af.chunk.js.map +1 -0
  224. package/web/static/js/{7761.9173e2e1.chunk.js → 5595.9370354a.chunk.js} +2 -2
  225. package/web/static/js/5595.9370354a.chunk.js.map +1 -0
  226. package/web/static/js/{5865.ca7ef99e.chunk.js → 5865.898599aa.chunk.js} +2 -2
  227. package/web/static/js/5865.898599aa.chunk.js.map +1 -0
  228. package/web/static/js/{643.7ec13dc3.chunk.js → 643.deb50ab9.chunk.js} +2 -2
  229. package/web/static/js/643.deb50ab9.chunk.js.map +1 -0
  230. package/web/static/js/6510.e40cde6e.chunk.js +2 -0
  231. package/web/static/js/6510.e40cde6e.chunk.js.map +1 -0
  232. package/web/static/js/{6566.75acebe9.chunk.js → 6566.f7efbc17.chunk.js} +2 -2
  233. package/web/static/js/{6566.75acebe9.chunk.js.map → 6566.f7efbc17.chunk.js.map} +1 -1
  234. package/web/static/js/{2367.234da486.chunk.js → 6715.fb4ea4c4.chunk.js} +2 -2
  235. package/web/static/js/{5595.6d07e12f.chunk.js.map → 6715.fb4ea4c4.chunk.js.map} +1 -1
  236. package/web/static/js/6730.85ac4657.chunk.js +2 -0
  237. package/web/static/js/6730.85ac4657.chunk.js.map +1 -0
  238. package/web/static/js/{694.0bb59e65.chunk.js → 694.a0a07e64.chunk.js} +2 -2
  239. package/web/static/js/694.a0a07e64.chunk.js.map +1 -0
  240. package/web/static/js/{3917.ec9cb6d1.chunk.js → 7104.e2466efa.chunk.js} +2 -2
  241. package/web/static/js/{5393.50e4a031.chunk.js.map → 7104.e2466efa.chunk.js.map} +1 -1
  242. package/web/static/js/{2582.7015fb11.chunk.js → 7157.1533756d.chunk.js} +2 -2
  243. package/web/static/js/{8073.7479be04.chunk.js.map → 7157.1533756d.chunk.js.map} +1 -1
  244. package/web/static/js/7217.6128cabc.chunk.js +2 -0
  245. package/web/static/js/7217.6128cabc.chunk.js.map +1 -0
  246. package/web/static/js/{7157.a7f5348a.chunk.js → 7390.17e03376.chunk.js} +2 -2
  247. package/web/static/js/7390.17e03376.chunk.js.map +1 -0
  248. package/web/static/js/{748.69f720a3.chunk.js → 748.3995d5b1.chunk.js} +2 -2
  249. package/web/static/js/748.3995d5b1.chunk.js.map +1 -0
  250. package/web/static/js/7541.8a3e98e8.chunk.js +2 -0
  251. package/web/static/js/{7104.47f5dfec.chunk.js.map → 7541.8a3e98e8.chunk.js.map} +1 -1
  252. package/web/static/js/{8023.e725f7dd.chunk.js → 7761.b041c399.chunk.js} +2 -2
  253. package/web/static/js/{7834.2f837df7.chunk.js.map → 7761.b041c399.chunk.js.map} +1 -1
  254. package/web/static/js/{7541.6ec1ccbd.chunk.js → 7834.90321cfc.chunk.js} +2 -2
  255. package/web/static/js/{4396.d552cfe3.chunk.js.map → 7834.90321cfc.chunk.js.map} +1 -1
  256. package/web/static/js/{7875.7ea581ed.chunk.js → 7875.b3655b54.chunk.js} +2 -2
  257. package/web/static/js/7875.b3655b54.chunk.js.map +1 -0
  258. package/web/static/js/{7884.169e89d6.chunk.js → 7884.8b4eeda6.chunk.js} +2 -2
  259. package/web/static/js/{8566.a4c19dba.chunk.js.map → 7884.8b4eeda6.chunk.js.map} +1 -1
  260. package/web/static/js/8023.14f69466.chunk.js +2 -0
  261. package/web/static/js/8023.14f69466.chunk.js.map +1 -0
  262. package/web/static/js/{8566.a4c19dba.chunk.js → 8073.1cc27e20.chunk.js} +2 -2
  263. package/web/static/js/8073.1cc27e20.chunk.js.map +1 -0
  264. package/web/static/js/8566.e87e1df8.chunk.js +2 -0
  265. package/web/static/js/8566.e87e1df8.chunk.js.map +1 -0
  266. package/web/static/js/{875.64279ea7.chunk.js → 875.1455109f.chunk.js} +2 -2
  267. package/web/static/js/875.1455109f.chunk.js.map +1 -0
  268. package/web/static/js/9121.bc38ef00.chunk.js +2 -0
  269. package/web/static/js/9121.bc38ef00.chunk.js.map +1 -0
  270. package/web/static/js/9137.f4e2b7b0.chunk.js +2 -0
  271. package/web/static/js/9137.f4e2b7b0.chunk.js.map +1 -0
  272. package/web/static/js/{9200.2bc62823.chunk.js → 9200.0a1f7353.chunk.js} +2 -2
  273. package/web/static/js/9200.0a1f7353.chunk.js.map +1 -0
  274. package/web/static/js/{2782.4177c657.chunk.js → 9253.a47fa280.chunk.js} +2 -2
  275. package/web/static/js/9253.a47fa280.chunk.js.map +1 -0
  276. package/web/static/js/{9260.06d0bd83.chunk.js → 9260.8fda343b.chunk.js} +2 -2
  277. package/web/static/js/{2737.e8d3ead5.chunk.js.map → 9260.8fda343b.chunk.js.map} +1 -1
  278. package/web/static/js/9384.d614be5c.chunk.js +2 -0
  279. package/web/static/js/9384.d614be5c.chunk.js.map +1 -0
  280. package/web/static/js/{9429.b142ace4.chunk.js → 9429.3b8debbf.chunk.js} +2 -2
  281. package/web/static/js/{9429.b142ace4.chunk.js.map → 9429.3b8debbf.chunk.js.map} +1 -1
  282. package/web/static/js/{9776.e9c3b31c.chunk.js → 9503.717ea617.chunk.js} +2 -2
  283. package/web/static/js/9503.717ea617.chunk.js.map +1 -0
  284. package/web/static/js/9673.38c02b53.chunk.js +2 -0
  285. package/web/static/js/{7541.6ec1ccbd.chunk.js.map → 9673.38c02b53.chunk.js.map} +1 -1
  286. package/web/static/js/{9673.87ea6a7b.chunk.js → 9763.45af4bae.chunk.js} +2 -2
  287. package/web/static/js/{4405.c204a3d7.chunk.js.map → 9763.45af4bae.chunk.js.map} +1 -1
  288. package/web/static/js/{9253.c8a3645c.chunk.js → 9776.3d376dc8.chunk.js} +2 -2
  289. package/web/static/js/9776.3d376dc8.chunk.js.map +1 -0
  290. package/web/static/js/9777.ee9694db.chunk.js +2 -0
  291. package/web/static/js/9777.ee9694db.chunk.js.map +1 -0
  292. package/web/static/js/{9121.efc0e8ad.chunk.js → 9853.9f7133a2.chunk.js} +2 -2
  293. package/web/static/js/9853.9f7133a2.chunk.js.map +1 -0
  294. package/web/static/js/main.d836800f.js +2 -0
  295. package/web/static/js/main.d836800f.js.map +1 -0
  296. package/web/static/css/1584.e3a148be.chunk.css +0 -2
  297. package/web/static/css/1584.e3a148be.chunk.css.map +0 -1
  298. package/web/static/css/1619.e3a148be.chunk.css +0 -2
  299. package/web/static/css/1619.e3a148be.chunk.css.map +0 -1
  300. package/web/static/css/1820.e3a148be.chunk.css +0 -2
  301. package/web/static/css/1820.e3a148be.chunk.css.map +0 -1
  302. package/web/static/css/2156.e3a148be.chunk.css +0 -2
  303. package/web/static/css/2156.e3a148be.chunk.css.map +0 -1
  304. package/web/static/css/2190.e3a148be.chunk.css +0 -2
  305. package/web/static/css/2190.e3a148be.chunk.css.map +0 -1
  306. package/web/static/css/2230.e3a148be.chunk.css +0 -2
  307. package/web/static/css/2230.e3a148be.chunk.css.map +0 -1
  308. package/web/static/css/2316.e3a148be.chunk.css +0 -2
  309. package/web/static/css/2316.e3a148be.chunk.css.map +0 -1
  310. package/web/static/css/2367.e3a148be.chunk.css +0 -2
  311. package/web/static/css/2367.e3a148be.chunk.css.map +0 -1
  312. package/web/static/css/2411.e3a148be.chunk.css +0 -2
  313. package/web/static/css/2411.e3a148be.chunk.css.map +0 -1
  314. package/web/static/css/2582.e3a148be.chunk.css +0 -2
  315. package/web/static/css/2582.e3a148be.chunk.css.map +0 -1
  316. package/web/static/css/2595.e3a148be.chunk.css +0 -2
  317. package/web/static/css/2595.e3a148be.chunk.css.map +0 -1
  318. package/web/static/css/2737.e3a148be.chunk.css +0 -2
  319. package/web/static/css/2737.e3a148be.chunk.css.map +0 -1
  320. package/web/static/css/2782.e3a148be.chunk.css +0 -2
  321. package/web/static/css/2782.e3a148be.chunk.css.map +0 -1
  322. package/web/static/css/3313.e3a148be.chunk.css +0 -2
  323. package/web/static/css/3313.e3a148be.chunk.css.map +0 -1
  324. package/web/static/css/3518.e3a148be.chunk.css +0 -2
  325. package/web/static/css/3518.e3a148be.chunk.css.map +0 -1
  326. package/web/static/css/3812.e3a148be.chunk.css +0 -2
  327. package/web/static/css/3812.e3a148be.chunk.css.map +0 -1
  328. package/web/static/css/3917.e3a148be.chunk.css +0 -2
  329. package/web/static/css/3917.e3a148be.chunk.css.map +0 -1
  330. package/web/static/css/4010.e3a148be.chunk.css +0 -2
  331. package/web/static/css/4010.e3a148be.chunk.css.map +0 -1
  332. package/web/static/css/4098.e3a148be.chunk.css +0 -2
  333. package/web/static/css/4098.e3a148be.chunk.css.map +0 -1
  334. package/web/static/css/4128.e3a148be.chunk.css +0 -2
  335. package/web/static/css/4128.e3a148be.chunk.css.map +0 -1
  336. package/web/static/css/4188.e3a148be.chunk.css +0 -2
  337. package/web/static/css/4188.e3a148be.chunk.css.map +0 -1
  338. package/web/static/css/4405.e3a148be.chunk.css +0 -2
  339. package/web/static/css/4405.e3a148be.chunk.css.map +0 -1
  340. package/web/static/css/4503.e3a148be.chunk.css +0 -2
  341. package/web/static/css/4503.e3a148be.chunk.css.map +0 -1
  342. package/web/static/css/4648.e3a148be.chunk.css +0 -2
  343. package/web/static/css/4648.e3a148be.chunk.css.map +0 -1
  344. package/web/static/css/4948.e3a148be.chunk.css +0 -2
  345. package/web/static/css/4948.e3a148be.chunk.css.map +0 -1
  346. package/web/static/css/5244.e3a148be.chunk.css +0 -2
  347. package/web/static/css/5244.e3a148be.chunk.css.map +0 -1
  348. package/web/static/css/5308.e3a148be.chunk.css +0 -2
  349. package/web/static/css/5308.e3a148be.chunk.css.map +0 -1
  350. package/web/static/css/5393.e3a148be.chunk.css +0 -2
  351. package/web/static/css/5393.e3a148be.chunk.css.map +0 -1
  352. package/web/static/css/5408.e3a148be.chunk.css +0 -2
  353. package/web/static/css/5408.e3a148be.chunk.css.map +0 -1
  354. package/web/static/css/5595.e3a148be.chunk.css +0 -2
  355. package/web/static/css/5595.e3a148be.chunk.css.map +0 -1
  356. package/web/static/css/5865.e3a148be.chunk.css +0 -2
  357. package/web/static/css/5865.e3a148be.chunk.css.map +0 -1
  358. package/web/static/css/6510.e3a148be.chunk.css +0 -2
  359. package/web/static/css/6510.e3a148be.chunk.css.map +0 -1
  360. package/web/static/css/6715.e3a148be.chunk.css +0 -2
  361. package/web/static/css/6715.e3a148be.chunk.css.map +0 -1
  362. package/web/static/css/6730.e3a148be.chunk.css +0 -2
  363. package/web/static/css/6730.e3a148be.chunk.css.map +0 -1
  364. package/web/static/css/7104.e3a148be.chunk.css +0 -2
  365. package/web/static/css/7104.e3a148be.chunk.css.map +0 -1
  366. package/web/static/css/7157.e3a148be.chunk.css +0 -2
  367. package/web/static/css/7157.e3a148be.chunk.css.map +0 -1
  368. package/web/static/css/7390.e3a148be.chunk.css +0 -2
  369. package/web/static/css/7390.e3a148be.chunk.css.map +0 -1
  370. package/web/static/css/748.e3a148be.chunk.css +0 -2
  371. package/web/static/css/748.e3a148be.chunk.css.map +0 -1
  372. package/web/static/css/7541.e3a148be.chunk.css +0 -2
  373. package/web/static/css/7541.e3a148be.chunk.css.map +0 -1
  374. package/web/static/css/7761.e3a148be.chunk.css +0 -2
  375. package/web/static/css/7761.e3a148be.chunk.css.map +0 -1
  376. package/web/static/css/7834.e3a148be.chunk.css +0 -2
  377. package/web/static/css/7834.e3a148be.chunk.css.map +0 -1
  378. package/web/static/css/7875.e3a148be.chunk.css +0 -2
  379. package/web/static/css/7875.e3a148be.chunk.css.map +0 -1
  380. package/web/static/css/7884.e3a148be.chunk.css +0 -2
  381. package/web/static/css/7884.e3a148be.chunk.css.map +0 -1
  382. package/web/static/css/8023.e3a148be.chunk.css +0 -2
  383. package/web/static/css/8023.e3a148be.chunk.css.map +0 -1
  384. package/web/static/css/8073.e3a148be.chunk.css +0 -2
  385. package/web/static/css/8073.e3a148be.chunk.css.map +0 -1
  386. package/web/static/css/8566.e3a148be.chunk.css +0 -2
  387. package/web/static/css/8566.e3a148be.chunk.css.map +0 -1
  388. package/web/static/css/875.e3a148be.chunk.css +0 -2
  389. package/web/static/css/875.e3a148be.chunk.css.map +0 -1
  390. package/web/static/css/9121.e3a148be.chunk.css +0 -2
  391. package/web/static/css/9121.e3a148be.chunk.css.map +0 -1
  392. package/web/static/css/9253.e3a148be.chunk.css +0 -2
  393. package/web/static/css/9253.e3a148be.chunk.css.map +0 -1
  394. package/web/static/css/9260.e3a148be.chunk.css +0 -2
  395. package/web/static/css/9260.e3a148be.chunk.css.map +0 -1
  396. package/web/static/css/9384.e3a148be.chunk.css +0 -2
  397. package/web/static/css/9384.e3a148be.chunk.css.map +0 -1
  398. package/web/static/css/9503.e3a148be.chunk.css +0 -2
  399. package/web/static/css/9503.e3a148be.chunk.css.map +0 -1
  400. package/web/static/css/9673.e3a148be.chunk.css +0 -2
  401. package/web/static/css/9673.e3a148be.chunk.css.map +0 -1
  402. package/web/static/css/9763.e3a148be.chunk.css +0 -2
  403. package/web/static/css/9763.e3a148be.chunk.css.map +0 -1
  404. package/web/static/css/9776.e3a148be.chunk.css +0 -2
  405. package/web/static/css/9776.e3a148be.chunk.css.map +0 -1
  406. package/web/static/css/9777.e3a148be.chunk.css +0 -2
  407. package/web/static/css/9777.e3a148be.chunk.css.map +0 -1
  408. package/web/static/css/9853.e3a148be.chunk.css +0 -2
  409. package/web/static/css/9853.e3a148be.chunk.css.map +0 -1
  410. package/web/static/css/main.ffb4825d.css.map +0 -1
  411. package/web/static/js/1043.b6314c0a.chunk.js +0 -3
  412. package/web/static/js/1043.b6314c0a.chunk.js.map +0 -1
  413. package/web/static/js/1059.90585733.chunk.js +0 -2
  414. package/web/static/js/1061.2de80fcd.chunk.js.map +0 -1
  415. package/web/static/js/1127.687bbdbb.chunk.js +0 -2
  416. package/web/static/js/1127.687bbdbb.chunk.js.map +0 -1
  417. package/web/static/js/1169.d986f6de.chunk.js.map +0 -1
  418. package/web/static/js/1317.6d4b9297.chunk.js +0 -2
  419. package/web/static/js/1584.558ef9a8.chunk.js +0 -2
  420. package/web/static/js/1584.558ef9a8.chunk.js.map +0 -1
  421. package/web/static/js/1619.c5b10dbd.chunk.js +0 -2
  422. package/web/static/js/163.48b6d67e.chunk.js.map +0 -1
  423. package/web/static/js/1820.6430dc26.chunk.js.map +0 -1
  424. package/web/static/js/2156.d32cfe3e.chunk.js.map +0 -1
  425. package/web/static/js/2190.5a20a062.chunk.js +0 -2
  426. package/web/static/js/2190.5a20a062.chunk.js.map +0 -1
  427. package/web/static/js/221.6b5b2fe5.chunk.js.map +0 -1
  428. package/web/static/js/2316.9dec5f16.chunk.js.map +0 -1
  429. package/web/static/js/2582.7015fb11.chunk.js.map +0 -1
  430. package/web/static/js/2595.ceb152f2.chunk.js.map +0 -1
  431. package/web/static/js/3313.5999c1b9.chunk.js +0 -2
  432. package/web/static/js/3518.00703058.chunk.js +0 -2
  433. package/web/static/js/3518.00703058.chunk.js.map +0 -1
  434. package/web/static/js/3812.305ecc37.chunk.js.map +0 -1
  435. package/web/static/js/3917.ec9cb6d1.chunk.js.map +0 -1
  436. package/web/static/js/4036.7e4b2102.chunk.js +0 -2
  437. package/web/static/js/4036.7e4b2102.chunk.js.map +0 -1
  438. package/web/static/js/4098.8094389c.chunk.js +0 -2
  439. package/web/static/js/4098.8094389c.chunk.js.map +0 -1
  440. package/web/static/js/4128.61fc39cb.chunk.js.map +0 -1
  441. package/web/static/js/4188.1b69c498.chunk.js +0 -2
  442. package/web/static/js/4188.1b69c498.chunk.js.map +0 -1
  443. package/web/static/js/4503.e501a88a.chunk.js +0 -2
  444. package/web/static/js/4648.b7920b60.chunk.js +0 -2
  445. package/web/static/js/4648.b7920b60.chunk.js.map +0 -1
  446. package/web/static/js/4948.5e0e4e70.chunk.js +0 -2
  447. package/web/static/js/4948.5e0e4e70.chunk.js.map +0 -1
  448. package/web/static/js/516.4f77e6c7.js +0 -3
  449. package/web/static/js/516.4f77e6c7.js.map +0 -1
  450. package/web/static/js/5253.2285ee49.chunk.js +0 -2
  451. package/web/static/js/5253.2285ee49.chunk.js.map +0 -1
  452. package/web/static/js/5308.c2b3bc72.chunk.js.map +0 -1
  453. package/web/static/js/5393.50e4a031.chunk.js +0 -2
  454. package/web/static/js/5408.3dc527f7.chunk.js.map +0 -1
  455. package/web/static/js/5595.6d07e12f.chunk.js +0 -2
  456. package/web/static/js/5865.ca7ef99e.chunk.js.map +0 -1
  457. package/web/static/js/643.7ec13dc3.chunk.js.map +0 -1
  458. package/web/static/js/6510.911f0fb7.chunk.js +0 -2
  459. package/web/static/js/6510.911f0fb7.chunk.js.map +0 -1
  460. package/web/static/js/6715.287b1279.chunk.js.map +0 -1
  461. package/web/static/js/6730.50a27f2a.chunk.js +0 -2
  462. package/web/static/js/6730.50a27f2a.chunk.js.map +0 -1
  463. package/web/static/js/694.0bb59e65.chunk.js.map +0 -1
  464. package/web/static/js/7157.a7f5348a.chunk.js.map +0 -1
  465. package/web/static/js/7217.25bb58ee.chunk.js +0 -2
  466. package/web/static/js/7217.25bb58ee.chunk.js.map +0 -1
  467. package/web/static/js/7390.3b656003.chunk.js +0 -2
  468. package/web/static/js/7390.3b656003.chunk.js.map +0 -1
  469. package/web/static/js/748.69f720a3.chunk.js.map +0 -1
  470. package/web/static/js/7834.2f837df7.chunk.js +0 -2
  471. package/web/static/js/7875.7ea581ed.chunk.js.map +0 -1
  472. package/web/static/js/7884.169e89d6.chunk.js.map +0 -1
  473. package/web/static/js/8023.e725f7dd.chunk.js.map +0 -1
  474. package/web/static/js/8073.7479be04.chunk.js +0 -2
  475. package/web/static/js/875.64279ea7.chunk.js.map +0 -1
  476. package/web/static/js/9121.efc0e8ad.chunk.js.map +0 -1
  477. package/web/static/js/9137.2ff84339.chunk.js +0 -2
  478. package/web/static/js/9137.2ff84339.chunk.js.map +0 -1
  479. package/web/static/js/9200.2bc62823.chunk.js.map +0 -1
  480. package/web/static/js/9253.c8a3645c.chunk.js.map +0 -1
  481. package/web/static/js/9260.06d0bd83.chunk.js.map +0 -1
  482. package/web/static/js/9384.8e822042.chunk.js.map +0 -1
  483. package/web/static/js/9503.cce5eb44.chunk.js +0 -2
  484. package/web/static/js/9503.cce5eb44.chunk.js.map +0 -1
  485. package/web/static/js/9763.2df38ebb.chunk.js +0 -2
  486. package/web/static/js/9763.2df38ebb.chunk.js.map +0 -1
  487. package/web/static/js/9776.e9c3b31c.chunk.js.map +0 -1
  488. package/web/static/js/9777.90dbd095.chunk.js.map +0 -1
  489. package/web/static/js/9853.1d38659a.chunk.js +0 -2
  490. package/web/static/js/9853.1d38659a.chunk.js.map +0 -1
  491. package/web/static/js/main.657865d8.js +0 -2
  492. package/web/static/js/main.657865d8.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/js/main.657865d8.js","mappings":"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","sources":["components/icons/logo.tsx","components/NoMatch/index.tsx","components/Loading/index.tsx","components/VersionSelect/index.module.less","components/VersionSelect/index.tsx","webpack://website/./src/layouts/index.module.less?ec2c","webpack://website/./src/components/SiderMenu/index.module.less?215c","components/icons/nav.tsx","components/SiderMenu/index.tsx","webpack://website/./src/components/Nav/index.module.less?d89d","contexts/index.ts","components/icons/menu.tsx","components/Nav/index.tsx","layouts/BaseLayout.tsx","routers.tsx","index.tsx","../../packages/utils/src/getScroll.ts","../../packages/utils/src/noop.ts","../../packages/react-affix/src/index.tsx","../../packages/react-portal/src/index.tsx","../../packages/react-overlay/src/index.tsx","../../packages/react-icon/src/index.tsx","../../packages/react-button/src/index.tsx","../../packages/react-modal/src/index.tsx","../../packages/react-alert/src/index.tsx","../../packages/react-auto-link/src/index.tsx","../../packages/react-avatar/src/index.tsx","../../packages/react-back-top/src/utils.ts","../../packages/react-back-top/src/index.tsx","../../packages/react-badge/src/index.tsx","../../packages/react-breadcrumb/src/Item.tsx","../../packages/react-breadcrumb/src/Breadcrumb.tsx","../../packages/react-breadcrumb/src/index.ts","../../packages/react-button-group/src/index.tsx","../../packages/react-overlay-trigger/src/utils.ts","../../packages/react-overlay-trigger/src/util/getBordersSize.ts","../../packages/react-overlay-trigger/src/util/isBrowser.ts","../../packages/react-overlay-trigger/src/util/isIE.ts","../../packages/react-overlay-trigger/src/util/getWindowSizes.ts","../../packages/react-overlay-trigger/src/util/getBoundingClientRect.ts","../../packages/react-overlay-trigger/src/util/getClientRect.ts","../../packages/react-overlay-trigger/src/util/getStyleComputedProperty.ts","../../packages/react-overlay-trigger/src/util/getOuterSizes.ts","../../packages/react-overlay-trigger/src/getStyle.ts","../../packages/react-overlay-trigger/src/index.tsx","../../packages/react-popover/src/index.tsx","../../packages/react-input/src/index.tsx","../../packages/react-time-picker/src/Panel.tsx","../../packages/react-time-picker/src/Time.tsx","../../packages/react-time-picker/src/index.tsx","../../packages/react-date-picker/src/DatePickerDay.tsx","../../packages/react-date-picker/src/DatePickerMonth.tsx","../../packages/react-date-picker/src/DatePickerYear.tsx","../../packages/react-date-picker/src/DatePickerCaption.tsx","../../packages/react-date-picker/src/index.tsx","../../packages/react-calendar/src/DayLabel.tsx","../../packages/react-calendar/src/index.tsx","../../packages/react-card/src/index.tsx","../../packages/react-radio/src/RadioAbstract.tsx","../../packages/react-radio/src/Radio.tsx","../../packages/react-radio/src/RadioGroup.tsx","../../packages/react-checkbox/src/Group.tsx","../../packages/react-checkbox/src/Checkbox.tsx","../../packages/react-checkbox/src/index.ts","../../packages/react-collapse/src/Collapse.tsx","../../packages/react-collapse/src/Panel.tsx","../../packages/react-collapse/src/index.ts","../../packages/react-copy-to-clipboard/src/index.tsx","../../packages/react-date-input/src/index.tsx","../../packages/react-descriptions/src/DescriptionsItem.tsx","../../packages/react-descriptions/src/Cell.tsx","../../packages/react-descriptions/src/Row.tsx","../../packages/react-descriptions/src/index.tsx","../../packages/react-divider/src/index.tsx","../../packages/react-drawer/src/index.tsx","../../packages/react-dropdown/src/index.tsx","../../packages/react-file-input/src/index.tsx","../../packages/react-grid/src/Col.tsx","../../packages/react-grid/src/Row.tsx","../../packages/react-form/src/FormItem.tsx","../../packages/react-form/src/Form.tsx","../../packages/react-form/src/index.ts","../../packages/react-list/src/Item.tsx","../../packages/react-list/src/index.tsx","../../packages/react-loader/src/index.tsx","../../packages/react-menu/src/MenuItem.tsx","../../packages/react-menu/src/Divider.tsx","../../packages/react-menu/src/SubMenu.tsx","../../packages/react-menu/src/Menu.tsx","../../packages/react-menu/src/index.ts","../../packages/react-message/src/index.tsx","../../packages/react-month-picker/src/index.tsx","../../packages/react-notify/src/Container.tsx","../../packages/react-notify/src/index.tsx","../../packages/utils/src/randomid.ts","../../packages/react-pagination/src/index.tsx","../../packages/react-pin-code/src/index.tsx","../../packages/react-progress/src/utils.tsx","../../packages/react-progress/src/Circle.tsx","../../packages/react-progress/src/Line.tsx","../../packages/react-progress/src/index.ts","../../packages/react-rate/src/index.tsx","../../packages/react-search-select/src/index.tsx","../../packages/react-select/src/Option.tsx","../../packages/react-select/src/Group.tsx","../../packages/react-select/src/index.tsx","../../packages/react-steps/src/Steps.tsx","../../packages/react-steps/src/Step.tsx","../../packages/react-steps/src/index.ts","../../packages/react-slider/src/Dots.tsx","../../packages/react-slider/src/index.tsx","../../packages/react-switch/src/index.tsx","../../packages/react-table/src/Thead.tsx","../../packages/react-table/src/util.ts","../../packages/react-table/src/index.tsx","../../packages/react-tabs/src/index.tsx","../../packages/react-tabs/src/Pane.tsx","../../packages/react-tag/src/index.tsx","../../packages/react-textarea/src/index.tsx","../../packages/react-tooltip/src/index.tsx","../../packages/react-tree/src/TreeNode.tsx","../../packages/react-tree/src/index.tsx","../../packages/react-tree-checked/src/index.tsx","../webpack/bootstrap","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","../webpack/startup"],"sourcesContent":["import React from 'react';\n\nconst logo = (\n <svg viewBox=\"0 0 20 20\" width=\"23\" height=\"23\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nconst dark = logo;\n\nconst light = (\n <svg viewBox=\"0 0 20 20\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nexport default {\n dark,\n light,\n};\n","import { Link } from 'react-router-dom';\n\nexport default function NoMatch() {\n return (\n <div>\n <h2>It looks like you're lost...</h2>\n <p>\n <Link to=\"/\">Go to the home page</Link>\n </p>\n </div>\n );\n}\n","import { Loader, Icon } from 'uiw';\n\nexport default function De() {\n return (\n <Loader tip=\"Loading...\" indicator={<Icon type=\"loading\" spin={true} style={{ verticalAlign: 'text-top' }} />} />\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useMemo } from 'react';\nimport { Select } from 'uiw';\nimport pkg from 'uiw/package.json';\nimport styles from './index.module.less';\n\ntype OptionsProps = {\n version?: string;\n};\n\nfunction Options(props = {} as OptionsProps) {\n return useMemo(() => <Select.Option value={props.version}>{props.version}</Select.Option>, [props.version]);\n}\n\nexport type VersionSelectProps = {\n data: string[];\n};\n\nconst VersionSelect = (props = {} as VersionSelectProps) => {\n function onChange(e: React.ChangeEvent<HTMLSelectElement>) {\n const version = e.target.value;\n const isV1 = version.split('.')[0] === '1';\n if (isV1) {\n window.location.href = `https://unpkg.com/uiw@${version}/dist/index.html`;\n } else {\n window.location.href = `https://unpkg.com/@uiw/doc@${version}/web/index.html`;\n }\n }\n // @ts-ignore\n // eslint-disable-next-line no-undef\n const currentVersion = pkg.version;\n const versionList = props.data;\n const firstVersion = versionList[0];\n if (firstVersion !== currentVersion) {\n versionList.unshift(currentVersion);\n }\n return useMemo(\n () => (\n <div className={styles.nav}>\n <Select defaultValue={versionList[0]} onChange={onChange}>\n {versionList.map((version, idx) => {\n return <Options key={idx} version={version} />;\n })}\n </Select>\n </div>\n ),\n [versionList],\n );\n};\n\nexport default VersionSelect;\n","// extracted by mini-css-extract-plugin\nexport default {\"sider\":\"index_sider__vrASx\",\"menuWarpper\":\"index_menuWarpper__asOzy\",\"subMenu\":\"index_subMenu__c4Mvo\"};","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"index_title__O5TzH\",\"menu\":\"index_menu__9HE8I\",\"divider\":\"index_divider__1cINS\"};","import React from 'react';\n\nexport default {\n home: (\n <svg width=\"23\" height=\"24\" viewBox=\"0 0 23 24\">\n <path\n fill=\"#555\"\n d=\"M7.95808665,21.4797568 L7.95808665,14.2926972 C7.95808665,13.872855 8.29729322,13.5325056 8.71572573,13.5325056 L14.7768383,13.5325056 C15.1952708,13.5325056 15.5344774,13.872855 15.5344774,14.2926972 L15.5344774,21.4800639 L18.3333605,21.4801773 C18.4412665,21.4760176 18.5251665,21.4671569 18.58271,21.4596448 C18.588514,21.3995182 18.5915777,21.3235793 18.5907536,21.2318213 L18.5909124,14.2893672 C18.590922,13.869525 18.9301364,13.5291834 19.3485689,13.5291931 C19.7670014,13.5292027 20.1062001,13.8695599 20.1061905,14.2894021 L20.1059996,21.2248359 C20.1119888,21.8771673 19.9896563,22.3494462 19.5993559,22.6516032 C19.3010239,22.8825616 18.9057568,22.9796164 18.3624477,23 L4.48346492,22.9997015 C3.86961191,22.9824374 3.38486601,22.8118189 3.07125061,22.4182996 C2.79329968,22.0695315 2.68322544,21.5965073 2.68425496,20.9934992 L2.68424909,14.2893853 C2.68424872,13.8695431 3.02345499,13.5291934 3.4418875,13.5291931 C3.86032001,13.5291927 4.19952687,13.8695418 4.19952724,14.289384 L4.199532,20.9947994 C4.19904359,21.2811808 4.23526541,21.4410529 4.2538782,21.4676906 C4.24030246,21.4480656 4.31738234,21.474056 4.50469304,21.4796169 L7.95808665,21.4797568 Z M9.4733648,21.4798183 L14.0191993,21.4800025 L14.0191993,15.0528888 L9.4733648,15.0528888 L9.4733648,21.4798183 Z M2.28332829,11.4133771 C1.98200714,11.7046849 1.50237937,11.6957445 1.21204968,11.3934082 C0.921719999,11.0910719 0.930630346,10.6098283 1.2319515,10.3185205 L10.4507678,1.41136668 C10.7833916,1.14885042 11.1310579,1 11.4999998,1 C11.9102569,1 12.2738276,1.19453217 12.5845816,1.51087139 L21.7658664,10.3164197 C22.0683439,10.6065186 22.0791684,11.0877227 21.7900436,11.3912192 C21.5009189,11.6947157 21.0213305,11.7055767 20.718853,11.4154779 L11.5218713,2.5944308 C11.4545418,2.52599021 11.4440624,2.52038312 11.4999998,2.52038312 C11.514622,2.52038312 11.4750696,2.53731716 11.4448602,2.55629655 L2.28332829,11.4133771 Z\"\n />\n </svg>\n ),\n component: (\n <svg viewBox=\"0 0 1041 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M133.498105 661.882904h31.175644v195.047619a34.373146 34.373146 0 0 0 34.373146 34.373146h109.514441a34.373146 34.373146 0 1 0 0-68.746292h-75.141295V627.509758a35.172521 35.172521 0 0 0-34.373146-35.172521h-65.54879a63.950039 63.950039 0 0 1 0-127.900079h65.54879a35.172521 35.172521 0 0 0 34.373146-35.172521V233.417642h195.846994a35.172521 35.172521 0 0 0 35.172522-34.373146v-65.54879a63.950039 63.950039 0 0 1 127.900078 0v65.54879a35.172521 35.172521 0 0 0 35.172521 34.373146h195.047619v74.341921a34.373146 34.373146 0 0 0 68.746292 0V199.044496a34.373146 34.373146 0 0 0-34.373146-34.373145H661.885302v-31.175645a133.495706 133.495706 0 0 0-266.991413 0v31.175645H199.046895a34.373146 34.373146 0 0 0-34.373146 34.373145v195.846995h-31.175644A132.696331 132.696331 0 0 0 0.002398 527.587822a133.495706 133.495706 0 0 0 133.495707 134.295082z\"\n fill=\"#6F737E\"\n />\n <path\n d=\"M1004.817386 840.943013a79.937549 79.937549 0 1 1 0-159.875097 34.373146 34.373146 0 0 0 34.373146-32.774395V533.982826a34.373146 34.373146 0 0 0-34.373146-34.373146H879.315435v-10.391881a103.119438 103.119438 0 1 0-206.238876 0v10.391881H549.972734a35.172521 35.172521 0 0 0-35.172522 34.373146v124.702576h-10.391881a103.119438 103.119438 0 1 0 0 206.238876h10.391881v124.702576a35.172521 35.172521 0 0 0 35.172522 34.373146H663.484053a34.373146 34.373146 0 0 0 34.373146-34.373146 79.937549 79.937549 0 0 1 159.875098 0 34.373146 34.373146 0 0 0 34.373146 34.373146h114.310694a34.373146 34.373146 0 0 0 34.373146-34.373146V879.313037a34.373146 34.373146 0 0 0-35.971897-38.370024z\"\n fill=\"#6F737E\"\n />\n </svg>\n ),\n github: (\n <svg viewBox=\"0 0 1049 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M524.979332 0C234.676191 0 0 234.676191 0 524.979332c0 232.068678 150.366597 428.501342 358.967656 498.035028 26.075132 5.215026 35.636014-11.299224 35.636014-25.205961 0-12.168395-0.869171-53.888607-0.869171-97.347161-146.020741 31.290159-176.441729-62.580318-176.441729-62.580318-23.467619-60.841976-58.234462-76.487055-58.234463-76.487055-47.804409-32.15933 3.476684-32.15933 3.476685-32.15933 53.019436 3.476684 80.83291 53.888607 80.83291 53.888607 46.935238 79.963739 122.553122 57.365291 152.97411 43.458554 4.345855-33.897672 18.252593-57.365291 33.028501-70.402857-116.468925-12.168395-239.022047-57.365291-239.022047-259.012982 0-57.365291 20.860106-104.300529 53.888607-140.805715-5.215026-13.037566-23.467619-66.926173 5.215027-139.067372 0 0 44.327725-13.906737 144.282399 53.888607 41.720212-11.299224 86.917108-17.383422 131.244833-17.383422s89.524621 6.084198 131.244833 17.383422C756.178839 203.386032 800.506564 217.29277 800.506564 217.29277c28.682646 72.1412 10.430053 126.029806 5.215026 139.067372 33.897672 36.505185 53.888607 83.440424 53.888607 140.805715 0 201.64769-122.553122 245.975415-239.891218 259.012982 19.121764 16.514251 35.636014 47.804409 35.636015 97.347161 0 70.402857-0.869171 126.898978-0.869172 144.282399 0 13.906737 9.560882 30.420988 35.636015 25.205961 208.601059-69.533686 358.967656-265.96635 358.967655-498.035028C1049.958663 234.676191 814.413301 0 524.979332 0z\"\n fill=\"#191717\"\n />\n <path\n d=\"M199.040177 753.571326c-0.869171 2.607513-5.215026 3.476684-8.691711 1.738342s-6.084198-5.215026-4.345855-7.82254c0.869171-2.607513 5.215026-3.476684 8.691711-1.738342s5.215026 5.215026 4.345855 7.82254z m-6.953369-4.345856M219.900283 777.038945c-2.607513 2.607513-7.82254 0.869171-10.430053-2.607514-3.476684-3.476684-4.345855-8.691711-1.738342-11.299224 2.607513-2.607513 6.953369-0.869171 10.430053 2.607514 3.476684 4.345855 4.345855 9.560882 1.738342 11.299224z m-5.215026-5.215027M240.760389 807.459932c-3.476684 2.607513-8.691711 0-11.299224-4.345855-3.476684-4.345855-3.476684-10.430053 0-12.168395 3.476684-2.607513 8.691711 0 11.299224 4.345855 3.476684 4.345855 3.476684 9.560882 0 12.168395z m0 0M269.443034 837.011749c-2.607513 3.476684-8.691711 2.607513-13.906737-1.738342-4.345855-4.345855-6.084198-10.430053-2.607513-13.037566 2.607513-3.476684 8.691711-2.607513 13.906737 1.738342 4.345855 3.476684 5.215026 9.560882 2.607513 13.037566z m0 0M308.555733 853.526c-0.869171 4.345855-6.953369 6.084198-13.037566 4.345855-6.084198-1.738342-9.560882-6.953369-8.691711-10.430053 0.869171-4.345855 6.953369-6.084198 13.037566-4.345855 6.084198 1.738342 9.560882 6.084198 8.691711 10.430053z m0 0M351.145116 857.002684c0 4.345855-5.215026 7.82254-11.299224 7.82254-6.084198 0-11.299224-3.476684-11.299224-7.82254s5.215026-7.82254 11.299224-7.82254c6.084198 0 11.299224 3.476684 11.299224 7.82254z m0 0M391.126986 850.049315c0.869171 4.345855-3.476684 8.691711-9.560882 9.560882-6.084198 0.869171-11.299224-1.738342-12.168395-6.084197-0.869171-4.345855 3.476684-8.691711 9.560881-9.560882 6.084198-0.869171 11.299224 1.738342 12.168396 6.084197z m0 0\"\n fill=\"#191717\"\n />\n </svg>\n ),\n issue: (\n <svg className=\"issue\" viewBox=\"0 0 1024 1024\" width=\"23\" height=\"23\">\n <path\n d=\"M1022.976 698.368c0-58.88-24.064-113.664-64.512-155.648-44.544 175.616-223.744 307.2-438.784 310.784 51.712 55.296 131.072 90.624 219.648 90.624 21.504 0 41.984-2.048 61.952-6.144 54.784 75.776 121.856 72.192 121.856 72.192-24.064-14.848-27.136-69.632-26.112-108.032 76.288-44.032 125.952-119.296 125.952-203.776z m0 0\"\n fill=\"#558EFF\"\n ></path>\n <path\n d=\"M458.24 13.824C205.312 13.824 0 191.488 0 410.624c0 137.216 80.384 258.048 202.24 329.216 1.536 61.44-3.584 150.016-41.984 174.592 0 0 108.544 5.632 197.12-116.736 32.256 6.144 66.048 9.728 100.352 9.728H465.92c215.04-3.584 394.24-135.168 438.784-310.784 7.168-27.648 10.752-56.32 10.752-86.016 0.512-219.136-204.288-396.8-457.216-396.8zM256 462.848c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m0 0\"\n fill=\"#549EFF\"\n ></path>\n </svg>\n ),\n gitee: (\n <svg className=\"gitee\" viewBox=\"0 0 1024 1024\" width=\"200\" height=\"200\">\n <path\n d=\"M512 1024C229.222 1024 0 794.778 0 512S229.222 0 512 0s512 229.222 512 512-229.222 512-512 512z m259.149-568.883h-290.74a25.293 25.293 0 0 0-25.292 25.293l-0.026 63.206c0 13.952 11.315 25.293 25.267 25.293h177.024c13.978 0 25.293 11.315 25.293 25.267v12.646a75.853 75.853 0 0 1-75.853 75.853h-240.23a25.293 25.293 0 0 1-25.267-25.293V417.203a75.853 75.853 0 0 1 75.827-75.853h353.946a25.293 25.293 0 0 0 25.267-25.292l0.077-63.207a25.293 25.293 0 0 0-25.268-25.293H417.152a189.62 189.62 0 0 0-189.62 189.645V771.15c0 13.977 11.316 25.293 25.294 25.293h372.94a170.65 170.65 0 0 0 170.65-170.65V480.384a25.293 25.293 0 0 0-25.293-25.267z\"\n fill=\"#C71D23\"\n ></path>\n </svg>\n ),\n plugin: (\n <svg viewBox=\"0 0 1024 1024\" width=\"24\" height=\"24\">\n <path d=\"M937.6 251.3L538 69.7c-11.5-5.1-24.6-5.1-36.1 0L102.4 251.3c-22.4 9.9-32.5 32.2-22.6 54.6 4.5 10.1 12.5 15.1 22.6 19.6L502 506.1c11.5 5.1 24.6 5.1 36.1 0l399.6-180.6c22.4-9.9 32.5-33.2 22.6-55.6-4.6-10.1-12.6-14.1-22.7-18.6zM497.6 723.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 723.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n <path d=\"M497.6 955.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 955.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n </svg>\n ),\n};\n","import { NavLink } from 'react-router-dom';\nimport { useLocation } from 'react-router-dom';\nimport styles from './index.module.less';\nimport menu from '../../menu.json';\nimport nav from '../icons/nav';\n\nexport default function SiderMenu() {\n const location = useLocation();\n const data = menu.find((item) => new RegExp(`^${item.path || ''}`).test(location.pathname));\n\n if (!data?.children) {\n return null;\n }\n return (\n <div className={styles.wapper}>\n <h2 className={styles.title}>\n {(nav as any)[data.icon]}\n <span>{data.name}</span>\n </h2>\n <div className={styles.menu}>\n {data.children &&\n data.children.map((item, idx) => {\n if (item.divider) {\n return (\n <div key={idx} className={styles.divider}>\n {item.name}\n </div>\n );\n }\n if (/^http(?:|s):\\/\\//.test(item.path || '')) {\n return (\n <a key={idx} href={item.path} target=\"__blank\">\n {item.name}\n <svg viewBox=\"0 0 1024 1024\" width={14}>\n <path d=\"M821.1456 276.8384c-235.9296 25.1392-449.1776 226.7136-490.5472 452.352a38.4 38.4 0 1 1-75.5712-13.824c45.568-248.576 269.312-468.48 526.6944-510.6688l-117.8112-69.1712a38.4 38.4 0 0 1 38.912-66.2528l223.3344 131.1744a38.4 38.4 0 0 1 10.1376 57.6l-170.752 206.6432a38.4 38.4 0 1 1-59.1872-48.9472l114.7904-138.9056z\" />\n <path d=\"M832 620.0832a38.4 38.4 0 0 1 76.8 0v158.208c0 85.9648-61.5936 157.8496-140.8 157.8496H204.8c-79.2064 0-140.8-71.8848-140.8-157.9008V300.3904c0-86.016 61.5936-157.8496 140.8-157.8496h220.2112a38.4 38.4 0 1 1 0 76.8H204.8c-33.8944 0-64 35.072-64 81.0496V778.24c0 45.9776 30.1056 81.1008 64 81.1008h563.2c33.8944 0 64-35.1232 64-81.1008v-158.1568z\" />\n </svg>\n </a>\n );\n }\n return (\n <NavLink key={idx} to={item.path || ''} replace>\n {item.name}\n </NavLink>\n );\n })}\n </div>\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"index_logo__kUQOi\",\"top\":\"index_top__DLxV-\",\"nav\":\"index_nav__SdXbb\",\"navTop\":\"index_navTop__08yh1\",\"btn\":\"index_btn__YYGUe\",\"btnTop\":\"index_btnTop__PlNw6\"};","import React from 'react';\n\ntype InitialState = {\n layout: 'top' | 'left' | 'mix';\n};\n\nexport const initialState: InitialState = {\n layout: 'top',\n};\n\nexport const reducer = (state: InitialState, action: InitialState) => {\n return {\n ...state,\n ...action,\n };\n};\n\nexport interface Context {\n state: InitialState;\n dispatch: React.Dispatch<InitialState>;\n}\n\nexport const ThemeContext = React.createContext<Context>({\n state: initialState,\n dispatch: () => null,\n});\n","import React from 'react';\n\nexport default {\n menu: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"5\" height=\"20\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"12\" height=\"20\" x=\"11\" y=\"3\" fill=\"#FFF\" fillOpacity=\".657\" rx=\"2\" />\n </g>\n </svg>\n ),\n menutop: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"20\" height=\"5\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"20\" height=\"12\" x=\"3\" y=\"11\" fill=\"#FFF\" fillOpacity=\".66\" rx=\"2\" />\n </g>\n </svg>\n ),\n china: (\n <svg className=\"flag\" width=\"19\" height=\"19\" viewBox=\"0 0 512 512\">\n <defs>\n <path id=\"a\" fill=\"#ffde00\" d=\"M1-.3L-.7.8 0-1 .6.8-1-.3z\" />\n </defs>\n <path fill=\"#de2910\" d=\"M0 0h512v512H0z\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(76.8 0 0 76.8 128 128)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-121 142.6 -47) scale(25.5827)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-98.1 198 -82) scale(25.6)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-74 272.4 -114) scale(25.6137)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(16 -19.968 19.968 16 256 230.4)\" xlinkHref=\"#a\" />\n </svg>\n ),\n};\n","import { Fragment, useContext } from 'react';\nimport { Tooltip } from 'uiw';\nimport { NavLink, Link } from 'react-router-dom';\nimport styles from './index.module.less';\nimport data from '../../menu.json';\nimport { ThemeContext } from '../../contexts';\nimport nav from '../icons/nav';\nimport logo from '../icons/logo';\nimport menu from '../icons/menu';\nimport pkg from 'uiw/package.json';\n\nexport default function Nav() {\n const { state, dispatch } = useContext(ThemeContext);\n return (\n <Fragment>\n <div className={[styles.logo, state.layout === 'left' ? null : styles.top].filter(Boolean).join(' ').trim()}>\n <Link to=\"/\">\n {logo.dark}\n {state.layout === 'top' && (\n <span>\n UIW<sup>{pkg.version}</sup>\n </span>\n )}\n </Link>\n </div>\n <div className={[styles.nav, state.layout === 'left' ? null : styles.navTop].filter(Boolean).join(' ').trim()}>\n {data.map(({ path, name, icon }, idx) => {\n if (Object.keys(nav).includes(icon)) {\n icon = (nav as any)[icon];\n }\n if (/^https?:(?:\\/\\/)?/.test(path)) {\n if (state.layout === 'top') {\n return (\n <a key={idx} target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon} <span>{name}</span>\n </a>\n );\n }\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{name}</span>}\n >\n <a target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon}\n </a>\n </Tooltip>\n );\n }\n let activeStyle: React.CSSProperties = {\n color: '#fff',\n };\n if (state.layout === 'top') {\n return (\n <NavLink\n to={path}\n key={idx}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon} <span>{name}</span>\n </NavLink>\n );\n }\n\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{name}</span>}\n >\n <NavLink\n to={path}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon}\n </NavLink>\n </Tooltip>\n );\n })}\n </div>\n <div className={[styles.btn, state.layout === 'left' ? null : styles.btnTop].filter(Boolean).join(' ').trim()}>\n <Tooltip placement={state.layout === 'left' ? 'right' : 'bottom'} content=\"国内镜像站点\">\n <a href=\"http://uiw.gitee.io\" rel=\"noopener noreferrer\" target=\"_blank\">\n {menu.china}\n </a>\n </Tooltip>\n <button onClick={() => dispatch({ layout: state.layout === 'left' ? 'top' : 'left' })}>\n {state.layout === 'left' ? menu.menu : menu.menutop}\n </button>\n </div>\n </Fragment>\n );\n}\n","import { Fragment, useContext, useState } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Layout, Affix } from 'uiw';\nimport VersionSelect from '../components/VersionSelect';\nimport styles from './index.module.less';\nimport version from '../version.json';\nimport SiderMenu from '../components/SiderMenu';\nimport Nav from '../components/Nav';\nimport { ThemeContext } from '../contexts';\n\nconst { Header, Sider, Content } = Layout;\nexport interface ComponentsProps {\n siderMenu?: boolean;\n}\n\nexport default function Components(props: ComponentsProps) {\n const { siderMenu = true } = props;\n const { state } = useContext(ThemeContext);\n const [affix, setAffix] = useState(false);\n return (\n <Layout>\n {state.layout === 'top' ? (\n <Fragment>\n <Header style={{ display: 'flex', alignItems: 'center' }}>\n <Nav />\n </Header>\n <Layout>\n <Sider width={siderMenu ? 260 : 0}>\n <Affix offsetTop={0} style={{ height: affix ? '100vh' : '' }} onChange={(affixed) => setAffix(!!affixed)}>\n <div style={{ height: affix ? '100vh' : '', overflow: 'auto' }}>\n <SiderMenu />\n </div>\n </Affix>\n </Sider>\n <Content style={{ padding: 20, zIndex: 2 }}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n ) : (\n <Fragment>\n <Sider width={siderMenu ? 330 : 64}>\n <Layout className={styles.sider}>\n <Sider className={styles.menuWarpper} width={64}>\n <Nav />\n </Sider>\n <Layout\n style={{\n position: 'fixed',\n width: siderMenu ? 330 : 64,\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n overflow: 'auto',\n }}\n >\n <Content className={styles.subMenu} style={{ paddingLeft: 64 }}>\n <SiderMenu />\n </Content>\n </Layout>\n </Layout>\n </Sider>\n <Layout style={{ position: 'relative' }}>\n <Header\n style={{\n height: 'inherit',\n lineHeight: '32px',\n position: 'absolute',\n padding: '5px 10px',\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n backgroundColor: 'transparent',\n }}\n >\n <VersionSelect data={version} />\n </Header>\n <Content style={{ padding: 20 }}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n )}\n </Layout>\n );\n}\n","import { lazy, Suspense } from 'react';\nimport { RouteObject } from 'react-router-dom';\nimport NoMatch from './components/NoMatch';\nimport Loading from './components/Loading';\nimport BaseLayout from './layouts/BaseLayout';\n\nconst Loadable = (Component: any) => (props: any) =>\n (\n <Suspense fallback={<Loading />}>\n <Component {...props} />\n </Suspense>\n );\n\nconst Home = Loadable(lazy(() => import('./routes/home')));\nconst Extensions = Loadable(lazy(() => import('./routes/extensions')));\n\nconst GuideQuickStart = Loadable(lazy(() => import('./routes/guide/quick-start')));\nconst GuideImport = Loadable(lazy(() => import('./routes/guide/import')));\nconst GuideCreateReactApp = Loadable(lazy(() => import('./routes/guide/create-react-app')));\nconst GuideKKT = Loadable(lazy(() => import('./routes/guide/kkt')));\nconst GuideDocs = Loadable(lazy(() => import('./routes/guide/docs')));\nconst GuideVscode = Loadable(lazy(() => import('./routes/guide/vscode')));\nconst GuideRecommendation = Loadable(lazy(() => import('./routes/guide/recommendation')));\n\nconst Overview = Loadable(lazy(() => import('./routes/overview')));\nconst Colors = Loadable(lazy(() => import('./routes/components/colors')));\nconst Alert = Loadable(lazy(() => import('./routes/components/alert')));\nconst AutoLink = Loadable(lazy(() => import('./routes/components/auto-link')));\nconst ResetCss = Loadable(lazy(() => import('./routes/components/reset-css')));\nconst Avatar = Loadable(lazy(() => import('./routes/components/avatar')));\nconst Affix = Loadable(lazy(() => import('./routes/components/affix')));\nconst Calendar = Loadable(lazy(() => import('./routes/components/calendar')));\nconst Checkbox = Loadable(lazy(() => import('./routes/components/checkbox')));\nconst CopyToClipboard = Loadable(lazy(() => import('./routes/components/copy-to-clipboard')));\nconst Collapse = Loadable(lazy(() => import('./routes/components/collapse')));\nconst Card = Loadable(lazy(() => import('./routes/components/card')));\nconst Descriptions = Loadable(lazy(() => import('./routes/components/descriptions')));\nconst Loader = Loadable(lazy(() => import('./routes/components/loader')));\nconst Icon = Loadable(lazy(() => import('./routes/components/icon')));\nconst Divider = Loadable(lazy(() => import('./routes/components/divider')));\nconst Drawer = Loadable(lazy(() => import('./routes/components/drawer')));\nconst DatePicker = Loadable(lazy(() => import('./routes/components/date-picker')));\nconst DateInput = Loadable(lazy(() => import('./routes/components/date-input')));\nconst Dropdown = Loadable(lazy(() => import('./routes/components/dropdown')));\nconst Badge = Loadable(lazy(() => import('./routes/components/badge')));\nconst Progress = Loadable(lazy(() => import('./routes/components/progress')));\nconst Pagination = Loadable(lazy(() => import('./routes/components/pagination')));\nconst PinCode = Loadable(lazy(() => import('./routes/components/pin-code')));\nconst Input = Loadable(lazy(() => import('./routes/components/input')));\nconst Button = Loadable(lazy(() => import('./routes/components/button')));\nconst Radio = Loadable(lazy(() => import('./routes/components/radio')));\nconst Select = Loadable(lazy(() => import('./routes/components/select')));\nconst SearchSelect = Loadable(lazy(() => import('./routes/components/search-select')));\nconst Split = Loadable(lazy(() => import('./routes/components/split')));\nconst Switch = Loadable(lazy(() => import('./routes/components/switch')));\nconst Slider = Loadable(lazy(() => import('./routes/components/slider')));\nconst Grid = Loadable(lazy(() => import('./routes/components/grid')));\nconst Form = Loadable(lazy(() => import('./routes/components/form')));\nconst FileInput = Loadable(lazy(() => import('./routes/components/file-input')));\nconst Breadcrumb = Loadable(lazy(() => import('./routes/components/breadcrumb')));\nconst List = Loadable(lazy(() => import('./routes/components/list')));\nconst Layout = Loadable(lazy(() => import('./routes/components/layout')));\nconst Notify = Loadable(lazy(() => import('./routes/components/notify')));\nconst Tree = Loadable(lazy(() => import('./routes/components/tree')));\nconst TreeChecked = Loadable(lazy(() => import('./routes/components/tree-checked')));\nconst Tag = Loadable(lazy(() => import('./routes/components/tag')));\nconst Tabs = Loadable(lazy(() => import('./routes/components/tabs')));\nconst Tooltip = Loadable(lazy(() => import('./routes/components/tooltip')));\nconst Table = Loadable(lazy(() => import('./routes/components/table')));\nconst TimePicker = Loadable(lazy(() => import('./routes/components/time-picker')));\nconst Rate = Loadable(lazy(() => import('./routes/components/rate')));\nconst Overlay = Loadable(lazy(() => import('./routes/components/overlay')));\nconst BackTop = Loadable(lazy(() => import('./routes/components/back-top')));\nconst Portal = Loadable(lazy(() => import('./routes/components/portal')));\nconst OverlayTrigger = Loadable(lazy(() => import('./routes/components/overlay-trigger')));\nconst Popover = Loadable(lazy(() => import('./routes/components/popover')));\nconst Message = Loadable(lazy(() => import('./routes/components/message')));\nconst MonthPicker = Loadable(lazy(() => import('./routes/components/month-picker')));\nconst Textarea = Loadable(lazy(() => import('./routes/components/textarea')));\nconst Modal = Loadable(lazy(() => import('./routes/components/modal')));\nconst Formatter = Loadable(lazy(() => import('./routes/components/formatter')));\nconst Steps = Loadable(lazy(() => import('./routes/components/steps')));\nconst Menu = Loadable(lazy(() => import('./routes/components/menu')));\n\nexport const routes: RouteObject[] = [\n {\n path: '/extensions',\n element: <BaseLayout siderMenu={false} />,\n children: [\n { index: true, element: <Extensions /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/guide',\n element: <BaseLayout />,\n children: [\n { index: true, element: <GuideQuickStart /> },\n { path: '/guide/quick-start', element: <GuideQuickStart /> },\n { path: '/guide/import', element: <GuideImport /> },\n { path: '/guide/create-react-app', element: <GuideCreateReactApp /> },\n { path: '/guide/kkt', element: <GuideKKT /> },\n { path: '/guide/vscode', element: <GuideVscode /> },\n { path: '/guide/docs', element: <GuideDocs /> },\n { path: '/guide/recommendation', element: <GuideRecommendation /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/components',\n element: <BaseLayout />,\n children: [\n { index: true, element: <Overview /> },\n { path: '/components/overview', element: <Overview /> },\n { path: '/components/colors', element: <Colors /> },\n { path: '/components/reset-css', element: <ResetCss /> },\n { path: '/components/alert', element: <Alert /> },\n { path: '/components/auto-link', element: <AutoLink /> },\n { path: '/components/avatar', element: <Avatar /> },\n { path: '/components/affix', element: <Affix /> },\n { path: '/components/calendar', element: <Calendar /> },\n { path: '/components/checkbox', element: <Checkbox /> },\n { path: '/components/copy-to-clipboard', element: <CopyToClipboard /> },\n { path: '/components/collapse', element: <Collapse /> },\n { path: '/components/card', element: <Card /> },\n { path: '/components/descriptions', element: <Descriptions /> },\n { path: '/components/loader', element: <Loader /> },\n { path: '/components/icon', element: <Icon /> },\n { path: '/components/divider', element: <Divider /> },\n { path: '/components/drawer', element: <Drawer /> },\n { path: '/components/date-picker', element: <DatePicker /> },\n { path: '/components/date-input', element: <DateInput /> },\n { path: '/components/dropdown', element: <Dropdown /> },\n { path: '/components/badge', element: <Badge /> },\n { path: '/components/progress', element: <Progress /> },\n { path: '/components/pagination', element: <Pagination /> },\n { path: '/components/pin-code', element: <PinCode /> },\n { path: '/components/input', element: <Input /> },\n { path: '/components/button', element: <Button /> },\n { path: '/components/radio', element: <Radio /> },\n { path: '/components/select', element: <Select /> },\n { path: '/components/search-select', element: <SearchSelect /> },\n { path: '/components/split', element: <Split /> },\n { path: '/components/switch', element: <Switch /> },\n { path: '/components/slider', element: <Slider /> },\n { path: '/components/grid', element: <Grid /> },\n { path: '/components/form', element: <Form /> },\n { path: '/components/file-input', element: <FileInput /> },\n { path: '/components/breadcrumb', element: <Breadcrumb /> },\n { path: '/components/list', element: <List /> },\n { path: '/components/layout', element: <Layout /> },\n { path: '/components/notify', element: <Notify /> },\n { path: '/components/tree', element: <Tree /> },\n { path: '/components/tree-checked', element: <TreeChecked /> },\n { path: '/components/tag', element: <Tag /> },\n { path: '/components/tabs', element: <Tabs /> },\n { path: '/components/tooltip', element: <Tooltip /> },\n { path: '/components/table', element: <Table /> },\n { path: '/components/time-picker', element: <TimePicker /> },\n { path: '/components/rate', element: <Rate /> },\n { path: '/components/overlay', element: <Overlay /> },\n { path: '/components/back-top', element: <BackTop /> },\n { path: '/components/portal', element: <Portal /> },\n { path: '/components/overlay-trigger', element: <OverlayTrigger /> },\n { path: '/components/popover', element: <Popover /> },\n { path: '/components/message', element: <Message /> },\n { path: '/components/month-picker', element: <MonthPicker /> },\n { path: '/components/textarea', element: <Textarea /> },\n { path: '/components/modal', element: <Modal /> },\n { path: '/components/formatter', element: <Formatter /> },\n { path: '/components/steps', element: <Steps /> },\n { path: '/components/menu', element: <Menu /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/',\n element: <Home />,\n },\n];\n","import React, { useReducer } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useRoutes, HashRouter } from 'react-router-dom';\nimport '@uiw/reset.css';\nimport { routes } from './routers';\nimport './styles/index.less';\nimport { ThemeContext, reducer, initialState } from './contexts';\n\nconst App = () => useRoutes(routes);\nexport const Provider = ({ children }: { children: React.ReactNode }) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return <ThemeContext.Provider value={{ state, dispatch }}>{children}</ThemeContext.Provider>;\n};\n\nReactDOM.render(\n <HashRouter>\n <Provider>\n <App />\n </Provider>\n </HashRouter>,\n document.getElementById('root'),\n);\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} top `true` or `false`\n * @returns {number} amount of scrolled pixels\n */\nexport function getScroll(target: HTMLElement | Window | null, top?: boolean) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow: boolean = target === window;\n\n let ret = isWindow ? (target as Window)[prop] : (target as HTMLElement)[method];\n if (isWindow && typeof ret !== 'number') {\n ret = document.documentElement[method];\n }\n\n return ret;\n}\n","export function noop() {}\n","import React from 'react';\nimport { IProps, HTMLDivProps, getScroll, noop } from '@uiw/utils';\n\nexport interface AffixProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop?: number;\n /**\n * 距离窗口底部达到指定偏移量后触发\n */\n offsetBottom?: number;\n target?: () => Window | HTMLElement | null;\n /**\n * 固定状态改变时触发的回调函数\n */\n onChange?: (affixed?: boolean) => void;\n}\n\nexport interface IAffixState {\n affixStyle?: React.CSSProperties;\n placeholderStyle?: React.CSSProperties;\n}\n\nfunction getTargetRect(target: HTMLElement | Window | null): ClientRect {\n return target !== window\n ? (target as HTMLElement).getBoundingClientRect()\n : ({ top: 0, left: 0, bottom: 0 } as ClientRect);\n}\n\nfunction getOffset(element: HTMLElement, target: HTMLElement | Window | null) {\n const elemRect = element.getBoundingClientRect();\n const targetRect = getTargetRect(target);\n const scrollTop = getScroll(target, true);\n const scrollLeft = getScroll(target);\n\n const docElem = window.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height,\n };\n}\n\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\n\nexport default class Affix extends React.Component<AffixProps, IAffixState> {\n public static defaultProps: AffixProps = {\n prefixCls: 'w-affix',\n onChange: noop,\n };\n public state: IAffixState = {\n placeholderStyle: undefined,\n affixStyle: undefined,\n };\n private box: any;\n private target!: Window | HTMLElement | null;\n private readonly events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n private eventHandlers: Record<string, any> = {};\n private timeout?: number;\n constructor(props: AffixProps & HTMLDivProps) {\n super(props);\n this.updatePosition = this.updatePosition.bind(this);\n }\n componentDidMount() {\n const target = this.props.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = window.setTimeout(() => {\n this.target = target();\n this.setTargetEventListeners();\n });\n }\n componentWillUnmount() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n }\n updatePosition() {\n let { offsetTop } = this.props;\n const { offsetBottom } = this.props;\n if (!this.box || !this.box.offsetParent) {\n return;\n }\n\n const elemSize = {\n width: this.box.clientWidth,\n height: this.box.clientHeight,\n };\n const offsetMode = { top: true, bottom: false };\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n }\n\n if (typeof offsetBottom === 'number') {\n offsetMode.top = false;\n offsetMode.bottom = true;\n }\n\n const elemOffset = getOffset(this.box, this.target);\n const box = this.box.getBoundingClientRect();\n const bottom = document.documentElement.clientHeight - box.y - elemOffset.height;\n\n if (offsetMode.top && box.y < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n top: offsetTop || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else if (offsetMode.bottom && bottom < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n bottom: offsetBottom || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else {\n this.setPlaceholderStyle();\n this.setAffixStyle();\n }\n }\n setAffixStyle(affixStyle?: React.CSSProperties) {\n const { onChange } = this.props;\n const affixed = !!this.state.affixStyle;\n this.setState({ affixStyle }, () => {\n onChange && onChange(affixed);\n });\n }\n setPlaceholderStyle(placeholderStyle?: React.CSSProperties) {\n this.setState({ placeholderStyle });\n }\n // 设置监听事件\n setTargetEventListeners() {\n this.clearEventListeners();\n this.events.forEach((eventName) => {\n this.eventHandlers[eventName] = this.updatePosition;\n this.target && this.target.addEventListener(eventName, this.updatePosition, false);\n });\n }\n clearEventListeners() {\n this.events.forEach((eventName) => {\n const handler = this.eventHandlers[eventName];\n this.target && this.target.removeEventListener(eventName, handler, false);\n });\n }\n getInstance = (node: HTMLDivElement) => {\n if (node) {\n this.box = node;\n }\n };\n public render() {\n const { prefixCls, className, children, offsetTop, offsetBottom, target, onChange, ...resetProps } = this.props;\n const cls = [className, prefixCls].filter(Boolean).join(' ').trim();\n return (\n <div {...resetProps} ref={this.getInstance} style={{ ...this.state.placeholderStyle, ...this.props.style }}>\n <div className={cls} style={this.state.affixStyle}>\n {children}\n </div>\n </div>\n );\n }\n}\n","import React, { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport interface PortalProps {\n children?: React.ReactNode;\n /**\n * The HTML element that children will be mounted to.\n * @default document.body\n */\n container?: HTMLElement;\n /**\n * Callback invoked when the children of this `Portal` have been added to the DOM.\n * @deprecated v4.9.0+\n */\n onChildrenMount?: (portalElement: HTMLElement) => void;\n /** @deprecated v4.9.0+ */\n visible?: boolean;\n}\n\nexport default function Portal(props: PortalProps) {\n const { container } = props;\n const defaultNode = useRef<HTMLDivElement>();\n const containerRef = useRef<HTMLElement | undefined>(container);\n\n useEffect(() => {\n return () => {\n if (defaultNode.current && containerRef.current) {\n containerRef.current.removeChild(defaultNode.current);\n defaultNode.current = undefined;\n }\n };\n }, []);\n\n if (!canUseDOM) {\n return null;\n }\n if (!containerRef.current) {\n containerRef.current = document.body;\n }\n if (!defaultNode.current) {\n defaultNode.current = document.createElement('div');\n containerRef.current.appendChild(defaultNode.current);\n }\n return ReactDOM.createPortal(props.children, defaultNode.current);\n}\n","/**\n * Overlay 组件\n * ---------------\n * 动画库 react-transition-group 文档\n * 老的文档\n * https://facebook.github.io/react/docs/animation.html\n * 新的文档\n * https://reactcommunity.org/react-transition-group/\n * 动画效果\n * https://daneden.github.io/animate.css/\n */\nimport React, { cloneElement, useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionProps } from 'react-transition-group/Transition';\nimport Portal, { PortalProps } from '@uiw/react-portal';\nimport { IProps, noop } from '@uiw/utils';\n\nimport './style/index.less';\n\nexport interface OverlayProps extends IProps, Omit<TransitionProps, 'timeout'> {\n timeout?: TransitionProps['timeout'];\n isOpen?: boolean;\n usePortal?: boolean;\n maskClosable?: boolean;\n dialogProps?: React.HTMLProps<HTMLElement>;\n backdropProps?: React.HTMLProps<HTMLDivElement>;\n portalProps?: PortalProps;\n hasBackdrop?: boolean;\n unmountOnExit?: boolean;\n transitionName?: string;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpening?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpened?: (node: HTMLElement, isAppearing: boolean) => void;\n onClosing?: (node: HTMLElement) => void;\n onClosed?: (node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n onClose?: (evn: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport default function Overlay(props: OverlayProps) {\n const {\n className,\n style,\n isOpen: _ = false,\n prefixCls = 'w-overlay',\n usePortal = true,\n maskClosable = true,\n backdropProps = {},\n portalProps = {},\n hasBackdrop = true,\n unmountOnExit = true, // 设置 true 销毁根节点\n timeout = 300,\n transitionName = 'w-overlay',\n // onEnter = noop,\n onOpening = noop,\n onOpened = noop,\n onClosing = noop,\n onClosed = noop,\n onClose = noop,\n children,\n dialogProps = {},\n ...otherProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(props.isOpen || false);\n const [visible, setVisible] = useState(false);\n const container = useRef<HTMLDivElement>(null);\n const overlay = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (isOpen !== props.isOpen && props.isOpen) {\n setVisible(true);\n }\n if (isOpen !== props.isOpen && !props.isOpen) {\n overlayWillClose();\n setIsOpen(false);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n if (visible) {\n overlayWillOpen();\n setIsOpen(true);\n }\n }, [visible]);\n\n const decoratedChild =\n typeof children === 'object' ? (\n cloneElement(children, {\n ...dialogProps,\n style: { ...children.props.style, ...dialogProps.style },\n className: [children.props.className, `${prefixCls}-content`].filter(Boolean).join(' ').trim(),\n tabIndex: 0,\n })\n ) : (\n <span {...dialogProps} className={`${prefixCls}-content`}>\n {children}\n </span>\n );\n\n function handleClosed(node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n setVisible(false);\n onClosed && onClosed(node);\n }\n\n function handleBackdropMouseDown(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (e.target !== container.current && usePortal) {\n return;\n }\n if (maskClosable && hasBackdrop) {\n overlayWillClose();\n setIsOpen(false);\n onClose && onClose(e);\n }\n backdropProps && backdropProps.onMouseDown && backdropProps.onMouseDown(e);\n }\n\n function overlayWillOpen() {\n if (hasBackdrop && usePortal) {\n document.body.classList.add(`${prefixCls}-open`);\n }\n }\n\n function overlayWillClose() {\n if (hasBackdrop && usePortal) {\n document.body.classList.remove(`${prefixCls}-open`);\n }\n // if (unmountOnExit) {\n // setVisible(false)\n // }\n }\n\n const TransitionGroupComp = (\n <CSSTransition\n classNames={transitionName}\n unmountOnExit={unmountOnExit}\n timeout={timeout!}\n in={isOpen}\n onEntering={onOpening}\n onEntered={onOpened}\n onExiting={onClosing}\n onExited={handleClosed}\n {...otherProps}\n >\n {(status) => {\n return (\n <div\n style={style}\n ref={overlay}\n className={[\n prefixCls,\n className,\n !usePortal ? `${prefixCls}-inline` : null,\n isOpen ? `${prefixCls}-enter-done` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {hasBackdrop &&\n cloneElement(<div />, {\n ...backdropProps,\n onMouseDown: handleBackdropMouseDown,\n className: [`${prefixCls}-backdrop`, backdropProps.className].filter(Boolean).join(' ').trim(),\n tabIndex: maskClosable ? 0 : null,\n })}\n {usePortal ? (\n <div ref={container} onMouseDown={handleBackdropMouseDown} className={`${prefixCls}-container`}>\n {cloneElement(decoratedChild, { 'data-status': status })}\n </div>\n ) : (\n cloneElement(decoratedChild, { 'data-status': status })\n )}\n </div>\n );\n }}\n </CSSTransition>\n );\n if (visible && usePortal) {\n return <Portal {...{ ...portalProps }}>{TransitionGroupComp}</Portal>;\n } else {\n return TransitionGroupComp;\n }\n}\n","import React from 'react';\nimport svgPaths from '@uiw/icons/fonts/w-icon.json';\nimport './style/index.less';\n\ntype ElementTag<T = any> = T extends HTMLElement ? React.HTMLAttributes<T> : T;\n\nexport type IconsName = keyof typeof svgPaths;\nexport interface IconProps<T = HTMLSpanElement | HTMLDivElement> extends ElementTag {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * HTML tag to use for the rendered element.\n * @default \"span\"\n */\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : T;\n type?: IconsName | null | T;\n spin?: boolean;\n color?: string;\n verticalAlign?: 'middle' | 'baseline';\n}\n\nexport default function Icon(props: IconProps) {\n const {\n className,\n prefixCls = 'w-icon',\n verticalAlign = 'middle',\n tagName: TagName = 'span',\n color,\n type,\n spin = false,\n ...others\n } = props;\n\n let svg = null;\n if (typeof type === 'string') {\n svg = (\n <svg fill={color} viewBox=\"0 0 20 20\">\n {(svgPaths[type as IconsName] || []).map((d, i) => (\n <path key={i} d={d} fillRule=\"evenodd\" />\n ))}\n </svg>\n );\n } else if (React.isValidElement(type)) {\n svg = React.cloneElement(type as unknown as React.ReactElement, {\n fill: color,\n });\n } else {\n return null;\n }\n others.style = { fill: 'currentColor', ...others.style };\n const propps = {\n ...others,\n className: [\n prefixCls,\n className,\n prefixCls && verticalAlign ? `${prefixCls}-${verticalAlign}` : null,\n spin && prefixCls ? `${prefixCls}-spin` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n return <TagName {...propps}>{svg}</TagName>;\n}\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLButtonProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'link';\nexport type ButtonSize = 'large' | 'default' | 'small';\n\nexport interface ButtonProps extends IProps, Omit<HTMLButtonProps, 'size'> {\n basic?: boolean;\n disabled?: boolean;\n active?: boolean;\n loading?: boolean;\n block?: boolean;\n icon?: IconProps['type'];\n type?: ButtonType;\n size?: ButtonSize;\n htmlType?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\nexport default React.forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const {\n prefixCls = 'w-btn',\n disabled = false,\n active = false,\n loading = false,\n block = false,\n basic = false,\n htmlType = 'button',\n type = 'light',\n size = 'default',\n icon,\n className,\n children,\n ...others\n } = props;\n const cls = [\n className,\n prefixCls,\n size ? `${prefixCls}-size-${size}` : null,\n type ? `${prefixCls}-${type}` : null,\n basic ? `${prefixCls}-basic` : null,\n loading ? `${prefixCls}-loading` : null,\n disabled || loading ? 'disabled' : null,\n active ? 'active' : null,\n block ? 'block' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n return (\n <button {...others} ref={ref} type={htmlType} disabled={disabled || loading} className={cls}>\n {icon && <Icon type={icon} />}\n {children &&\n React.Children.map(children, (child: React.ReactNode) => {\n if (!child) return child;\n if (React.isValidElement(child)) return child;\n return <span>{child}</span>;\n })}\n </button>\n );\n});\n","import React, { useState, useEffect } from 'react';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport Button, { ButtonType, ButtonProps } from '@uiw/react-button';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface ModalProps extends IProps, OverlayProps {\n type?: ButtonType;\n cancelText?: string;\n confirmButtonProps?: Omit<ButtonProps, 'ref'>;\n cancelButtonProps?: Omit<ButtonProps, 'ref'>;\n content?: React.ReactNode;\n confirmText?: string;\n title?: string;\n icon?: IconProps['type'];\n useButton?: boolean;\n usePortal?: boolean;\n autoFocus?: boolean;\n isCloseButtonShown?: boolean;\n isOpen?: boolean;\n bodyStyle?: React.CSSProperties;\n maxWidth?: number;\n minWidth?: number;\n width?: number;\n onCancel?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n onConfirm?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\nexport default React.forwardRef<OverlayProps, ModalProps>((props, ref) => {\n const {\n prefixCls = 'w-modal',\n className,\n children,\n useButton = true,\n usePortal = true,\n autoFocus = false,\n isOpen: _ = false,\n title,\n cancelText,\n cancelButtonProps,\n confirmButtonProps,\n content,\n confirmText = '确认',\n type = 'light',\n icon,\n maxWidth = 500,\n minWidth = 320,\n width,\n isCloseButtonShown = true,\n onCancel = noop,\n onConfirm = noop,\n bodyStyle,\n ...other\n } = props;\n const [isOpen, setIsOpen] = useState(props.isOpen);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(props.isOpen);\n }\n }, [props.isOpen]);\n\n const [loading, setLoading] = useState(false);\n const cls = [prefixCls, className, type ? `${type}` : null].filter(Boolean).join(' ').trim();\n function onClose() {\n setIsOpen(false);\n }\n async function handleCancel(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onCancel && (await onCancel(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n async function handleConfirm(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onConfirm && (await onConfirm(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n return (\n <Overlay usePortal={usePortal} isOpen={isOpen} {...other} onClose={onClose} className={cls}>\n <div className={`${prefixCls}-container`}>\n <div\n className={[\n `${prefixCls}-inner`,\n title ? `${prefixCls}-shown-title` : null,\n icon ? `${prefixCls}-shown-icon` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ maxWidth, minWidth, width }}\n >\n {(title || icon) && (\n <div className={`${prefixCls}-header`}>\n {icon && <Icon type={icon} />}\n {title && <h4>{title}</h4>}\n {isCloseButtonShown && <Button basic onClick={(e) => handleCancel(e)} icon=\"close\" type=\"light\" />}\n </div>\n )}\n <div className={`${prefixCls}-body`} style={bodyStyle}>\n {children || content}\n </div>\n {useButton && (\n <div className={`${prefixCls}-footer`}>\n <Button\n autoFocus={autoFocus}\n type={type}\n loading={loading}\n disabled={loading}\n {...confirmButtonProps}\n onClick={(e) => handleConfirm(e)}\n >\n {confirmText}\n </Button>\n {cancelText && (\n <Button {...cancelButtonProps} onClick={(e) => handleCancel(e)}>\n {cancelText}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n </Overlay>\n );\n});\n","import React from 'react';\nimport Modal, { ModalProps } from '@uiw/react-modal';\nimport { IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface AlertProps extends IProps, ModalProps {\n width?: number;\n}\n\nexport default (props: AlertProps = {}) => {\n const { prefixCls = 'w-alert', className, width = 400, ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <Modal {...other} width={width} className={cls}>\n {props.children}\n </Modal>\n );\n};\n","import React, { Fragment } from 'react';\n\nconst delimiter =\n /((?:https?:\\/\\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\\-]{1,61}[a-z0-9])?\\.[^\\.|\\s])+[a-z\\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\\d{1,5})*[a-z0-9.,_\\/~#&=;%+?\\-\\\\(\\\\)]*)/gi;\n\nexport type AutoLinkProps = {\n text?: string;\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\n\nexport default (props: AutoLinkProps = {}) => {\n const { text = '', ...other } = props;\n return (\n <Fragment>\n {text.split(delimiter).map((word, idx) => {\n const match = word.match(delimiter);\n if (match && match[0]) {\n const url = match[0];\n return (\n <a {...other} key={idx} href={url.startsWith('http') ? url : `http://${url}`}>\n {url}\n </a>\n );\n }\n return <Fragment key={idx}>{word}</Fragment>;\n })}\n </Fragment>\n );\n};\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { HTMLSpanProps, noop } from '@uiw/utils';\nimport './style/index.less';\nimport { useState } from 'react';\nimport { useEffect } from 'react';\n\nexport interface AvatarProps extends HTMLSpanProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n icon?: IconProps['type'];\n alt?: string;\n src?: string;\n size?: 'large' | 'default' | 'small' | 'mini';\n shape?: 'square' | 'circle';\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;\n}\n\nexport default React.forwardRef<HTMLSpanElement, AvatarProps>((props, ref) => {\n const {\n prefixCls = 'w-avatar',\n shape = 'circle',\n size = 'default',\n className,\n src,\n alt,\n icon,\n onError = noop,\n ...resetProps\n } = props;\n let children = props.children;\n const [isImgExist, setIsImgExist] = useState(true);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n shape ? `${prefixCls}-${shape}` : null,\n src ? `${prefixCls}-image` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n setIsImgExist(true);\n }, [props.src]);\n\n if (isImgExist && src) {\n children = (\n <img\n src={src}\n alt={alt}\n onError={(evn) => {\n const errorFlag = onError ? onError(evn) : undefined;\n if (errorFlag !== false) {\n setIsImgExist(false);\n }\n }}\n />\n );\n } else if (icon && typeof icon === 'string') {\n children = <Icon type={icon} />;\n } else if (icon && React.isValidElement(icon)) {\n children = icon;\n }\n return (\n <span {...resetProps} className={cls} ref={ref}>\n {children}\n </span>\n );\n});\n","/**\n * 获取当前滚动条所在位置\n */\nexport function getScrollTop() {\n let scrollTop = 0;\n if (document && document.documentElement && document.documentElement.scrollTop) {\n scrollTop = document.documentElement.scrollTop;\n } else if (document.body) {\n scrollTop = document.body.scrollTop;\n }\n return scrollTop;\n}\n\n/**\n * TODO\n * @param {*} position 滚动到何处\n * @param {*} step 步长\n * @param {*} current 滚动条当前位置\n */\nexport function scrollToAnimate(position: number = 0, step: number = 100, current: number = 0) {\n let start = 0;\n const timer = setInterval(() => {\n if (current - start >= position) {\n start += step;\n if (current - start >= position) {\n window.scrollTo(0, current - start);\n } else {\n window.scrollTo(0, position);\n }\n } else {\n clearInterval(timer);\n }\n }, 0);\n}\n/**\n * 获取滚动条位置百分比\n */\nexport function getScrollPercent(offsetTop: number = 0) {\n let percent = 0;\n if (offsetTop < getScrollTop()) {\n percent = Math.round(\n ((getScrollTop() - offsetTop) / (document.body.scrollHeight - offsetTop - window.innerHeight)) * 100,\n );\n }\n return percent > 100 ? 100 : percent;\n}\n","import React, { useState, useEffect } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { getScrollPercent, getScrollTop, scrollToAnimate } from './utils';\nimport './style/index.less';\n\nexport interface BackTopProps extends IProps, HTMLDivProps {\n offsetTop?: number;\n clickable?: boolean;\n content?: JSX.Element | string;\n fixed?: boolean;\n /**\n * 滚动距离多少时显示组件\n */\n showBelow?: number;\n speed?: number;\n}\n\nexport interface IBackTopState {\n percent: number;\n current: number;\n}\n\nexport default React.forwardRef<HTMLDivElement, BackTopProps>((props, ref) => {\n const {\n prefixCls = 'w-back-top',\n className,\n content,\n children,\n offsetTop = 0,\n fixed = true,\n speed = 100,\n showBelow = 1,\n clickable = true,\n ...other\n } = props;\n const topShowBelow = !fixed ? 0 : showBelow || 0;\n const [percent, setPercent] = useState(0);\n const [current, setCurrent] = useState(0);\n const visible = percent >= topShowBelow;\n const cls = [\n prefixCls,\n className,\n !fixed ? 'no-fixed' : null,\n visible ? `${prefixCls}-show` : null,\n !visible ? `${prefixCls}-hide` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n useEffect(() => {\n window && window.addEventListener('scroll', onScroll);\n return function () {\n window && window.removeEventListener('scroll', onScroll);\n };\n });\n function onScroll() {\n setPercent(getScrollPercent(offsetTop));\n setCurrent(getScrollTop());\n }\n function scrollToTop() {\n if (typeof offsetTop === 'number' && typeof speed === 'number' && typeof current === 'number') {\n scrollToAnimate(offsetTop, speed, current);\n }\n }\n return (\n <div onClick={() => clickable && scrollToTop()} className={cls} {...other} ref={ref}>\n {content}\n {typeof children !== 'function' ? children : children({ percent, current, scrollToTop: scrollToTop })}\n </div>\n );\n});\n","import React from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface BadgeProps extends IProps, HTMLSpanProps {\n color?: string;\n dot?: boolean;\n processing?: boolean;\n max?: number;\n count?: number;\n}\n\nexport default React.forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n const {\n prefixCls = 'w-badge',\n className,\n style = {},\n color,\n max = 99,\n dot = false,\n processing = false,\n count,\n children,\n ...other\n } = props;\n const supProps = {\n className: [!dot ? `${prefixCls}-count` : null, dot ? 'dot' : null].filter(Boolean).join(' ').trim(),\n style: {},\n };\n const cls = [\n className,\n prefixCls,\n !children ? 'nowrap' : null,\n !children ? `${prefixCls}-status` : null,\n processing ? `${prefixCls}-processing` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const warpperProps: HTMLSpanProps = {};\n if (count || count === 0) {\n supProps.style = { backgroundColor: color, ...style };\n } else {\n warpperProps.style = style || {};\n }\n return (\n <span className={cls} {...other} {...warpperProps} ref={ref}>\n {color && <span className={`${prefixCls}-dot`} style={{ backgroundColor: color }} />}\n {children}\n {count !== 0 && !color && <sup {...supProps}>{!dot && count && max && count > max ? `${max}+` : count}</sup>}\n </span>\n );\n});\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport './style/item.less';\n\ntype ElementTag<T = any> = T extends HTMLElement ? React.HTMLAttributes<T> : T;\n\nexport interface BreadcrumbItemProps<T = any> extends IProps, ElementTag {\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : T;\n separator?: JSX.Element | string;\n active?: boolean;\n 'data-separator'?: JSX.Element | string;\n}\n\ntype RefElement<T = HTMLSpanElement> = T extends HTMLElement ? T : never;\n\nconst BreadcrumbItem = React.forwardRef<RefElement, BreadcrumbItemProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, tagName: TagName = 'span', active, separator, ...other } = props;\n const isElm = React.isValidElement(separator);\n const cls = [\n `${prefixCls}-item`,\n className,\n active ? 'active' : null,\n !separator ? 'no-separator' : null,\n isElm ? 'no-before' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const otherProps = { className: cls, ...other };\n if (!isElm) {\n otherProps['data-separator'] = separator;\n }\n return React.createElement(\n TagName,\n {\n ...otherProps,\n ref,\n },\n <Fragment>\n {isElm && <span className={`${prefixCls}-separator`}>{separator}</span>}\n {props.children}\n </Fragment>,\n );\n});\n\nexport default BreadcrumbItem;\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport Item from './Item';\nimport './style/index.less';\n\nexport interface BreadcrumbProps extends HTMLDivProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n separator?: JSX.Element | string;\n}\n\nconst Breadcrumb = React.forwardRef<HTMLDivElement, BreadcrumbProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, separator = '/', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <div {...{ className: cls, ...other }} ref={ref}>\n {React.Children.map(props.children, (element: any) => {\n return React.cloneElement(element, Object.assign({ separator }, element.props, {}));\n })}\n </div>\n );\n});\ntype Breadcrumb = typeof Breadcrumb & {\n Item: typeof Item;\n};\n\n(Breadcrumb as Breadcrumb).Item = Item;\n\nexport default Breadcrumb as Breadcrumb;\n","import Breadcrumb from './Breadcrumb';\n\nexport * from './Item';\nexport * from './Breadcrumb';\n\nexport default Breadcrumb;\n","import React from 'react';\nimport { HTMLDivProps, IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface ButtonGroupProps extends IProps, HTMLDivProps {\n vertical?: boolean;\n}\n\nexport default React.forwardRef<HTMLDivElement, ButtonGroupProps>((props, ref) => {\n const { prefixCls = 'w-btn-group', vertical = false, children, className, ...resetProps } = props;\n\n const cls = [prefixCls, className, vertical && `${prefixCls}-vertical`].filter(Boolean).join(' ').trim();\n\n return (\n <div className={cls} {...resetProps} ref={ref}>\n {children}\n </div>\n );\n});\n","const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction fallback(context: HTMLElement, node: HTMLElement) {\n if (node) {\n do {\n if (node === context) return true;\n } while ((node = node.parentNode as HTMLElement));\n }\n\n return false;\n}\n\nfunction isDOM(item: Node) {\n return typeof HTMLElement === 'function'\n ? item instanceof HTMLElement\n : item && typeof item === 'object' && item.nodeType === 1 && typeof item.nodeName === 'string';\n}\n\nconst contains = (() => {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return canUseDOM\n ? function (context: HTMLElement, node: HTMLElement) {\n if (context && context.contains && typeof context.contains === 'function' && isDOM(node)) {\n return context.contains(node);\n }\n if (context && context.compareDocumentPosition && isDOM(node)) {\n return context === node || !!(context.compareDocumentPosition(node) && 16);\n }\n return fallback(context, node);\n }\n : fallback;\n})();\n\nexport default contains;\n","export interface BordersSize extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles: BordersSize, axis: 'x' | 'y'): number {\n const sideA: string = axis === 'x' ? 'Left' : 'Top';\n const sideB: string = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles[`border${sideA}Width`]) + parseFloat(styles[`border${sideB}Width`]);\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined';\n","import isBrowser from './isBrowser';\n\ninterface Document {\n documentMode?: any;\n}\n\ninterface Window {\n MSInputMethodContext?: any;\n}\n\nconst isIE11 = isBrowser && !!((window as Window).MSInputMethodContext && (document as Document).documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version: number) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import isIE from './isIE';\n\ninterface BodyElement extends HTMLBodyElement {\n [key: string]: any;\n}\n\ninterface IHTMLElement extends HTMLElement {\n [key: string]: any;\n}\n\ninterface ComputedStyle extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\nfunction getSize(axis: 'Height' | 'Width', body: BodyElement, html: IHTMLElement, computedStyle: ComputedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? parseInt(html[`offset${axis}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`], 10)\n : 0,\n );\n}\n\nexport type WindowSize = { height?: number; width?: number };\n\nexport default function getWindowSizes(document: HTMLDocument): WindowSize {\n const body = document.body as HTMLBodyElement;\n const html = document.documentElement as HTMLElement;\n const computedStyle = getComputedStyle(html) as CSSStyleDeclaration;\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","import { getScroll } from '@uiw/utils';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes, { WindowSize } from './getWindowSizes';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\nexport interface IBoundingClientRect {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n offsetLeft?: number;\n offsetTop?: number;\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element: HTMLElement) {\n let rect = {} as IBoundingClientRect;\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, true);\n const scrollLeft = getScroll(element);\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n // eslint-disable-next-line\n } catch (e) {}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n } as IBoundingClientRect;\n\n // subtract scrollbar size from sizes\n const sizes: WindowSize = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument!) : {};\n const width = sizes.width || element.clientWidth || result.right - result.left;\n const height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n result.offsetLeft = element.offsetLeft || element.scrollLeft || 0;\n result.offsetTop = element.offsetTop || element.offsetTop || 0;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result) as IBoundingClientRect;\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets: ClientRect): ClientRect {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(\n element: HTMLElement,\n property?: keyof CSSStyleDeclaration,\n): CSSStyleDeclaration | any {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument!.defaultView;\n const css: CSSStyleDeclaration = (window as Window).getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","export type Sizes = {\n width: number;\n height: number;\n};\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element: HTMLElement): Sizes {\n let rect = element.getBoundingClientRect();\n // const window = element.ownerDocument.defaultView;\n // const styles = window.getComputedStyle(element);\n // const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n // const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result: Sizes = {\n width: element.offsetWidth || element.scrollWidth || rect.width || 0,\n height: element.offsetHeight || element.scrollHeight || rect.height || 0,\n };\n return result;\n}\n","import { getScroll } from '@uiw/utils';\nimport getBoundingClientRect, { IBoundingClientRect } from './util/getBoundingClientRect';\nimport getOuterSizes from './util/getOuterSizes';\nimport { OverlayStyl, OverlayTriggerProps, Placement } from './';\n\ntype GetStyleOptions = {\n trigger: HTMLElement | IBoundingClientRect;\n popup: HTMLElement | IBoundingClientRect;\n placement: OverlayStyl['placement'];\n usePortal: OverlayTriggerProps['usePortal'];\n autoAdjustOverflow: OverlayTriggerProps['autoAdjustOverflow'];\n};\n\nexport function getStyle(options: GetStyleOptions) {\n let { trigger: triggerDom, popup: popupDom, placement, usePortal, autoAdjustOverflow } = options || {};\n const sty = {} as OverlayStyl;\n if (!triggerDom || !popupDom || !document) {\n return sty;\n }\n\n const winSizeHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n const winSizeWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n sty.placement = placement;\n const scrollTop = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement, true);\n const scrollLeft = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement);\n const trigger = {\n ...getBoundingClientRect(triggerDom as HTMLElement),\n ...getOuterSizes(triggerDom as HTMLElement),\n };\n const popup = {\n ...getBoundingClientRect(popupDom as HTMLElement),\n ...getOuterSizes(popupDom as HTMLElement),\n };\n\n const bottom = winSizeHeight - trigger.bottom;\n const right = winSizeWidth - trigger.left - trigger.width;\n\n sty.top = trigger.top + scrollTop;\n sty.left = trigger.left;\n\n if (!usePortal) {\n sty.top = trigger.offsetTop as number;\n sty.left = trigger.offsetLeft as number;\n }\n\n if (placement && /^(top)/.test(placement)) {\n sty.top -= popup.height;\n }\n if (placement && /^(right)/.test(placement)) {\n sty.left += trigger.width;\n }\n if (placement && /^(bottom)/.test(placement)) {\n sty.top += trigger.height;\n }\n if (placement && /^(left)/.test(placement)) {\n sty.left -= popup.width;\n }\n switch (sty.placement) {\n case 'bottomLeft':\n case 'topLeft':\n break;\n case 'bottom':\n // eslint-disable-next-line\n case 'top':\n sty.left = sty.left - (popup.width - trigger.width) / 2;\n break;\n case 'bottomRight':\n case 'topRight':\n sty.left = sty.left + scrollLeft + trigger.width - popup.width;\n break;\n case 'rightTop':\n case 'leftTop':\n break;\n case 'right':\n // eslint-disable-next-line\n case 'left':\n sty.top = sty.top - (popup.height - trigger.height) / 2;\n break;\n case 'rightBottom':\n case 'leftBottom':\n sty.top = sty.top - popup.height + trigger.height;\n break;\n default:\n break;\n }\n if (autoAdjustOverflow) {\n if (placement && /^(top)/.test(placement) && trigger.top < popup.height && bottom > popup.height) {\n sty.placement = placement.replace(/^top/, 'bottom') as Placement;\n sty.top = sty.top + popup.height + trigger.height;\n }\n if (placement && /^(bottom)/.test(placement) && bottom < popup.height && trigger.top > popup.height) {\n sty.placement = placement.replace(/^bottom/, 'top') as Placement;\n sty.top = sty.top - popup.height - trigger.height;\n }\n if (placement && /^(right)/.test(placement) && right < popup.width) {\n sty.placement = placement.replace(/^right/, 'left') as Placement;\n sty.left = sty.left - trigger.width - popup.width;\n }\n if (placement && /^(left)/.test(placement) && trigger.left < popup.width) {\n sty.placement = placement.replace(/^left/, 'right') as Placement;\n sty.left = sty.left + trigger.width + popup.width;\n }\n\n if (placement && /^(left|right)/.test(placement) && usePortal) {\n // Top\n if (\n (/(Top)$/.test(placement) && trigger.top < 0) ||\n (/(right|left)$/.test(placement) && trigger.top + trigger.height / 2 < popup.height / 2) ||\n (/(Bottom)$/.test(placement) && trigger.top + trigger.height < popup.height)\n ) {\n sty.top = scrollTop;\n }\n } else {\n // Top\n if (placement && /(Top)$/.test(placement) && trigger.top < 0) {\n sty.top -= trigger.top;\n }\n if (placement && /(Bottom)$/.test(placement) && trigger.bottom < popup.height) {\n // eslint-disable-next-line\n sty.top = sty.top + (popup.height - trigger.bottom);\n }\n if (placement && /(right|left)$/.test(placement) && trigger.bottom - trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top + popup.height / 2 - (trigger.bottom - trigger.height / 2);\n }\n }\n // Bottom Public Part\n if (placement && /^(left|right)/.test(placement)) {\n if (/(Top)$/.test(placement) && bottom + trigger.height < popup.height) {\n sty.top = sty.top - (popup.height - bottom - trigger.height); // eslint-disable-line\n }\n if (/(right|left)$/.test(placement) && bottom + trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top - (popup.height / 2 - bottom - trigger.height / 2); // eslint-disable-line\n }\n if (/(Bottom)$/.test(placement) && bottom < 0) {\n sty.top = sty.top + bottom; // eslint-disable-line\n }\n }\n\n if (placement && /^(top|bottom)/.test(placement) && usePortal) {\n // left\n if (\n (/(Left)$/.test(placement) && trigger.left < 0) ||\n (/(top|bottom)$/.test(placement) && trigger.left + trigger.width / 2 < popup.width / 2) ||\n (/(Right)$/.test(placement) && trigger.left + trigger.width < popup.width)\n ) {\n sty.left = scrollLeft;\n }\n // right\n if (/(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = trigger.left + trigger.width + right - popup.width;\n }\n } else if (placement && /(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = sty.left + (right + trigger.width / 2 - popup.width / 2); // eslint-disable-line\n }\n if (placement && /^(top|bottom)/.test(placement)) {\n if (/(Left)$/.test(placement) && trigger.width + right < popup.width) {\n sty.left = sty.left - (popup.width - trigger.width - right);\n }\n if (/(Right)$/.test(placement) && right < 0) {\n sty.left = sty.left + right; // eslint-disable-line\n }\n }\n }\n return sty;\n}\n","import React, { cloneElement, useEffect, useRef, useState, useImperativeHandle } from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport contains from './utils';\nimport { IBoundingClientRect } from './util/getBoundingClientRect';\nimport { getStyle } from './getStyle';\nimport './style/index.less';\n\nexport interface OverlayTriggerProps extends IProps, OverlayProps {\n onVisibleChange?: (isVisbale: boolean) => void;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n overlay?: React.ReactNode | any;\n trigger?: 'click' | 'hover' | 'focus';\n usePortal?: boolean;\n isOpen?: boolean;\n disabled?: boolean;\n isOutside?: boolean;\n isClickOutside?: boolean;\n autoAdjustOverflow?: boolean;\n placement?: Placement;\n delay?: Delay;\n}\n\nexport interface OverlayTriggerState {\n show: boolean;\n trigger: OverlayTriggerProps['trigger'];\n overlayStyl: OverlayStyl;\n transitionName: OverlayProps['transitionName'];\n}\n\nexport type Delay =\n | number\n | {\n show?: number;\n hide?: number;\n };\n\nexport type Placement =\n | 'top'\n | 'topLeft'\n | 'topRight'\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'right'\n | 'rightTop'\n | 'rightBottom'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomRight';\n\nexport type OverlayStyl = {\n placement: Placement;\n top: number;\n bottom: number;\n left: number;\n right: number;\n zIndex: number;\n};\n\ninterface ITriggerProps {\n onClick?: (e: MouseEvent) => void;\n onFocus?: (e: MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseOut?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseEnter?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nconst normalizeDelay = (delay?: Delay) => (delay && typeof delay === 'object' ? delay : { show: delay, hide: delay });\n\nexport type OverlayTriggerRef = {\n hide: () => void;\n show: () => void;\n};\n\nexport default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props, ref) => {\n const {\n className,\n\n prefixCls = 'w-overlay-trigger',\n usePortal = true,\n isOutside = false,\n isClickOutside = true,\n disabled = false,\n isOpen: _ = false,\n trigger = 'hover',\n placement = 'top',\n\n autoAdjustOverflow,\n transitionName,\n\n children,\n overlay,\n onVisibleChange = noop,\n onEnter = noop,\n ...other\n } = props;\n\n const zIndex = useRef<number>(999);\n const triggerRef = useRef<HTMLElement>();\n const popupRef = useRef<HTMLElement>();\n const timeoutRef = useRef<number[]>([]);\n const hoverStateRef = useRef<'show' | 'hide' | null>(null);\n const [isOpen, setIsOpen] = useState(!!props.isOpen);\n const [overlayStyl, setOverlayStyl] = useState<OverlayStyl>({\n placement,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: zIndex.current,\n });\n useImperativeHandle(ref, () => ({\n hide: () => hide(),\n show: () => show(),\n }));\n\n const child: any = React.Children.only(children);\n const overlayProps: OverlayProps = {\n ...other,\n placement,\n isOpen,\n dialogProps: {},\n };\n const triggerProps: ITriggerProps = {};\n\n function getChildProps() {\n if (child && React.isValidElement(child)) {\n return child.props;\n }\n return {};\n }\n\n useEffect(() => {\n if (isClickOutside) {\n document && document.addEventListener('mousedown', handleClickOutside);\n }\n return () => {\n document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(!!props.isOpen);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n onVisibleChange(isOpen);\n }, [isOpen]);\n\n const handleClickOutside = (e: MouseEvent) => {\n const popNode = popupRef.current;\n const childNode = triggerRef.current;\n if (\n popNode &&\n childNode &&\n e.target &&\n !contains(popNode, e.target as HTMLElement) &&\n !contains(childNode, e.target as HTMLElement)\n ) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n\n function clearTimeouts() {\n if (timeoutRef.current.length > 0) {\n for (const timeoutId of timeoutRef.current) {\n window.clearTimeout(timeoutId);\n }\n timeoutRef.current = [];\n }\n }\n function handleShow() {\n clearTimeouts();\n hoverStateRef.current = 'show';\n\n const delay = normalizeDelay(props.delay);\n\n if (!delay.show) {\n show();\n return;\n }\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'show') show();\n }, delay.show);\n timeoutRef.current.push(handle);\n }\n\n function handleHide(isOutside: boolean) {\n clearTimeouts();\n if (!isOutside && props.isOutside) return;\n hoverStateRef.current = 'hide';\n\n const delay = normalizeDelay(props.delay);\n\n if (!delay.hide) {\n hide();\n return;\n }\n\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'hide') hide();\n }, delay.hide);\n\n timeoutRef.current.push(handle);\n }\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker\n // moving from one child element to another.\n function handleMouseOverOut(handler: Function, e: React.MouseEvent, relatedNative: 'fromElement' | 'toElement') {\n const target = e.currentTarget as HTMLElement;\n const related = (e.relatedTarget || (e.nativeEvent as any)[relatedNative]) as HTMLElement;\n let isOutside = true;\n if (\n (popupRef.current && contains(popupRef.current, related)) ||\n (triggerRef.current && contains(triggerRef.current, related))\n ) {\n isOutside = false;\n }\n if ((!related || related !== target) && !contains(target, related)) {\n handler(isOutside, e);\n }\n }\n\n function hide() {\n if (!isOpen) return;\n zIndex.current -= 1;\n setIsOpen(false);\n }\n\n function show() {\n if (isOpen) return;\n zIndex.current += 1;\n setIsOpen(true);\n }\n\n function handleEnter(node: HTMLElement, isAppearing: boolean) {\n onEnter && onEnter(node, isAppearing);\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n }\n\n if (trigger === 'click' && !disabled) {\n triggerProps.onClick = (e) => {\n const { onClick } = getChildProps() as any;\n isOpen ? hide() : show();\n if (onClick) onClick(e, !isOpen);\n };\n }\n if (trigger === 'focus' && !disabled) {\n triggerProps.onFocus = () => handleShow();\n }\n\n if (trigger === 'hover' && !disabled) {\n triggerProps.onMouseOver = triggerProps.onMouseEnter = (e) => {\n handleMouseOverOut(handleShow, e, 'fromElement');\n };\n triggerProps.onMouseOut = triggerProps.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n if (overlayProps.dialogProps) {\n overlayProps.dialogProps!.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n }\n }\n overlayProps.style = { ...overlayProps.style, ...overlayStyl };\n return (\n <React.Fragment>\n {cloneElement(\n child,\n Object.assign({}, child.props, {\n ...triggerProps,\n ref: triggerRef,\n className: [child.props.className, disabled ? `${prefixCls}-disabled` : null]\n .filter(Boolean)\n .join(' ')\n .trim(),\n }),\n )}\n <Overlay\n {...overlayProps}\n style={{ ...overlayProps.style, ...overlayStyl }}\n onEnter={handleEnter}\n className={[prefixCls, className, overlayStyl.placement].filter(Boolean).join(' ').trim()}\n usePortal={usePortal}\n transitionName={transitionName}\n isOpen={isOpen}\n hasBackdrop={false}\n >\n {cloneElement(\n overlay,\n Object.assign({\n ...overlay.props,\n ref: popupRef,\n className: [overlay.props && overlay.props.className, placement].filter(Boolean).join(' ').trim(),\n }),\n )}\n </Overlay>\n </React.Fragment>\n );\n});\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport './style/index.less';\n\nexport interface PopoverProps extends OverlayTriggerProps {\n content?: React.ReactNode;\n visibleArrow?: boolean;\n}\n\nexport default class Popover extends React.Component<PopoverProps> {\n public static defaultProps: PopoverProps = {\n prefixCls: 'w-popover',\n placement: 'top',\n usePortal: true,\n isOpen: false,\n visibleArrow: true,\n };\n renderArrow = () => {\n const { prefixCls } = this.props;\n return (\n <div className={`${prefixCls}-arrow`}>\n <svg viewBox=\"0 0 30 30\">\n <path\n fillOpacity=\"0.2\"\n d=\"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\"\n />\n <path\n fill=\"#fff\"\n d=\"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\"\n />\n </svg>\n </div>\n );\n };\n render() {\n const { prefixCls, className, content, visibleArrow, ...other } = this.props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <OverlayTrigger\n {...other}\n overlay={\n <div className={cls}>\n {visibleArrow && this.renderArrow()}\n <div className={`${prefixCls}-inner`}>{this.props.content}</div>\n </div>\n }\n >\n {typeof this.props.children === 'object' ? this.props.children : <span>{this.props.children}</span>}\n </OverlayTrigger>\n );\n }\n}\n","import React, { useEffect, useImperativeHandle } from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport './style/input.less';\n\nexport interface InputProps extends IProps, Omit<HTMLInputProps, 'size'> {\n preIcon?: IconProps['type'];\n addonAfter?: React.ReactNode;\n size?: 'large' | 'default' | 'small';\n}\n\nexport default React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n prefixCls = 'w-input',\n className,\n style,\n size = 'default',\n type = 'text',\n preIcon = null,\n addonAfter,\n ...otherProps\n } = props;\n const inputRef = React.useRef<HTMLInputElement>(null);\n const addonRef = React.useRef<HTMLSpanElement>(null);\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(ref, () => inputRef.current);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n addonAfter ? `${prefixCls}-addon` : null,\n props.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n computedInputPadding();\n });\n\n function computedInputPadding() {\n if (addonRef.current && inputRef.current) {\n const input = window && window.getComputedStyle(addonRef.current, null);\n inputRef.current.style.paddingRight = `${\n addonRef.current.clientWidth + parseInt(input.right as string, 10) * 2\n }px`;\n }\n }\n return (\n <div className={cls} style={style}>\n <Icon type={preIcon} />\n <input ref={inputRef} type={type} autoComplete=\"off\" {...otherProps} className={`${prefixCls}-inner`} />\n {addonAfter && (\n <span className={`${prefixCls}-addon-after`} ref={addonRef}>\n {addonAfter}\n </span>\n )}\n </div>\n );\n});\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps, HTMLLiProps } from '@uiw/utils';\nimport './style/time-picker.less';\n\nexport interface TimePickerPanelProps extends IProps, HTMLDivProps {\n onSelected?: (\n type: TimePickerPanelProps['type'],\n num: number,\n disableds: number[],\n date: TimePickerPanelProps['date'],\n ) => void;\n count?: number;\n hideDisabled?: boolean;\n disabledHours?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledMinutes?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledSeconds?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n type?: 'Hours' | 'Minutes' | 'Seconds';\n date?: Date;\n}\n\nexport default function TimePickerPanel(props: TimePickerPanelProps) {\n const {\n prefixCls = 'w-timepicker',\n className,\n count = 24,\n date,\n type = 'Hours',\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n onSelected,\n ...other\n } = props;\n const disableds = useRef<number[]>([]);\n function getMaybeNumber() {\n if (date && type) {\n return new Date(date)[`get${type}` as 'getHours' | 'getMinutes' | 'getSeconds']();\n }\n return 0;\n }\n function handleClick(num: number, e: React.MouseEvent<HTMLLIElement>) {\n if (!date) return;\n const currentDate = new Date(date);\n currentDate[`set${type}` as 'setHours' | 'setMinutes' | 'setSeconds'](num);\n onSelected && onSelected(type, num, disableds.current, currentDate);\n }\n function getDisabledItem(num: number) {\n const disabled = props[`disabled${type}` as 'disabledHours' | 'disabledMinutes' | 'disabledSeconds'];\n if (disabled) {\n return disabled(num, type, new Date(date!));\n }\n return false;\n }\n function getItemInstance(tag: HTMLLIElement) {\n if (tag && tag.parentNode && tag.dataset['index']) {\n const offsetTop = Number(tag.dataset['index']) * tag.clientHeight;\n if (tag.parentNode.parentNode) {\n (tag.parentNode.parentNode as HTMLDivElement).scrollTop = offsetTop;\n }\n }\n }\n const data = useMemo(() => {\n return [...Array(count)]\n .map((_, idx) => {\n const disabled = getDisabledItem(idx);\n if (disabled) disableds.current.push(idx);\n return {\n count: idx,\n disabled: getDisabledItem(idx),\n };\n })\n .filter((item) => (hideDisabled && item.disabled ? false : true));\n }, [hideDisabled]);\n\n return (\n <div className={`${prefixCls}-spinner`} {...other}>\n <ul>\n {data.map((item, idx) => {\n const liProps = {} as HTMLLiProps;\n if (!item.disabled) {\n liProps.onClick = (e) => handleClick(item.count, e);\n }\n const currentCount = getMaybeNumber();\n return (\n <li\n key={idx}\n data-index={currentCount === item.count ? idx : undefined}\n ref={(tag) => tag && getItemInstance(tag)}\n {...liProps}\n className={[\n item.disabled ? 'disabled' : null,\n currentCount === item.count ? 'selected' : null,\n hideDisabled && item.disabled ? 'hide' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {item.count < 10 ? `0${item.count}` : item.count}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport TimePanel, { TimePickerPanelProps } from './Panel';\nimport './style/time-picker.less';\n\nexport interface TimePickerTimeProps extends IProps, TimePickerPanelProps {\n precision?: Precision;\n}\n\nexport type Precision = 'hour' | 'minute' | 'second';\n\nexport function TimePickerTime(props: TimePickerTimeProps) {\n const { prefixCls = 'w-timepicker', className, precision = 'second', ...other } = props;\n return (\n <div className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n {/^(second|minute|hour)$/.test(precision as Precision) && <TimePanel type=\"Hours\" count={24} {...other} />}\n {/^(second|minute)$/.test(precision as Precision) && <TimePanel type=\"Minutes\" count={60} {...other} />}\n {/^(second)$/.test(precision as Precision) && <TimePanel type=\"Seconds\" count={60} {...other} />}\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Button from '@uiw/react-button';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport { TimePickerTime, TimePickerTimeProps } from './Time';\nimport './style/index.less';\n\nexport * from './Panel';\nexport * from './Time';\n\nexport interface TimePickerProps<T> extends IProps, Omit<InputProps<T>, 'onChange' | 'value'> {\n value?: Date;\n format?: string;\n popoverProps?: PopoverProps;\n disabledHours?: TimePickerTimeProps['disabledHours'];\n precision?: TimePickerTimeProps['precision'];\n disabledMinutes?: TimePickerTimeProps['disabledMinutes'];\n disabledSeconds?: TimePickerTimeProps['disabledSeconds'];\n hideDisabled?: TimePickerTimeProps['hideDisabled'];\n allowClear?: boolean;\n disabled?: boolean;\n onChange?: (\n dataStr?: string,\n date?: Date | '',\n type?: TimePickerTimeProps['type'],\n num?: number,\n disableds?: number[],\n ) => void;\n}\n\nexport default function TimePicker<T>(props: TimePickerProps<T>) {\n const {\n prefixCls = 'w-timepicker',\n className,\n disabled,\n value,\n format = 'HH:mm:ss',\n popoverProps,\n allowClear = true,\n onChange,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n const timeProps = {\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n };\n const inputValue = date ? formatter(format, date) : '';\n const datePickerTime = date || new Date();\n const _props: InputProps<T> = { ...inputProps, value: inputValue };\n if (allowClear && inputValue !== '' && !!inputValue) {\n _props.addonAfter = (\n <Button\n className={`${prefixCls}-close-btn`}\n icon=\"close\"\n disabled={props.disabled}\n onClick={() => {\n setDate(undefined);\n onChange && onChange();\n }}\n size={props.size}\n basic\n type=\"light\"\n />\n );\n }\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n visibleArrow={false}\n {...popoverProps}\n content={\n <TimePickerTime\n className={`${prefixCls}-popover`}\n {...timeProps}\n date={datePickerTime}\n onSelected={(type, num, disableds, currentDate) => {\n setDate(new Date(currentDate!));\n const dataStr = currentDate ? formatter(format, currentDate) : '';\n onChange && onChange(dataStr, currentDate, type, num, disableds);\n }}\n />\n }\n >\n <Input\n placeholder=\"请选择时间\"\n readOnly\n disabled={disabled}\n {..._props}\n className={[`${prefixCls}-input`, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/day.less';\n\nfunction isValidDate(date: Date) {\n return date instanceof Date && !isNaN(date.getTime());\n}\n\nexport interface DatePickerDayDateSource {\n day?: number;\n month?: number;\n year?: number;\n}\n\nfunction classnames(obj: Record<string, boolean>) {\n return Object.keys(obj || {})\n .map((keyName) => (obj[keyName] ? keyName : null))\n .filter(Boolean)\n .join(' ')\n .trim();\n}\n\nexport interface DatePickerDayProps extends IProps, HTMLDivProps {\n weekday?: string[];\n weekTitle?: string[];\n panelDate?: Date;\n date?: Date;\n today?: Date;\n prefixCls?: string;\n onSelectDay?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: (day: number, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => React.ReactNode;\n disabledDate?: (cellDate: Date, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => boolean;\n}\n\nexport interface PickerDayState {\n selected?: Date;\n panelDate?: Date;\n}\n\nexport type DatePickerDayRenderDay = {\n end: boolean;\n prev: boolean;\n today: boolean;\n selected: boolean;\n next: boolean;\n disabled: boolean;\n date?: Date;\n};\n\nexport type DatePickerDayRenderDayProps = {\n key?: number;\n date?: Date;\n onClick?: (cellDate: Date, event: React.MouseEvent<HTMLDivProps>) => void;\n};\n\nexport type DayRectProps = {\n col: number;\n row: number;\n index: number;\n date?: DatePickerDayProps['date'];\n today?: DatePickerDayProps['today'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n renderDay?: DatePickerDayProps['renderDay'];\n panelDate?: DatePickerDayProps['panelDate'];\n onSelectDay?: DatePickerDayProps['onSelectDay'];\n};\n\nexport function DayRect(props: DayRectProps) {\n const {\n date: selectedDate,\n row,\n col,\n index,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n const cls: Omit<DatePickerDayRenderDay, 'date'> = {\n end: col === 0 || col === 6,\n prev: false,\n today: false,\n selected: false,\n next: false,\n disabled: false,\n };\n let date = panelDate;\n if (!date || !isValidDate(date)) date = new Date();\n const year = date.getFullYear();\n const month = date.getMonth();\n const week = useMemo(() => new Date(new Date(date!).setDate(1)).getDay(), [date.toDateString()]);\n const lastDay = useMemo(() => new Date(year, month === 0 ? 12 : month + 1, 0).getDate(), [date.toDateString()]);\n let day = index;\n if (date) {\n day = day - week + 1;\n if (day < 1) {\n cls.prev = true;\n }\n if (day > lastDay) {\n cls.next = true;\n }\n }\n let cellDate = useMemo(() => new Date(new Date(date!).setDate(day)), [day]);\n if (today && today.toDateString() === cellDate.toDateString()) {\n cls.today = true;\n }\n if (selectedDate && selectedDate.toDateString() === cellDate.toDateString()) {\n cls.selected = true;\n }\n const divProps: React.HTMLAttributes<HTMLDivElement> = {\n onClick: () => {\n const cellMonth = cellDate.getMonth();\n onSelectDay &&\n onSelectDay!(cellDate, {\n year: cellDate.getFullYear(),\n month: cellMonth === 0 ? 12 : cellMonth + 1,\n day: cellDate.getDate(),\n });\n },\n };\n if (disabledDate && disabledDate(cellDate, { ...props, ...cls })) {\n cls.disabled = true;\n delete divProps.onClick;\n }\n return (\n <div className={classnames(cls)} {...other} {...divProps}>\n {renderDay ? (\n renderDay(cellDate.getDate(), { ...props, ...cls, date: cellDate })\n ) : (\n <div>{cellDate.getDate()}</div>\n )}\n </div>\n );\n}\n\nconst WEEKTITLE = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];\nconst WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];\n\nexport function DatePickerDay(props: DatePickerDayProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday = WEEKDAY,\n weekTitle = WEEKTITLE,\n date,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n\n const weekdayLabel = useMemo(\n () => (\n <div className={`${prefixCls}-weekday`}>\n {(weekday || []).map((week, idx) => (\n <div key={idx} className={classnames({ end: idx === 0 || idx === 6 })} title={weekTitle && weekTitle[idx]}>\n {week}\n </div>\n ))}\n </div>\n ),\n [prefixCls, weekday, weekTitle],\n );\n\n return (\n <div {...other} className={[prefixCls ? `${prefixCls}-body` : null, className].filter(Boolean).join(' ').trim()}>\n {weekdayLabel}\n <div className={[prefixCls ? `${prefixCls}-day-body` : null].filter(Boolean).join(' ').trim()}>\n {[...Array(6)].map((_, idx) => (\n <div key={idx} className={`${prefixCls}-week`}>\n {[...Array(7)].map((_, col) => (\n <DayRect\n date={date}\n today={today}\n disabledDate={disabledDate}\n renderDay={renderDay}\n panelDate={panelDate}\n key={col}\n col={col}\n row={idx}\n onSelectDay={(curDate, data) => {\n onSelectDay && onSelectDay(curDate, data);\n }}\n index={idx * 7 + col}\n />\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/year-month.less';\n\nexport interface DatePickerMonthProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n onSelected?: (month: number, paging?: boolean) => void;\n monthLabel?: React.ReactNode[];\n}\n\nexport function DatePickerMonth(props: DatePickerMonthProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n ...other\n } = props;\n return (\n <div className={[prefixCls ? `${prefixCls}-month` : null, className].filter(Boolean).join(' ').trim()} {...other}>\n {[...Array(12)].map((_, idx) => {\n const selectedMonth = panelDate!.getMonth();\n return (\n <div key={idx} className={[selectedMonth === idx ? 'selected' : null].filter(Boolean).join(' ').trim()}>\n <span onClick={() => onSelected(idx, false)}>{(monthLabel && monthLabel[idx]) || idx}</span>\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useState } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/year-month.less';\n\nexport interface DatePickerYearProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n panelNum?: number[];\n onSelected?: (year: number, paging?: boolean) => void;\n}\n\nexport function DatePickerYear(props: DatePickerYearProps) {\n const {\n prefixCls = 'w-datepicker',\n panelNum = [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n className,\n panelDate,\n onSelected = noop,\n ...other\n } = props;\n const [activeYear, setActiveYear] = useState(props.panelDate);\n function handleSelected(year: number, idx: number) {\n if (idx === 0 || idx === panelNum!.length - 1) {\n const date = new Date(activeYear!);\n date.setFullYear(year);\n setActiveYear(date);\n onSelected!(year, true);\n } else {\n onSelected!(year);\n }\n }\n return (\n <div className={[prefixCls ? `${prefixCls}-year` : null, className].filter(Boolean).join(' ').trim()} {...other}>\n {panelNum &&\n panelNum.map((_, idx) => {\n const selectedYear = activeYear!.getFullYear();\n const year = selectedYear + panelNum[idx];\n return (\n <div\n key={idx}\n className={[\n selectedYear === year ? 'selected' : null,\n idx === 0 || idx === panelNum.length - 1 ? 'paging' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n <span onClick={() => handleSelected(year, idx)}>{year}</span>\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/caption.less';\n\nfunction classnames(...arg: (string | null | undefined)[]) {\n return [...arg].filter(Boolean).join(' ').trim();\n}\n\nexport type DatePickerCaptionType = 'prev' | 'month' | 'year' | 'today' | 'next';\n\nexport interface DatePickerCaptionProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n monthLabel?: React.ReactNode[];\n todayButton?: string;\n onSelected?: (captionType: DatePickerCaptionType) => void;\n}\n\nexport function DatePickerCaption(props: DatePickerCaptionProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n todayButton,\n ...other\n } = props;\n\n const renderMonth = useMemo(() => {\n const month = panelDate.getMonth();\n return (monthLabel && monthLabel[month]) || month + 1;\n }, [panelDate.toDateString(), monthLabel]);\n return (\n <div className={classnames(prefixCls ? `${prefixCls}-caption` : null, className)} {...other}>\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'prev')}\n onClick={() => onSelected('prev')}\n />\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'month')}\n onClick={() => onSelected('month')}\n >\n {renderMonth}\n </div>\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'year')}\n onClick={() => onSelected('year')}\n >\n {panelDate!.getFullYear()}\n </div>\n {todayButton && (\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-today` : null)}\n onClick={() => onSelected('today')}\n title={todayButton}\n />\n )}\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'next')}\n onClick={() => onSelected('next')}\n />\n </div>\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport formatter from '@uiw/formatter';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { TimePickerTime, TimePickerPanelProps } from '@uiw/react-time-picker';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from './DatePickerDay';\nimport { DatePickerMonth } from './DatePickerMonth';\nimport { DatePickerYear } from './DatePickerYear';\nimport { DatePickerCaption, DatePickerCaptionType } from './DatePickerCaption';\nimport './style/index.less';\n\nexport * from './DatePickerDay';\nexport * from './DatePickerMonth';\nexport * from './DatePickerYear';\nexport * from './DatePickerCaption';\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport interface DatePickerShowTimeProps extends TimePickerPanelProps {\n format?: string;\n}\nexport interface DatePickerProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n onChange?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: DatePickerDayProps['renderDay'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n showTime?: DatePickerShowTimeProps | boolean;\n monthLabel?: React.ReactNode[];\n weekday?: string[];\n weekTitle?: string[];\n date?: Date;\n panelDate?: Date;\n today?: Date;\n todayButton?: string;\n onPanelChange?: (date?: Date, mode?: 'next' | 'prev') => void;\n}\nexport interface DatePickerState {\n panelDate?: Date;\n date?: Date;\n type?: 'day' | 'time' | DatePickerCaptionType;\n}\n\nexport default function DatePicker(props: DatePickerProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday,\n weekTitle,\n monthLabel = MONTH_LABEL,\n date,\n today = new Date(),\n todayButton,\n panelDate = new Date(),\n disabledDate,\n renderDay,\n onChange = noop,\n onPanelChange = noop,\n showTime,\n ...other\n } = props;\n const [type, setType] = useState<DatePickerState['type']>('day');\n const [selectDate, setSelectDate] = useState(date);\n const [selectPanelDate, setSelectPanelDate] = useState(panelDate);\n\n useEffect(() => {\n if (date) {\n setSelectDate(date);\n setSelectPanelDate(date);\n }\n }, [date]);\n\n const format = useMemo(\n () =>\n showTime && (showTime as DatePickerShowTimeProps).format\n ? (showTime as DatePickerShowTimeProps).format\n : 'HH:mm:ss',\n [showTime],\n );\n function handleSelected(curType: DatePickerState['type']) {\n if (curType && /^(year|month|time)$/.test(curType)) {\n if (type === 'time') {\n curType = 'day';\n }\n setType(curType);\n } else {\n let currentDate = new Date(selectDate || selectPanelDate);\n let month = currentDate.getMonth();\n if (curType === 'prev') {\n month -= 1;\n }\n if (curType === 'next') {\n month += 1;\n }\n currentDate.setMonth(month);\n if (curType === 'prev' || curType === 'next') {\n onPanelChange && onPanelChange(new Date(currentDate), curType);\n }\n setSelectPanelDate(curType === 'today' ? today : currentDate);\n setSelectDate(curType === 'today' ? today : currentDate);\n\n setType('day');\n }\n }\n\n function onSelectedTime(type: TimePickerPanelProps['type'], num: number) {\n (selectPanelDate || new Date())[`set${type}` as 'setHours'](num);\n setSelectPanelDate(new Date(selectPanelDate));\n onChange && onChange(new Date(selectPanelDate));\n }\n\n function onSelectedDate(type: 'setMonth' | 'setFullYear', month: number, paging?: boolean) {\n (selectPanelDate || new Date())[type](month);\n setSelectPanelDate(new Date(selectPanelDate));\n setType('day');\n onChange && onChange(new Date(selectPanelDate));\n }\n return (\n <div className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n <DatePickerCaption\n todayButton={todayButton}\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n onSelected={handleSelected}\n />\n {type === 'day' && (\n <DatePickerDay\n prefixCls={prefixCls}\n disabledDate={disabledDate}\n onSelectDay={(selectedDate, dateSource) => {\n setSelectPanelDate(selectedDate!);\n onChange(selectedDate, dateSource);\n }}\n renderDay={renderDay}\n date={selectDate}\n today={today || new Date()}\n panelDate={selectPanelDate}\n weekday={weekday}\n weekTitle={weekTitle}\n />\n )}\n {type === 'month' && (\n <DatePickerMonth\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n prefixCls={prefixCls}\n onSelected={(num) => onSelectedDate('setMonth', num)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n prefixCls={prefixCls}\n panelDate={selectDate || selectPanelDate}\n onSelected={(num) => onSelectedDate('setFullYear', num)}\n />\n )}\n {type === 'time' && (\n <TimePickerTime\n date={selectPanelDate}\n {...showTime}\n className={`${prefixCls}-timepicker`}\n onSelected={onSelectedTime}\n />\n )}\n {showTime && format && (\n <div className={`${prefixCls}-time-btn`} onClick={() => handleSelected('time')}>\n {formatter(format!, selectDate || selectPanelDate)}\n </div>\n )}\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { CalendarProps } from './';\n\nexport type RenderDayProps = {\n prefixCls?: string;\n day?: number;\n data?: CalendarProps['data'];\n currentDate?: Date;\n};\n\nexport default function RenderDay(props: RenderDayProps) {\n const { prefixCls, day, data, currentDate } = props;\n\n const dayData = useMemo(\n () =>\n (data || []).filter((item) => {\n let arr: number[] = ((item.date && item.date.split('/')) || []).map((num) => Number(num));\n if (arr.length === 1) {\n return day === arr[0];\n }\n if (currentDate && arr.length === 2) {\n return currentDate.getMonth() + 1 === arr[0] && day === arr[1];\n }\n if (currentDate && arr.length === 3) {\n return currentDate.getFullYear() === arr[0] && currentDate.getMonth() + 1 === arr[1] && day === arr[2];\n }\n return false;\n }),\n [currentDate, day, data],\n );\n\n return useMemo(\n () => (\n <div className={`${prefixCls}-inner`}>\n <div className={`${prefixCls}-day`}>{day}</div>\n <div className={`${prefixCls}-panel`}>\n {dayData &&\n dayData.length > 0 &&\n dayData.map((item, idx) => {\n const { date, label, ...other } = item;\n return (\n <div key={idx} {...other}>\n {label}\n </div>\n );\n })}\n </div>\n </div>\n ),\n [dayData, day],\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport { IProps } from '@uiw/utils';\nimport RenderDay from './DayLabel';\nimport './style/index.less';\n\nexport interface CalendarProps extends IProps, DatePickerDayProps {\n /**\n * 设置日历面板上面的日期标题。\n */\n titleFormat?: string;\n /**\n * 点击选择日期回调\n */\n onSelectDay?: (selectDay?: Date, dateSource?: DatePickerDayDateSource) => void;\n /**\n * 日历面板默认展示哪一页\n */\n panelDate?: Date;\n /**\n * 默认高亮当天日期\n */\n today?: Date;\n /**\n * 在日历面板上面添加通知,数组中的对象可以设置 `ElementProps`,如:`style`, `onClick` 等属性。\n */\n data?: ICalendarData[];\n /**\n * 选中的日期\n */\n date?: Date;\n /**\n * `今天` 按钮的文本设置\n */\n todayLabel?: string;\n /**\n * 月份显示文本\n */\n monthLabel?: string[];\n /** 翻页触发事件 */\n onPaging?: (type: 'prev' | 'next' | 'today', month: number, panelDate?: Date) => void;\n}\n\nexport interface ICalendarData {\n label?: React.ReactNode;\n date?: string;\n [key: string]: any;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function Calendar(props: CalendarProps) {\n const {\n prefixCls = 'w-calendar',\n className,\n style,\n today = new Date(),\n date,\n data,\n monthLabel = MONTH_LABEL,\n titleFormat = 'YYYY/MM',\n todayLabel = '今天',\n panelDate: _,\n onPaging,\n onSelectDay,\n ...otherProps\n } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [panelDate, setPanelDate] = useState<Date>(props.panelDate || new Date());\n\n useEffect(() => {\n if (props.panelDate !== panelDate) {\n setPanelDate(panelDate);\n }\n }, [props.panelDate]);\n\n function handlePaging(type: 'prev' | 'next' | 'today') {\n let currentDate = new Date();\n if (type === 'today') {\n currentDate = today || new Date();\n } else {\n const month = panelDate.getMonth();\n if (panelDate && type === 'prev') {\n panelDate.setMonth(month - 1);\n }\n if (panelDate && type === 'next') {\n panelDate.setMonth(month + 1);\n }\n currentDate = panelDate;\n }\n setPanelDate(new Date(currentDate));\n onPaging && onPaging(type, currentDate!.getMonth() + 1, currentDate);\n }\n\n const titleLable = useMemo(\n () => <div className={`${prefixCls}-title`}>{formatter(titleFormat, panelDate)}</div>,\n [prefixCls, titleFormat, panelDate],\n );\n\n const btngroup = useMemo(\n () => (\n <div className={`${prefixCls}-btn-group`}>\n <Icon type=\"down\" onClick={() => handlePaging('prev')} />\n <span className={`${prefixCls}-btn`} onClick={() => handlePaging('today')}>\n {todayLabel}\n </span>\n <Icon type=\"down\" onClick={() => handlePaging('next')} />\n </div>\n ),\n [prefixCls, todayLabel],\n );\n\n return (\n <div className={cls} style={style}>\n <div className={`${prefixCls}-caption`}>\n {titleLable}\n {btngroup}\n </div>\n <DatePickerDay\n onSelectDay={(currentDate, dateSource) => {\n setPanelDate(currentDate!);\n onSelectDay && onSelectDay(currentDate, dateSource);\n }}\n renderDay={(day, propsNext) => (\n <RenderDay prefixCls={prefixCls} day={day} data={data} currentDate={propsNext.date} />\n )}\n date={date}\n today={today}\n panelDate={panelDate || new Date()}\n {...otherProps}\n />\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface CardProps extends IProps, Omit<HTMLDivProps, 'title'> {\n active?: boolean;\n bordered?: boolean;\n bodyStyle?: React.CSSProperties;\n bodyClassName?: string;\n title?: React.ReactNode;\n noHover?: boolean;\n extra?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport default React.forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n const {\n prefixCls = 'w-card',\n className,\n title,\n extra,\n footer,\n bordered = true,\n noHover = false,\n active = false,\n bodyStyle,\n bodyClassName,\n children,\n ...resetProps\n } = props;\n const cls = useMemo(\n () =>\n [\n prefixCls,\n className,\n bordered ? `${prefixCls}-bordered` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? 'active' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, className, bordered, noHover],\n );\n\n return (\n <div {...resetProps} className={cls} ref={ref}>\n {(title || extra) && (\n <div className={`${prefixCls}-head`}>\n {title && <div className={`${prefixCls}-head-title`}>{title}</div>}\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n )}\n {children && (\n <div className={[`${prefixCls}-body`, bodyClassName].filter(Boolean).join(' ').trim()} style={bodyStyle}>\n {children}\n </div>\n )}\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n});\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nexport interface RadioAbstractProps extends IProps, Omit<HTMLInputProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked?: boolean;\n disabled?: boolean;\n onChange?: (even: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioAbstract = React.forwardRef<HTMLInputElement, RadioAbstractProps>((props, ref) => {\n const {\n prefixCls = 'w-radio',\n type = 'radio',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size,\n checked: prChecked = false,\n onChange,\n ...other\n } = props;\n\n const [checked, setChecked] = useState(prChecked);\n const [prevChecked, setPrevChecked] = useState<boolean>();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n\n const cls = [prefixCls, className, disabled ? 'disabled' : null, size ? `${prefixCls}-${size}` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n e.persist();\n setChecked(e.target.checked);\n onChange && onChange(e);\n }\n\n const label = children || value;\n return (\n <label {...{ className: cls, style }}>\n <input {...{ ...other, type, disabled, value }} checked={checked} onChange={handleChange} ref={ref} />\n {label && <div className={`${prefixCls}-text`}>{label}</div>}\n </label>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from './RadioAbstract';\nimport './style/index.less';\n\nexport interface RadioProps extends RadioAbstractProps {}\n\nexport default React.forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n return <RadioAbstract ref={ref} {...props} />;\n});\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { RadioProps } from './Radio';\nimport './style/group.less';\n\nexport interface RadioGroupProps extends IProps, HTMLDivProps {\n name?: RadioProps['name'];\n value?: RadioProps['value'];\n onChange?: RadioProps['onChange'];\n}\n\nexport default React.forwardRef<HTMLDivElement, RadioGroupProps>((props, ref) => {\n const { prefixCls = 'w-radio-group', className, name, value, onChange, children, ...other } = props;\n return (\n <div {...other} ref={ref} className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n {React.Children.toArray(children).map((child) => {\n if (!child) return;\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(child, {\n ...(child.props || {}),\n ...{\n checked: child.props.value === value,\n name,\n onChange,\n },\n });\n })}\n </div>\n );\n});\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/group.less';\n\nexport type Value = string | number;\nexport interface CheckboxGroupPorps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: Value[];\n name?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>, values: Value[]) => void;\n}\n\nexport const CheckboxGroup = React.forwardRef<HTMLDivElement, CheckboxGroupPorps>((props, ref) => {\n const { prefixCls = 'w-checkbox-group', className, name, value, onChange, ...other } = props;\n const valueRef = useRef<Value[]>([]);\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const childs = React.Children.toArray(props.children);\n useMemo(() => (valueRef.current = value || []), [value]);\n return (\n <div {...other} className={cls} ref={ref}>\n {React.Children.map(childs, (element: React.ReactNode) => {\n if (!React.isValidElement(element)) return;\n if (\n Array.isArray(value) &&\n element &&\n element.props &&\n element.props.value &&\n value.includes(element.props.value)\n ) {\n if (!valueRef.current.includes(element.props.value)) {\n valueRef.current.push(element.props.value);\n }\n }\n return React.cloneElement(\n element,\n Object.assign({}, element.props, {\n name,\n checked: valueRef.current.includes(element.props.value),\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.type && e.target.type !== 'checkbox') return;\n const checked = e.target.checked;\n const include = valueRef.current.includes(element.props.value);\n if (!include && checked) {\n valueRef.current.push(element.props.value);\n } else if (include && !checked) {\n valueRef.current = valueRef.current.filter((val) => val !== element.props.value);\n }\n onChange && onChange(e, valueRef.current);\n },\n }),\n );\n })}\n </div>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport { CheckboxGroup } from './Group';\nimport './style/index.less';\n\nexport interface CheckboxProps extends RadioAbstractProps {\n indeterminate?: boolean;\n}\n\nfunction InternalCheckbox(props: CheckboxProps, ref: React.ForwardedRef<HTMLInputElement>) {\n const {\n className,\n prefixCls = 'w-checkbox',\n type = 'checkbox',\n indeterminate = false,\n disabled = false,\n value = '',\n ...other\n } = props;\n\n const cls = [className, indeterminate && 'indeterminate'].filter(Boolean).join(' ').trim();\n return (\n <RadioAbstract\n ref={ref}\n {...other}\n type={type}\n prefixCls={prefixCls}\n disabled={disabled}\n value={value}\n className={cls}\n />\n );\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(InternalCheckbox);\ntype Checkbox = typeof Checkbox & {\n Group: typeof CheckboxGroup;\n};\n\n(Checkbox as Checkbox).Group = CheckboxGroup;\n\nexport default Checkbox as Checkbox;\n","import Checkbox from './Checkbox';\n\nexport * from './Checkbox';\nexport * from './Group';\nexport default Checkbox;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Panel from './Panel';\nimport './style/index.less';\n\nexport interface CollapseProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n accordion?: boolean;\n activeKey?: string | string[];\n bordered?: boolean;\n showArrow?: boolean;\n onChange?: (activeKey: string[]) => void;\n}\n\nexport interface CollapseState {\n activeKey: string[];\n}\n\nfunction toArray(activeKey: CollapseProps['activeKey']) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\n\nfunction InternalCollapse(props: CollapseProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-collapse',\n className,\n children,\n accordion = false,\n bordered,\n showArrow = true,\n activeKey: propsActiveKey,\n onChange,\n ...resetProps\n } = props;\n const [activeKey, setActiveKey] = useState(toArray(propsActiveKey));\n const cls = [prefixCls, className, bordered ? 'w-noborder' : null].filter(Boolean).join(' ').trim();\n function onItemClick(key: string) {\n let keys = activeKey;\n if (accordion) {\n keys = keys[0] === key ? [] : [key];\n } else {\n keys = [...keys];\n const index = keys.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n keys.splice(index, 1);\n } else {\n keys.push(key);\n }\n }\n setActiveKey(keys);\n }\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n setActiveKey(toArray(propsActiveKey));\n }\n }, [propsActiveKey]);\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n onChange && onChange(activeKey);\n }\n }, [activeKey, propsActiveKey]);\n return (\n <div className={cls} {...resetProps} ref={ref}>\n {React.Children.map(children, (child: any, index) => {\n // 如果没有密钥提供,请使用面板顺序作为默认密钥\n const key = child.key || String(index);\n const { disabled } = child.props;\n let isActive = false;\n if (accordion) {\n // 手风琴模式下默认选择第一个\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n const childProps = {\n prefixCls,\n isActive,\n disabled,\n showArrow,\n onItemClick: disabled ? () => {} : () => onItemClick(key),\n ...child.props,\n };\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n}\n\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(InternalCollapse);\ntype Collapse = typeof Collapse & {\n Panel: typeof Panel;\n};\n\n(Collapse as Collapse).Panel = Panel;\n\nexport default Collapse as Collapse;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionStatus } from 'react-transition-group/Transition';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Icon, { IconProps } from '@uiw/react-icon';\n\nexport interface CollapsePanelProps extends IProps, HTMLDivProps {\n disabled?: boolean;\n showArrow?: boolean;\n isActive?: boolean;\n header?: React.ReactNode;\n icon?: IconProps['type'];\n extra?: React.ReactNode;\n onItemClick?: (evn: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function Panel(props: CollapsePanelProps) {\n const {\n prefixCls = 'w-collapse',\n className,\n icon = 'down',\n children,\n isActive,\n onItemClick,\n disabled = false,\n showArrow,\n header,\n extra,\n ...resetProps\n } = props;\n const cls = [\n prefixCls ? `${prefixCls}-item` : null,\n className,\n isActive ? `${prefixCls}-active` : null,\n disabled ? `${prefixCls}-disabled` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const iconRender = typeof icon === 'string' ? <Icon type={icon} /> : icon;\n\n const childStyle = (child: React.ReactElement) => {\n return Object.assign({}, child && child.props ? child.props.style : {}, {\n transitionDuration: '300ms',\n });\n };\n function getInstance(status: TransitionStatus, instance: any) {\n if (!instance) {\n return;\n }\n if (status === 'exited' || status === 'exiting') {\n instance.style.height = '1px';\n }\n if (status === 'entered' || status === 'entering') {\n instance.style.height = `${instance.scrollHeight}px`;\n }\n }\n return (\n <div className={cls} {...resetProps}>\n <div className={`${prefixCls}-header`} onClick={onItemClick}>\n {showArrow && iconRender}\n <span className={`${prefixCls}-title`}>{header}</span>\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n <CSSTransition in={isActive} unmountOnExit={false} timeout={300} classNames={`${prefixCls}-panel`}>\n {(status: TransitionStatus) =>\n React.cloneElement(<div>{children}</div>, {\n className: `${prefixCls}-panel`,\n style: childStyle(children as React.ReactElement),\n ref: (e: any) => getInstance(status, e),\n })\n }\n </CSSTransition>\n </div>\n );\n}\n","import Collapse from './Collapse';\n\nexport * from './Collapse';\nexport * from './Panel';\n\nexport default Collapse;\n","import React from 'react';\nimport copy from '@uiw/copy-to-clipboard';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface CopyToClipboardProps extends IProps, Omit<HTMLSpanProps, 'onClick'> {\n text?: string;\n onClick?: (text: string, isCopy: boolean, event: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function CopyToClipboard<T>(props: CopyToClipboardProps & T) {\n const {\n prefixCls = 'w-copy-to-clipboard',\n className,\n text = '',\n children,\n onClick = () => null,\n ...resetProps\n } = props;\n function handleClick(e: React.MouseEvent<HTMLElement>) {\n if (!text) {\n return onClick('', false, e);\n }\n copy(text, (isCopy: boolean) => {\n onClick(text, isCopy, e);\n });\n }\n const otherProps = {\n ...resetProps,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onClick: handleClick,\n };\n return (\n <span {...otherProps}>\n <span className={`${prefixCls}-select`}>{text}</span>\n {children}\n </span>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport DatePicker, { DatePickerProps } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport './style/index.less';\n\nexport interface DateInputProps<T> extends IProps, Omit<InputProps<T>, 'onChange' | 'value'> {\n popoverProps?: PopoverProps;\n datePickerProps?: DatePickerProps;\n value?: Date | string;\n format?: string;\n allowClear?: boolean;\n onChange?: (selectedDate?: Date) => void;\n}\n\nexport default function DateInput<T>(props: DateInputProps<T>) {\n const {\n prefixCls = 'w-dateinput',\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n format = 'YYYY/MM/DD',\n onChange,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n\n const value = date || '';\n inputProps.value = typeof value === 'string' ? value : formatter(format, value);\n\n useEffect(() => {\n if (props.value !== date) {\n setDate(props.value);\n }\n }, [props.value]);\n\n function handleChange(cdate?: Date) {\n setDate(cdate);\n onChange && onChange(cdate);\n }\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <Icon className={`${prefixCls}-close-btn`} onClick={() => handleChange(undefined)} type=\"close\" />\n );\n }\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n {...popoverProps}\n content={\n <DatePicker\n date={(value && new Date(value)) || undefined}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate) => handleChange(selectedDate!)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps<string>)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\n\nexport interface DescriptionsItemProps extends IProps {\n label?: React.ReactNode;\n children: React.ReactNode;\n span?: number;\n}\n\nconst DescriptionsItem: React.FC<DescriptionsItemProps> = ({ children }) => children as JSX.Element;\n\nexport default DescriptionsItem;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport { RowProps } from './Row';\n\nexport interface CellProps\n extends Omit<RowProps, 'children'>,\n Omit<DescriptionsItemProps, 'children'>,\n React.HTMLAttributes<HTMLTableCellElement>,\n IProps {\n children?: React.ReactElement<DescriptionsItemProps> | React.ReactNode;\n tagName?: 'td' | 'th';\n /**\n * 是否为一行的最后一个\n */\n isLastCell?: boolean;\n}\n\nfunction Cell(props: CellProps = {}) {\n const {\n prefixCls,\n className,\n tagName: TagName = 'td',\n layout,\n bordered,\n label,\n isLastCell,\n colon,\n span,\n children,\n column,\n ...other\n } = props;\n\n const labelProps: React.HTMLAttributes<HTMLSpanElement> = {\n className: [\n prefixCls ? `${prefixCls}-item-label` : null,\n className,\n colon ? `${prefixCls}-item-colon` : null,\n !label ? `${prefixCls}-item-no-label` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n if (layout === 'horizontal') {\n if (!bordered) {\n return (\n <TagName {...other} colSpan={span}>\n <span {...labelProps}>{label}</span>\n <span className={prefixCls ? `${prefixCls}-item-content` : ''}>{children}</span>\n </TagName>\n );\n }\n return (\n <Fragment>\n <th {...labelProps}>{label}</th>\n <TagName\n {...other}\n colSpan={span ? span * 2 - 1 : span}\n className={prefixCls ? `${prefixCls}-item-content` : ''}\n >\n {children}\n </TagName>\n </Fragment>\n );\n }\n return (\n <TagName colSpan={span} className={`${prefixCls}-item-${TagName === 'td' ? 'content' : 'label'}`}>\n {children}\n </TagName>\n );\n}\n\nexport default Cell;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport Cell from './Cell';\n\nexport interface RowProps extends IProps {\n children?: React.ReactElement<DescriptionsItemProps>[];\n bordered?: boolean;\n layout?: 'horizontal' | 'vertical';\n colon?: boolean;\n column?: number;\n}\n\nexport default function Row(props: RowProps = {}) {\n const { prefixCls, layout, bordered, column, colon, children = [] } = props;\n function handleCell(isHead?: boolean) {\n return children.map((child, index) => (\n <Cell\n {...child.props}\n prefixCls={prefixCls}\n key={index}\n column={column}\n tagName={isHead ? 'th' : 'td'}\n isLastCell={children.length - 1 === index}\n layout={layout}\n colon={colon}\n bordered={bordered}\n >\n {isHead ? child.props.label : child.props.children}\n </Cell>\n ));\n }\n const cls = prefixCls ? `${prefixCls}-row` : '';\n return (\n <Fragment>\n {layout === 'vertical' && <tr className={cls}>{handleCell(true)}</tr>}\n <tr className={cls}>{handleCell()}</tr>\n </Fragment>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport DescriptionsItem, { DescriptionsItemProps } from './DescriptionsItem';\nimport Row, { RowProps } from './Row';\nimport './style/index.less';\n\nexport * from './DescriptionsItem';\n\nexport interface DescriptionsProps extends IProps {\n column?: number;\n title?: React.ReactNode;\n children?: React.ReactNode;\n bordered?: boolean;\n colon?: boolean;\n size?: 'large' | 'small' | 'default';\n layout?: RowProps['layout'];\n}\n\nconst generateChildrenRows = (\n children: React.ReactElement<DescriptionsItemProps>[],\n column: number,\n): Array<React.ReactElement<DescriptionsItemProps>[]> => {\n const rows: React.ReactElement<DescriptionsItemProps>[][] = [];\n let columns: React.ReactElement<DescriptionsItemProps>[] | null = null;\n let leftSpans: number;\n\n children.forEach((node: React.ReactElement<DescriptionsItemProps>, index: number) => {\n let itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n const lastItem = index === children.length - 1;\n if (lastItem) {\n itemNode = React.cloneElement(itemNode, {\n span: leftSpans,\n });\n }\n // Calculate left fill span\n const { span = 1 } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n }\n });\n\n return rows;\n};\n\nfunction InternalDescriptions(props: DescriptionsProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-descriptions',\n className,\n title,\n bordered,\n column = 3,\n size,\n colon = true,\n children,\n layout = 'horizontal',\n ...other\n } = props;\n const cls = [\n prefixCls,\n className,\n prefixCls && layout ? `${prefixCls}-${layout}` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size ? `${prefixCls}-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const cloneChildren = React.Children.toArray(children) as JSX.Element[];\n const childs: Array<React.ReactElement<DescriptionsItemProps>[]> = generateChildrenRows(cloneChildren, column!);\n\n return (\n <div className={cls} ref={ref}>\n <table {...other}>\n {title && <caption className={`${prefixCls}-title`}>{title}</caption>}\n <tbody>\n {childs.map((child, index) => (\n <Row key={index} prefixCls={prefixCls} bordered={bordered} colon={colon} column={column} layout={layout}>\n {child}\n </Row>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nconst Descriptions = React.forwardRef<HTMLDivElement, DescriptionsProps>(InternalDescriptions);\ntype Descriptions = typeof Descriptions & {\n Item: typeof DescriptionsItem;\n};\n\n(Descriptions as Descriptions).Item = DescriptionsItem;\n\nexport default Descriptions as Descriptions;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface DividerProps extends IProps, HTMLDivProps {\n dashed?: boolean;\n type?: 'horizontal' | 'vertical';\n align?: 'left' | 'right' | 'center';\n}\n\nexport default React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const {\n prefixCls = 'w-divider',\n className,\n children,\n dashed = false,\n type = 'horizontal',\n align = 'center',\n ...restProps\n } = props;\n const cls = [\n className,\n prefixCls,\n prefixCls && type ? `${prefixCls}-${type}` : null,\n prefixCls && align ? `${prefixCls}-${align}` : null,\n children ? `${prefixCls}-with-text` : null,\n !!dashed ? `${prefixCls}-dashed` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={cls} {...restProps} ref={ref}>\n {children && <span className={`${prefixCls}-inner-text`}>{children}</span>}\n </div>\n );\n});\n","import React, { useMemo } from 'react';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport { HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface DrawerProps extends OverlayProps {\n footer?: React.ReactNode;\n icon?: IconProps['type'];\n title?: React.ReactNode;\n bodyProps?: HTMLDivProps;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n size?: number;\n isCloseButtonShown?: boolean;\n onClose?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport default (props: DrawerProps = {}) => {\n const {\n prefixCls = 'w-drawer',\n className,\n style,\n placement = 'right',\n size = 260,\n title,\n footer,\n icon,\n isCloseButtonShown = true,\n bodyProps,\n timeout = 300,\n isOpen = false,\n maskClosable = true,\n ...overlayProps\n } = props;\n const cls = [className, prefixCls, placement].filter(Boolean).join(' ').trim();\n const bodyCls = [bodyProps ? bodyProps.className : null, prefixCls ? `${prefixCls}-body-inner` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl = {\n ...style,\n [/^(top|bottom)$/.test(placement!) ? 'height' : 'width']: size,\n };\n const footerView = useMemo(() => (footer ? <div className={`${prefixCls}-footer`}>{footer}</div> : null), [footer]);\n const iconView = useMemo(() => (icon ? <Icon type={icon} /> : null), [icon]);\n const titleView = useMemo(() => (title ? <h4>{title}</h4> : null), [title]);\n return (\n <Overlay className={cls} timeout={timeout} isOpen={isOpen} maskClosable={maskClosable} {...overlayProps}>\n <div className={`${prefixCls}-wrapper`} style={styl}>\n {(title || icon) && (\n <div className={`${prefixCls}-header`}>\n {iconView}\n {titleView}\n {title && isCloseButtonShown && <Button basic onClick={props.onClose} icon=\"close\" type=\"light\" />}\n </div>\n )}\n <div className={`${prefixCls}-body`}>\n <div {...bodyProps} className={bodyCls}>\n {props.children}\n </div>\n </div>\n {footerView}\n </div>\n </Overlay>\n );\n};\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport { useMemo } from 'react';\n\nexport interface DropdownProps extends IProps, OverlayTriggerProps {\n menu?: React.ReactNode;\n}\n\nexport default function Dropdown(props: DropdownProps) {\n const { prefixCls = 'w-dropdown', placement = 'bottomLeft', className, menu, children, disabled, ...other } = props;\n\n const cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n\n return (\n <OverlayTrigger\n isOutside\n autoAdjustOverflow\n className={cls}\n disabled={disabled}\n placement={placement}\n {...other}\n overlay={menu}\n >\n {React.cloneElement(children, Object.assign({}, children.props))}\n </OverlayTrigger>\n );\n}\n","import React from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport './style/index.less';\n\nexport interface FileInputProps<T> extends InputProps<T> {}\n\nexport default React.forwardRef<HTMLInputElement, InputProps<{}>>((props, ref) => {\n const { className, prefixCls = 'w-fileinput', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return <Input ref={ref} data-label=\"Browse\" className={cls} {...other} type=\"file\" />;\n});\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/col.less';\n\nexport interface ColProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n span?: number | string;\n grow?: number | string;\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Col(props: ColProps = {}) {\n const { prefixCls = 'w-col', className, fixed, span, grow, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n span ? `${prefixCls}-${span}` : null,\n fixed ? `${prefixCls}-fixed` : null,\n align ? `${prefixCls}-align-${align}` : null,\n fixed ? `${prefixCls}-grow-${grow}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={cls} {...other}>\n {props.children}\n </div>\n );\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/row.less';\n\nexport interface RowProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n gutter?: number;\n justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Row(props: RowProps = {}) {\n const { prefixCls = 'w-row', className, gutter = 0, justify, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n align ? `${prefixCls}-align-${align}` : null,\n justify ? `${prefixCls}-justify-${justify}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const gutterStyl = !gutter ? {} : { paddingLeft: gutter / 2, paddingRight: gutter / 2 };\n return (\n <div {...other} className={cls}>\n {React.Children.toArray(props.children).map((child) => {\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(\n child,\n Object.assign({}, child.props, {\n style: { ...child.props.style, ...gutterStyl },\n }),\n );\n })}\n </div>\n );\n}\n","import React, { CSSProperties } from 'react';\nimport { Col, Row } from '@uiw/react-grid';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { FormFieldsProps } from './Form';\nimport './style/form-item.less';\n\nexport interface FormItemProps<T> extends IProps, HTMLDivProps {\n inline?: boolean;\n hasError?: boolean;\n label?: React.ReactNode;\n labelFor?: string;\n labelClassName?: string;\n help?: React.ReactNode;\n labelStyle?: CSSProperties;\n initialValue?: string | number | T;\n validator?: FormFieldsProps<T>['validator'];\n}\n\nexport default class FormItem<T> extends React.PureComponent<FormItemProps<T>> {\n public static defaultProps = {\n prefixCls: 'w-form-item',\n };\n render() {\n const {\n prefixCls,\n className,\n style,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n help,\n inline,\n initialValue,\n validator,\n hasError,\n ...otherProps\n } = this.props;\n const cls = [prefixCls, className, hasError ? `${prefixCls}-error` : null].filter(Boolean).join(' ').trim();\n const labelCls = ['w-form-label', labelClassName].filter(Boolean).join(' ').trim();\n if (inline) {\n return (\n <div className={cls} style={style} {...otherProps}>\n <Row>\n <Col fixed className={labelCls}>\n <label style={labelStyle} htmlFor={labelFor}>\n {label}\n </label>\n </Col>\n <Col className=\"w-form-row\">{this.props.children}</Col>\n </Row>\n {help && (\n <Row>\n <Col className=\"w-form-help\">{help}</Col>\n </Row>\n )}\n </div>\n );\n }\n return (\n <div className={cls} style={style} {...otherProps}>\n {label && (\n <label className={labelCls} style={labelStyle} htmlFor={labelFor}>\n {label}\n </label>\n )}\n <Col className=\"w-form-row\">{this.props.children}</Col>\n {help && <div className=\"w-form-help\">{help}</div>}\n </div>\n );\n }\n}\n","import React, { useState } from 'react';\nimport { IProps } from '@uiw/utils';\nimport FormItem, { FormItemProps } from './FormItem';\nimport './style/form.less';\n\nexport interface FormProps<T> extends IProps, Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onChange' | 'onSubmit'> {\n prefixCls?: string;\n fields?: Record<string, FormFieldsProps<T>>;\n onSubmit?: (state: FormSubmitProps) => any;\n afterSubmit?: (result: FormAfterSubmitProps) => any;\n onChange?: (state: FormState) => void;\n onSubmitError?: (evn: any) => any;\n resetOnSubmit?: boolean;\n children?: (handle: FormChildrenProps) => JSX.Element | JSX.Element | undefined;\n}\n\nexport interface FormState {\n submitting: boolean;\n initial: Record<string, any>;\n current: FormState['initial'];\n errors: Record<string, any>;\n}\n\nexport interface FormFieldsProps<T> extends FormItemProps<T> {\n name?: string;\n children?: React.ReactNode;\n help?: React.ReactNode;\n labelFor?: string;\n inline?: boolean;\n checked?: boolean;\n initialValue?: string | number | T;\n validator?: (currentValue: any) => any;\n}\n\nexport interface FormSubmitProps {\n initial: FormState['initial'];\n current: FormState['current'];\n}\n\nexport interface FormAfterSubmitProps {\n state: FormState;\n response: any;\n reset: () => void;\n}\n\nexport interface FormChildrenProps {\n fields: Record<string, React.ReactElement>;\n resetForm: () => void;\n canSubmit: () => boolean;\n state: FormState;\n}\n\nexport type FormElementProps = {\n id?: string;\n name?: string;\n value?: string;\n checked?: boolean;\n onChange?: (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => void;\n};\n\nfunction newFormState<T>(\n fields: FormProps<T>['fields'],\n cb: (porps: FormFieldsProps<T>) => {\n initialValue: FormFieldsProps<T>['initialValue'];\n currentValue: FormFieldsProps<T>['initialValue'];\n },\n): FormState {\n const state: FormState = {\n initial: {},\n current: {},\n submitting: false,\n errors: {},\n };\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const { initialValue, currentValue } = cb({ ...props, name });\n state.initial[name] = initialValue;\n state.current[name] = currentValue;\n }\n return state;\n}\n\nfunction newInitialValue<T>(value: FormFieldsProps<T>['initialValue']) {\n return value === null || value === undefined ? '' : value;\n}\n\nconst isPromise = (promise: Promise<any>) => promise && typeof promise.then === 'function';\n\nfunction Form<T>(\n {\n prefixCls = 'w-form',\n className,\n fields,\n children,\n resetOnSubmit,\n onSubmitError,\n onChange,\n onSubmit,\n afterSubmit,\n ...others\n }: FormProps<T>,\n ref: ((instance: HTMLInputElement) => void) | React.RefObject<HTMLInputElement | null> | null,\n) {\n const initData = newFormState(fields, ({ initialValue }) => {\n initialValue = newInitialValue(initialValue);\n return { initialValue, currentValue: initialValue };\n });\n\n const [data, setData] = useState<FormState>(initData);\n\n const formUnits: FormChildrenProps['fields'] = {};\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const error = data.errors[name];\n if (typeof props.initialValue === 'boolean') {\n props.checked = props.initialValue;\n }\n const childField: FormFieldsProps<T> = controlField({\n ...props,\n name,\n });\n const help = error || props.help;\n const labelFor = props.labelFor;\n formUnits[name] = (\n <FormItem\n {...{\n ...props,\n key: name,\n children: childField,\n help,\n labelFor,\n state: data,\n name,\n hasError: !!error,\n }}\n />\n );\n }\n\n function handleChange(\n name: string,\n validator: FormFieldsProps<T>['validator'],\n element?: React.ReactElement,\n cb?: (env: React.BaseSyntheticEvent<HTMLInputElement>) => void,\n ) {\n return (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => {\n let value = env && env.target && 'value' in env.target ? env.target.value : env;\n // 控件 Checkbox.Group 多选值的处理\n value = list || value;\n // 控件 Checkbox 值的处理\n if (!list && element && env && env.target && /(radio)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.value ? env.target.value : env.target.checked;\n }\n if (!list && element && env && env.target && /(checkbox)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.checked;\n }\n const nextState = {\n current: { ...data.current, [name]: value },\n } as FormState;\n const error = validator && validator(value);\n if (!error) {\n nextState.errors = { ...data.errors };\n delete nextState.errors[name];\n }\n if (env && env.persist && typeof env.persist === 'function') env.persist();\n setData({ ...data, ...nextState });\n if (cb) {\n cb(env);\n }\n onChange && onChange({ ...data, ...nextState });\n };\n }\n\n function handleSubmit(e: React.FormEvent) {\n e && e.preventDefault();\n const { initial, current } = data;\n setData({ ...data, submitting: true });\n const nextState = { submitting: false } as FormState;\n const onError = (evn: unknown) =>\n setData({\n ...data,\n ...nextState,\n errors: (onSubmitError && onSubmitError(evn)) || {},\n });\n const onSuccess = (response: any) => {\n if (resetOnSubmit) {\n nextState.current = initial;\n }\n setData({ ...data, ...nextState, errors: {} });\n return () => afterSubmit!({ state: data, response, reset: handleReset });\n };\n try {\n const afterSubmitPromise = onSubmit!({ initial, current });\n if (isPromise(afterSubmitPromise)) {\n return afterSubmitPromise.then(onSuccess).catch(onError);\n } else {\n return onSuccess(afterSubmitPromise);\n }\n } catch (evn) {\n onError(evn);\n }\n }\n\n function canSubmit() {\n const { submitting, current = {} } = data;\n let passesValidators = true;\n for (const name in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, name)) {\n const props: FormFieldsProps<T> = fields[name];\n if (!props) continue;\n if (props.validator && props.validator(current[name])) {\n passesValidators = false;\n break;\n }\n }\n }\n return !submitting && passesValidators;\n }\n\n function handleReset() {\n const { initial } = data;\n setData({ ...data, current: initial, errors: {} });\n }\n\n function controlField({\n children,\n validator,\n name,\n help,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n inline,\n initialValue,\n ...other\n }: FormFieldsProps<T>) {\n const element =\n typeof children !== 'function'\n ? children\n : children({\n onChange: handleChange(name!, validator),\n onSubmit: handleSubmit,\n canSubmit: canSubmit,\n });\n if (!element || React.Children.count(element) !== 1 || !name) return element;\n const props = {\n name: element.props.name || name,\n ...other,\n } as FormElementProps;\n const hasCurrentValue = Object.prototype.hasOwnProperty.call(data.current, name);\n props.id = element.props.id;\n props.value = hasCurrentValue ? data.current && data.current[name] : props.value;\n // : element.props.value;\n\n const type = element.props.type;\n if (type === 'checkbox' || type === 'switch') {\n props.checked = !!props.checked;\n delete props.value;\n }\n props.onChange = handleChange(name, validator, element, element.props.onChange) as FormElementProps['onChange'];\n return React.cloneElement(element, props as FormElementProps);\n }\n return (\n <form\n {...{\n ...others,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onSubmit: handleSubmit,\n }}\n >\n <fieldset {...{ disabled: data.submitting }}>\n {typeof children === 'function'\n ? children({\n fields: formUnits,\n state: data,\n resetForm: handleReset,\n canSubmit: canSubmit,\n })\n : children}\n </fieldset>\n </form>\n );\n}\n\nexport default React.forwardRef<HTMLInputElement, FormProps<{}>>(Form);\n","import Form from './Form';\n\nexport * from './Form';\nexport * from './FormItem';\nexport { default as FormItem } from './FormItem';\n\nexport default Form;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\n\ntype ElementTag<T = any> = T extends HTMLElement ? React.HTMLProps<T> : T;\n\nexport interface ListItemProps<T = HTMLDivElement> extends IProps, ElementTag {\n disabled?: boolean;\n active?: boolean;\n extra?: React.ReactNode;\n href?: string;\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : T;\n}\n\nconst Item = React.forwardRef<HTMLDivElement, ListItemProps>((props, ref) => {\n const {\n prefixCls = 'w-list-item',\n className,\n children,\n extra,\n tagName = 'div',\n active = false,\n ...resetProps\n } = props;\n const cls = [prefixCls, className, props.disabled ? 'w-disabled' : null, active ? 'w-active' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n return React.createElement(\n TagName,\n {\n ...resetProps,\n className: cls,\n ref,\n },\n <Fragment>\n {!extra || resetProps.href ? (\n children\n ) : (\n <>\n <div className={`${prefixCls}-main`}>{children}</div>\n <div className={`${prefixCls}-extra`}>{extra}</div>\n </>\n )}\n </Fragment>,\n );\n});\n\nItem.displayName = 'List.Item';\n\nexport default Item;\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport Item from './Item';\nimport './style/index.less';\n\nexport * from './Item';\n\nexport interface ListProps<T> extends IProps, HTMLDivProps {\n bordered?: boolean;\n striped?: boolean;\n noHover?: boolean;\n active?: boolean;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'small' | 'default' | 'large';\n renderItem?: (item: any, idx: number) => React.ReactNode;\n dataSource?: T[];\n}\n\nfunction InternalList<T>(props: ListProps<T>, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-list',\n bordered = true,\n striped = false,\n noHover = false,\n active = false,\n size = 'default',\n renderItem = noop,\n className,\n children,\n header,\n footer,\n dataSource = [],\n ...resetProps\n } = props;\n let items: React.ReactNode;\n if (dataSource && dataSource.length > 0) {\n items = dataSource.map((item: any, index: number) => renderItem!(item, index));\n } else {\n items = children;\n }\n let childrenList = React.Children.map(\n items,\n (child: React.ReactNode, index) =>\n React.isValidElement(child) &&\n React.cloneElement(child as React.ReactElement, {\n key: index,\n }),\n );\n const classString = [\n prefixCls,\n className,\n striped ? `${prefixCls}-striped` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? `${prefixCls}-active` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size && size !== 'default' ? `${prefixCls}-size-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={classString} {...resetProps} ref={ref}>\n {header && <div className={`${prefixCls}-header`}>{header}</div>}\n {childrenList}\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n}\n\nconst List = React.forwardRef<HTMLDivElement, ListProps<any>>(InternalList);\ntype List = typeof List & {\n Item: typeof Item;\n};\n\n(List as List).Item = Item;\n\nexport default List as List;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface LoaderProps extends IProps, HTMLDivProps {\n size?: 'small' | 'default' | 'large';\n loading?: boolean;\n fullscreen?: boolean;\n color?: string;\n bgColor?: string;\n vertical?: boolean;\n tip?: React.ReactNode;\n indicator?: React.ReactNode;\n children?: any | React.ReactNode;\n}\n\nexport default (props: LoaderProps = {}) => {\n const {\n prefixCls = 'w-loader',\n className,\n size = 'default',\n loading = true,\n tip,\n vertical,\n color,\n bgColor,\n children,\n indicator,\n fullscreen = false,\n ...otherProps\n } = props;\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim();\n\n const indicatorView = useMemo(\n () => (\n <svg viewBox=\"25 25 50 50\">\n <circle cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" strokeWidth=\"5\" strokeMiterlimit=\"10\" />\n </svg>\n ),\n [],\n );\n\n const tipsView = useMemo(\n () => (\n <div\n className={[`${prefixCls}-tips`, fullscreen ? `${prefixCls}-fullscreen` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ color, backgroundColor: bgColor }}\n >\n <div className={`${prefixCls}-tips-nested`}>\n {indicator || indicatorView}\n {tip && (\n <div\n className={[`${prefixCls}-text`, vertical ? `${prefixCls}-vertical` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {tip}\n </div>\n )}\n </div>\n </div>\n ),\n [fullscreen, bgColor, prefixCls, vertical, tip],\n );\n\n return (\n <div className={cls} {...otherProps}>\n {(loading || fullscreen) && tipsView}\n {children &&\n React.cloneElement(\n children,\n Object.assign({}, children.props, {\n className: [`${prefixCls}-warp`, loading ? `${prefixCls}-blur` : null].filter(Boolean).join(' ').trim(),\n }),\n )}\n </div>\n );\n};\n","import React, { Fragment } from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport './style/item.less';\n\nconst disabledProps = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1,\n};\n\ntype AnchorElement = React.AnchorHTMLAttributes<HTMLAnchorElement>;\n\ntype Anchor<T = any> = T extends HTMLElement ? React.HTMLProps<T> : T;\n\nexport interface MenuItemProps<T> extends IProps, Anchor {\n text?: React.ReactNode;\n addonAfter?: React.ReactNode;\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : never;\n multiline?: boolean;\n isSubMenuItem?: boolean;\n disabled?: boolean;\n active?: boolean;\n icon?: IconProps['type'];\n}\n\nconst MenuItem = React.forwardRef<AnchorElement, MenuItemProps<any>>((props, ref) => {\n const {\n prefixCls = 'w-menu-item',\n className,\n tagName: TagName = 'a',\n children,\n disabled = false,\n multiline = false,\n icon,\n text,\n active = false,\n addonAfter,\n isSubMenuItem,\n ...htmlProps\n } = props;\n const anchorCls = [prefixCls, active ? 'active' : null, disabled ? 'w-disabled' : null, className]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const tagComp = React.createElement(\n TagName,\n {\n ...htmlProps,\n ...(disabled ? disabledProps : {}),\n className: anchorCls,\n ref,\n },\n <Fragment>\n <Icon className={`${prefixCls}-icon`} type={icon} />\n <div\n className={[prefixCls && `${prefixCls}-text`, !multiline && `${prefixCls}-multiline`]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {text}\n </div>\n {addonAfter}\n </Fragment>,\n );\n if (isSubMenuItem) {\n return tagComp;\n }\n return <li> {tagComp} </li>;\n});\n\nMenuItem.displayName = 'uiw.MenuItem';\n\nexport default MenuItem;\n","import React from 'react';\nimport { IProps, HTMLLiProps } from '@uiw/utils';\n\nexport interface MenuDividerProps extends IProps, Omit<HTMLLiProps, 'title'> {\n title?: React.ReactNode;\n}\n\nfunction Divider(props: MenuDividerProps = {}) {\n const { prefixCls = 'w-menu-divider', className, title, ...htmlProps } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n if (!title) {\n return <li {...htmlProps} className={cls} />;\n }\n return (\n <li {...htmlProps} className={cls} data-menu=\"divider\">\n <strong>{title}</strong>\n </li>\n );\n}\n\nDivider.displayName = 'uiw.MenuDivider';\n\nexport default Divider;\n","import React, { useMemo, useState } from 'react';\nimport { CSSTransitionProps } from 'react-transition-group/CSSTransition';\nimport OverlayTrigger, {\n OverlayTriggerProps,\n OverlayTriggerRef,\n} from '@uiw/react-overlay-trigger';\nimport Icon from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport MenuItem, { MenuItemProps } from './MenuItem';\nimport Menu, { MenuProps } from './Menu';\nimport './style/submenu.less';\n\nexport interface SubMenuProps<T extends HTMLElement>\n extends IProps,\n MenuItemProps<T> {\n overlayProps?: OverlayTriggerProps;\n collapse?: boolean;\n disabled?: boolean;\n inlineCollapsed?: boolean;\n inlineIndent?: number;\n}\n\nexport interface ISubMenuState {\n isOpen: boolean;\n overlayClassName: string;\n}\n\nfunction checkedMenuItem(node?: HTMLElement) {\n let isCheck = false;\n if (node) {\n // eslint-disable-next-line\n do {\n if (!node.dataset.menu) {\n isCheck = true;\n }\n if (node.dataset.menu && /^(subitem|divider)$/.test(node.dataset.menu)) {\n isCheck = false;\n }\n } while (!node.dataset.menu && (node = node.parentNode as HTMLElement));\n }\n return isCheck;\n}\n\nfunction IconView({\n prefixCls,\n collapse,\n isOpen,\n}: {\n prefixCls?: string;\n collapse?: boolean;\n isOpen: boolean;\n}) {\n return useMemo(\n () => (\n <Icon\n type=\"caret-right\"\n className={[\n prefixCls ? `${prefixCls}-collapse-icon` : null,\n !collapse && isOpen ? 'w-open' : null,\n !collapse && !isOpen ? 'w-close' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n ),\n [prefixCls, collapse, isOpen],\n );\n}\n\nconst SubMenu = React.forwardRef<HTMLLIElement, SubMenuProps<any>>(\n (props, ref) => {\n const {\n prefixCls = 'w-menu-subitem',\n className,\n disabled,\n overlayProps = {},\n children,\n collapse = false,\n inlineIndent,\n inlineCollapsed,\n ...other\n } = props;\n const overlayTriggerProps = {} as OverlayTriggerProps & CSSTransitionProps;\n const menuProps: MenuProps = {\n bordered: true,\n children,\n inlineIndent,\n className: [prefixCls ? `${prefixCls}-overlay` : null]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n const popupRef = React.useRef<OverlayTriggerRef>(null);\n const [isOpen, setIsOpen] = useState(false);\n useMemo(() => {\n setIsOpen(false);\n }, [collapse]);\n\n function onClick(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n const target = e.currentTarget;\n const related = (e.relatedTarget || e.nativeEvent.target) as HTMLElement;\n if (target.children.length < 1) return;\n if (checkedMenuItem(related)) {\n if (popupRef.current) {\n popupRef.current!.hide();\n }\n }\n }\n function onExit(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n setIsOpen(false);\n }\n function onExiting(node: HTMLElement) {\n node.style.height = '0px';\n }\n function onEnter(node: HTMLElement) {\n node.style.height = '1px';\n setIsOpen(true);\n }\n function onEntering(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n }\n function onEntered(node: HTMLElement) {\n node.style.height = 'initial';\n }\n\n if (!collapse) {\n delete menuProps.onClick;\n menuProps.bordered = false;\n overlayTriggerProps.className = `${prefixCls}-collapse`;\n overlayTriggerProps.appear = false;\n overlayTriggerProps.isOutside = true;\n overlayTriggerProps.isClickOutside = false;\n overlayTriggerProps.unmountOnExit = false;\n overlayTriggerProps.trigger = 'click';\n overlayTriggerProps.transitionName = `${prefixCls}`;\n overlayTriggerProps.onExit = onExit;\n overlayTriggerProps.onExiting = onExiting;\n overlayTriggerProps.onEnter = onEnter;\n overlayTriggerProps.onEntered = onEntered;\n overlayTriggerProps.onEntering = onEntering;\n } else {\n overlayTriggerProps.className = `${prefixCls}-popup`;\n overlayTriggerProps.trigger = 'hover';\n overlayTriggerProps.usePortal = true;\n menuProps.onClick = onClick;\n }\n return (\n <li data-menu=\"subitem\" ref={ref}>\n <OverlayTrigger\n placement=\"rightTop\"\n autoAdjustOverflow\n disabled={disabled}\n isOpen={isOpen}\n usePortal={false}\n isOutside\n {...overlayTriggerProps}\n {...overlayProps}\n ref={popupRef}\n overlay={\n <Menu\n {...menuProps}\n style={!collapse ? { paddingLeft: inlineIndent } : {}}\n />\n }\n >\n <MenuItem\n {...other}\n ref={null}\n disabled={disabled}\n isSubMenuItem\n addonAfter={\n <IconView\n collapse={collapse}\n prefixCls={prefixCls}\n isOpen={isOpen}\n />\n }\n className={[\n prefixCls ? `${prefixCls}-title` : null,\n !collapse ? `${prefixCls}-collapse-title` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </OverlayTrigger>\n </li>\n );\n },\n);\n\nSubMenu.displayName = 'uiw.SubMenu';\n\nexport default SubMenu;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport MenuItem from './MenuItem';\nimport Divider from './Divider';\nimport SubMenu from './SubMenu';\nimport './style/menu.less';\n\nexport interface MenuProps extends IProps, HTMLUlProps {\n /** 主题颜色 */\n theme?: 'light' | 'dark';\n /**\n * 垂直是否收起菜单\n * Default: `false`\n */\n inlineCollapsed?: boolean;\n /**\n * 菜单缩进宽度 Default: `10`\n */\n inlineIndent?: number;\n bordered?: boolean;\n}\n\nconst Menu = React.forwardRef<HTMLUListElement, MenuProps>((props, ref) => {\n const {\n prefixCls = 'w-menu',\n className,\n children,\n bordered,\n theme = 'light',\n inlineIndent = 10,\n inlineCollapsed,\n ...htmlProps\n } = props;\n const cls = useMemo(\n () =>\n [\n prefixCls,\n bordered ? 'w-bordered' : null,\n inlineCollapsed ? `${prefixCls}-inline-collapsed` : null,\n theme ? `${prefixCls}-${theme}` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, bordered, inlineCollapsed, theme, className],\n );\n\n return (\n <ul {...htmlProps} ref={ref} className={cls} data-menu=\"menu\">\n {React.Children.map(children, (child: React.ReactNode, key) => {\n if (!React.isValidElement(child)) return child;\n const props: { inlineIndent?: number; inlineCollapsed?: boolean } = {};\n // Sub Menu\n if (child.props.children && child.type === (SubMenu as any)) {\n props.inlineIndent = inlineIndent;\n }\n return React.cloneElement(child, Object.assign({ ...props }, child.props, { key: `${key}` }));\n })}\n </ul>\n );\n});\n\ntype Menu = typeof Menu & {\n Item: typeof MenuItem;\n SubMenu: typeof SubMenu;\n Divider: typeof Divider;\n};\n\n(Menu as Menu).Item = MenuItem;\n(Menu as Menu).SubMenu = SubMenu;\n(Menu as Menu).Divider = Divider;\n(Menu as Menu).displayName = 'uiw.Menu';\n\nexport default Menu as Menu;\n","import Menu from './Menu';\n\nexport * from './Menu';\nexport * from './MenuItem';\nexport * from './SubMenu';\nexport * from './Divider';\n\nexport default Menu;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport './style/index.less';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\n\nexport interface MessageProps extends IProps, Omit<HTMLDivProps, 'title'> {\n title?: React.ReactNode;\n icon?: IconProps['type'];\n type?: 'success' | 'warning' | 'info' | 'error';\n description?: React.ReactNode;\n showIcon?: boolean;\n isCloseButtonShown?: boolean;\n rounded?: boolean;\n onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface IMessageState {\n isOpen: boolean;\n}\n\nexport default class Message extends React.Component<MessageProps, IMessageState> {\n public static defaultProps: MessageProps = {\n prefixCls: 'w-message',\n rounded: true,\n isCloseButtonShown: false,\n };\n constructor(props: MessageProps) {\n super(props);\n this.state = {\n isOpen: true,\n };\n }\n handleClosed = (e: React.MouseEvent<HTMLButtonElement>) => {\n const { onClose } = this.props;\n this.setState({ isOpen: false });\n onClose && onClose(e);\n };\n renderIcon = () => {\n const { type, showIcon } = this.props;\n let icon = this.props.icon;\n if (!icon && showIcon) {\n switch (type) {\n case 'success':\n icon = 'circle-check';\n break;\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'information';\n break;\n case 'error':\n icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n return icon;\n };\n render() {\n const {\n prefixCls,\n className,\n type,\n title,\n description,\n showIcon,\n icon,\n rounded,\n isCloseButtonShown,\n ...elementProps\n } = this.props;\n const children = description || this.props.children;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-${type}`,\n rounded ? `${prefixCls}-rounded` : null,\n showIcon ? `${prefixCls}-icon` : null,\n showIcon ? `${prefixCls}${title ? '-title' : ''}${children ? '-description' : ''}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const Child = (\n <div className={cls} {...elementProps}>\n {isCloseButtonShown && <Button basic onClick={this.handleClosed} icon=\"close\" type=\"light\" />}\n {showIcon && <Icon type={this.renderIcon()} />}\n <span className={`${prefixCls}-title`}>{title}</span>\n <span className={`${prefixCls}-description`}>{children}</span>\n </div>\n );\n if (!isCloseButtonShown) {\n return Child;\n }\n return (\n <CSSTransition in={this.state.isOpen} unmountOnExit timeout={300} classNames={prefixCls}>\n {Child}\n </CSSTransition>\n );\n }\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport { IProps } from '@uiw/utils';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { DatePickerMonth, DatePickerYear, DatePickerCaption, DatePickerCaptionProps } from '@uiw/react-date-picker';\nimport './style/index.less';\n\nexport interface MonthPickerProps<T> extends IProps, Omit<InputProps<T>, 'value' | 'onChange'> {\n popoverProps?: PopoverProps;\n pickerCaptionProps?: DatePickerCaptionProps;\n value?: Date | string;\n format?: string;\n monthLabel?: string[];\n allowClear?: boolean;\n onChange?: (date?: Date, formatDate?: string) => void;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function MonthPicker<T>(props: MonthPickerProps<T>) {\n const {\n prefixCls = 'w-monthpicker',\n format = 'YYYY/MM',\n onChange = () => {},\n className,\n popoverProps,\n pickerCaptionProps = {},\n allowClear = true,\n monthLabel = MONTH_LABEL,\n ...inputProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n const [panelDate, setPanelDate] = useState(new Date());\n const [type, setType] = useState('month');\n const [date, setDate] = useState(props.value);\n\n useEffect(() => setDate(props.value), [props.value]);\n\n inputProps.value = useMemo(\n () => (typeof date === 'string' ? date : date ? formatter(format, date) : ''),\n [format, date],\n );\n\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <Button\n className={`${prefixCls}-close-btn`}\n icon=\"close\"\n onClick={() => {\n setDate('');\n onChange && onChange();\n }}\n size={inputProps.size}\n basic\n type=\"light\"\n />\n );\n }\n\n function handleSelectedDate(type: 'setMonth' | 'setFullYear', num: number, paging?: boolean) {\n const curPanelDate = new Date(new Date(panelDate)[type](num));\n if (!paging) {\n setType('month');\n }\n const curDate = formatter(format, new Date(curPanelDate));\n setDate(curDate);\n setPanelDate(curPanelDate);\n onChange && onChange(curPanelDate, curDate);\n if (type === 'setMonth') {\n setIsOpen(false);\n }\n }\n\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n isOpen={isOpen}\n {...popoverProps}\n onVisibleChange={(open) => setIsOpen(open)}\n content={\n <div className={`${prefixCls}-popover`}>\n <DatePickerCaption\n panelDate={panelDate}\n monthLabel={monthLabel}\n {...pickerCaptionProps}\n onSelected={(captionType) => {\n if (/^(month|year)$/.test(captionType as string)) {\n setType(captionType);\n } else {\n const year = new Date(panelDate).getFullYear();\n const curPanelDate = new Date(new Date(panelDate).setFullYear(type === 'next' ? year + 1 : year - 1));\n setPanelDate(curPanelDate);\n }\n }}\n />\n {type === 'month' && (\n <DatePickerMonth\n panelDate={panelDate}\n monthLabel={monthLabel}\n onSelected={(month, paging) => handleSelectedDate('setMonth', month, paging)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n panelDate={panelDate}\n onSelected={(year, paging) => handleSelectedDate('setFullYear', year, paging)}\n />\n )}\n </div>\n }\n >\n <Input\n placeholder=\"请输入日期\"\n readOnly\n {...(inputProps as any)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React from 'react';\nimport Alert, { AlertProps } from '@uiw/react-alert';\nimport { IProps } from '@uiw/utils';\nimport { NotificationCreateProps } from './index';\n\nexport type Placement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\n\nexport interface ContainerProps extends IProps {\n placement?: Placement;\n}\nexport interface ContainerState {\n placement?: Placement;\n notifys: ContainerNotifys;\n}\n\nexport type ContainerNotifys = {\n [placement: string]: {\n [key: string]: NotificationCreateProps;\n };\n};\n\nconst notifys: ContainerNotifys = {};\nconst timer: { [key: string]: any } = {};\n\nexport default class Container extends React.Component<ContainerProps, ContainerState> {\n public static defaultProps: ContainerProps = {\n prefixCls: 'w-notify',\n placement: 'topRight',\n };\n public state: ContainerState = {\n notifys: {},\n };\n public create(props: NotificationCreateProps) {\n const { placement, key } = props;\n if (!notifys[placement as Placement]) {\n notifys[placement as Placement] = {};\n }\n props.isOpen = false;\n notifys[placement as Placement][key as string] = props;\n if (props.duration) {\n timer[key as string] = setTimeout(() => {\n this.closed(key as string, placement);\n }, props.duration);\n }\n this.setState(\n {\n notifys,\n placement,\n },\n () => {\n notifys[placement as Placement][key as string].isOpen = true;\n this.setState({ notifys });\n },\n );\n }\n public closed(key: string, placement?: Placement) {\n if (!key || !placement || !notifys[placement][key]) {\n return;\n }\n notifys[placement][key].isOpen = false;\n const props: NotificationCreateProps = notifys[placement][key];\n this.setState({ notifys }, () => {\n clearTimeout(timer[key]);\n delete timer[key];\n delete notifys[placement][key];\n if (props && props.willUnmount) {\n props.willUnmount(props, notifys);\n }\n });\n }\n render() {\n const { prefixCls } = this.props;\n const { placement } = this.state;\n return (\n <React.Fragment>\n {placement &&\n Object.keys(this.state.notifys[placement]).map((key) => {\n const { description, isOpen, ...alertProps } = this.state.notifys[placement][key];\n if (alertProps.type === 'open') {\n delete alertProps.type;\n }\n return (\n <Alert\n className={prefixCls}\n key={key}\n useButton={false}\n width={320}\n {...(alertProps as AlertProps)}\n usePortal={false}\n hasBackdrop={false}\n isOpen={isOpen}\n content={description}\n />\n );\n })}\n </React.Fragment>\n );\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { AlertProps } from '@uiw/react-alert';\nimport { randomid } from '@uiw/utils';\nimport Container, { Placement, ContainerNotifys } from './Container';\nimport './style/index.less';\n\nexport interface NotificationCreateProps extends Omit<AlertProps, 'type'> {\n placement?: Placement;\n description?: React.ReactNode;\n type?: 'primary' | 'danger' | 'open' | 'success' | 'warning' | 'info' | 'error';\n duration?: number;\n key?: string;\n willUnmount?: (props: NotificationCreateProps, notifys: ContainerNotifys) => void;\n}\n\nexport type Notifys = { [key: string]: any };\nexport type NotifysDom = { [key: string]: HTMLDivElement };\n\nconst notifys: Notifys = {};\nconst notifysDom: NotifysDom = {};\n\nexport interface NotificationProps {\n (props: NotificationCreateProps, type: NotificationCreateProps['type']): void;\n [key: string]: () => void;\n}\n\nfunction NotificationCreate(props: NotificationCreateProps, type: NotificationCreateProps['type'] = 'open') {\n if (!props.placement) {\n props.placement = 'topRight';\n }\n props.type = type as NotificationCreateProps['type'];\n if (!props.icon && props.icon !== null) {\n switch (props.type) {\n case 'success':\n props.icon = 'circle-check';\n break;\n case 'warning':\n props.icon = 'warning';\n break;\n case 'info':\n props.icon = 'information';\n break;\n case 'error':\n props.icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n switch (props.type) {\n case 'info':\n props.type = 'primary';\n break;\n case 'error':\n props.type = 'danger';\n break;\n default:\n break;\n }\n\n if (props.placement && !notifys[props.placement]) {\n const div = document.createElement('div');\n document.body.appendChild(div);\n div.className = ['w-notify-warpper', props.placement].filter(Boolean).join(' ').trim();\n notifysDom[props.placement] = div;\n notifys[props.placement] = ReactDOM.render(<Container />, div);\n }\n\n if (props.duration !== null) {\n props.duration = (props.duration || 4.5) * 1000;\n }\n\n if (notifys[props.placement]) {\n notifys[props.placement].create({\n ...props,\n duration: props.duration,\n key: randomid(),\n willUnmount(nprops: any, notifysChild: ContainerNotifys) {\n if (!nprops) return;\n nprops.onClose && nprops.onClose();\n const keys = Object.keys(notifysChild[props.placement as Placement]);\n if (keys.length === 0 && notifys[props.placement as Placement]) {\n delete notifys[props.placement as Placement];\n if (notifysDom[props.placement as Placement]) {\n document.body.removeChild(notifysDom[props.placement as Placement]);\n }\n }\n },\n });\n }\n}\n\n['open', 'success', 'warning', 'info', 'error'].forEach((type) => {\n (NotificationCreate as NotificationProps)[type] = (options: NotificationCreateProps = {}) => {\n return NotificationCreate(options, type as NotificationCreateProps['type']);\n };\n});\n\nexport interface NotificationApi {\n open(option: NotificationCreateProps): void;\n success(option: NotificationCreateProps): void;\n warning(option: NotificationCreateProps): void;\n info(option: NotificationCreateProps): void;\n error(option: NotificationCreateProps): void;\n}\n\nexport default NotificationCreate as unknown as NotificationApi;\n","/**\n * Returns a random text\n */\nexport function randomid(): string {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface PaginationProps extends IProps, Omit<HTMLUlProps, 'onChange'> {\n prefixCls?: string;\n alignment?: 'left' | 'center' | 'right';\n size?: 'default' | 'small';\n total?: number;\n pageSize?: number;\n divider?: boolean;\n current?: number;\n onChange?: (current: number, total: number, pageSize: number) => void;\n}\n\nexport interface PaginationState {\n current: number;\n}\n\nexport interface PaginationItemSourceData {\n type?: string;\n disabled?: boolean;\n active?: boolean;\n label?: number | string;\n goto?: number;\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n className,\n prefixCls = 'w-pagination',\n alignment = 'left',\n size = 'default',\n total = 0,\n pageSize = 10, // The number of pages displayed.\n current: currentNumber = 1,\n onChange = () => null,\n divider,\n ...other\n } = props;\n\n const [current, setCurrent] = useState(currentNumber);\n useEffect(() => setCurrent(currentNumber), [currentNumber]);\n\n const cls = [prefixCls, className, divider ? 'divider' : null, size].filter(Boolean).join(' ').trim();\n\n const initPageSoure = useMemo(() => {\n const data: PaginationItemSourceData[] = [{ type: 'prev', disabled: current === 1 }];\n const count = Math.ceil(total / pageSize);\n const itemCount = count <= 5 ? count : 5;\n let num = 0;\n let basic = 0;\n if (current > 3 && count > 5) {\n data.push({ label: 1 });\n }\n if (current > 4 && count > 6) {\n data.push({ type: 'jumpPrev', label: '•••', goto: 5 });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n let label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n data.push({ label, active: current === label });\n }\n }\n if (current + 3 < count && count > 6) {\n data.push({ type: 'jumpNext', label: '•••', goto: 5 });\n }\n if (current + 2 < count && count > 5) {\n data.push({ label: count });\n }\n data.push({ type: 'next', disabled: current === count });\n return data;\n // return [\n // { type: 'prev', disabled: true },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { label: 1 },\n // { label: 2, active: true },\n // { label: 3 },\n // { label: 4 },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { type: 'next' },\n // ];\n }, [current, total, pageSize]);\n\n function handleClick(item: PaginationItemSourceData) {\n if (item.active || item.disabled) {\n return;\n }\n const count = Math.ceil(total / pageSize);\n const state = {} as PaginationState;\n if (item.label) {\n state.current = item.label as number;\n }\n if (item.type === 'prev') {\n state.current = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n state.current = current + 1 <= count ? current + 1 : count;\n }\n if (/^(jumpPrev|jumpNext)/.test(item.type as string) && item.goto) {\n state.current = item.type === 'jumpPrev' ? current - item.goto : current + item.goto;\n if (state.current > count) {\n state.current = count;\n }\n if (state.current < 1) {\n state.current = 1;\n }\n }\n\n setCurrent(state.current);\n onChange && onChange(state.current, total as number, pageSize as number);\n }\n\n return (\n <ul className={cls} {...other}>\n {initPageSoure.map((item: PaginationItemSourceData, idx) => {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n let label = <a>{item.label}</a>;\n if (/^(prev|next)$/.test(item.type as string)) {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n label = <a className={`arrow ${item.type}`} />;\n }\n return (\n <li\n className={[item.active ? 'active' : null, item.disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n onClick={() => handleClick(item)}\n key={idx}\n >\n {label}\n </li>\n );\n })}\n </ul>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport Input, { InputProps } from '@uiw/react-input';\nimport './style/input.less';\n\nexport interface PinCodeProps extends IProps {\n value?: string[];\n disabled?: boolean;\n onChange?: (value: string[]) => void;\n onBlur?: InputProps<{}>['onBlur'];\n onFocus?: InputProps<{}>['onFocus'];\n autoFocus?: boolean;\n size?: InputProps<{}>['size'];\n placeholder?: string;\n}\n\nfunction InternalPinCode(props: PinCodeProps = {}, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-pin-code',\n placeholder = '○',\n value = [],\n autoFocus,\n className,\n size = 'default',\n style,\n disabled,\n onChange = noop,\n onBlur = noop,\n onFocus = noop,\n ...otherProps\n } = props;\n const [input] = useState<{\n [key: string]: HTMLInputElement;\n }>({});\n const [placehold, setPlacehold] = useState(placeholder);\n const [values, setValues] = useState(value);\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>, idx: number) {\n let val = e.target.value;\n val = val.charAt(val.length - 1);\n const arr = [...values];\n if (Number(val) > -1 && val) {\n e.currentTarget.value = val;\n arr[idx] = val;\n if (input[idx + 1]) {\n input[idx + 1].focus();\n }\n setValues(arr);\n } else if (!val) {\n arr[idx] = '';\n setValues(arr);\n }\n }\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>, idx: number) {\n let val = e.currentTarget.value;\n const key = e.key.toLocaleLowerCase();\n if (!val && input[idx - 1] && /(backspace|delete)/.test(key)) {\n input[idx - 1].focus();\n }\n }\n useEffect(() => {\n if (values !== value) {\n onChange(values);\n }\n }, [values]);\n\n function handleBlur(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold(placeholder);\n onBlur(event);\n }\n function handleFocus(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold('');\n onFocus(event);\n }\n\n return (\n <div className={cls} style={style} {...otherProps} ref={ref}>\n {[...values].map((val, key) => {\n const inpProps: InputProps<{}> = {\n min: 0,\n type: 'text',\n inputMode: 'numeric',\n autoComplete: 'off',\n value: val,\n onChange: (e) => handleChange(e, key),\n onKeyDown: (e) => handleKeyDown(e, key),\n onBlur: (e) => handleBlur(e),\n onFocus: (e) => handleFocus(e),\n className: `${prefixCls}-inner`,\n placeholder: placehold,\n disabled,\n size,\n };\n if (autoFocus && key === 0) {\n inpProps.autoFocus = true;\n }\n const child = (\n <Input\n ref={(instance) => {\n if (instance) {\n input[key] = instance;\n }\n }}\n {...inpProps}\n key={key}\n />\n );\n return child;\n })}\n </div>\n );\n}\n\nexport default React.forwardRef<HTMLDivElement, PinCodeProps>(InternalPinCode);\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\n\nexport function IconProgress<T>(props: { type: IconProps<T>['type'] }): JSX.Element {\n return <Icon type={props.type} />;\n}\n","import React from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { IconProgress } from './utils';\nimport './style/index.less';\nimport './style/circle.less';\n\nexport type Status = 'success' | 'active' | 'exception';\nexport interface ProgressCircleProps<T> extends IProps, HTMLDivProps {\n type?: IconProps<T>['type'];\n status?: Status;\n showText?: boolean; // 是否显示进度条文字内容\n percent?: number; // 百分比(必填)\n width?: number; // 圆圈进度条画布宽度\n strokeWidth?: number; // 进度条大小设置\n format?: (percent: number) => React.ReactNode;\n}\n\nexport default class Circle<T> extends React.Component<ProgressCircleProps<T>> {\n public static defaultProps: ProgressCircleProps<{}> = {\n prefixCls: 'w-progress',\n showText: true,\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n relativeStrokeWidth(type: 'track' | 'bg' | undefined, elm: SVGPathElement) {\n const { strokeWidth, percent } = this.props;\n if (elm && elm.parentNode) {\n const { width } = (elm.parentNode as SVGAElement).getBoundingClientRect();\n const _strokeWidth: string = (((strokeWidth as number) / width) * 100).toFixed(1);\n const radius = parseInt((50 - parseFloat(_strokeWidth) / 2).toString(), 10);\n elm.setAttribute('stroke-width', _strokeWidth);\n elm.setAttribute(\n 'd',\n `M 50 50 m 0 -${radius} a ${radius} ${radius} 0 1 1 0 ${radius * 2} a ${radius} ${radius} 0 1 1 0 -${\n radius * 2\n }`,\n );\n if (type === 'track') {\n // 计算周长\n const perimeter = 2 * Math.PI * radius;\n elm.setAttribute(\n 'style',\n `stroke-dasharray:${perimeter}px,${perimeter}px;stroke-dashoffset:${\n (1 - (percent as number) / 100) * perimeter\n }px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;`,\n );\n }\n }\n }\n render() {\n const { prefixCls, style, type, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-circle`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n if (showText) {\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"check\" />;\n }\n progressInfo = (\n <span className={`${prefixCls}-text`} style={{ fontSize: (width as number) * 0.16 + 6 }}>\n {format ? format(percent as number) : percentView}\n </span>\n );\n }\n return (\n <div className={cls} style={style} {...resetProps}>\n <svg viewBox=\"0 0 100 100\" width={`${width}`}>\n <path ref={this.relativeStrokeWidth.bind(this, 'bg')} className={`${prefixCls}-trail`} fill=\"none\" />\n <path\n ref={this.relativeStrokeWidth.bind(this, 'track')}\n strokeLinecap=\"round\"\n className={`${prefixCls}-stroke`}\n fill=\"none\"\n />\n </svg>\n {progressInfo}\n </div>\n );\n }\n}\n","import React from 'react';\nimport { IconProgress } from './utils';\nimport { ProgressCircleProps } from './Circle';\nimport './style/index.less';\nimport './style/line.less';\n\nexport interface ProgressLineProp<T> extends ProgressCircleProps<T> {}\n\nexport default class Line<T> extends React.Component<ProgressLineProp<T>> {\n public static defaultProps: ProgressLineProp<{}> = {\n prefixCls: 'w-progress',\n showText: true, // 是否显示进度条文字内容\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n render() {\n const { prefixCls, style, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-line`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n if (showText) {\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"circle-close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"circle-check\" />;\n }\n progressInfo = <span className={`${prefixCls}-text`}>{format ? format(percent as number) : percentView}</span>;\n }\n const percentStyle = {\n width: `${percent}%`,\n height: strokeWidth,\n };\n return (\n <div className={cls} style={style} {...resetProps}>\n <div className={`${prefixCls}-bar`}>\n <div className={`${prefixCls}-inner`}>\n <div className={`${prefixCls}-bg`} style={percentStyle} />\n </div>\n </div>\n {progressInfo}\n </div>\n );\n }\n}\n","import Circle from './Circle';\nimport Line from './Line';\n\nexport * from './Circle';\nexport * from './Line';\n\nexport default {\n Line,\n Circle,\n};\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps, HTMLSpanProps, noop } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface RateProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number;\n readOnly?: boolean;\n allowHalf?: boolean;\n count?: number;\n color?: string;\n disabled?: boolean;\n character?: React.ReactNode;\n onChange?: (key: number) => void;\n onHoverChange?: (key: number) => void;\n}\n\nexport default function Rate(props: RateProps = {}) {\n const {\n prefixCls = 'w-rate',\n count = 5,\n value: defValue = 0,\n className,\n allowHalf,\n character = '★',\n readOnly = false,\n disabled,\n onChange = noop,\n onHoverChange = noop,\n color,\n ...other\n } = props;\n const [value, setValue] = useState(defValue);\n const [hoverCount, setHoverCount] = useState(-1);\n const cls = [prefixCls, className, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n const [prevValue, setPrevValue] = useState<number>();\n if (defValue !== prevValue) {\n setPrevValue(defValue);\n }\n\n useMemo(() => {\n if (value !== prevValue) {\n setValue(defValue);\n }\n }, [prevValue]);\n\n function onMouseLeave() {\n setHoverCount(-1);\n }\n\n function getValue(e: React.MouseEvent<HTMLElement>, key: number) {\n e.persist();\n let currentValue = key;\n const isLeft =\n e.clientX - e.currentTarget.getBoundingClientRect().left <= e.currentTarget.getBoundingClientRect().width / 2;\n if (allowHalf) {\n e.persist();\n currentValue = isLeft ? key + 0.5 : key + 1;\n } else {\n currentValue = key + 1;\n }\n return currentValue;\n }\n\n function onMouseMove(e: React.MouseEvent<HTMLElement>, key: number) {\n const currentValue = getValue(e, key);\n if (hoverCount !== currentValue) {\n setHoverCount(currentValue);\n onHoverChange(currentValue);\n }\n }\n function onClick(e: React.MouseEvent<HTMLElement>, key: number) {\n if (readOnly) return;\n const currentValue = getValue(e, key);\n setValue(currentValue);\n onChange(currentValue);\n }\n return (\n <div {...other} className={cls} onMouseLeave={() => onMouseLeave()}>\n {[...Array(count)].map((_, idx) => {\n const halfon =\n (value <= idx + 0.5 && Math.ceil(value) - 1 === idx && hoverCount === -1) || hoverCount === idx + 0.5;\n const activeCls = [\n `${prefixCls}-hight`,\n idx + 1 <= value && hoverCount === -1 ? 'star-on' : null,\n idx + 1 <= hoverCount ? 'hover-on' : null,\n halfon ? 'half-on' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const props: HTMLSpanProps = {};\n if (!readOnly) {\n props.onClick = (e) => onClick(e, idx);\n props.onMouseMove = (e) => onMouseMove(e, idx);\n }\n return (\n <span key={idx} {...props}>\n <span style={{ color }} className={activeCls}>\n {character}\n </span>\n <span className={`${prefixCls}-bg`}>{character}</span>\n </span>\n );\n })}\n </div>\n );\n}\n","import React from 'react';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Menu from '@uiw/react-menu';\nimport Input from '@uiw/react-input';\nimport { IProps } from '@uiw/utils';\nimport { useState } from 'react';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\n\nexport interface SearchSelectProps extends IProps, DropdownProps {\n size?: 'large' | 'default' | 'small';\n loading: boolean;\n showSearch?: boolean;\n allowClear: boolean;\n defaultValue?: string | number;\n value?: string | number;\n option: {\n label: string;\n value: string | number;\n key: any;\n [propName: string]: any;\n }[];\n onSelect?: (value: string | number) => void;\n onSearch?: (value: string) => void;\n onChange?: (value: string) => void;\n}\n\nexport interface MenuItemData {\n label: string;\n value: string | number;\n [keyName: string]: any;\n}\n\nexport default function SearchSelect(props: SearchSelectProps) {\n const {\n allowClear = false,\n disabled = false,\n size = 'default',\n option = [],\n loading = false,\n prefixCls,\n className,\n style,\n isOpen,\n value,\n defaultValue,\n showSearch,\n placeholder,\n onSearch,\n onChange,\n onSelect,\n ...others\n } = props;\n\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState(value);\n const [selectedLabel, setSelectedLabel] = useState('');\n const [selectIconType, setSelectIconType] = useState('');\n const divRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (defaultValue) {\n const defaultMenuItem = option.find((menuItem: MenuItemData) => defaultValue === menuItem.value);\n setSelectedValue(defaultValue);\n setSelectedLabel(defaultMenuItem ? defaultMenuItem.label : '');\n }\n }, []);\n\n useEffect(() => {\n if (value !== selectedValue) {\n setSelectedValue(value);\n }\n }, [value]);\n\n function handleItemClick(item: MenuItemData) {\n setInnerIsOpen(false);\n setSelectedValue(item.value);\n setSelectedLabel(item.label);\n onSelect && onSelect(item.value);\n // 支持form组件\n handleSelectChange(item.value);\n }\n\n // 渲染icon\n function renderSelectIcon(type: string) {\n let selectIconType;\n if (type === 'enter' && allowClear && selectedValue) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n // handle change\n function handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const value = e.target.value;\n setInnerIsOpen(!!value);\n setSelectedLabel(value);\n setSelectIconType(showSearch && value ? 'loading' : '');\n showSearch && onSearch && onSearch(value);\n handleSelectChange(value);\n }\n // 清除选中的值\n function resetSelectedValue() {\n setInnerIsOpen(false);\n setSelectedValue('');\n setSelectedLabel('');\n setSelectIconType('');\n handleSelectChange('');\n }\n function handleSelectChange(value: any) {\n onChange && onChange(value);\n }\n\n return (\n <Dropdown\n trigger=\"focus\"\n style={{ marginTop: 5 }}\n disabled={option && option.length > 0 ? false : true}\n {...others}\n onVisibleChange={(open) => setInnerIsOpen(open)}\n isOpen={innerIsOpen}\n menu={\n <Menu\n bordered\n style={{\n minHeight: 25,\n maxHeight: 280,\n overflowY: 'scroll',\n width: divRef.current ? divRef.current.offsetWidth : 'auto',\n }}\n >\n {!option || option.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{loading ? '正在加载数据...' : '没有数据'}</div>\n ) : (\n option.map((item, idx) => {\n const active = selectedValue === item.value;\n return <Menu.Item active={active} key={idx} text={item.label} onClick={() => handleItemClick(item)} />;\n })\n )}\n </Menu>\n }\n >\n <div\n ref={divRef}\n onMouseOver={() => renderSelectIcon('enter')}\n onMouseLeave={() => renderSelectIcon('leave')}\n style={style}\n >\n <Input\n readOnly={!showSearch}\n size={size}\n disabled={disabled}\n onChange={handleInputChange}\n value={selectedLabel}\n placeholder={placeholder}\n addonAfter={\n (selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <Icon type={selectIconType} spin={loading && selectIconType === 'loading'} onClick={resetSelectedValue} />\n )\n }\n />\n </div>\n </Dropdown>\n );\n}\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptionElement, React.InputHTMLAttributes<HTMLOptionElement>>((props, ref) => (\n <option {...props} ref={ref} />\n));\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptGroupElement, React.InputHTMLAttributes<HTMLOptGroupElement>>((props, ref) => (\n <optgroup {...props} ref={ref} />\n));\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport Option from './Option';\nimport Group from './Group';\nimport './style/index.less';\n\nexport interface SelectProps extends IProps, Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'large' | 'default' | 'small';\n}\n\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\n const { prefixCls = 'w-select', className, size = 'default', ...other } = props;\n return (\n <select\n {...other}\n ref={ref}\n className={[prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim()}\n />\n );\n});\n\ntype Select = typeof Select & {\n Option: typeof Option;\n Group: typeof Group;\n};\n\n(Select as Select).Option = Option;\n(Select as Select).Group = Group;\n\nexport default Select as Select;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Step, { StepProps } from './Step';\n\nexport interface StepsProps<T> extends IProps, HTMLDivProps {\n status?: StepProps<T>['status'];\n progressDot?: StepProps<T>['progressDot'];\n direction?: 'horizontal' | 'vertical';\n /**\n * 指定当前步骤,从 `0` 开始记数。\n */\n current?: number;\n}\n\nfunction InternalSteps<T>(props: StepsProps<T>) {\n const {\n prefixCls = 'w-steps',\n style = {},\n className,\n children,\n current,\n status = 'process',\n progressDot = false,\n direction = 'horizontal',\n ...resetProps\n } = props;\n\n const warpRef = useRef<HTMLDivElement>(null);\n const [lastStepOffsetWidth, setLastStepOffsetWidth] = useState(0);\n const filteredChildren = React.Children.toArray(children).filter((c) => !!c);\n const lastIndex = filteredChildren.length - 1; // 最后一个节点的索引数字\n const classString = [prefixCls, `${prefixCls}-${direction}`, !!progressDot ? `${prefixCls}-dot` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => calcStepOffsetWidth());\n\n // 计算每一步的宽度\n function calcStepOffsetWidth() {\n const domNode = warpRef.current;\n if (domNode && domNode.lastChild) {\n const width = ((domNode.lastChild as HTMLElement).offsetWidth || 0) + 1;\n if (width === lastStepOffsetWidth || Math.abs(width - lastStepOffsetWidth) <= 3) {\n return;\n }\n setLastStepOffsetWidth(width);\n }\n }\n\n return (\n <div className={classString} style={style} {...resetProps} ref={warpRef}>\n {React.Children.map(children, (child: any, index) => {\n const childProps = {\n stepNumber: `${index + 1}`,\n prefixCls,\n progressDot,\n ...child.props,\n };\n if (index !== lastIndex && direction !== 'vertical') {\n childProps.itemWidth = `${100 / lastIndex}%`;\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n\n if (progressDot && direction !== 'vertical') {\n childProps.itemWidth = `${100 / filteredChildren.length}%`;\n childProps.adjustMarginRight = 0;\n }\n // 错误前面\n if (status === 'error' && index === (current as number) - 1) {\n childProps.className = `${prefixCls}-next-error`;\n }\n if (!child.props.status) {\n if (index === current) {\n childProps.status = status;\n } else if (index < (current as number)) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n}\n\ntype Steps = typeof InternalSteps & {\n Step: typeof Step;\n};\n\n(InternalSteps as Steps).Step = Step;\n\nexport default InternalSteps as Steps;\n","import React, { CSSProperties } from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface StepProps extends IProps, Omit<HTMLDivProps, 'title'> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n progressDot?: boolean;\n itemWidth?: number;\n stepNumber?: string;\n adjustMarginRight?: number;\n icon?: IconProps['type'];\n}\n\nexport default function Step(props: StepProps) {\n const {\n prefixCls = 'w-steps',\n className,\n style,\n status,\n itemWidth,\n icon,\n adjustMarginRight,\n stepNumber,\n title,\n description,\n progressDot,\n ...restProps\n } = props;\n const classString = [\n `${prefixCls}-item`,\n `${prefixCls}-item-${status}`,\n className,\n icon ? `${prefixCls}-custom` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const stepItemStyle: CSSProperties = { ...style };\n const stepItemDotStyle: CSSProperties = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n if (progressDot) {\n stepItemDotStyle.paddingRight = Math.abs(adjustMarginRight);\n }\n }\n let iconNode = null;\n if (progressDot) {\n iconNode = <span className={`${prefixCls}-dot`} />;\n } else if (icon && typeof icon !== 'string') {\n iconNode = <span className={`${prefixCls}-icon`}>{icon}</span>;\n } else if ((icon && typeof icon === 'string') || status === 'finish' || status === 'error') {\n iconNode = (\n <Icon\n type={[\n icon && typeof icon === 'string' ? `${icon}` : null,\n !icon && status === 'finish' ? 'check' : null,\n !icon && status === 'error' ? 'close' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n );\n } else {\n iconNode = <span className={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return (\n <div {...restProps} className={classString} style={stepItemStyle}>\n <div className={`${prefixCls}-item-tail`} style={stepItemDotStyle}>\n <i />\n </div>\n <div className={`${prefixCls}-item-head`}>\n <div className={[`${prefixCls}-item-inner`, !!icon && 'is-icon'].filter(Boolean).join(' ').trim()}>\n {iconNode}\n </div>\n </div>\n <div className={`${prefixCls}-item-main`}>\n <div className={`${prefixCls}-item-title`}>{title}</div>\n {description && <div className={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n );\n}\n","import Steps from './Steps';\n\nexport * from './Steps';\nexport * from './Step';\n\nexport default Steps;\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport { SliderProps, SliderMarks } from './index';\n\ninterface TooltipProps extends HTMLDivProps {\n prefixCls: string;\n data: number[];\n step: number;\n min: number;\n vertical: boolean;\n marks: SliderProps['marks'];\n markRender: (stepValue: number, mark?: SliderMarks) => React.ReactNode;\n}\n\nexport default function Dots(props: TooltipProps) {\n const { prefixCls, data, step, min, vertical, marks, markRender } = props;\n return (\n <div className={`${prefixCls}-dots`}>\n {data.map((val, idx) => {\n const stepValue = idx * step + min;\n return (\n <div\n key={idx}\n style={{\n [vertical ? 'top' : 'left']: `${val}%`,\n }}\n className={[`${prefixCls}-mark`, marks && marks !== true && !marks[stepValue] ? 'no-marks' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {marks === true && markRender && markRender(stepValue)}\n {marks !== true && marks && marks[stepValue] && markRender && markRender(stepValue, marks[stepValue])}\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Dots from './Dots';\nimport './style/index.less';\n\nexport type SliderMarks = {\n style?: React.CSSProperties;\n label?: React.ReactNode;\n};\n\nexport interface SliderProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number | number[];\n min?: number;\n max?: number;\n marks?: boolean | Record<number, SliderMarks>;\n dots?: boolean;\n range?: boolean;\n vertical?: boolean;\n step?: number;\n disabled?: boolean;\n tooltip?: boolean;\n progress?: boolean | string;\n renderMarks?: (value: number) => JSX.Element;\n onChange?: (value: number | number[]) => void;\n onClick?: (e: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function Slider(props: SliderProps) {\n const {\n prefixCls = 'w-slider',\n value = 0,\n min = 0,\n max = 100,\n dots = false,\n step = 1,\n disabled = false,\n progress = true,\n tooltip = false,\n className,\n marks,\n renderMarks,\n vertical,\n onChange,\n ...other\n } = props;\n\n const bar = React.useRef<HTMLDivElement>(null);\n const slider = React.useRef<HTMLDivElement>(null);\n const indexBar = React.useRef<number>();\n const startX = React.useRef<number>();\n const curValue = React.useRef<number | number[]>();\n const barWidth = React.useRef<number>();\n const barOffsetLeft = React.useRef<number>();\n const move = React.useRef<boolean>();\n const [arrValue, setArrValue] = useState(Array.isArray(value) ? value : [value]);\n\n useEffect(() => setArrValue(Array.isArray(value) ? value : [value]), [value]);\n\n other.onClick = (evn: React.MouseEvent<HTMLElement>) => {\n if (move.current !== undefined) {\n return;\n }\n const markOffset = slider.current!.getBoundingClientRect();\n const vals = getWidthToValue(evn[vertical ? 'clientY' : 'clientX'] - markOffset[vertical ? 'y' : 'x']);\n const curr = getRangeValue(vals);\n handleChange(curr);\n };\n\n function getRangeValue(val: number | number[]) {\n if (!Array.isArray(value)) {\n return Array.isArray(val) ? val : [val];\n }\n const newData = [...arrValue];\n const val1 = newData[0];\n const val2 = newData[1];\n if ((val1 < val2 && val1 > val) || (val1 > val2 && val1 < val)) {\n newData[0] = val as number;\n }\n if ((val1 < val2 && val2 < val) || (val1 > val2 && val2 > val)) {\n newData[1] = val as number;\n }\n\n if (val1 > val && val2 < val) {\n const half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n newData[1] = val as number;\n }\n if (half < val) {\n newData[0] = val as number;\n }\n }\n if (val2 > val && val1 < val) {\n const half = val1 + (val2 - val1) / 2;\n if (half >= val) {\n newData[0] = val as number;\n }\n if (half < val) {\n newData[1] = val as number;\n }\n }\n return newData;\n }\n\n function handleChange(val: number[]) {\n setArrValue([...val]);\n onChange && onChange(arrValue.length === 1 ? val[0] : val);\n }\n\n function getWidthToValue(width: number) {\n const equal = (max - min) / step;\n let percent = 0;\n if (slider.current) {\n percent = (width / slider.current[vertical ? 'clientHeight' : 'clientWidth']) * 100;\n }\n\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n\n const num = equal * (percent / 100) + 0.5;\n const numFloor = Math.floor(num);\n const vals = numFloor * step + min;\n return vals;\n }\n\n function onHandleBtnDown(idx: number, env: React.MouseEvent<HTMLElement>) {\n if (disabled) {\n return;\n }\n indexBar.current = idx;\n move.current = true;\n startX.current = env[vertical ? 'clientY' : 'clientX'];\n if (bar.current) {\n barWidth.current = bar.current[vertical ? 'clientHeight' : 'clientWidth'];\n barOffsetLeft.current = bar.current[vertical ? 'offsetTop' : 'offsetLeft'];\n }\n const vals = [...arrValue];\n if (Array.isArray(value)) {\n barWidth.current =\n (indexBar.current === 1 && vals[1] > vals[0]) || (indexBar.current !== 1 && vals[0] > vals[1])\n ? barWidth.current! + barOffsetLeft.current!\n : barOffsetLeft.current;\n }\n window.addEventListener('mousemove', onDragging);\n window.addEventListener('mouseup', onDragEnd);\n }\n function onDragging(env: MouseEvent | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n if (!move.current) {\n return;\n }\n const vals = [...arrValue];\n const valueToWidth = getWidthToValue(env[vertical ? 'clientY' : 'clientX'] - startX.current! + barWidth.current!);\n if (valueToWidth !== curValue.current) {\n vals[indexBar.current!] = valueToWidth;\n const barStyl = getStyle(vals);\n if (bar.current) {\n bar.current.style[vertical ? 'top' : 'left'] = barStyl.left;\n bar.current.style[vertical ? 'bottom' : 'right'] = barStyl.right;\n }\n handleChange(vals);\n curValue.current = valueToWidth;\n }\n }\n function onDragEnd() {\n move.current = undefined;\n window.removeEventListener('mousemove', onDragging, false);\n window.removeEventListener('mouseup', onDragEnd, false);\n }\n\n const stepArray = () => {\n const equal = (max - min) / step;\n const stepWidth = (100 * step) / (max - min);\n const result = [0];\n for (let i = 1; i < equal; i += 1) {\n result.push(i * stepWidth);\n }\n result.push(100);\n return result;\n };\n function getValueToPercent(vals: number) {\n return ((vals - min) * 100) / (max - min);\n }\n\n function getStyle(val?: number[]) {\n val = val || arrValue;\n const barStyl = { left: '0%', right: '100%' };\n if (!Array.isArray(value)) {\n barStyl.right = `${100 - getValueToPercent(val[0])}%`;\n } else {\n const leftValue = val[0] > val[1] ? val[1] : val[0];\n const rightValue = val[0] > val[1] ? val[0] : val[1];\n barStyl.left = `${getValueToPercent(leftValue)}%`;\n barStyl.right = `${100 - getValueToPercent(rightValue)}%`;\n }\n return barStyl;\n }\n\n function getLabelValue(val: number) {\n if (marks && marks !== true && marks[val] && marks[val].label) {\n return marks[val].label;\n } else if (marks && marks !== true && marks[val] && typeof marks[val] === 'string') {\n return marks[val];\n } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n return renderMarks(val);\n }\n return val;\n }\n\n const barStyl = getStyle();\n if (disabled) {\n delete other.onClick;\n }\n return (\n <div\n ref={slider}\n className={[\n prefixCls,\n className,\n disabled ? 'disabled' : null,\n marks ? `${prefixCls}-with-marks` : null,\n vertical ? `${prefixCls}-vertical` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n {...other}\n >\n <div\n ref={bar}\n className={`${prefixCls}-bar`}\n style={{\n [vertical ? 'top' : 'left']: barStyl.left,\n [vertical ? 'bottom' : 'right']: barStyl.right,\n ...(progress !== true ? { backgroundColor: progress || 'initial' } : {}),\n }}\n />\n {[...arrValue].map((item, idx) => {\n const lleftPostion = getValueToPercent(item);\n return (\n <div\n key={idx}\n className={`${prefixCls}-handle`}\n onMouseDown={(evn) => onHandleBtnDown(idx, evn)}\n style={{ [vertical ? 'top' : 'left']: `${lleftPostion}%` }}\n >\n {(tooltip || tooltip === false) && (\n <div className={[`${prefixCls}-tooltip`, tooltip ? 'open' : null].filter(Boolean).join(' ').trim()}>\n {getLabelValue(item)}\n </div>\n )}\n </div>\n );\n })}\n {dots && (\n <Dots\n prefixCls={prefixCls}\n min={min}\n step={step}\n marks={marks}\n vertical={!!vertical}\n data={stepArray()}\n markRender={(stepValue, mark = {}) => {\n if (!mark) {\n return <div> {getLabelValue(stepValue)} </div>;\n }\n const other = typeof mark === 'object' ? mark : {};\n delete other.label;\n return <div {...other}> {getLabelValue(stepValue)} </div>;\n }}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport './style/index.less';\n\nexport interface SwitchProps extends RadioAbstractProps {}\n\nexport default React.forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const { prefixCls = 'w-switch', ...other } = props;\n return <RadioAbstract prefixCls={prefixCls} {...{ ...other, type: 'checkbox' }} ref={ref} />;\n});\n","import React from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport { TableProps, TableColumns } from './';\nimport './style/index.less';\n\nexport interface TheadProps extends IProps {\n data?: TableProps['data'][];\n onCellHead?: TableProps['onCellHead'];\n}\n\nexport default (props: TheadProps & React.HTMLAttributes<HTMLTableSectionElement> = {}) => {\n const { prefixCls = 'w-table', className, data = [], onCellHead = noop, ...other } = props;\n return (\n <thead className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n {data &&\n data.length > 0 &&\n data.map((tds?: TableColumns[], rowNum?: number) => (\n <tr key={rowNum}>\n {(tds || []).map((item, colNum) => {\n const { title, key, render, children, ellipsis, ...thProps } = item;\n const titleNode: TableColumns['title'] =\n typeof title === 'function' ? title(item, colNum, rowNum!) : title;\n if (thProps.colSpan === 0) {\n return null;\n }\n if (ellipsis) {\n thProps.className = `${thProps.className || ''} ${prefixCls}-ellipsis`;\n }\n return (\n <th key={colNum} onClick={(evn) => onCellHead(item, colNum, rowNum!, evn)} {...thProps}>\n {titleNode}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n};\n","import { TableColumns } from './';\n\n/**\n * Get colspan number\n * @param {Array} date\n */\nfunction getColspanNum(data: TableColumns[] = [], num = 1) {\n let childs: TableColumns[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n childs = childs.concat(data[i].children || []);\n }\n }\n if (childs && childs.length > 0) {\n num = getColspanNum(childs, num + 1);\n }\n return num;\n}\n\n/**\n * Get rowspan number\n * @param {Array} date\n */\nfunction getRowspanNum(data: TableColumns[] = [], child = []) {\n let childs: TableColumns[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!data[i].children) {\n childs.push(data[i]);\n } else if (data[i].children && data[i].children!.length > 0) {\n childs = childs.concat(getRowspanNum(data[i].children, child));\n }\n }\n return childs;\n}\n\nexport interface ILevelItems {\n header: TableColumns[][];\n ellipsis?: Record<string, boolean>;\n render: {\n [key: string]: any;\n };\n}\n\n/**\n * JSON Array => Array\n * @param {Array} date\n */\nexport const getLevelItems = (data: TableColumns[], result?: ILevelItems): ILevelItems => {\n if (!result) {\n result = { header: [], render: {} };\n }\n if (result && !result.header) {\n result.header = [];\n }\n if (result && !result.render) {\n result.render = {};\n }\n let child: TableColumns[] = [];\n const levelTop: TableColumns[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].render && data[i].key) {\n result.render[data[i].key as string] = data[i].render;\n }\n if (data[i].ellipsis && data[i].key) {\n if (!result.ellipsis) result.ellipsis = {};\n result.ellipsis[data[i].key!] = true;\n }\n if (result.header.length === 0) {\n // Calculation rowspan\n if (data[i].children && data[i].children && data[i].children!.length > 0) {\n data[i].colSpan = getRowspanNum(data[i].children as TableColumns[]).length;\n }\n levelTop.push(data[i]);\n }\n if (data[i] && data[i].children) {\n child = child.concat(\n data[i].children!.map((item: TableColumns) => {\n // Calculation rowspan\n if (item.children && item.children.length > 0) {\n item.colSpan = getRowspanNum(item.children).length;\n }\n return item;\n }),\n );\n }\n }\n // level 1\n if (result.header.length === 0) {\n const num = getColspanNum(levelTop);\n result.header.push(\n levelTop.map((item) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n }\n if (child && child.length > 0) {\n const num = getColspanNum(child);\n result.header.push(\n child.map((item: TableColumns) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n result = getLevelItems(child, result);\n }\n return result;\n};\n\n/**\n * Get all columns keys\n * @param {Array} data\n */\nexport const getAllColumnsKeys = (data: TableColumns[], keys: any[] = []): string[] => {\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n keys = keys.concat(getAllColumnsKeys(data[i].children || []));\n } else if (data[i].key) {\n keys.push(data[i].key);\n }\n }\n return keys;\n};\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport Thead from './Thead';\nimport { getLevelItems, getAllColumnsKeys } from './util';\nimport './style/index.less';\n\nexport type TableColumns = {\n title?: string | ((data: TableColumns, rowNum: number, colNum: number) => JSX.Element) | JSX.Element;\n key?: string;\n width?: number;\n colSpan?: number;\n children?: TableColumns[];\n ellipsis?: boolean;\n render?: (\n text: string,\n keyName: string,\n rowData: { [key: string]: any },\n rowNumber: number,\n columnNumber: number,\n ) => void;\n style?: React.CSSProperties;\n [key: string]: any;\n};\n\nexport interface TableProps extends IProps, Omit<HTMLDivProps, 'title'> {\n prefixCls?: string;\n columns?: TableColumns[];\n data?: Record<string, string | number | JSX.Element>[];\n title?: React.ReactNode;\n footer?: React.ReactNode;\n bordered?: boolean;\n onCell?: (\n data: { [key: string]: any },\n options: ICellOptions,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void | React.ReactNode;\n onCellHead?: (\n data: TableColumns,\n rowNum: number,\n colNum: number,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void;\n}\n\nexport interface ICellOptions {\n rowNum: number;\n colNum: number;\n keyName: string;\n}\n\nexport default (props: TableProps = {}) => {\n const {\n prefixCls = 'w-table',\n className,\n columns = [],\n data = [],\n title,\n footer,\n bordered,\n onCell = noop,\n onCellHead = noop,\n ...other\n } = props;\n const cls = [prefixCls, className, bordered ? `${prefixCls}-bordered` : null].filter(Boolean).join(' ').trim();\n const { header, render, ellipsis } = getLevelItems(columns);\n const keys = getAllColumnsKeys(columns);\n return (\n <div className={cls} {...other}>\n <table style={ellipsis ? { tableLayout: 'fixed' } : {}}>\n {title && <caption>{title}</caption>}\n {columns && columns.length > 0 && <Thead onCellHead={onCellHead} data={header} />}\n {data && data.length > 0 && (\n <tbody>\n {data.map((trData, rowNum) => (\n <tr key={rowNum}>\n {keys.map((keyName, colNum) => {\n let objs: React.TdHTMLAttributes<HTMLTableDataCellElement> = {\n children: trData[keyName],\n };\n if (render[keyName]) {\n const child = render[keyName](trData[keyName], keyName, trData, rowNum, colNum);\n if (React.isValidElement(child)) {\n objs.children = child;\n } else {\n if (child.props) {\n objs = { ...child.props, children: objs.children };\n if (child.props.rowSpan === 0 || child.props.colSpan === 0) return null;\n }\n if (child.children) {\n objs.children = child.children;\n }\n }\n }\n if (ellipsis && ellipsis[keyName]) {\n objs.className = `${prefixCls}-ellipsis`;\n }\n return (\n <td {...objs} key={colNum} onClick={(evn) => onCell(trData, { rowNum, colNum, keyName }, evn)} />\n );\n })}\n </tr>\n ))}\n </tbody>\n )}\n {props.children}\n </table>\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n};\n","import React, { useEffect, useState, useRef } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Pane from './Pane';\nimport './style/index.less';\n\nexport * from './Pane';\n\nTabs.Pane = Pane;\n\nexport interface TabsProps extends IProps, HTMLDivProps {\n prefixCls?: string;\n activeKey?: string;\n type?: 'default' | 'line' | 'card';\n children?: React.ReactNode;\n onTabClick?: (key: string, item: React.ReactElement, e: React.MouseEvent) => void;\n}\n\nexport default function Tabs(props: TabsProps) {\n const {\n prefixCls = 'w-tabs',\n className,\n children,\n type = 'default',\n activeKey: _,\n onTabClick,\n ...elementProps\n } = props;\n const [activeKey, setActiveKey] = useState(props.activeKey);\n const [slideStyle, setSlideStyle] = useState({ width: 0, left: 0 });\n const activeItem = useRef<HTMLDivElement | undefined>();\n const cls = [prefixCls, className, type ? `${prefixCls}-${type}` : null].filter(Boolean).join(' ').trim();\n\n useEffect(() => setActiveKey(props.activeKey), [props.activeKey]);\n useEffect(() => calcSlideStyle(), [activeKey]);\n\n function calcSlideStyle() {\n if (activeItem.current && type === 'line') {\n setSlideStyle({\n width: activeItem.current.clientWidth,\n left: activeItem.current.offsetLeft,\n });\n }\n }\n\n return (\n <div className={cls} {...elementProps}>\n <div className={`${prefixCls}-bar`}>\n <div className={`${prefixCls}-nav`}>\n {React.Children.map(children as React.ReactElement[], (item: React.ReactElement, key: number) => {\n if (!item) {\n return null;\n }\n const divProps: HTMLDivProps = {\n className: [\n `${prefixCls}-item`,\n item.key === activeKey ? 'active' : null,\n item.props.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n children: item.props.label,\n };\n if (!item.props.disabled) {\n divProps.onClick = (e: React.MouseEvent) => {\n setActiveKey(item.key as string);\n onTabClick && onTabClick(item.key as string, item, e);\n calcSlideStyle();\n };\n }\n return (\n <div\n key={key}\n ref={(node) => {\n if (node && item.key === activeKey) {\n activeItem.current = node;\n }\n }}\n {...divProps}\n />\n );\n })}\n </div>\n <div style={slideStyle} className={`${prefixCls}-slide`} />\n </div>\n {React.Children.map(children, (item: any) => {\n if (!item || activeKey !== item.key) {\n return null;\n }\n return React.cloneElement(item, Object.assign({}, item.props, {}));\n })}\n </div>\n );\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\n\nexport interface TabsPaneProps extends IProps, HTMLDivProps {\n label?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport default (props: TabsPaneProps = {}) => {\n const { prefixCls = 'w-tabs-pane', className, label: _, ...resetProps } = props;\n return <div className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...resetProps} />;\n};\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TagProps extends IProps, Omit<HTMLSpanProps, 'title'> {\n color?: string;\n disabled?: boolean;\n visible?: boolean;\n bordered?: boolean;\n light?: boolean;\n closable?: boolean;\n title?: React.ReactNode;\n onClose?: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;\n}\n\nexport default (props: TagProps = {}) => {\n const {\n prefixCls = 'w-tag',\n className,\n style,\n title = '',\n children,\n visible = true,\n color = '#6E6E6E',\n disabled = false,\n bordered = true,\n closable,\n light = false,\n onClose,\n ...other\n } = props;\n const cls = [prefixCls, className, light ? `${prefixCls}-light` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl: React.CSSProperties = { ...style };\n if (!light) {\n styl.color = '#fff';\n styl.backgroundColor = color;\n } else {\n styl.color = color;\n styl.borderColor = color;\n if (bordered && light) {\n styl.boxShadow = `inset 0 0 0 1px ${color}`;\n }\n }\n if (!visible) {\n return null;\n }\n const closeBtn = useMemo(\n () =>\n closable ? (\n <svg onClick={onClose} className={`${prefixCls}-close`} width=\"15\" height=\"15\" viewBox=\"0 0 16 16\">\n <path d=\"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z\" />\n </svg>\n ) : null,\n [closable],\n );\n return (\n <span className={cls} style={styl} {...other}>\n {title || children}\n {closeBtn}\n </span>\n );\n};\n","import React from 'react';\nimport { IProps, HTMLTextProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TextareaProps extends IProps, HTMLTextProps {}\n\nexport default React.forwardRef<HTMLTextAreaElement, TextareaProps>((props, ref) => {\n const { prefixCls = 'w-textarea', className, ...restProps } = props;\n return (\n <textarea className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...restProps} ref={ref}>\n {props.children}\n </textarea>\n );\n});\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TooltipProps extends IProps, OverlayTriggerProps {\n visibleArrow?: boolean;\n content?: React.ReactNode;\n}\n\nexport default (props: TooltipProps = {}) => {\n const {\n prefixCls = 'w-tooltip',\n className,\n placement = 'top',\n isOpen = false,\n trigger,\n delay,\n usePortal = true,\n visibleArrow = true,\n onVisibleChange,\n ...other\n } = props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <OverlayTrigger\n usePortal={usePortal}\n isOpen={isOpen}\n trigger={trigger}\n delay={delay}\n onVisibleChange={onVisibleChange}\n placement={placement}\n {...other}\n overlay={\n <div className={cls}>\n {visibleArrow && <div className={`${prefixCls}-arrow`} />}\n <div className={`${prefixCls}-inner`}>{props.content}</div>\n </div>\n }\n >\n {typeof props.children === 'object' ? props.children : <span>{props.children}</span>}\n </OverlayTrigger>\n );\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport { TreeData, TreeProps, getChildKeys } from './';\n\ninterface TreeNodeIconProps {\n isOpen: boolean;\n noChild: boolean;\n openKeys: TreeNodeProps['openKeys'];\n selectedKeys: TreeNodeProps['selectedKeys'];\n}\n\ninterface TreeNodeProps<T = (data: TreeData, props: TreeNodeIconProps) => IconProps['type']> extends IProps {\n data: TreeData[];\n level: number;\n parent?: TreeData;\n icon?: T;\n iconAnimation?: boolean;\n isSelected?: boolean;\n renderTitle?: TreeProps['renderTitle'];\n\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n\n onItemClick?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onItemSelected?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n}\n\nconst Label = ({ label }: { label: React.ReactNode }) => useMemo(() => <span>{label}</span>, [label]);\n\nexport default function TreeNode<T>(props: TreeNodeProps<T>) {\n const {\n prefixCls,\n renderTitle,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n\n data,\n level,\n parent,\n\n onItemClick = noop,\n onItemSelected = noop,\n ...other\n } = props;\n let isOpen = false;\n\n if (parent && parent.key) {\n isOpen = !!(openKeys && openKeys.indexOf(parent.key) > -1);\n }\n const onExit = useCallback((node: HTMLElement) => {\n node.style.height = `${node.scrollHeight}px`;\n }, []);\n const onExiting = useCallback((node: HTMLElement) => {\n node.style.height = '1px';\n }, []);\n const onEnter = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = '1px';\n }, []);\n const onEntering = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = `${node.scrollHeight}px`;\n }, []);\n const onEntered = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = 'initial';\n }, []);\n return (\n <CSSTransition\n classNames={prefixCls}\n in={isOpen}\n timeout={200}\n onExit={onExit}\n onExiting={onExiting}\n onEnter={onEnter}\n onEntered={onEntered}\n onEntering={onEntering}\n >\n <ul\n className={[\n level !== 1 && isOpen ? [`${prefixCls}-open`] : null,\n level !== 1 && !isOpen ? [`${prefixCls}-close`] : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {data.map((item, idx: number) => {\n item.parent = parent;\n const selected = !!(selectedKeys && selectedKeys.indexOf(item.key) > -1);\n const noChild = !item.children;\n const itemIsOpen = openKeys && openKeys.indexOf(item.key) > -1 && !!item.children;\n const iconItem =\n typeof icon === 'function'\n ? icon(item, {\n isOpen: !!itemIsOpen,\n noChild,\n openKeys,\n selectedKeys,\n })\n : icon;\n const childKeys = noChild ? [] : getChildKeys(item.children);\n const checkedKeys = selectedKeys ? selectedKeys.filter((key) => childKeys.indexOf(key) > -1) : [];\n const isHalfChecked = checkedKeys.length > 0 && childKeys.length !== checkedKeys.length;\n return (\n <li key={idx}>\n <div className={`${prefixCls}-label`}>\n <span className={`${prefixCls}-switcher`} onClick={(evn) => onItemClick(item, evn)}>\n <Icon\n type={iconItem || 'caret-right'}\n className={[\n typeof icon === 'function' ? `${prefixCls}-switcher-noop` : null,\n noChild ? 'no-child' : null,\n !iconAnimation ? 'no-animation' : null,\n itemIsOpen ? 'open' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </span>\n <div\n onClick={(evn) => onItemSelected(item, evn)}\n className={[\n `${prefixCls}-title`,\n selected && isSelected ? 'selected' : null,\n item.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {renderTitle ? (\n renderTitle(item, {\n selected,\n noChild,\n openKeys,\n isHalfChecked,\n selectedKeys,\n })\n ) : (\n <Label label={item.label} />\n )}\n </div>\n </div>\n {item.children && (\n <TreeNode\n {...other}\n {...{\n prefixCls,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n onItemClick,\n onItemSelected,\n renderTitle,\n }}\n prefixCls={prefixCls}\n data={item.children}\n level={level + 1}\n parent={item}\n />\n )}\n </li>\n );\n })}\n </ul>\n </CSSTransition>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport TreeNode from './TreeNode';\nimport './style/index.less';\n\nexport type TreeRenderTitleNode = {\n selected?: boolean;\n noChild?: boolean;\n isHalfChecked?: boolean;\n openKeys?: TreeProps['openKeys'];\n selectedKeys?: TreeProps['selectedKeys'];\n};\n\nexport interface TreeProps extends IProps, HTMLDivProps {\n icon?: IconProps['type'];\n data?: TreeData[];\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n defaultExpandAll?: boolean;\n /**\n * 是否自动展开父节点\n */\n autoExpandParent?: boolean;\n /**\n * 是否展示连接线\n */\n showLine?: boolean;\n iconAnimation?: boolean;\n isSelected?: boolean;\n /**\n * 子节点受父节点控制设置 `true`,需要配合 `multiple` 参数使用。\n */\n checkStrictly?: boolean;\n /**\n * 支持点选多个节点\n */\n multiple?: boolean;\n renderTitle?: (item: TreeData, node: TreeRenderTitleNode) => React.ReactElement;\n onExpand?: (key: TreeData['key'], expanded: boolean, item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onSelected?: (\n keys: TreeData['key'][],\n key: TreeData['key'],\n selected: boolean,\n item: TreeData,\n evn: React.MouseEvent<HTMLElement>,\n ) => void;\n}\n\nexport interface TreeData {\n label?: React.ReactNode;\n children?: TreeData[];\n key?: string | number;\n [keyName: string]: any;\n}\n\n/**\n * a contains b\n * @param {Array} a\n * @param {Array} b\n */\nconst isContained = (a: any[], b: any[]) => {\n if (!(a instanceof Array) || !(b instanceof Array)) return false;\n if (a.length < b.length) return false;\n const aStr = a.toString();\n for (let i = 0, len = b.length; i < len; i += 1) {\n if (aStr.indexOf(b[i]) === -1) return false;\n }\n return true;\n};\n\nexport const getChildKeys = (childs: TreeData[] = [], result: TreeData['key'][] = []): TreeData['key'][] => {\n childs.forEach((item) => {\n result.push(item.key as string | number);\n if (item.children && item.children.length > 0) {\n result = result.concat(getChildKeys(item.children));\n }\n });\n return result;\n};\n\nconst getParentKeys = (childs: TreeData = {}, result: TreeData['key'][] = []) => {\n if (childs.key) {\n result.push(childs.key);\n }\n if (childs.parent) {\n result = getParentKeys(childs.parent, result);\n }\n return result;\n};\n\nconst getParentSelectKeys = (\n childs: TreeData = {},\n selectedKeys: TreeData['key'][] = [],\n result: TreeData['key'][] = [],\n) => {\n if (childs.key && childs.children && isContained(selectedKeys, getChildKeys(childs.children))) {\n result.push(childs.key);\n if (childs.parent && !childs.parent.parent) {\n if (isContained(selectedKeys, getChildKeys(childs.children))) {\n selectedKeys = selectedKeys.concat(result);\n }\n if (isContained(selectedKeys, getChildKeys(childs.parent.children))) {\n result.push(childs.parent.key);\n }\n }\n }\n if (childs.parent) {\n result = getParentSelectKeys(childs.parent, selectedKeys, result);\n }\n return result;\n};\n\nexport default function Tree(props: TreeProps) {\n const {\n prefixCls = 'w-tree',\n icon = 'caret-right',\n data = [],\n openKeys = [],\n selectedKeys = [],\n defaultExpandAll = false,\n showLine = false,\n iconAnimation = true,\n isSelected = true,\n checkStrictly = false,\n multiple = false,\n onExpand = noop,\n onSelected = noop,\n\n className,\n autoExpandParent,\n renderTitle,\n ...elementProps\n } = props;\n\n const [curOpenKeys, setCurOpenKeys] = useState(openKeys);\n const [curSelectedKeys, setCurSelectedKeys] = useState(selectedKeys);\n\n // useEffect(() => setCurOpenKeys(openKeys), [openKeys]);\n // useEffect(() => setCurSelectedKeys(selectedKeys), [selectedKeys]);\n\n useEffect(() => {\n const arrOpenKeys = getChildKeys(data);\n if (defaultExpandAll) {\n setCurOpenKeys(arrOpenKeys);\n }\n }, []);\n\n const cls = [className, prefixCls, showLine ? `${prefixCls}-line` : null].filter(Boolean).join(' ').trim();\n\n function onItemClick(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n if (!item.children) {\n return;\n }\n // const { onExpand } = this.props;\n // const { openKeys } = this.state;\n let currentKeys = [...(curOpenKeys as TreeData['key'][])];\n const key = currentKeys.find((v) => v === item.key);\n const cls = evn.currentTarget.className.replace(/(\\s)open/g, '');\n let expanded = false;\n if (!key && item.key) {\n currentKeys.push(item.key);\n evn.currentTarget.className = [cls, 'open'].filter(Boolean).join(' ').trim();\n expanded = true;\n } else {\n currentKeys = currentKeys.filter((v) => v !== item.key);\n evn.currentTarget.className = cls;\n }\n setCurOpenKeys(currentKeys);\n onExpand && onExpand(item.key, expanded, item, evn);\n }\n function onItemSelected(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n // const { onSelected, multiple, checkStrictly } = this.props;\n let selKeys = [...(curSelectedKeys as TreeData['key'][])];\n const findKey = selKeys.find((v) => v === item.key);\n let selected = false;\n if (!findKey) {\n selected = true;\n selKeys.push(item.key);\n } else {\n selKeys = selKeys.filter((v) => v !== item.key);\n }\n if (checkStrictly) {\n if (!findKey) {\n selKeys = selKeys.concat(getChildKeys(item.children).filter((val) => selKeys.indexOf(val) === -1));\n selKeys = selKeys.concat(getParentSelectKeys(item, selKeys));\n selKeys = Array.from(new Set(selKeys)); // Remove duplicates.\n } else {\n selKeys = selKeys.filter((val) => getChildKeys(item.children).indexOf(val) === -1);\n selKeys = selKeys.filter((val) => getParentKeys(item.parent).indexOf(val) === -1);\n }\n }\n if (!multiple) {\n selKeys = !findKey ? [item.key] : [];\n }\n setCurSelectedKeys(selKeys);\n onSelected && onSelected(selKeys, item.key, selected, item, evn);\n }\n return (\n <div className={cls} {...elementProps}>\n <TreeNode\n {...{\n icon,\n iconAnimation,\n isSelected,\n openKeys: curOpenKeys,\n selectedKeys: curSelectedKeys,\n prefixCls,\n renderTitle,\n }}\n onItemClick={onItemClick}\n onItemSelected={onItemSelected}\n data={data}\n level={1}\n />\n </div>\n );\n}\n","import React, { Fragment } from 'react';\nimport Tree, { TreeProps, TreeRenderTitleNode, TreeData } from '@uiw/react-tree';\nimport Checkbox, { CheckboxProps } from '@uiw/react-checkbox';\nimport './style/index.less';\n\nexport interface TreeCheckedProps<T> extends TreeProps<T> {}\n\nexport default function TreeChecked<T>({ prefixCls = 'w-treechecked', ...props }: TreeCheckedProps<T>): JSX.Element {\n props.className = [prefixCls, props.className].filter(Boolean).join(' ').trim();\n props.checkStrictly = true;\n props.isSelected = false;\n props.multiple = true;\n return (\n <Tree\n renderTitle={(item: TreeData, node: TreeRenderTitleNode<T>) => {\n const checkedProps: CheckboxProps = {};\n if (node.isHalfChecked) {\n checkedProps.indeterminate = true;\n }\n if (node.selected) {\n checkedProps.checked = true;\n } else {\n checkedProps.checked = false;\n }\n return (\n <Fragment>\n <Checkbox className={`${prefixCls}-checked`} {...checkedProps} />\n {item.label && <span>{item.label}</span>}\n </Fragment>\n );\n }}\n {...props}\n />\n );\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"889\":\"vendors-prismjs\",\"6982\":\"vendors-standalone\"}[chunkId] || chunkId) + \".\" + {\"163\":\"48b6d67e\",\"207\":\"32dfc25c\",\"221\":\"6b5b2fe5\",\"486\":\"06f7cd25\",\"643\":\"7ec13dc3\",\"694\":\"0bb59e65\",\"745\":\"e92abd14\",\"747\":\"31d81e47\",\"748\":\"69f720a3\",\"875\":\"64279ea7\",\"889\":\"7634bcac\",\"922\":\"b1f148e3\",\"1016\":\"0ab3d95f\",\"1043\":\"b6314c0a\",\"1059\":\"90585733\",\"1061\":\"2de80fcd\",\"1127\":\"687bbdbb\",\"1151\":\"a61edfb2\",\"1169\":\"d986f6de\",\"1317\":\"6d4b9297\",\"1358\":\"e579baca\",\"1584\":\"558ef9a8\",\"1619\":\"c5b10dbd\",\"1756\":\"7336ff8d\",\"1820\":\"6430dc26\",\"1892\":\"13ea195f\",\"1971\":\"043ba73e\",\"2078\":\"b790ef29\",\"2156\":\"d32cfe3e\",\"2190\":\"5a20a062\",\"2230\":\"58b26a2d\",\"2316\":\"9dec5f16\",\"2367\":\"234da486\",\"2411\":\"66af5e4c\",\"2448\":\"dc510246\",\"2456\":\"013e4bdc\",\"2582\":\"7015fb11\",\"2595\":\"ceb152f2\",\"2679\":\"4d07c747\",\"2692\":\"c93feb86\",\"2737\":\"e8d3ead5\",\"2782\":\"4177c657\",\"2795\":\"85c20470\",\"2926\":\"f11fdc77\",\"3151\":\"59d27efa\",\"3257\":\"f8706edc\",\"3259\":\"80ff41ab\",\"3261\":\"8fb28323\",\"3313\":\"5999c1b9\",\"3450\":\"d09525f0\",\"3518\":\"00703058\",\"3769\":\"c50e5321\",\"3811\":\"84b766f9\",\"3812\":\"305ecc37\",\"3917\":\"ec9cb6d1\",\"3931\":\"710a8e71\",\"4010\":\"6db3b560\",\"4036\":\"7e4b2102\",\"4098\":\"8094389c\",\"4128\":\"61fc39cb\",\"4188\":\"1b69c498\",\"4396\":\"d552cfe3\",\"4405\":\"c204a3d7\",\"4503\":\"e501a88a\",\"4648\":\"b7920b60\",\"4781\":\"eb1374c6\",\"4877\":\"2a1eff17\",\"4948\":\"5e0e4e70\",\"5146\":\"6d483514\",\"5244\":\"3b905501\",\"5253\":\"2285ee49\",\"5308\":\"c2b3bc72\",\"5364\":\"125e27d2\",\"5393\":\"50e4a031\",\"5408\":\"3dc527f7\",\"5468\":\"9fec2b39\",\"5595\":\"6d07e12f\",\"5821\":\"c5b30ecc\",\"5865\":\"ca7ef99e\",\"5930\":\"ce74b909\",\"6019\":\"3ddd5b5f\",\"6036\":\"97de923f\",\"6510\":\"911f0fb7\",\"6536\":\"75066313\",\"6566\":\"75acebe9\",\"6659\":\"dc6ea406\",\"6715\":\"287b1279\",\"6730\":\"50a27f2a\",\"6869\":\"3a61102b\",\"6878\":\"c21d4848\",\"6982\":\"da956558\",\"7104\":\"47f5dfec\",\"7157\":\"a7f5348a\",\"7217\":\"25bb58ee\",\"7266\":\"3c7fc342\",\"7313\":\"9d68d48b\",\"7390\":\"3b656003\",\"7541\":\"6ec1ccbd\",\"7664\":\"e8d14553\",\"7761\":\"9173e2e1\",\"7763\":\"444dce16\",\"7834\":\"2f837df7\",\"7861\":\"f0341e75\",\"7875\":\"7ea581ed\",\"7884\":\"169e89d6\",\"8023\":\"e725f7dd\",\"8073\":\"7479be04\",\"8312\":\"6c0a85dd\",\"8398\":\"29808175\",\"8488\":\"73077e9f\",\"8566\":\"a4c19dba\",\"8586\":\"922fe070\",\"8709\":\"935c2f52\",\"8747\":\"04252521\",\"8768\":\"f2211377\",\"8849\":\"4c89f87b\",\"8915\":\"ff4b2001\",\"9057\":\"a47ec4de\",\"9121\":\"efc0e8ad\",\"9137\":\"2ff84339\",\"9147\":\"53ea3fbb\",\"9188\":\"7354157e\",\"9200\":\"2bc62823\",\"9253\":\"c8a3645c\",\"9260\":\"06d0bd83\",\"9384\":\"8e822042\",\"9429\":\"b142ace4\",\"9503\":\"cce5eb44\",\"9673\":\"87ea6a7b\",\"9763\":\"2df38ebb\",\"9776\":\"e9c3b31c\",\"9777\":\"90dbd095\",\"9820\":\"da3bde55\",\"9836\":\"26769e83\",\"9853\":\"1d38659a\",\"9900\":\"7ad9abbf\",\"9961\":\"867fe956\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"163\":\"e3a148be\",\"221\":\"e3a148be\",\"643\":\"e3a148be\",\"694\":\"e3a148be\",\"748\":\"e3a148be\",\"875\":\"e3a148be\",\"1059\":\"e3a148be\",\"1061\":\"e3a148be\",\"1169\":\"e3a148be\",\"1317\":\"e3a148be\",\"1584\":\"e3a148be\",\"1619\":\"e3a148be\",\"1820\":\"e3a148be\",\"2156\":\"e3a148be\",\"2190\":\"e3a148be\",\"2230\":\"e3a148be\",\"2316\":\"e3a148be\",\"2367\":\"e3a148be\",\"2411\":\"e3a148be\",\"2582\":\"e3a148be\",\"2595\":\"e3a148be\",\"2737\":\"e3a148be\",\"2782\":\"e3a148be\",\"3313\":\"e3a148be\",\"3518\":\"e3a148be\",\"3812\":\"e3a148be\",\"3917\":\"e3a148be\",\"4010\":\"e3a148be\",\"4098\":\"e3a148be\",\"4128\":\"e3a148be\",\"4188\":\"e3a148be\",\"4396\":\"dff7ced8\",\"4405\":\"e3a148be\",\"4503\":\"e3a148be\",\"4648\":\"e3a148be\",\"4877\":\"6e864cd4\",\"4948\":\"e3a148be\",\"5244\":\"e3a148be\",\"5308\":\"e3a148be\",\"5393\":\"e3a148be\",\"5408\":\"e3a148be\",\"5595\":\"e3a148be\",\"5865\":\"e3a148be\",\"6510\":\"e3a148be\",\"6715\":\"e3a148be\",\"6730\":\"e3a148be\",\"7104\":\"e3a148be\",\"7157\":\"e3a148be\",\"7390\":\"e3a148be\",\"7541\":\"e3a148be\",\"7761\":\"e3a148be\",\"7834\":\"e3a148be\",\"7875\":\"e3a148be\",\"7884\":\"e3a148be\",\"8023\":\"e3a148be\",\"8073\":\"e3a148be\",\"8566\":\"e3a148be\",\"9121\":\"e3a148be\",\"9200\":\"14abaeb3\",\"9253\":\"e3a148be\",\"9260\":\"e3a148be\",\"9384\":\"e3a148be\",\"9503\":\"e3a148be\",\"9673\":\"e3a148be\",\"9763\":\"e3a148be\",\"9776\":\"e3a148be\",\"9777\":\"e3a148be\",\"9853\":\"e3a148be\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"website:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"./\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"163\":1,\"221\":1,\"643\":1,\"694\":1,\"748\":1,\"875\":1,\"1059\":1,\"1061\":1,\"1169\":1,\"1317\":1,\"1584\":1,\"1619\":1,\"1820\":1,\"2156\":1,\"2190\":1,\"2230\":1,\"2316\":1,\"2367\":1,\"2411\":1,\"2582\":1,\"2595\":1,\"2737\":1,\"2782\":1,\"3313\":1,\"3518\":1,\"3812\":1,\"3917\":1,\"4010\":1,\"4098\":1,\"4128\":1,\"4188\":1,\"4396\":1,\"4405\":1,\"4503\":1,\"4648\":1,\"4877\":1,\"4948\":1,\"5244\":1,\"5308\":1,\"5393\":1,\"5408\":1,\"5595\":1,\"5865\":1,\"6510\":1,\"6715\":1,\"6730\":1,\"7104\":1,\"7157\":1,\"7390\":1,\"7541\":1,\"7761\":1,\"7834\":1,\"7875\":1,\"7884\":1,\"8023\":1,\"8073\":1,\"8566\":1,\"9121\":1,\"9200\":1,\"9253\":1,\"9260\":1,\"9384\":1,\"9503\":1,\"9673\":1,\"9763\":1,\"9776\":1,\"9777\":1,\"9853\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebsite\"] = self[\"webpackChunkwebsite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [9896,516], function() { return __webpack_require__(52744); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["dark","viewBox","width","height","version","stroke","strokeWidth","fill","fillRule","d","light","NoMatch","to","De","tip","indicator","type","spin","style","verticalAlign","Options","props","useMemo","value","onChange","e","target","isV1","split","window","location","href","currentVersion","pkg","versionList","data","firstVersion","unshift","className","styles","defaultValue","map","idx","home","component","github","issue","gitee","plugin","SiderMenu","useLocation","menu","find","item","RegExp","path","test","pathname","children","nav","icon","name","divider","replace","initialState","layout","reducer","state","action","ThemeContext","React","dispatch","rx","x","y","fillOpacity","menutop","china","id","transform","xlinkHref","Nav","useContext","Fragment","filter","Boolean","join","trim","logo","Object","keys","includes","usePortal","placement","content","whiteSpace","activeStyle","color","isActive","undefined","rel","onClick","Header","Layout","Sider","Content","Components","siderMenu","useState","affix","setAffix","display","alignItems","offsetTop","affixed","overflow","padding","zIndex","position","left","top","bottom","paddingLeft","lineHeight","flexDirection","justifyContent","backgroundColor","Loadable","Component","Suspense","fallback","Home","lazy","Extensions","GuideQuickStart","GuideImport","GuideCreateReactApp","GuideKKT","GuideDocs","GuideVscode","GuideRecommendation","Overview","Colors","Alert","AutoLink","ResetCss","Avatar","Affix","Calendar","Checkbox","CopyToClipboard","Collapse","Card","Descriptions","Loader","Icon","Divider","Drawer","DatePicker","DateInput","Dropdown","Badge","Progress","Pagination","PinCode","Input","Button","Radio","Select","SearchSelect","Split","Switch","Slider","Grid","Form","FileInput","Breadcrumb","List","Notify","Tree","TreeChecked","Tag","Tabs","Tooltip","Table","TimePicker","Rate","Overlay","BackTop","Portal","OverlayTrigger","Popover","Message","MonthPicker","Textarea","Modal","Formatter","Steps","Menu","routes","element","index","App","useRoutes","Provider","useReducer","ReactDOM","document","getElementById","getScroll","method","isWindow","ret","noop","getOffset","elemRect","targetRect","getTargetRect","scrollTop","scrollLeft","docElem","clientTop","clientLeft","getDefaultTarget","constructor","placeholderStyle","affixStyle","box","events","eventHandlers","timeout","node","componentDidMount","this","componentWillUnmount","clearTimeout","updatePosition","offsetBottom","elemSize","clientHeight","offsetMode","elemOffset","setAffixStyle","setPlaceholderStyle","setTargetEventListeners","eventName","clearEventListeners","handler","render","cls","prefixCls","ref","defaultProps","canUseDOM","container","defaultNode","useRef","containerRef","useEffect","isOpen","maskClosable","backdropProps","portalProps","hasBackdrop","unmountOnExit","transitionName","onOpening","onOpened","onClosing","onClosed","onClose","dialogProps","overlay","setVisible","overlayWillClose","setIsOpen","decoratedChild","cloneElement","tabIndex","TransitionGroupComp","classNames","in","onEntering","onEntered","onExiting","onExited","status","onMouseDown","visible","tagName","TagName","svg","svgPaths","others","propps","disabled","active","loading","block","basic","htmlType","size","child","useButton","autoFocus","confirmText","maxWidth","minWidth","isCloseButtonShown","onCancel","onConfirm","bodyStyle","setLoading","title","handleCancel","handleConfirm","cancelText","delimiter","text","match","word","url","key","shape","onError","src","setIsImgExist","isImgExist","alt","evn","getScrollTop","fixed","speed","showBelow","clickable","topShowBelow","percent","setPercent","Math","getScrollPercent","setCurrent","current","step","start","timer","setInterval","clearInterval","scrollToAnimate","scrollToTop","max","dot","processing","supProps","warpperProps","count","separator","isElm","otherProps","vertical","context","isDOM","HTMLElement","getBordersSize","sideA","axis","sideB","parseFloat","isIE11","isBrowser","isIE10","navigator","isIE","getSize","body","html","parseInt","computedStyle","getBoundingClientRect","rect","offsets","result","sizes","getComputedStyle","getWindowSizes","horizScrollbar","vertScrollbar","css","property","getStyleComputedProperty","right","getOuterSizes","getStyle","options","trigger","popup","autoAdjustOverflow","sty","triggerDom","winSizeHeight","winSizeWidth","normalizeDelay","delay","show","hide","isOutside","isClickOutside","onVisibleChange","onEnter","triggerRef","popupRef","timeoutRef","hoverStateRef","useImperativeHandle","overlayProps","triggerProps","styls","overlayStyl","setOverlayStyl","handleClickOutside","popNode","childNode","contains","clearTimeouts","handle","related","handleShow","handleMouseOverOut","handleHide","visibleArrow","preIcon","addonAfter","inputRef","addonRef","input","computedInputPadding","autoComplete","TimePickerPanel","onSelected","disableds","num","Date","Array","getDisabledItem","hideDisabled","liProps","currentDate","handleClick","currentCount","date","tag","Number","getItemInstance","TimePickerTime","precision","format","allowClear","setDate","timeProps","disabledHours","disabledMinutes","disabledSeconds","inputValue","formatter","datePickerTime","_props","dataStr","placeholder","readOnly","classnames","obj","keyName","DayRect","onSelectDay","end","col","prev","today","selected","next","isNaN","isValidDate","year","month","week","lastDay","day","cellDate","selectedDate","divProps","cellMonth","disabledDate","renderDay","WEEKTITLE","WEEKDAY","DatePickerDay","weekday","weekTitle","weekdayLabel","panelDate","row","curDate","DatePickerMonth","selectedMonth","monthLabel","DatePickerYear","panelNum","selectedYear","activeYear","setActiveYear","handleSelected","arg","DatePickerCaption","todayButton","renderMonth","MONTH_LABEL","onPanelChange","showTime","setSelectDate","setSelectPanelDate","curType","setType","selectDate","selectPanelDate","onSelectedDate","RenderDay","dayData","arr","label","titleFormat","todayLabel","setPanelDate","onPaging","titleLable","btngroup","handlePaging","propsNext","bordered","noHover","extra","footer","RadioAbstract","checked","prChecked","setPrevChecked","setChecked","CheckboxGroup","valueRef","childs","include","val","InternalCheckbox","indeterminate","toArray","activeKey","currentActiveKey","InternalCollapse","accordion","showArrow","propsActiveKey","setActiveKey","String","childProps","onItemClick","iconRender","header","transitionDuration","instance","getInstance","copy","isCopy","inputProps","handleChange","labelProps","colon","colSpan","span","Row","column","isHead","isLastCell","handleCell","InternalDescriptions","rows","columns","itemNode","leftSpans","generateChildrenRows","dashed","align","bodyCls","bodyProps","styl","footerView","iconView","titleView","Col","gutter","justify","gutterStyl","paddingRight","hasError","labelCls","labelClassName","htmlFor","help","FormItem","afterSubmit","initData","initial","submitting","errors","fields","cb","currentValue","newFormState","initialValue","formUnits","error","childField","controlField","labelFor","env","list","nextState","validator","setData","promise","onSubmitError","onSuccess","response","reset","handleReset","afterSubmitPromise","onSubmit","passesValidators","other","canSubmit","hasCurrentValue","handleSubmit","resetForm","Item","resetProps","InternalList","striped","renderItem","dataSource","items","childrenList","classString","fullscreen","indicatorView","cx","cy","r","strokeMiterlimit","tipsView","bgColor","disabledProps","onMouseEnter","onMouseLeave","MenuItem","multiline","isSubMenuItem","anchorCls","tagComp","IconView","collapse","SubMenu","inlineIndent","overlayTriggerProps","menuProps","isCheck","checkedMenuItem","theme","inlineCollapsed","showIcon","description","rounded","Child","renderIcon","pickerCaptionProps","curPanelDate","open","captionType","setFullYear","handleSelectedDate","paging","notifys","create","setTimeout","closed","alertProps","Container","notifysDom","NotificationCreate","div","duration","willUnmount","nprops","notifysChild","forEach","alignment","total","pageSize","currentNumber","initPageSoure","itemCount","goto","InternalPinCode","onBlur","onFocus","setPlacehold","values","inpProps","min","inputMode","setValues","onKeyDown","handleKeyDown","handleBlur","handleFocus","IconProgress","relativeStrokeWidth","elm","_strokeWidth","radius","perimeter","showText","progressStatus","percentView","progressInfo","fontSize","bind","strokeLinecap","Circle","percentStyle","Line","defValue","character","onHoverChange","isLeft","setPrevValue","setValue","setHoverCount","halfon","hoverCount","activeCls","getValue","onMouseMove","option","onSelect","divRef","setSelectIconType","selectIconType","defaultMenuItem","menuItem","setSelectedValue","setSelectedLabel","marginTop","setInnerIsOpen","minHeight","maxHeight","overflowY","selectedValue","handleSelectChange","handleItemClick","onMouseOver","renderSelectIcon","showSearch","onSearch","InternalSteps","progressDot","direction","warpRef","filteredChildren","c","lastIndex","domNode","setLastStepOffsetWidth","calcStepOffsetWidth","stepNumber","lastStepOffsetWidth","stepItemStyle","stepItemDotStyle","iconNode","Dots","markRender","stepValue","marks","dots","progress","tooltip","bar","slider","indexBar","startX","curValue","barWidth","barOffsetLeft","move","setArrValue","arrValue","equal","numFloor","vals","valueToWidth","getWidthToValue","barStyl","markOffset","newData","val1","val2","half","getRangeValue","leftValue","rightValue","getValueToPercent","renderMarks","lleftPostion","onHandleBtnDown","getLabelValue","stepWidth","i","stepArray","mark","onCellHead","tds","ellipsis","titleNode","colNum","thProps","rowNum","getColspanNum","getRowspanNum","getLevelItems","levelTop","getAllColumnsKeys","onCell","tableLayout","objs","trData","onTabClick","activeItem","setSlideStyle","offsetLeft","calcSlideStyle","closeBtn","closable","Label","TreeNode","onItemSelected","parent","openKeys","onExit","useCallback","level","selectedKeys","noChild","itemIsOpen","iconItem","childKeys","getChildKeys","checkedKeys","isHalfChecked","iconAnimation","renderTitle","isSelected","isContained","a","b","aStr","len","getParentKeys","getParentSelectKeys","defaultExpandAll","showLine","checkStrictly","multiple","onExpand","arrOpenKeys","setCurOpenKeys","currentKeys","v","expanded","selKeys","findKey","Set","setCurSelectedKeys","checkedProps","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","length","fulfilled","j","every","splice","n","getter","__esModule","definition","o","defineProperty","enumerable","get","f","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","p","loadStylesheet","resolve","reject","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","installedCssChunks","miniCss","then","installedChunks","installedChunkData","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}