@kne-components/components-core 0.3.13 → 0.3.14

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 (143) hide show
  1. package/build/asset-manifest.json +96 -96
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/css/1045.4ba18d15.chunk.css +2 -0
  6. package/build/static/css/{1045.c6bd3243.chunk.css.map → 1045.4ba18d15.chunk.css.map} +1 -1
  7. package/build/static/css/1153.9f3c1400.chunk.css +2 -0
  8. package/build/static/css/1153.9f3c1400.chunk.css.map +1 -0
  9. package/build/static/css/1554.1892016e.chunk.css +2 -0
  10. package/build/static/css/{1554.1b7be9d0.chunk.css.map → 1554.1892016e.chunk.css.map} +1 -1
  11. package/build/static/css/2716.71ab483f.chunk.css +2 -0
  12. package/build/static/css/{2716.f313ed2d.chunk.css.map → 2716.71ab483f.chunk.css.map} +1 -1
  13. package/build/static/css/4200.e2af505b.chunk.css +2 -0
  14. package/build/static/css/{4200.b1bd7eb0.chunk.css.map → 4200.e2af505b.chunk.css.map} +1 -1
  15. package/build/static/css/4666.2519a4a8.chunk.css +2 -0
  16. package/build/static/css/{4666.5a1f76e7.chunk.css.map → 4666.2519a4a8.chunk.css.map} +1 -1
  17. package/build/static/css/5371.5c97b34a.chunk.css +2 -0
  18. package/build/static/css/{5371.1faa1ed8.chunk.css.map → 5371.5c97b34a.chunk.css.map} +1 -1
  19. package/build/static/css/5422.c8abae85.chunk.css +2 -0
  20. package/build/static/css/{5422.20f46aa5.chunk.css.map → 5422.c8abae85.chunk.css.map} +1 -1
  21. package/build/static/css/5939.3bbb3c10.chunk.css +2 -0
  22. package/build/static/css/{5939.b4b19a1f.chunk.css.map → 5939.3bbb3c10.chunk.css.map} +1 -1
  23. package/build/static/css/{624.cedffe44.chunk.css → 624.512de9f8.chunk.css} +2 -2
  24. package/build/static/css/{624.cedffe44.chunk.css.map → 624.512de9f8.chunk.css.map} +1 -1
  25. package/build/static/css/6401.13c40d8a.chunk.css +2 -0
  26. package/build/static/css/{6401.604653d2.chunk.css.map → 6401.13c40d8a.chunk.css.map} +1 -1
  27. package/build/static/css/7227.3de66811.chunk.css +2 -0
  28. package/build/static/css/{7227.78a617ee.chunk.css.map → 7227.3de66811.chunk.css.map} +1 -1
  29. package/build/static/css/7253.8688256c.chunk.css +2 -0
  30. package/build/static/css/{7253.2c13fe76.chunk.css.map → 7253.8688256c.chunk.css.map} +1 -1
  31. package/build/static/css/7277.46f71fc3.chunk.css +2 -0
  32. package/build/static/css/7277.46f71fc3.chunk.css.map +1 -0
  33. package/build/static/css/7334.9f8e4bb9.chunk.css +2 -0
  34. package/build/static/css/{7334.1633b518.chunk.css.map → 7334.9f8e4bb9.chunk.css.map} +1 -1
  35. package/build/static/css/7774.878d8f6b.chunk.css +12 -0
  36. package/build/static/css/{7774.1f384447.chunk.css.map → 7774.878d8f6b.chunk.css.map} +1 -1
  37. package/build/static/css/7866.1463cca6.chunk.css +2 -0
  38. package/build/static/css/{7866.ecad3e18.chunk.css.map → 7866.1463cca6.chunk.css.map} +1 -1
  39. package/build/static/css/8278.150a8e4f.chunk.css +2 -0
  40. package/build/static/css/{8278.92529d91.chunk.css.map → 8278.150a8e4f.chunk.css.map} +1 -1
  41. package/build/static/css/{8503.a67ef1d8.chunk.css → 8503.45062953.chunk.css} +2 -2
  42. package/build/static/css/{8503.a67ef1d8.chunk.css.map → 8503.45062953.chunk.css.map} +1 -1
  43. package/build/static/css/9119.10bae1be.chunk.css +2 -0
  44. package/build/static/css/9119.10bae1be.chunk.css.map +1 -0
  45. package/build/static/css/9791.83a39fb2.chunk.css +2 -0
  46. package/build/static/css/9791.83a39fb2.chunk.css.map +1 -0
  47. package/build/static/js/{1045.99939243.chunk.js → 1045.acb9b28f.chunk.js} +2 -2
  48. package/build/static/js/{1045.99939243.chunk.js.map → 1045.acb9b28f.chunk.js.map} +1 -1
  49. package/build/static/js/{1153.d7d0e18a.chunk.js → 1153.68c65831.chunk.js} +3 -3
  50. package/build/static/js/{1153.d7d0e18a.chunk.js.map → 1153.68c65831.chunk.js.map} +1 -1
  51. package/build/static/js/1554.67fe3d6c.chunk.js +3 -0
  52. package/build/static/js/{1554.792a2f56.chunk.js.map → 1554.67fe3d6c.chunk.js.map} +1 -1
  53. package/build/static/js/{2097.1472525e.chunk.js → 2097.98d391b2.chunk.js} +2 -2
  54. package/build/static/js/2097.98d391b2.chunk.js.map +1 -0
  55. package/build/static/js/{2716.fd16d36c.chunk.js → 2716.d97b36d2.chunk.js} +3 -3
  56. package/build/static/js/{2716.fd16d36c.chunk.js.map → 2716.d97b36d2.chunk.js.map} +1 -1
  57. package/build/static/js/3403.a9d2fe99.chunk.js +2 -0
  58. package/build/static/js/3403.a9d2fe99.chunk.js.map +1 -0
  59. package/build/static/js/{3856.0283e07b.chunk.js → 3856.f6da9155.chunk.js} +2 -2
  60. package/build/static/js/{3856.0283e07b.chunk.js.map → 3856.f6da9155.chunk.js.map} +1 -1
  61. package/build/static/js/{4200.9b2d88d0.chunk.js → 4200.b04ad5b0.chunk.js} +2 -2
  62. package/build/static/js/{4200.9b2d88d0.chunk.js.map → 4200.b04ad5b0.chunk.js.map} +1 -1
  63. package/build/static/js/4474.a1bf3c80.chunk.js +2 -0
  64. package/build/static/js/4474.a1bf3c80.chunk.js.map +1 -0
  65. package/build/static/js/{4666.ca69fc56.chunk.js → 4666.6baf114e.chunk.js} +3 -3
  66. package/build/static/js/{4666.ca69fc56.chunk.js.map → 4666.6baf114e.chunk.js.map} +1 -1
  67. package/build/static/js/5371.8d68fd60.chunk.js +2 -0
  68. package/build/static/js/{5371.6d06279c.chunk.js.map → 5371.8d68fd60.chunk.js.map} +1 -1
  69. package/build/static/js/5422.f70d533f.chunk.js +2 -0
  70. package/build/static/js/{5422.57c061c7.chunk.js.map → 5422.f70d533f.chunk.js.map} +1 -1
  71. package/build/static/js/{5939.a2afce40.chunk.js → 5939.08b92f71.chunk.js} +2 -2
  72. package/build/static/js/5939.08b92f71.chunk.js.map +1 -0
  73. package/build/static/js/{624.f0edb05d.chunk.js → 624.9e2c8cd3.chunk.js} +2 -2
  74. package/build/static/js/{624.f0edb05d.chunk.js.map → 624.9e2c8cd3.chunk.js.map} +1 -1
  75. package/build/static/js/7227.2f8b0d5e.chunk.js +3 -0
  76. package/build/static/js/{7227.70d866e6.chunk.js.map → 7227.2f8b0d5e.chunk.js.map} +1 -1
  77. package/build/static/js/{7253.ea658fae.chunk.js → 7253.91370e04.chunk.js} +2 -2
  78. package/build/static/js/{7253.ea658fae.chunk.js.map → 7253.91370e04.chunk.js.map} +1 -1
  79. package/build/static/js/7277.81de48b9.chunk.js +2 -0
  80. package/build/static/js/{7277.c5f1cf48.chunk.js.map → 7277.81de48b9.chunk.js.map} +1 -1
  81. package/build/static/js/{7334.5e94b567.chunk.js → 7334.63346a74.chunk.js} +2 -2
  82. package/build/static/js/{7334.5e94b567.chunk.js.map → 7334.63346a74.chunk.js.map} +1 -1
  83. package/build/static/js/{7774.6d972fa6.chunk.js → 7774.e4b3f898.chunk.js} +2 -2
  84. package/build/static/js/7774.e4b3f898.chunk.js.map +1 -0
  85. package/build/static/js/{7866.8aa74dee.chunk.js → 7866.096632d2.chunk.js} +2 -2
  86. package/build/static/js/{7866.8aa74dee.chunk.js.map → 7866.096632d2.chunk.js.map} +1 -1
  87. package/build/static/js/{8278.219f0ba4.chunk.js → 8278.75a8de72.chunk.js} +2 -2
  88. package/build/static/js/8278.75a8de72.chunk.js.map +1 -0
  89. package/build/static/js/{8481.757cd524.chunk.js → 8481.f0211b29.chunk.js} +2 -2
  90. package/build/static/js/8481.f0211b29.chunk.js.map +1 -0
  91. package/build/static/js/8503.29c16e8c.chunk.js +2 -0
  92. package/build/static/js/{8503.3e8d80bd.chunk.js.map → 8503.29c16e8c.chunk.js.map} +1 -1
  93. package/build/static/js/9119.76ee1321.chunk.js +2 -0
  94. package/build/static/js/{9119.027b7391.chunk.js.map → 9119.76ee1321.chunk.js.map} +1 -1
  95. package/build/static/js/{9791.5970f64a.chunk.js → 9791.4e9c3cc5.chunk.js} +2 -2
  96. package/build/static/js/{9791.5970f64a.chunk.js.map → 9791.4e9c3cc5.chunk.js.map} +1 -1
  97. package/build/static/js/{main.2cf54710.js → main.d5e5ab3a.js} +2 -2
  98. package/build/static/js/{main.2cf54710.js.map → main.d5e5ab3a.js.map} +1 -1
  99. package/package.json +2 -2
  100. package/build/static/css/1045.c6bd3243.chunk.css +0 -2
  101. package/build/static/css/1153.ffaa9a9b.chunk.css +0 -2
  102. package/build/static/css/1153.ffaa9a9b.chunk.css.map +0 -1
  103. package/build/static/css/1554.1b7be9d0.chunk.css +0 -2
  104. package/build/static/css/2716.f313ed2d.chunk.css +0 -2
  105. package/build/static/css/4200.b1bd7eb0.chunk.css +0 -2
  106. package/build/static/css/4666.5a1f76e7.chunk.css +0 -2
  107. package/build/static/css/5371.1faa1ed8.chunk.css +0 -2
  108. package/build/static/css/5422.20f46aa5.chunk.css +0 -2
  109. package/build/static/css/5939.b4b19a1f.chunk.css +0 -2
  110. package/build/static/css/6401.604653d2.chunk.css +0 -2
  111. package/build/static/css/7227.78a617ee.chunk.css +0 -2
  112. package/build/static/css/7253.2c13fe76.chunk.css +0 -2
  113. package/build/static/css/7277.f55356a0.chunk.css +0 -2
  114. package/build/static/css/7277.f55356a0.chunk.css.map +0 -1
  115. package/build/static/css/7334.1633b518.chunk.css +0 -2
  116. package/build/static/css/7774.1f384447.chunk.css +0 -12
  117. package/build/static/css/7866.ecad3e18.chunk.css +0 -2
  118. package/build/static/css/8278.92529d91.chunk.css +0 -2
  119. package/build/static/css/9119.36b8ce07.chunk.css +0 -2
  120. package/build/static/css/9119.36b8ce07.chunk.css.map +0 -1
  121. package/build/static/css/9791.abc5cc6b.chunk.css +0 -2
  122. package/build/static/css/9791.abc5cc6b.chunk.css.map +0 -1
  123. package/build/static/js/1554.792a2f56.chunk.js +0 -3
  124. package/build/static/js/2097.1472525e.chunk.js.map +0 -1
  125. package/build/static/js/3403.fca72afd.chunk.js +0 -2
  126. package/build/static/js/3403.fca72afd.chunk.js.map +0 -1
  127. package/build/static/js/4474.cc28ffbc.chunk.js +0 -2
  128. package/build/static/js/4474.cc28ffbc.chunk.js.map +0 -1
  129. package/build/static/js/5371.6d06279c.chunk.js +0 -2
  130. package/build/static/js/5422.57c061c7.chunk.js +0 -2
  131. package/build/static/js/5939.a2afce40.chunk.js.map +0 -1
  132. package/build/static/js/7227.70d866e6.chunk.js +0 -3
  133. package/build/static/js/7277.c5f1cf48.chunk.js +0 -2
  134. package/build/static/js/7774.6d972fa6.chunk.js.map +0 -1
  135. package/build/static/js/8278.219f0ba4.chunk.js.map +0 -1
  136. package/build/static/js/8481.757cd524.chunk.js.map +0 -1
  137. package/build/static/js/8503.3e8d80bd.chunk.js +0 -2
  138. package/build/static/js/9119.027b7391.chunk.js +0 -2
  139. /package/build/static/js/{1153.d7d0e18a.chunk.js.LICENSE.txt → 1153.68c65831.chunk.js.LICENSE.txt} +0 -0
  140. /package/build/static/js/{1554.792a2f56.chunk.js.LICENSE.txt → 1554.67fe3d6c.chunk.js.LICENSE.txt} +0 -0
  141. /package/build/static/js/{2716.fd16d36c.chunk.js.LICENSE.txt → 2716.d97b36d2.chunk.js.LICENSE.txt} +0 -0
  142. /package/build/static/js/{4666.ca69fc56.chunk.js.LICENSE.txt → 4666.6baf114e.chunk.js.LICENSE.txt} +0 -0
  143. /package/build/static/js/{7227.70d866e6.chunk.js.LICENSE.txt → 7227.2f8b0d5e.chunk.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/9791.5970f64a.chunk.js","mappings":"4MACA,SAAgB,MAAQ,4BAA4B,YAAY,gCAAgC,YAAY,gCAAgC,kBAAkB,sCAAsC,cAAc,kCAAkC,iBAAiB,qCAAqC,cAAc,kCAAkC,QAAU,8BAA8B,wBAAwB,4CAA4C,qBAAqB,yCAAyC,kBAAkB,sCAAsC,0BAA0B,8CAA8C,gCAAgC,oDAAoD,mCAAmC,uDAAuD,iCAAiC,qDAAqD,gCAAgC,oDAAoD,+BAA+B,mDAAmD,+BAA+B,mDAAmD,UAAU,8BAA8B,oCAAoC,wDAAwD,gBAAgB,oCAAoC,iBAAiB,qCAAqC,0BAA0B,8CAA8C,WAAW,+BAA+B,mBAAmB,uCAAuC,YAAY,gCAAgC,kBAAkB,uC,6ECAxlD,SAAgB,SAAW,+BAA+B,iBAAiB,qCAAqC,YAAY,iC,eCK5H,MAAMA,EAAYC,IAAmD,IAAlD,SAAEC,EAAQ,aAAEC,KAAiBC,GAAeH,EAC7D,MAAMI,GAAWC,EAAAA,EAAAA,QAAO,IACjBC,EAAQC,IAAaC,EAAAA,EAAAA,WAAS,GAC/BC,GAAYJ,EAAAA,EAAAA,QAAOC,GACzBG,EAAUC,QAAUJ,EACpB,MAAMK,GAAcN,EAAAA,EAAAA,QAAOJ,GAC3BU,EAAYD,QAAUT,EACtB,MAAMW,GAAWP,EAAAA,EAAAA,QAAO,GAmBxB,OAlBAO,EAASF,QAAUP,EAAcU,MAAQV,EAAcW,YAEvDC,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAeC,IACnBR,EAAUC,SACRC,EAAYD,QAAQE,EAASF,SAAWO,EAAEC,QAAUd,EAASM,UAC/DN,EAASM,QAAUO,EAAEC,OAAO,EAExBC,EAAYA,KAChBZ,GAAU,EAAM,EAIlB,OAFAa,SAASC,iBAAiB,YAAaL,GAAa,GACpDI,SAASC,iBAAiB,UAAWF,GAAW,GACzC,KACLC,SAASE,oBAAoB,YAAaN,GAAa,GACvDI,SAASE,oBAAoB,UAAWH,GAAW,EAAK,CACzD,GACA,KACII,EAAAA,EAAAA,cACLpB,EAAcqB,aACZC,EAAAA,EAAAA,KAAA,OACEC,UAAWC,EAAgB,SAC3BA,MAAO,CACLC,KAAMzB,EAAcyB,KACpBf,MAAOV,EAAcU,MACrBgB,OAAQ,IACRC,UAEFL,EAAAA,EAAAA,KAAA,OACEC,UAAWK,IAAWJ,EAAM,kBAAmB,CAC7C,CAACA,EAAM,cAAerB,IAExBqB,MAAO,CACLd,MAAOV,EAAcW,WACrBc,KAAMzB,EAAc6B,WAEtBC,YAAchB,IACZA,EAAEiB,iBACF9B,EAASM,QAAUO,EAAEC,QACrBX,GAAU,EAAK,MAInB,KACJL,KAAkBkB,SAASe,KAC5B,EAGGC,EAAWC,IAAyD,IAAxD,UAAEX,EAAS,SAAEY,EAAQ,gBAAEC,EAAe,SAAET,GAAUO,EAClE,MAAOlC,EAAeqC,IAAoBhC,EAAAA,EAAAA,UAAS,CACjDoB,KAAM,EACNf,MAAO,EACPmB,UAAW,EACXlB,WAAY,EACZe,OAAQ,EACRL,aAAa,IAETiB,GAAMpC,EAAAA,EAAAA,QAAO,MACbqC,EAAcC,KAAe,IAC1BF,EAAI/B,SAAW6B,EAAgBE,EAAI/B,WAEtCR,GAAeG,EAAAA,EAAAA,UA8DrB,OA5DAH,EAAaQ,QACS,kBAAb4B,GAA0D,oBAA1BA,EAASpC,aAC5CoC,EAASpC,aACT,IAAM,MACZa,EAAAA,EAAAA,YAAU,KACR,MAAM6B,EAAY1C,EAAaQ,WAAaU,SAASyB,gBACrD,IAAIC,EACJ,MAAMC,EAAWA,KACf,IAAKD,EACH,OAEF,MAAM,KAAElB,EAAI,MAAEf,EAAK,IAAEmC,EAAG,OAAEnB,GAAWiB,EAASG,wBACxCC,EACJJ,EAASK,aAAeL,EAASM,cAAgB,GAC7CtC,EACHD,EAAQiC,EAASO,YAAeP,EAASQ,YAAc,EACpDtB,EACHc,EAASS,WAAaT,EAASO,YAAeP,EAASQ,YAAc,EAClEE,EAAgBZ,EAAUK,wBAEhCT,GAAkBiB,GACTC,OAAOC,OAAO,CAAC,EAAGF,EAAO,CAC9B7B,OACAf,QACAmB,YACAlB,aACAe,OAAQqB,EACR1B,YACEsB,EAASQ,YAAcR,EAASO,YAAc,IAC7CT,IAAcxB,SAASyB,gBACpBG,EAAMnB,EAASe,EAAUO,aAAe,GACxCH,EAAMJ,EAAUO,aAChBH,EAAMQ,EAAcR,IAAMQ,EAAc3B,QACxCmB,EAAMnB,EAAS2B,EAAcR,IAAMQ,EAAc3B,WAEzD,EAEE+B,EAAiB,IAAIC,eAAed,GAkB1C,OAjB0B,IAAIc,gBAAe,KAC3Cf,EAAWJ,IACNI,IAGLc,EAAeE,aACff,IACAgB,MAAMC,KAAKlB,EAAShB,UAAUmC,SAASC,IACrCN,EAAeO,QAAQD,EAAK,IAE9BpB,EAASzB,iBAAiB,SAAU0B,GAAS,IAG7BoB,QAAQ1B,EAAI/B,SAE9B0D,OAAO/C,iBAAiB,SAAU0B,GAClCH,EAAUvB,iBAAiB,SAAU0B,GAC9B,KACLqB,OAAO9C,oBAAoB,SAAUyB,GACrCH,EAAUtB,oBAAoB,SAAUyB,EAAS,CAClD,GACA,CAACL,IACCJ,GAIH+B,EAAAA,EAAAA,MAAA,OACE3C,UAAWK,IAAWJ,EAAM,kBAAmBD,GAC/Ce,IAAKA,EACLd,MAAO,CACL,wBAAsC,OAAbxB,QAAa,IAAbA,GAAAA,EAAeqB,YAAc,OAAS,OAC/DM,SAAA,CAEDA,GACDL,EAAAA,EAAAA,KAAC1B,EAAS,IACJI,EACJD,aAAcA,EAAaQ,QAC3BT,SAAWqE,IACQ5B,IACRa,YAAce,CAAC,OAhBvBxC,CAmBD,EAIVM,EAASmC,aAAe,CACtBjC,UAAU,EACVC,gBAAiBA,IAAMnB,SAASoD,cAAc,+BAGhD,U,0BCrKA,SAAgB,WAAW,iCAAiC,IAAM,4BAA4B,OAAS,+BAA+B,MAAQ,8BAA8B,QAAU,gCAAgC,QAAU,gCAAgC,QAAU,iC,iECM1Q,MAAMC,EAAczE,IAAsC,IAArC,UAAE0B,EAAS,KAAEgD,EAAO,GAAE,MAAE7D,GAAOb,EAClD,OACEyB,EAAAA,EAAAA,KAAA,OACEC,UAAWK,IAAWL,EAAWC,EAAM,mBACvCA,MAAO,CACL,cAAed,EAAQ,MACvBiB,UAEFL,EAAAA,EAAAA,KAACkD,EAAAA,QAAW,CACVD,KAAMA,EACHE,QAAQV,KAAc,OAAJA,QAAI,IAAJA,GAAAA,EAAMW,UACxBC,KAAIzC,IAAA,IAAC,UAAEX,KAAc+B,GAAOpB,EAAA,OAC3BqB,OAAOC,OAAO,CAAC,EAAGF,EAAO,CACvB/B,UAAWK,IACTL,EACA,iBACAC,EAAM,gBAERoD,KAAM,QACN,IAENC,MACEvD,EAAAA,EAAAA,KAACwD,EAAAA,OAAM,CACLC,MAAMzD,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,kBACjBrD,UAAU,iBACVqD,KAAK,YAIP,EAkBV,EAdgBK,IAAyB,IAAxB,KAAEV,KAASjB,GAAO2B,EACjC,MAAoB,oBAATV,GAEPjD,EAAAA,EAAAA,KAAC4D,IAAK,CACJC,OAAQZ,EACRa,OAAQC,IAAe,IAAd,KAAEC,GAAMD,EACf,OAAO/D,EAAAA,EAAAA,KAACgD,EAAW,IAAKhB,EAAOiB,KAAMe,GAAQ,KAK9ChE,EAAAA,EAAAA,KAACgD,EAAW,IAAKhB,EAAOiB,KAAMA,GAAQ,E,qCChD/C,MAsBA,EAtBiB1E,IAA6B,IAA5B,SAAE8B,EAAQ,SAAE4D,GAAU1F,EACtC,OACEyB,EAAAA,EAAAA,KAACkE,EAAAA,WAAWC,KAAI,CACdF,SACEA,GACAhC,OAAOC,OACL,CAAC,EACD,CACEkC,QAAS,CACPC,iBAAkBnE,EAAe,QACjCG,SAAUA,IAGM,kBAAb4D,EAAwBA,EAAW,CAAC,GAE9C5D,SAEAA,GACe,ECjBhBiE,EAAU/F,IAYT,IAZU,KACf+E,EAAI,KACJb,EAAI,QACJ8B,EAAO,YACPC,EAAW,MACXC,EAAK,QACLC,EAAO,SACPrE,EAAQ,MACRjB,EAAK,MACLc,EAAK,QACLyE,EAAO,SACPC,GACDrG,EACC,MAAOsG,EAASC,IAAc/F,EAAAA,EAAAA,WAAS,GACvC,OACEiB,EAAAA,EAAAA,KAAA,OACEE,MAAO+B,OAAOC,OAAO,CAAC,EAAGhC,EAAO,CAAE,cAAed,EAAQ,OACzDa,UAAWK,IACTyE,EAAa,YACbA,EAAazB,GACbiB,EACI,KACA,CACE,CAACQ,EAAoB,OAAIN,EACzB,CAACM,EAAsB,SAAIL,EAC3B,CAACK,EAAsB,SAAIF,IAGnCF,QAAUnF,IACe,oBAAZmF,GAA2BJ,GAAYM,IAChDC,GAAW,GACXE,QAAQC,QACNN,EAAQ,CAAElC,OAAMyC,QAASN,EAAUO,MAAO3F,KAC1C4F,SAAQ,KACRN,GAAW,EAAM,IAErB,EACAzE,SAEDkE,EACGC,EAAY,CAAElB,OAAMb,OAAMgC,QAAOC,UAASrE,aAC1CA,GACA,EAIViE,EAAQxB,aAAe,CACrB0B,YAAaA,IAAM,KAGrB,UC3CA,EAXwBa,CAACC,EAAOC,IACX,oBAAZA,EACHA,EAAQD,GACPhD,MAAMkD,QAAQF,IAA2B,IAAjBA,EAAMG,QAC9BH,GACkB,kBAAVA,GACyB,IAAhCrD,OAAOyD,OAAOJ,GAAOG,QACb,KAAVH,QACU,IAAVA,GACU,OAAVA,ECHAK,GAAcC,EAAAA,EAAAA,iBAAgB,CAClCf,QAAS,MADSe,EAEjBrH,IAAyB,IAAxB,KAAEyF,EAAI,SAAE3D,GAAU9B,EACpB,OAAO8B,EAAS2D,EAAK,IA+CvB,EA5C0BpD,IASnB,IAToB,IACzBiF,EAAG,OACHC,EAAM,SACNC,EAAQ,SACR9B,EAAQ,MACRQ,EAAK,QACLC,EAAO,YACPF,EAAW,QACXD,GACD3D,EACC,MAAMoF,EAAY/D,OAAOC,OAAO,CAAC,EAAG2D,GACpC,OAAIC,GAEA9F,EAAAA,EAAAA,KAAC2F,EAAW,IAAKK,EAAS3F,SACtB2D,IAEEhE,EAAAA,EAAAA,KAACsE,EAAO,CACNhB,KAAK,mBACLb,KAAMuB,EACNS,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASc,EAAgBrB,GAAM3D,UAE/BL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SACI,oBAAvB2F,EAAU3F,SACd2F,EAAU3F,SAAS2D,GACnBA,SAShBhE,EAAAA,EAAAA,KAACsE,EAAO,CAAChB,KAAK,YAAYoB,SAAO,EAACF,YAAaA,EAAYnE,UACzDL,EAAAA,EAAAA,KAACwD,EAAAA,OAAM,CAACvD,UAAU,iBAAiBqD,KAAK,OAAOqB,QAASoB,EAAS1F,SAAC,kBAG1D,E,uBCvCd,MAoSM6F,EAAQA,CACZzD,EAAI0D,KAEA,IADJ,MAAE1B,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOmE,EAE5D,OACEnG,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,QACLb,KAAMA,EACNgC,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAuBR2D,EAAc,CAClBC,KAAM,CACJvC,OA5USuC,CAAC5D,EAAIlE,KAA0D,IAAxD,MAAEkG,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBxC,GAAOzD,EACpE,OACEyB,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,OACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAY+B,IAAM7D,GAAM8D,UAAUlG,SAE1CiG,IAAM7D,GAAM+D,OAAO,eACZ,EAiUVpH,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPC,UAAW,CACT7C,OAlUc6C,CAChBlE,EAAI7B,KAEA,IADJ,MAAE6D,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBxC,GAAOpB,EAElD,OACEZ,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,aACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAY+B,IAAM7D,GAAM8D,UAAUlG,SAE1CiG,IAAM7D,GAAM+D,OAAO,YACZ,EAoTVpH,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPE,UAAW,CACT9C,OApTc8C,CAChBnE,EAAIkB,KAEA,IADJ,MAAEc,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBxC,GAAO2B,EAElD,OACE3D,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,aACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,SAEhBiG,IAAU,OAAJ7D,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAI+D,OAAO,oBACvB,IACAF,IAAU,OAAJ7D,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAI+D,OAAO,UAClB,EAoSVpH,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPG,SAAU,CACR/C,OArSa+C,CACfpE,EAAIsB,KAEA,IADJ,MAAEU,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,EAAO,WAAEuC,KAAe9E,GAAO+B,EAE9D,OACE/D,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJS,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAY+B,IAAM7D,GAAM8D,UAAUlG,SAE1CiG,IAAM7D,GAAM+D,OACXM,EAAa,mBAAqB,wBAE5B,EAsRV1H,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPK,aAAc,CACZjD,OAvRiBiD,CACnBtE,EAAIuE,KAEA,IADJ,MAAEvC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYvC,GAAOgF,EAElD,OACEhH,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,gBACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,SAEhBoC,GACO,EAyQVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPO,kBAAmB,CACjBnD,OA1QsBmD,CACxBxE,EAAIyE,KAEA,IADJ,MAAEzC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYvC,GAAOkF,EAElD,OACElH,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,sBACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,SAEhBoC,GACO,EA4PVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPS,KAAM,CACJrD,OA7PSqD,CACX1E,EAAI2E,KAEA,IADJ,MAAE3C,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOoF,EAE5D,OACEpH,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,OACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EA+OVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPW,SAAU,CACRvD,OAhPauD,CACf5E,EAAI6E,KAEA,IADJ,MAAE7C,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOsF,EAE5D,OACEtH,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,YACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAkOVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPa,SAAU,CACRzD,OAnOayD,CACf9E,EAAI+E,KAEA,IADJ,MAAE/C,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOwF,EAE5D,OACExH,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,WACLb,KAAMA,EACNiC,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAqNVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPe,IAAK,CACH3D,OAtNQ2D,CAAChF,EAAIiF,KAA0C,IAAxC,YAAElD,EAAW,QAAED,KAAYvC,GAAO0F,EACnD,OACE1H,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,MACLb,KAAMA,EACN+B,YAAaA,EACbD,QAASA,EAAQlE,SAEhBoC,IACEA,EAAKkF,QACJ3H,EAAAA,EAAAA,KAAC4H,EAAAA,QAAI,CACHC,KAAMpF,EAAKoF,KACXC,WAAYrF,EAAKqF,WACjBC,MAAOtF,EAAKsF,MAAM1H,SAEjB2H,IAAA,IAAC,KAAE1E,EAAI,YAAE2E,GAAaD,EAAA,OACrBhI,EAAAA,EAAAA,KAACkI,EAAAA,QAAQ,CACP5E,KAAMA,KACFrB,OAAOC,OACT,CAAC,EACDiG,IAAK1F,EAAM,CAAC,OAAQ,SAAU,aAAc,WAE9C2F,KAAMH,GACN,KAINjI,EAAAA,EAAAA,KAACkI,EAAAA,QAAQ,IAAKjG,OAAOC,OAAO,CAAC,EAAGO,OAE5B,EAyLVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEP2B,OAAQ,CACNvE,OA1LWuE,CAAC5F,EAAI6F,KAA0C,IAAxC,YAAE9D,EAAW,QAAED,KAAYvC,GAAOsG,EACtD,OACEtI,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,SACLb,KAAMA,EACN+B,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACuI,EAAAA,QAAMC,OAAM,IAAKvG,OAAOC,OAAO,CAAC,EAAGO,GAAOgG,KAAM,MACzC,EAiLVrJ,MAAO,GACPqH,IAAK,GACLC,IAAK,KAEPgC,UAAW,CACT5E,OAlLc4E,CAChBjG,EAAIkG,KAEA,IADJ,MAAElE,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAO2G,EAE5D,OACE3I,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,aACLb,KAAMA,EACNgC,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAoKVrD,MAAO,GACPqH,IAAK,GACLC,IAAK,KAEPkC,SAAU,CACR9E,OArKa8E,CAACnG,EAAMT,KACfhC,EAAAA,EAAAA,KAAC6I,EAAiB,CAAChD,IAAKpD,KAAUT,IAqKvC5C,MAAO,IACPqH,IAAK,GACLC,IAAK,KAEPoC,SAAU,CACRhF,OAvKagF,CACfrG,EAAIsG,KAEA,IADJ,SAAE9E,EAAQ,MAAEQ,GAAQ,EAAI,QAAEC,GAAU,EAAI,YAAEF,EAAW,QAAED,KAAYvC,GAAO+G,EAE1E,OACE/I,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,YACLb,KAAMA,EACNgC,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAyJVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPuB,YAAa,CACXnE,OA1JgBmE,CAClBxF,EAAIuG,KAEA,IADJ,MAAEvE,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOgH,EAE5D,OACEhJ,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,cACLb,KAAMA,EACNgC,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EA4IVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPuC,QAAS,CACPnF,OA5IYmF,CAACxG,EAAIyG,KAAiB,IAAf,MAAE9J,GAAO8J,EAC9B,OACElJ,EAAAA,EAAAA,KAACgD,EAAW,CACV/C,UAAWK,IAAWyE,EAAa,YAAaA,EAAsB,SACtE9B,KAAMR,EACNrD,MAAOA,GACP,EAuIFA,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPyC,cAAe,CACbrF,OArHkBqF,CACpB1G,EAAI2G,KAEA,IADJ,MAAE3E,EAAK,QAAEC,EAAO,SAAET,EAAQ,YAAEO,EAAW,QAAED,KAAYvC,GAAOoH,EAE5D,OACEpJ,EAAAA,EAAAA,KAACsE,EAAO,IACFtC,EACJsB,KAAK,gBACLb,KAAMA,EACNgC,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQlE,UAEjBL,EAAAA,EAAAA,KAACiG,EAAQ,CAAChC,SAAUA,EAAS5D,SAAEoC,KACvB,EAuGVrD,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEPR,MAAO,CACLpC,OAAQoC,EACR9G,MAAO,IACPqH,IAAK,IACLC,IAAK,KAEP2C,WAAY,CACVvF,OAAQoC,EACR9G,MAAO,IACPqH,IAAK,GACLC,IAAK,KAEP4C,WAAY,CACVxF,OAAQoC,EACR9G,MAAO,IACPqH,IAAK,IACLC,IAAK,MAIT,I,mMCpcA,MAAM,MAAE6C,IAAUC,EAAAA,SA+QlB,GA7Q8BjL,IAKvB,IALwB,MAC7BkL,EAAK,UACLC,EAAS,QACTC,EACAC,OAAQC,GACTtL,EACC,MAAOqL,EAAQE,IAAY/K,EAAAA,EAAAA,UAAS8K,GAAgB,CAAC,IAE9CE,EAAYC,IAAiBjL,EAAAA,EAAAA,UAAS,KACvC,iBAAEkL,EAAgB,kBAAEC,EAAiB,eAAEC,EAAc,cAAEC,IAC3DC,EAAAA,EAAAA,UAAQ,IACCC,IACLrI,OAAOC,OACL,CACE+H,iBAAkB,GAClBC,kBAAmB,GACnBC,eAAgB,GAChBC,cAAe,IAEjBG,IAAQZ,GAAUlH,GACG,UAAfA,EAAK+H,MACA,qBAEU,IAAf/H,EAAK+H,OAAiC,SAAf/H,EAAK+H,MACvB,oBAEuC,IAAxCC,IAAIb,EAAQ,GAAGnH,EAAKoF,iBAC1BpF,EAAKW,SACmC,IAAxCqH,IAAIb,EAAQ,GAAGnH,EAAKoF,gBAClB,gBACA,qBAGR,CAAC6C,EAAQpF,EAAOqF,KACdD,EAAOC,GAAOrF,EAAMsF,MAAK,CAACC,EAAGC,IAEzBL,IAAIb,EAAQ,GAAGiB,EAAEhD,YAAa,GAC9B4C,IAAIb,EAAQ,GAAGkB,EAAEjD,YAAa,IAEhC,GAEJ,CAAC,IAEF,CAAC8B,EAASC,IAkBTmB,EAAgBtI,IAElBG,EAAAA,EAAAA,MAAAoI,EAAAA,SAAA,CAAA3K,SAAA,CACGoC,EAAKwI,WAAaxI,EAAKyI,OAAS,2BAChCzI,EAAK0I,aAAe1I,EAAK0I,YAAY1F,OAAS,EAC3C,IAAIhD,EAAK0I,YAAY9H,KAAIzC,IAAA,IAAC,MAAEsK,GAAOtK,EAAA,OAAKsK,CAAK,IAAEE,KAAK,QACpD,MAKV,OACExI,EAAAA,EAAAA,MAAA,OAAK3C,UAAWC,EAAM,2BAA2BG,SAAA,EAC/CL,EAAAA,EAAAA,KAAA,OAAKC,UAAWC,EAAM,iCAAiCG,UACrDuC,EAAAA,EAAAA,MAACyI,EAAAA,IAAG,CAACC,MAAM,SAASC,QAAQ,gBAAelL,SAAA,EACzCL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,SAAC,8BACLL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,UACFL,EAAAA,EAAAA,KAACyL,EAAAA,QAAO,CAACP,MAAM,2BAAM7K,UACnBL,EAAAA,EAAAA,KAAC0L,EAAAA,QAAa,CACZpI,KAAK,OACLG,MAAMzD,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,0BACjBqB,QAASgH,UACPjC,SAAoBA,EAAU,CAAC,GAC/BD,GAAO,cAOnBzJ,EAAAA,EAAAA,KAAA,OAAKC,UAAWC,EAAM,oCAAoCG,UACxDuC,EAAAA,EAAAA,MAAC4G,EAAAA,SAAQ,CACPoC,iBAAkB,CAAC,SAAU,aAC7BC,OAAO,EACPC,UAAQ,EAAAzL,SAAA,EAERL,EAAAA,EAAAA,KAACuJ,GAAK,CAAcwC,OAAO,iCAAO1L,UAChCuC,EAAAA,EAAAA,MAACoJ,EAAAA,KAAI,CAAC/L,UAAWC,EAAM,gCAAgCG,SAAA,CACpD4J,EAAiB5G,KAAI,CAACZ,EAAMwJ,KAC3BjM,EAAAA,EAAAA,KAACgM,EAAAA,KAAKE,KAAI,CACRjM,UAAWC,EAAM,gCAAgCG,UAGjDL,EAAAA,EAAAA,KAACmM,EAAAA,SAAQ,CAACC,SAAO,EAACC,UAAQ,EAAAhM,SACvB0K,EAAatI,MAHXA,EAAKoF,MAAQ,QAAQoE,QAO9BjM,EAAAA,EAAAA,KAACsM,GAAAA,cAAa,CACZrJ,KAAMkH,EACNhH,OAAO,mBACPoJ,UAAWrM,EAAM,iBACjBsM,WAAYtM,EAAM,kBAClBuM,eAAa,EACbC,QAAUvC,IAtEMR,KAC5B,MAAMgD,EAAYC,KAAUhD,GACtBiD,EAAc,GAAGC,OACrBnD,EAAQM,iBACRN,EAAQQ,eACRR,EAAQO,oBAETP,EAAQS,eAAiB,IAAI5H,SAASuK,IACrCC,KAAIL,EAAW,GAAGI,EAAIlF,gBAAgB,EAAM,IAE9CgF,EAAYrK,SAAQ,CAACuK,EAAKd,KACxBe,KAAIL,EAAW,GAAGI,EAAIlF,YAAaoE,EAAQ,EAAE,IAE/CnC,EAAS6C,EAAU,EA0DLM,CAAqB,CACnBhD,mBACAE,iBACAC,gBACAF,qBACA,EAEJgD,UAAW,IACXC,mBAAiB,EACjBC,MAAO,EAAE/M,SAER8J,EAAe9G,KAAI,CAACZ,EAAMwJ,KACzBrJ,EAAAA,EAAAA,MAACoJ,EAAAA,KAAKE,KAAI,CACRjM,UAAWK,IACTJ,EAAM,gCACNA,EAAM,YACNG,SAAA,EAGFL,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CACHJ,KAAK,aACLrD,UAAWC,EAAM,wCAEnBF,EAAAA,EAAAA,KAACmM,EAAAA,SAAQ,CACPC,SAAO,EACPC,SACE5J,EAAK+H,OACLP,EAAiBxE,OACf0E,EAAe1E,OACfyE,EAAkBzE,QAClB,EAEJqE,SAAWtK,IACTA,EAAE6N,kBACF7N,EAAEiB,iBACF,MAAMkM,EAAY1K,OAAOC,OAAO,CAAC,EAAG0H,GACpC+C,EAAUlK,EAAKoF,MAAQ5F,OAAOC,OAC5B,CAAC,EACDyK,EAAUlK,EAAKoF,MACf,CAAEyF,SAAS,IAEbxD,EAAS6C,EAAU,EACnBtM,SAED0K,EAAatI,OA3BXA,EAAKoF,MAAQ,WAAWoE,SAgClC/B,EAAkB7G,KAAI,CAACZ,EAAMwJ,KAC5BjM,EAAAA,EAAAA,KAACgM,EAAAA,KAAKE,KAAI,CACRjM,UAAWC,EAAM,gCAAgCG,UAGjDL,EAAAA,EAAAA,KAACmM,EAAAA,SAAQ,CAACC,SAAO,EAACC,UAAQ,EAAAhM,SACvBoC,EAAKwI,WAAaxI,EAAKyI,OAAS,8BAH9BzI,EAAKoF,MAAQ,SAASoE,WAvExB,WAgFXjM,EAAAA,EAAAA,KAACuJ,GAAK,CAEJwC,QACEnJ,EAAAA,EAAAA,MAACyI,EAAAA,IAAG,CAACkC,MAAM,EAAOhC,QAAQ,gBAAelL,SAAA,EACvCL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,SAAC,oCACLL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CACF7G,QAAUnF,IACRA,EAAE6N,kBACF7N,EAAEiB,gBAAgB,EAClBJ,UAEFL,EAAAA,EAAAA,KAACwN,EAAAA,YAAW,CACVC,QAAQzN,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,cAAcmF,KAAM,KACvCiF,YAAY,eACZC,SAAWrI,IACT0E,EAAc1E,EAAM,EAEtBrF,UAAWC,EAAM,iCACjBuI,KAAK,eAIZpI,UAEDL,EAAAA,EAAAA,KAACgM,EAAAA,KAAI,CACH4B,WAAYxD,EAAcjH,QACvBV,GAC2C,kBAAlCA,EAAKwI,WAAaxI,EAAKyI,SAC9BzI,EAAKwI,WAAaxI,EAAKyI,OAAO2C,QAAQ9D,IAAe,IAE1D+D,WAAarL,IAETzC,EAAAA,EAAAA,KAACgM,EAAAA,KAAKE,KAAI,CACRjM,UAAWC,EAAM,gCAAgCG,UAGjDL,EAAAA,EAAAA,KAACmM,EAAAA,SAAQ,CACPC,SAAS,EACTtC,SAAWtK,IACTA,EAAE6N,kBACF7N,EAAEiB,iBACF,MAAMkM,EAAY1K,OAAOC,OAAO,CAAC,EAAG0H,GACpC+C,EAAUlK,EAAKoF,MAAQ5F,OAAOC,OAC5B,CAAC,EACDyK,EAAUlK,EAAKoF,MACf,CAAEyF,SAAS,IAEbxD,EAAS6C,EAAU,EACnBtM,SAEDoC,EAAKwI,WAAaxI,EAAKyI,OAAS,8BAhB9BzI,EAAKkI,QAjCd,mBA0DV/H,EAAAA,EAAAA,MAACyI,EAAAA,IAAG,CACFpL,UAAWC,EAAM,kCACjBqL,QAAQ,MACRwC,OAAQ,GAAG1N,SAAA,EAEXL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,UACFL,EAAAA,EAAAA,KAACwD,EAAAA,OAAM,CACLiF,KAAK,QACL9D,QAASA,KACPmF,EAASD,GAAgB,CAAC,GAC1BJ,GAAO,EACPpJ,SACH,oBAIHL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,UACFL,EAAAA,EAAAA,KAAC0L,EAAAA,QAAa,CACZpI,KAAK,UACLmF,KAAK,QACL9D,QAASgH,UACPjC,SAAoBA,EAAUE,GAC9BH,GAAO,EACPpJ,SACH,wBAKD,E,0ECtRV,MAAM2N,GAAa,+BAwBnB,GAFuB,CAAEC,WApBLpG,GACbA,EAIE,CACLhE,OAAQA,IAAM4G,IAAIyD,GAAAA,EAAaC,QAAQH,IAAanG,EAAM,CAAC,IAJpD,CAAC,EAkByBuG,YAVjBA,CAACvG,EAAM7D,KACzB,GAAK6D,EAGL,OAAOqG,GAAAA,EAAaG,QAClBL,GACA/L,OAAOC,OAAO,CAAC,EAAGgM,GAAAA,EAAaC,QAAQH,IAAa,CAAE,CAACnG,GAAO7D,IAC/D,GCHGsK,GAAc/P,IAA4C,IAA3C,MAAE2M,EAAK,QAAEvB,EAAO,OAAEC,EAAM,UAAE2E,GAAWhQ,EACxD,MAAOiQ,EAAMC,IAAW1P,EAAAA,EAAAA,WAAS,GACjC,OACE6D,EAAAA,EAAAA,MAACyI,EAAAA,IAAG,CAACkC,MAAM,EAAMlN,SAAA,EACfL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAACkD,KAAM,EAAErO,SAAE6K,KACflL,EAAAA,EAAAA,KAACwL,EAAAA,IAAG,CAAAnL,UACFL,EAAAA,EAAAA,KAAC2O,EAAAA,QAAO,CACNH,KAAMA,EACNI,aAAcH,EACdI,QAAQ,QACRC,UAAU,aACVzK,iBAAkBnE,EAAM,2BACxB6O,SACE/O,EAAAA,EAAAA,KAACgP,GAAqB,CACpBrF,QAASA,EACTC,OAAQA,EACRH,MAAOA,KACLgF,GAAQ,EAAM,EAEhB/E,UAAYiD,IACV4B,GAAW3E,GACFU,IACLqC,GACA,CAACjC,EAAQpF,EAAOqF,KACdD,EAAOC,GAAO1I,OAAOC,OACnB,CAAC,EACD0H,EAAOe,GACPsE,IAAK3J,EAAO,CAAC,UAAW,SACzB,GAEH,CAAC,IAEH,IAGPjF,UAEDL,EAAAA,EAAAA,KAAA,QAAMC,UAAWC,EAAM,yBAAyBG,UAC9CL,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,wBAIb,EA0PV,GAtPuB1C,IAMhB,IANiB,QACtB+I,EAAO,KACP9B,EAAI,eACJqH,EAAc,WACdC,EAAU,OACVC,GACDxO,EACC,MAAOyO,EAAwBC,IAA6BvQ,EAAAA,EAAAA,UAAS,MAC/DwQ,GAA4B3Q,EAAAA,EAAAA,QAAOyQ,GACzCE,EAA0BtQ,QAAUoQ,EACpC,MAAMG,GAAuB5Q,EAAAA,EAAAA,QAAO,MAC9B6Q,GAAgB7Q,EAAAA,EAAAA,QAAO,OACtBgL,EAAQ8F,IAAiB3Q,EAAAA,EAAAA,UAAS,CAAC,IAClC4Q,gBAAiBC,IAA0BC,EAAAA,EAAAA,aAC7CF,EAAkBC,GAEpBE,GAEEC,EAAuC,OAAfJ,QAAe,IAAfA,OAAe,EAAfA,EAAiB1B,WAAWpG,GAEpDmI,GAAaC,EAAAA,GAAAA,uBAAqB,CAACpI,EAAMqI,KAC9B,OAAfP,QAAe,IAAfA,GAAAA,EAAiBvB,YAAYvG,EAAMqI,EAAO,GACzC,KAEG3B,EAAYrN,KAAgByL,KAChCwD,EAAAA,EAAAA,kBAAgB,KACdT,GAAe9F,IACb,MAAMsG,EACiB,oBAAdvD,EAA2BA,EAAU/C,GAAU+C,EAExD,OADA9E,GAAQqH,GAAkBc,EAAWnI,EAAMqI,GACpCA,CAAM,GACb,GACF,KAGE,KAAEE,IAASC,EAAAA,EAAAA,UACfpO,OAAOC,OAAO,IACTD,OAAOC,OAAO,CAAC,EAAG6N,GACrBO,MAAM,EACNC,MAAO,gBAAgB1I,IACvB2I,SAAS,EACTC,iBAAmBzM,IACjB0L,EAAczN,OAAOC,OAAO,CAAC,EAAG8B,GAAM,KAKtC0M,EAAiBxP,KAAe,KAChC2G,GAAQqH,GAAkBa,GAC5BK,EAAK,CAAErI,OAAO,GAChB,KAGFzI,EAAAA,EAAAA,YAAU,KACRoR,GAAgB,GACf,CAACA,IAEJ,MAAMvG,GAAiBE,EAAAA,EAAAA,UAAQ,IACtBV,EACJxG,QAAQ4J,MAEkC,IAAvCtC,IAAIb,EAAQ,GAAGmD,EAAIlF,kBACqB,IAAvC4C,IAAIb,EAAQ,GAAGmD,EAAIlF,kBAA2C,IAAfkF,EAAI3J,UAGvDwH,MAAK,CAACC,EAAGC,KACR,MAAM6F,EAAiBlO,GAEnBgI,IAAIb,EAAQ,GAAGnH,EAAKoF,YAAa,IACjB,SAAfpF,EAAK+H,OAAoB,IAAQ,IAClB,UAAf/H,EAAK+H,MAAoB,IAAQ,GAGtC,OAAOmG,EAAc9F,GAAK8F,EAAc7F,EAAE,KAE7C,CAACnB,EAASC,IAEPgH,GAA4BvG,EAAAA,EAAAA,UAAQ,IACjCwG,KAAc1G,GAAgBxG,IAAA,IAAC,KAAEL,GAAMK,EAAA,MAAc,YAATL,CAAkB,KACpE,CAAC6G,IAEE2G,GAAazG,EAAAA,EAAAA,UAAQ,IAClB0G,IACL5G,GACApG,IAAA,IAAC,KAAET,EAAI,KAAEuE,GAAM9D,EAAA,OACb0G,IAAIb,EAAQ,GAAG/B,YAAiBzB,EAAY9C,GAAMlE,KAAK,KAE1D,CAAC+K,EAAgBP,IAEdoH,EAAoBhK,IAAuB,IAAtB,MAAE5H,EAAK,MAAE6M,GAAOjF,EACzC,OAAO4J,IAA8B3E,EACjC7M,EAAQ6R,KAAKvK,IAAIyI,EAAa2B,EAAa,EAAG,GAC9C1R,CAAK,EAGL8R,EAAkBhQ,KAAe,CAACiQ,EAAQlF,KAE5CjM,EAAAA,EAAAA,KAAA,QACEC,UAAWK,IAAWJ,EAAM,oBAC5BM,YAAchB,IACZgQ,EAAqBvQ,QAAUgD,OAAOC,OAAO,CAAC,EAAGiP,EAAQ,CAAElF,UAC3DwD,EAAcxQ,QAAUO,EAAEC,QAC1B6P,EAA0BrD,EAAM,EAChC5L,UAEFL,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,mBAKX8N,EAASlQ,KAAgBmQ,IAC7B,GAA+B,OAA3BhC,EACF,OAEF,IAAKG,EAAqBvQ,QACxB,OAEF,MAAM,KAAE4I,EAAI,MAAEzI,EAAK,IAAEqH,EAAG,IAAEC,EAAG,MAAEuF,GAAUuD,EAAqBvQ,QACxDqS,EAAeL,KAAKxK,IAAIwK,KAAKvK,IAAItH,EAAQiS,EAAO5K,GAAMC,GACxD4K,EAAeN,EAAkB,CAAE5R,MAAOqH,EAAKwF,WAGnDsC,GAAW3E,GACF3H,OAAOC,OAAO,CAAC,EAAG0H,EAAQ,CAC/B,CAAC/B,GAAO5F,OAAOC,OAAO,CAAC,EAAG0H,EAAO/B,GAAO,CACtCzI,MAAOkS,OAGX,IAGEC,EAAsBrQ,KAAe,CAACiQ,EAAQlF,KAClD,MAAM,KAAEpE,EAAI,MAAEzI,EAAK,IAAEqH,EAAG,IAAEC,GAAQyK,EAClC,IAAIK,EAAeL,EACflF,IAAU9B,EAAe1E,OAAS,IACpC+L,EAAevP,OAAOC,OAAO,CAAC,EAAGiP,EAAQ,CACvClR,UAAW,iBACXiL,OACElL,EAAAA,EAAAA,KAACsO,GAAW,CACVpD,MAAa,OAANiG,QAAM,IAANA,OAAM,EAANA,EAAQjG,MACfvB,QAASA,EACTC,OAAQA,EACR2E,UAAWA,OAMnB,MAAMkD,EAAcA,KACX,CACLxR,UAAWK,IAAW,CACpB,CAACJ,EAAM,cAAeqP,EAA0BtQ,UAAYgN,MAI5DqF,EAAeL,KAAKxK,IACxBwK,KAAKvK,IAAI+D,IAAIb,EAAQ,GAAG/B,YAAiBzI,EAAOqH,GAChDC,GAGIgL,EAAYV,EAAkB,CAAE5R,MAAOkS,EAAcrF,UAE3D,OAAOhK,OAAOC,OAAO,CAAC,EAAGsP,EAAc,CACrCG,aAAcF,EACdG,OAAQH,EACRrS,MAAOsS,EACPG,iBAAkBA,CAACC,EAAQC,KACzB,MAAMC,EACc,oBAAX5C,EAAwBA,EAAO0C,GAAUA,EAAO1C,GACnD6C,EACc,oBAAX7C,EACHA,EAAO2C,GACPA,EAAW3C,GACjB,OACwC,OAAtCG,EAA0BtQ,SAC1BsQ,EAA0BtQ,UAAYgN,GACtB,aAAhBkF,EAAO7N,QAEL0O,IAAYC,GACZC,KAAQJ,EAAOX,EAAOtJ,MAAOkK,EAAWZ,EAAOtJ,OAChD,EAGLqD,OACEtI,EAAAA,EAAAA,MAAAoI,EAAAA,SAAA,CAAA3K,SAAA,CACGmR,EAAatG,QACXwG,EAAYJ,GAAgBI,EAAYhL,IACzCwK,EACEjP,OAAOC,OAAO,CAAC,EAAGsP,EAAc,CAAEpS,MAAOsS,IACzCzF,OAIR,IA2CJ,OAxCA3M,EAAAA,EAAAA,YAAU,KACR,MAAM6S,EAAsBA,KAC1B7C,EAA0B,MAC1BG,EAAcxQ,QAAU,KACxBuQ,EAAqBvQ,QAAU,IAAI,EAG/BmT,EAAiB5S,IAEmB,OAAtC+P,EAA0BtQ,SACO,OAAjCuQ,EAAqBvQ,UAIO,OAA1BwQ,EAAcxQ,QAIlBmS,EAAO5R,EAAEC,QAAUgQ,EAAcxQ,SAH/BwQ,EAAcxQ,QAAUO,EAAEC,QAGa,EAQ3C,OANAE,SAASyB,gBAAgBxB,iBACvB,UACAuS,GACA,GAEFxS,SAASyB,gBAAgBxB,iBAAiB,YAAawS,GAAe,GAC/D,KACLzS,SAASyB,gBAAgBvB,oBACvB,UACAsS,GACA,GAEFxS,SAASyB,gBAAgBvB,oBACvB,YACAuS,GACA,EACD,CACF,GACA,CAAChB,IAEG,CACLjH,iBACAkF,yBACA6B,kBACAmB,cAAezI,EACfkH,aACAS,sBACD,E,2BC5SH,MAuGA,GAvG2BhT,IAA8B,IAA7B,OAAE6Q,EAAM,YAAEkD,GAAa/T,EACjD,MAAOgU,EAAYC,IAAiBzT,EAAAA,EAAAA,UAAS,MACvC0T,GAAuB7T,EAAAA,EAAAA,QAAO0T,GACpCG,EAAqBxT,QAAUqT,EAE/B,MAAMf,EAAsBrQ,KAC1B,CAAC6L,EAAKd,EAAKrL,KAAyB,IAAvB,cAAEyR,GAAezR,EAC5B,MAAM,KACJiH,EAAI,KACJvE,EAAI,WACJoP,EAAU,MACVxH,EAAK,YACLyH,EAAW,MACXnI,EAAK,QACLjF,EAAO,YACPf,EAAW,YACX2G,EAAW,KACXP,EAAI,eACJgI,KACGC,GACD9F,GACE,OAAEjJ,EAAM,MAAE1E,EAAK,IAAEqH,EAAG,IAAEC,GAAQzE,OAAOC,OACzC,CAAC,EACDkE,EAAY9C,GAAQ,SACX,aAATA,IACGwP,KAAMP,IACPtD,IAAK7I,EAAYsM,GAAc,SAAU,CAAC,QAAS,MAAO,SAExDK,EAAejP,EAErB,MAAO,CACL+D,OACAqD,MAA8B,oBAAhByH,EAA6BA,EAAYzH,GAASA,EAChEzE,MACAC,MACAtH,QACAoL,QACAW,cACAP,OACAtH,OACAQ,OAASrB,IACP,MAAMuP,EACc,oBAAX5C,EAAwBA,EAAO3M,GAAQA,EAAK2M,GAC/C4D,EAAW/Q,OAAOC,OACtB,CAAC,EACD6K,EACsB,oBAAfA,EAAIjJ,OACPiJ,EAAIjJ,OAAO,IACN2O,EAAqBxT,QACxB4I,OACAqI,OAAQzN,IAEV,CAAC,GAEDwQ,EAAyBrO,IAC7B,MAAML,EAAUc,EAAgBT,EAAUW,GAC1C,OAAOwN,EAAanO,EAAU,IACzBiO,EACHhL,OACAzI,MAAOqL,IAAI4H,EAAe,GAAGxK,YAAiBzI,EAC9CqH,MACAC,MACAnC,UACAC,cACAC,MAAOuO,EAASvO,MAChBG,SAAU3C,OAAOC,OAAO,CAAC,EAAGO,GAC5B6P,YAAaG,EAAqBxT,QAClCyF,QAASsO,EAAStO,QAClBT,SAAU+O,EAAS/O,SACnB6B,OAAQyM,IAAeP,EACvBjM,SAAUA,IAAMyM,EAAcR,IAC9B,EAGEpN,EACJoO,EAASE,eAAe,YACI,oBAArBF,EAASG,QACZH,EAASG,QACP1Q,EACAR,OAAOC,OACL,CAAC,EACDuQ,EAAqBxT,QACrB,CACE4I,QAEF+K,EACI,CAAEG,aAAcE,GAChB,CAAC,IAGTxI,IAAIhI,EAAMoF,GAChB,OAAO+K,EAAiBhO,EAAWqO,EAAsBrO,EAAS,EAErE,IAIL,MAAO,CACL2N,aACAhB,sBACD,EC3DH,GA/CwB5H,IACfU,EAAAA,EAAAA,UAAQ,KACb,MAAM+I,EAAqBzJ,EAAQxG,QAChCV,GAASA,EAAK0I,aAAe1I,EAAK0I,YAAY1F,OAAS,IAE1D,GAAI2N,EAAmB3N,OAAS,EAAG,CACjC,MAAM4N,EAAa1J,EAAQ2J,MAAM,GAC3BC,EAAQ,GACRC,EAAqBrC,IACzB,MAAM,YAAEhG,GAAgBgG,EACxB,KAAMhG,GAAeA,EAAY1F,OAAS,GACxC,OAEF,MAAMgO,EAAcJ,EAAWxF,QAAQsD,GACjCuC,EAAOA,CAACvI,EAAaoI,KACzB,MAAOI,KAAiBC,GAAezI,EACvC,IAAI0I,EAAeN,EAAMO,MACtBrR,GAASA,EAAKoF,OAAS8L,EAAa9L,OAElCgM,IACHA,EAAe5R,OAAOC,OACpB,CAAE6R,WAAYN,GACdE,EACA,CAAEtT,SAAU,KAEdkT,EAAMS,KAAKH,IAETD,EAAYnO,OAAS,EACvBiO,EAAKE,EAAaC,EAAaxT,UAE/BwT,EAAaxT,SAAS2T,KAAK7C,EAC7B,EAEFuC,EAAKvI,EAAaoI,GAClBF,EAAWY,OAAOR,EAAa,EAAE,EAOnC,OALAL,EAAmB5Q,QAAQgR,GAC3BD,EAAM/Q,SAAQ,CAAC0R,EAAajI,KAC1BoH,EAAWY,OAAOC,EAAYH,WAAa9H,EAAO,EAAGiI,EAAY,IAG5D,CAAEvK,QAAS0J,EAAYc,gBAAgB,EAChD,CACA,MAAO,CAAExK,UAASwK,gBAAgB,EAAO,GACxC,CAACxK,I,kDCvCN,MAAMyK,GAAkBxJ,GACtB,IAAIyJ,KACDzJ,GAAQ,IAAIvH,KAAI9E,IAAqB,IAApB,KAAEsJ,EAAI,KAAE+C,GAAMrM,EAC9B,MAAO,CAACsJ,EAAM+C,EAAK,KA6DzB,GAzDiB5I,IACf,MAAO4I,EAAM0J,GAAWC,KAAgBvS,EAAO,CAC7CsD,MAAO,OACPuE,aAAc,cACdC,SAAU,iBAGN0K,GAAUnK,EAAAA,EAAAA,UAAQ,IACf+J,GAAexJ,IACrB,CAACA,IAEE6J,GAAaC,EAAAA,EAAAA,cAChBC,GACQL,GAAS1J,IACd,MAAMgK,EAAUD,EAASP,GAAexJ,IACxC,OAAOtI,MAAMC,KAAKqS,GAASvR,KAAIzC,IAAA,IAAEiH,EAAM+C,GAAKhK,EAAA,MAAM,CAAEiH,OAAM+C,OAAM,GAAE,KAGtE,CAAC0J,IAGH,OAAOI,EAAAA,EAAAA,cACL/Q,IAAA,IAAC,OAAEkR,EAAM,KAAEhN,GAAMlE,EAAA,OACff,EAAAA,EAAAA,MAAA,OACE3C,UAAWK,IAAWJ,EAAM,YAAa,CACvC,CAACA,EAAM,qBAA4C,SAAtBsU,EAAQ/J,IAAI5C,GACzC,CAAC3H,EAAM,oBAA2C,QAAtBsU,EAAQ/J,IAAI5C,KAE1ClD,QAASA,KACP8P,GAAY7J,IACV,MAAM3L,EAAU2L,EAAKH,IAAI5C,GACnBiN,EACY,SAAZ7V,EACK,MAEO,QAAZA,EACK,KAEF,OAET,GAAI4V,EACF,OAAO,IAAIR,IAAIS,EAAc,CAAC,CAACjN,EAAMiN,IAAgB,IAEvD,MAAMF,EAAUG,KAAMnK,GAEtB,OADAkK,EAAcF,EAAQ5H,IAAInF,EAAMiN,GAAeF,EAAQI,OAAOnN,GACvD+M,CAAO,GACd,EACFvU,SAAA,EAEFL,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,mBAAmBrD,UAAWC,EAAM,gBAC/CF,EAAAA,EAAAA,KAAC0D,EAAAA,QAAI,CAACJ,KAAK,qBAAqBrD,UAAWC,EAAM,iBAC7C,GAER,CAACsU,EAASC,GACX,ECvDGQ,GAAQ1W,IAgBP,IAhBQ,QACboL,EAAO,UACP1J,EAAS,YACTgB,EAAW,OACXiU,EAAM,aACNC,EAAY,WACZC,EAAU,kBACVC,EAAiB,OACjBjG,EAAM,WACNxB,EAAU,eACVsB,EAAc,KACdrH,EAAI,QACJyN,EAAO,OACPC,EAAM,kBACNC,KACGxT,GACJzD,EACC,MAAO4Q,EAAYsG,IAAiB1W,EAAAA,EAAAA,UAAS,IACtC2W,EAAUC,IAAe5W,EAAAA,EAAAA,WAAS,IAEzCO,EAAAA,EAAAA,YAAU,KACJ6P,GACFyG,YAAW,KACTD,GAAY,EAAM,GACjB,EACL,GACC,CAACxG,KACyBvQ,EAAAA,EAAAA,QAAOyW,GACfpW,QAAUoW,EAC/B,MAAMrU,GAAM6U,EAAAA,EAAAA,IACTC,IACCL,EAAcK,EAAGlU,YAAY,GAE/B,CAAEmU,YAAY,KAEV,WAAExD,EAAU,oBAAEhB,GAAwByE,GAAmB,CAC7D5G,SACAkD,YAAa+C,KAGT,cACJhD,EAAa,eACblI,EACAoH,oBAAqB0E,EAAyB,uBAC9C5G,EAAsB,WACtByB,GACEoF,GAAe,CACjBvM,UACAuF,iBACArH,OACA0J,sBACApC,aACAC,WAGI+G,EAAaC,GAAQpU,GAErBqU,GAAgBhM,EAAAA,EAAAA,UAAQ,IACrBF,EAAe9G,KAAI,CAAC0J,EAAKd,KAC9B,IAAIiE,EAASqB,EAAoBxE,EAAKd,EAAO,CAC3CmD,SACAmD,aACAF,kBAyBF,OAtBInC,EAAOtF,MAAqB,YAAbmC,EAAIzJ,OACrB4M,EAASjO,OAAOC,OAAO,CAAC,EAAGgO,EAAQ,CACjChF,OACEtI,EAAAA,EAAAA,MAAAoI,EAAAA,SAAA,CAAA3K,SAAA,CACG6P,EAAOhF,MACPiL,EAAW,CACVtO,KAAMkF,EAAIlF,KACVgN,OACyB,kBAAhB3E,EAAOtF,MAAoBsF,EAAOtF,KAAKiK,eAOtD3F,IACFgB,EAAS+F,EAA0B/F,EAAQjE,EAAO,CAChDkD,aACAkD,mBAIGnC,CAAM,KAEd,CACD/F,EACAgF,EACAkD,EACAE,EACAnD,EACAF,EACAqC,EACA0E,EACAE,KAGMxM,QAAS2M,EAAY,eAAEnC,GAC7BoC,GAAeF,GAEXG,EAA4BtV,IAAesU,GAkBjD,OAhBAlW,EAAAA,EAAAA,YAAU,KACRkX,GACEA,EAA0B,CACxB7M,UACA2M,eACA1I,aACAzD,kBACA,GACH,CACDqM,EACAF,EACA1I,EACAjE,EACAQ,KAIAnK,EAAAA,EAAAA,KAAA,OACEC,UAAWK,IAAWL,EAAWC,EAAa,MAAG,CAC/C,CAACA,EAAM,cAA0C,OAA3BmP,EACtB,CAACnP,EAAM,gBAAiBwV,EACxB,CAACxV,EAAM,qBAAsBiU,IAE/BnT,IAAKA,EACLd,MAAO,CACL,kBAAmBiV,GACnB9U,UAEAqV,IACA1V,EAAAA,EAAAA,KAACW,EAAQ,CACPV,UAAU,sBACVY,SAAU,CAAEpC,aAAcwC,GAC1BH,gBAAkBgV,GAEdA,EAAG/S,cAAc,oBACjB+S,EAAG/S,cAAc,sBAEnB1C,UAEFL,EAAAA,EAAAA,KAACyW,EAAAA,MAAS,IACJzU,EACJkT,SACEA,GACI,CACEzW,aAAcwC,GAItB2M,WAAYA,EACZwB,OAAQA,EACRzF,QAAS2M,EACTf,OAAQtT,OAAOC,OACb,CAAC,EACD,CAAEW,EAAGoO,KAAKvK,IAAIyI,EAAY2B,IAC1ByE,GAEFH,WAAYA,EACZE,QACqB,oBAAZA,EACH,SAACrW,GAAsB,IAAD,IAAAyX,EAAAC,UAAAlR,OAATmR,EAAI,IAAAtU,MAAAoU,EAAA,EAAAA,EAAA,KAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJD,EAAIC,EAAA,GAAAF,UAAAE,GACf,OAAOvB,EACLrT,OAAOC,OACL,CAAC,EACD,CAAE4U,SAAU7X,GACZ,CAAE0K,QAAS2M,OAEVM,EAEP,EACA,UAKR,EAIV3B,GAAMnS,aAAe,CACnBoM,gBAAgB,EAChBE,OAAQ,KACRnO,YAAW,IACXoU,kBAAmB,CAAC,EACpBH,QAAQ,EACRC,aAAc,oBACdC,YAAY,GAGd,Y,gBC/MA,MAOA,GAPwB2B,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,gBCSJ,MAAMG,GAAwB3Y,IAAgC,IAA/B,GAAE4Y,EAAE,QAAExN,EAAO,SAAEtJ,GAAU9B,EACtD,OAAI4Y,GAEAnX,EAAAA,EAAAA,KAACoX,GAAAA,QAAQ,CAACD,GAAIA,EAAG9W,SACdO,IAAA,IAAC,QAAEqI,GAASrI,EAAA,OACXP,EAAS,CACPsJ,QAASA,EAAQxG,QAAQV,IAClBA,EAAKoF,QAGLvF,MAAMkD,QAAQiF,IAAIxB,EAAS,oBAGqB,IAA9CA,EAAQmB,cAAcyD,QAAQpL,EAAKoF,UAE5C,IAKHxH,EAAS,CAAEsJ,WAAU,EAGxB0N,IAAiBC,EAAAA,EAAAA,YACrB3T,IAmBO,IAnBN,KACCK,EAAI,QACJuT,EAAO,OACPC,EAAM,cACNC,EAAa,WACbC,EAAU,WACVC,EAAU,QACVC,EAAO,SACPC,EAAQ,KACRzH,EAAI,WACJ0H,EAAU,UACV7X,EAAS,UACT8X,EAAS,QACTpO,EAAO,WACPqO,EAAU,WACV5C,EAAU,kBACVC,EAAiB,QACjBC,KACGtT,GACJ2B,EACC,MAAMsU,EAAoB/W,IAAe4W,GACnCI,GAAa7N,EAAAA,EAAAA,UAAQ,IAClB4N,EAAkBjU,IACxB,CAACA,EAAMiU,IAEJE,EAAa,CACjBvK,WAAYsK,EAAWjV,KACvBmS,aAAYA,EAAW5G,MACnB,CACE4J,MAAOF,EAAWE,MAClBC,UAAYD,IACVxV,EAAAA,EAAAA,MAAAoI,EAAAA,SAAA,CAAA3K,SAAA,EACEL,EAAAA,EAAAA,KAACsY,GAAAA,iBAAgB,CACfnB,GAAG,aACHrP,WAAW,QACXyQ,eAAe,YAEjBvY,EAAAA,EAAAA,KAAA,QAAMC,UAAWC,EAAkB,WAAEG,SAAE+X,KACvCpY,EAAAA,EAAAA,KAACsY,GAAAA,iBAAgB,CACfnB,GAAG,kBACHrP,WAAW,QACXyQ,eAAe,cAIrBtZ,QAASwL,IACPgN,EACA,CAACrC,EAAWoD,WAAYpD,EAAWqD,aACnC,GAEFC,SAAUtD,EAAWsD,SACrB5O,SAAUsL,EAAWtL,SACjBsL,EAAWtL,SACX,CAAC6O,EAAMlQ,KAEHkQ,IACAlO,IACEgN,EACA,CAACrC,EAAWoD,WAAYpD,EAAWqD,aACnC,IAG0B,YAA3BrD,EAAWwD,YAA4BrB,EAAUC,GAAQ,CACxD,CAACpC,EAAWoD,YAAa,CACvB,CAACpD,EAAWqD,aAAcE,EAC1B,CAACvD,EAAWyD,cAAepQ,KAI/B2M,EAAW0D,kBACT1D,EAAW0D,iBAAiBH,EAAMlQ,IAEtCxH,EAAAA,EAAAA,KAAc8X,UAAY,CAAC,EAEjCtQ,KAAM2M,EAAW3M,KACjBuQ,gBAAiB5D,EAAW4D,gBAC5BC,gBAAiB7D,EAAW6D,gBAC5BC,gBAAiB9D,EAAW8D,kBAKpC,OACElZ,EAAAA,EAAAA,KAACmZ,GAAAA,aAAY,CAACC,eAAgBA,GAAgBtR,WAAW,QAAOzH,UAC9DL,EAAAA,EAAAA,KAACkX,GAAqB,CAACC,GAAIY,EAAWpO,QAASA,EAAQtJ,SACpD0D,IAAA,IAAC,QAAE4F,GAAS5F,EAAA,OACX/D,EAAAA,EAAAA,KAACiV,GAAK,IACAhT,OAAOC,OAAO,CAAC,EAAGF,EAAOmW,GAC7BlY,UAAWK,IAAWL,EAAW,oBAAqB,CACpD,cAAe0X,IAEjBhO,QAASA,EACT0L,kBAAmB,IACdA,EACHoC,gBACAC,aACA1T,QAEFsR,QACqB,oBAAZA,EACH,WAAc,IAAD,IAAAoB,EAAAC,UAAAlR,OAATmR,EAAI,IAAAtU,MAAAoU,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJD,EAAIC,GAAAF,UAAAE,GACN,OAAOvB,EACLrT,OAAOC,OACL,CAAC,EACD,CACE8B,OACA0T,aACAD,gBACAF,UACAC,SACAK,WACAzH,OACA0H,aACA1C,iBAECwB,GAGT,EACA,MAEN,KAGO,IAKrBS,GAAevU,aAAe,CAC5BsS,WAAY,CAAC,EACbC,kBAAmB,CAAC,EACpBH,QAAQ,EACR4C,WAAa9T,IACJ,CACLf,KAAMe,EAAK8S,SACXsB,MAAOpU,EAAKqV,cAKlB,MA6CA,IA7CkBC,EAAAA,EAAAA,aAAW,CAAAtS,EAA2BhG,KAAS,IAAnC,WAAEoU,KAAepT,GAAOgF,EACpDoO,EAAanT,OAAOC,OAClB,CAAC,EACD,CACE8W,iBAAiB,EACjBC,iBAAiB,EACjBzK,MAAM,EACNgK,WAAY,OACZI,YAAa,SACbH,YAAa,cACbI,aAAc,UACdH,SAAU,IAEZtD,GAEF,MAAMmE,EAAc,IAClBvX,EAAM6F,MAAQ,UACd2R,iCACKd,EAAUe,IAAe1a,EAAAA,EAAAA,UAC9BmP,GAAAA,EAAaC,QAAQoL,IAAgBnE,EAAWsD,UAE5CgB,EAAS1X,EAAMoT,EAAWoD,YAC1BmB,GAActP,EAAAA,EAAAA,UAAQ,KACnB,CACL,CAAC+K,EAAWoD,YAAavW,OAAOC,OAAO,CAAC,EAAGwX,EAAQ,CACjD,CAACtE,EAAWyD,cAAeH,OAG9B,CAACgB,EAAQtE,EAAWyD,aAAczD,EAAWoD,WAAYE,IAC5D,OACE1Y,EAAAA,EAAAA,KAACqX,GAAc,IACTrV,KACA2X,EACJvE,WAAYnT,OAAOC,OAAO,CAAC,EAAGkT,EAAY,CACxCsD,WACAI,iBAAkBA,CAAC7Z,EAASwJ,KAC1ByF,GAAAA,EAAaG,QAAQkL,EAAa9Q,GAClCgR,EAAYhR,EAAK,IAGrBzH,IAAKA,GACL,G,6KC3NN,IAAI4Y,EAAkBC,EAAQ,OAC1BC,EAAiBD,EAAQ,OACzBE,EAAeF,EAAQ,MACvBrU,EAAUqU,EAAQ,OAmBtBG,EAAOC,QATP,SAA0BC,EAAQC,GAChC,OAAO,SAASC,EAAYC,GAC1B,IAAIC,EAAO9U,EAAQ4U,GAAcR,EAAkBE,EAC/CS,EAAcJ,EAAcA,IAAgB,CAAC,EAEjD,OAAOG,EAAKF,EAAYF,EAAQH,EAAaM,EAAU,GAAIE,EAC7D,CACF,C,kBCpBA,IAAIC,EAAgBX,EAAQ,OACxBE,EAAeF,EAAQ,MACvBY,EAAYZ,EAAQ,OAGpBa,EAAYzJ,KAAKvK,IACjBiU,EAAY1J,KAAKxK,IAoDrBuT,EAAOC,QAfP,SAAuBW,EAAOC,EAAWC,GACvC,IAAIrV,EAAkB,MAATmV,EAAgB,EAAIA,EAAMnV,OACvC,IAAKA,EACH,OAAQ,EAEV,IAAIwG,EAAQxG,EAAS,EAOrB,YANkBsV,IAAdD,IACF7O,EAAQwO,EAAUK,GAClB7O,EAAQ6O,EAAY,EAChBJ,EAAUjV,EAASwG,EAAO,GAC1B0O,EAAU1O,EAAOxG,EAAS,IAEzB+U,EAAcI,EAAOb,EAAac,EAAW,GAAI5O,GAAO,EACjE,C,gDCxDA,MA4BA,EA5BqB,CACnBkC,QAAUxD,IACR,MAAMuF,EAASvN,OAAOuL,aAAaC,QAAQxD,GAC3C,IACE,MAAM,SAAEqQ,EAAQ,MAAE1V,GAAU2V,KAAKC,MAAMhL,GACvC,GAAiB,WAAb8K,GAAmC,SAAV1V,EAC3B,OAAO,KAET,GAAiB,cAAb0V,EACF,OAEF,MAAiB,WAAbA,EACKG,OAAO7V,GAEC,YAAb0V,EACKI,QAAQ9V,GAEVA,CACT,CAAE,MAAO9F,GACP,OAAO,IACT,GAEF6O,QAASA,CAAC1D,EAAKrF,KACb,MAAM0V,SAAkB1V,EACxB3C,OAAOuL,aAAaG,QAAQ1D,EAAKsQ,KAAKI,UAAU,CAAEL,WAAU1V,UAAS,E,kBCxBzE,IAAIgW,EAAWzB,EAAQ,OAoBvBG,EAAOC,QAPP,SAAwBG,EAAYF,EAAQG,EAAUE,GAIpD,OAHAe,EAASlB,GAAY,SAAS9U,EAAOqF,EAAKyP,GACxCF,EAAOK,EAAajV,EAAO+U,EAAS/U,GAAQ8U,EAC9C,IACOG,CACT,C,kBClBA,IAAIgB,EAAkB1B,EAAQ,OAC1B2B,EAAmB3B,EAAQ,OAM3B3G,EAHcjR,OAAOwZ,UAGQvI,eAyB7B3I,EAAUiR,GAAiB,SAAS9Q,EAAQpF,EAAOqF,GACjDuI,EAAewI,KAAKhR,EAAQC,GAC9BD,EAAOC,GAAKqJ,KAAK1O,GAEjBiW,EAAgB7Q,EAAQC,EAAK,CAACrF,GAElC,IAEA0U,EAAOC,QAAU1P,C,kBCxCjB,IAAIwP,EAAeF,EAAQ,MACvB8B,EAAU9B,EAAQ,OA+BtBG,EAAOC,QANP,SAAeW,EAAOP,GACpB,OAAQO,GAASA,EAAMnV,OACnBkW,EAAQf,EAAOb,EAAaM,EAAU,IACtC,CACN,C,kBC9BA,IAAIuB,EAAa/B,EAAQ,OAWrByB,EAViBzB,EAAQ,MAUdgC,CAAeD,GAE9B5B,EAAOC,QAAUqB,C,4GC4GjBQ,EAAAA,EAAAA,QAAO,CACLC,KAAMzR,IAvHY,CAClB,CACE,SACA,IAAM,CACJ,CAAEhF,MAAO,IAAK2C,YAAa,UAC3B,CACE3C,MAAO,IACP2C,YAAa,YAInB,CACE,UACA,IAAM,CACJ,CAAEA,YAAa,eAAM3C,MAAO,KAC5B,CACE2C,YAAa,eACb3C,MAAO,OAIb,CACE,UACA,IAAM,CACJ,CAAE2C,YAAa,SAAK3C,MAAO,KAC3B,CACE2C,YAAa,SACb3C,MAAO,OAIb,CACE,YACA,IAAM,CACJ,CAAE2C,YAAa,2BAAQ3C,MAAO,4BAC9B,CACE2C,YAAa,2BACb3C,MAAO,4BAET,CAAE2C,YAAa,eAAM3C,MAAO,gBAC5B,CACE2C,YAAa,2BACb3C,MAAO,8BAIb,CACE,iBACA,IAAM,CACJ,CACEA,MAAO,EACP2C,YAAa,gBAEf,CACE3C,MAAO,EACP2C,YAAa,gBAEf,CACE3C,MAAO,EACP2C,YAAa,gBAEf,CACE3C,MAAO,EACP2C,YAAa,gBAEf,CACE3C,MAAO,EACP2C,YAAa,sBAEf,CACE3C,MAAO,EACP2C,YAAa,wBAInB,CACE,aACA,IAAM,CACJ,CACEA,YAAa,eACb3C,MAAO,IAET,CACE2C,YAAa,eACb3C,MAAO,IAET,CACE2C,YAAa,eACb3C,MAAO,IAET,CACE2C,YAAa,eACb3C,MAAO,IAET,CACE2C,YAAa,eACb3C,MAAO,IAET,CACE2C,YAAa,iCACb3C,MAAO,IAET,CACE2C,YAAa,iCACb3C,MAAO,IAET,CACE2C,YAAa,qBACb3C,MAAO,IAET,CACE2C,YAAa,2BACb3C,MAAO,SASX,CAACoF,EAAQpF,KACPoF,EAAOpF,EAAM,IAAMA,EAAM,EAAE,GAE7B,CAAC,I,gGC9HL,SAAgB,YAAY,gCAAgC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,YAAY,gCAAgC,kCAAkC,sDAAsD,wBAAwB,4CAA4C,yBAAyB,6CAA6C,UAAU,8BAA8B,WAAW,+BAA+B,oBAAoB,yC,0BCKliB,MAAM0W,EAAc,CAClBC,QAAS,UACTC,MAAO,CACLC,MAAO,UACPC,YAAa,WAEf1R,OAAQ,UACR2R,aAAc,UACdC,QAAS,UACTC,SAAU,UACVC,OAAQ,UACRC,KAAM,UACNvW,MAAO,WAGHgC,EAAW3J,IAQV,IARW,WAChBme,EAAU,KACVtU,EAAI,KACJ9E,EAAI,eACJqZ,EAAc,UACd1c,EAAS,WACT2c,KACG5a,GACJzD,EACC,MAAMse,GAAWxS,EAAAA,EAAAA,UACf,SAAAyS,EAAAC,EAAA,MAAO,CACLZ,OAAkB,OAAXH,QAAW,IAAXA,GAAmB,QAARc,EAAXd,EAAc1Y,UAAK,IAAAwZ,OAAR,EAAXA,EAAqBX,QAASH,EAAY1Y,GACjD8Y,aAAwB,OAAXJ,QAAW,IAAXA,GAAmB,QAARe,EAAXf,EAAc1Y,UAAK,IAAAyZ,OAAR,EAAXA,EAAqBX,cAAeJ,EAAY1Y,GAC9D,GACD,CAACA,IAGH,OACEV,EAAAA,EAAAA,MAACoa,EAAAA,MAAK,CACJ,cAAa,4BACb/c,UAAWK,IACTJ,EAAM,qBACG,iBAAToD,EAA0BpD,EAAM,mCAAqC,IAEvEoL,MAAM,SACN7C,KAAM,EAAEpI,SAAA,CAEPuc,GACCha,EAAAA,EAAAA,MAAA,QAAM3C,UAAWC,EAAM,yBAAyBG,SAAA,CAAEuc,EAAW,OAC3D,MACJ5c,EAAAA,EAAAA,KAACid,EAAAA,IAAG,CACFd,MAAOU,EAASV,SACZna,EACJ9B,MAAO,CACLgd,WAAYP,EAAiBE,EAASV,MAAQ,KAAO,OACrDA,MAAOU,EAASV,MAChBgB,OAAQT,EAAa,aAAaG,EAAST,cAAgB,QAE7Dnc,UAAWK,IACTJ,EAAM,aACND,EACS,WAATqD,EAAoBpD,EAAM,oBAAsB,GACvC,UAAToD,EAAmBpD,EAAM,mBAAqB,GAC9CA,EAAM,aAAaoD,KACnBqZ,EAAiBzc,EAAM,WAAa,GACpCwc,EAAaxc,EAAM,eAAiB,GAC/B,OAAL8B,QAAK,IAALA,GAAAA,EAAO2C,QAAUzE,EAAM,aAAe,IACtCG,UAEFL,EAAAA,EAAAA,KAAA,QAAMC,UAAWC,EAAM,YAAYG,SAAE+H,QAEjC,EAIZF,EAASpF,aAAe,CACtBqZ,MAAO,UACP7Y,KAAM,UACNoZ,YAAY,EACZC,gBAAgB,EAChBvU,KAAM,GACNnI,UAAW,IAGb,S,kLC/EA,MAAMmd,EAAeA,CAACpZ,EAAMsW,EAAM+C,KAC3BrZ,IAGD1B,MAAMkD,QAAQxB,GAChBA,EAAKxB,SAASC,IACZ2a,EAAa3a,EAAM6X,EAAM+C,EAAI,KAIjC/C,EAAKrY,OAAOC,OAAO,CAAC,EAAGiG,IAAKnE,EAAM,CAAC,aAAc,CAAEsZ,SAAUD,KAC7DD,EAAapZ,EAAK3D,SAAUia,EAAM+C,EAAMA,EAAM,IAAMrZ,EAAKmT,GAAKnT,EAAKmT,KAAG,EAGlEoG,EAAeC,KAASC,IAC5B,MAAMC,EAAa,MACjB,MAAMC,EAAS,IAAItJ,IAInB,OAHA+I,EAAaK,GAAUhb,IACrBkb,EAAO3Q,IAAIvK,EAAK6a,SAAW7a,EAAK6a,SAAW,IAAM7a,EAAK0U,GAAK1U,EAAK0U,GAAI1U,EAAK,IAEpEkb,CACR,EANkB,GAQbC,EAAW,CAAEF,GACVpb,MAAMC,KAAKmb,EAAWG,QAAQ1a,QAAQgU,IAC3C,MAAM1U,EAAOib,EAAWjT,IAAI0M,GAC5B,QACE7U,MAAMkD,QAAQ/C,EAAKqb,eACnBrb,EAAKqb,aAAarY,OAAS,GAC3BhD,EAAKqb,aAAaC,MAAMC,IACdN,EAAWjT,IAAI0M,KAE1B,IATY,CAWduG,GAEH,MAAO,CAAED,UAASG,WAAUF,aAAY,IAYpCO,EAAiBA,CAACC,EAAS3f,KAAgC,IAA9B,WAAEmf,EAAU,SAAEE,GAAUrf,EACzD,MAAM2R,EAASwN,EAAWjT,IAAIyT,GAC9B,OACmC,IAAjCN,EAAS/P,QAAQqQ,KACA,IAAjBhO,EAAOzG,OACPgB,IAAIyF,EAAQ,eAAgB,IAAIiO,OAAOhH,IACrC,MAAMiH,EAAqBV,EAAWjT,IAAIyT,GAC1C,OAAON,EAAS/P,QAAQsJ,IAAO,IAAkC,IAA7BiH,EAAmB3U,KAAc,GACrE,EAIA4U,GAAUC,EAAAA,EAAAA,eAAc,OAExB,SAAEC,GAAaF,EAERG,EAAkBrH,IAC7B,MAAM,SAAEyG,EAAQ,QAAEH,EAAO,WAAEC,EAAU,MAAEe,GA1BrBC,MAClB,MAAM5C,GAASjM,EAAAA,EAAAA,cACT,QAAE4N,EAAO,MAAEgB,GAAUhU,IAAIqR,EAAQ,WAAY,CACjD2C,OAAO,EACPhB,QAAS,CAAC,IAEZ,OAAOxb,OAAOC,OAAO,CAAC,EAAGqb,EAAaE,GAAU,CAAEgB,SAAQ,EAoBTC,GAC3CC,EAA4B,WAAjBlB,EAAQna,KAAoBma,EAAQtG,GAAK,OACpDmG,GAAWsB,EAAAA,EAAAA,YAAWP,GACtBH,EAAYZ,EAAWA,EAAW,IAAMnG,EAAKwH,EAAW,IAAMxH,EAYpE,OAXA7X,EAAAA,EAAAA,YAAU,KACJse,GAAYA,EAASnY,OAAS,GAAKgZ,GACrCI,QAAQC,IACN,eAAeZ,aAAqBD,EAAeC,EAAW,CAC5DN,WACAF,iBAEFA,EAAWjT,IAAIyT,GAEnB,GACC,CAACN,EAAUF,EAAYe,EAAOP,IAC1B,CACLa,SACI5H,GAAMyG,GAAYA,EAASnY,OAAS,IACtCwY,EAAeC,EAAW,CAAEN,WAAUF,eACxCQ,YACAc,QAAStB,EAAWjT,IAAIyT,GACzB,EAoBH,EAjBiBtd,IAAuB,IAAtB,GAAEuW,EAAE,SAAE9W,GAAUO,EAChC,MAAM,OAAEme,EAAM,QAAEC,EAAO,UAAEd,GAAcM,EAAerH,GACtD,OACEnX,EAAAA,EAAAA,KAACue,EAAQ,CAACjZ,MAAO4Y,EAAU7d,SACJ,oBAAbA,EACJA,EAAS,CACP0e,SACA9V,QAAS8V,EACLtU,IAAIuU,EAAS,WACbvU,IAAIuU,EAAS,mBACjBd,cAEFa,GAAU1e,GACL,C,kBC5Gf,IAAI4e,EAAUpF,EAAQ,MAkCtBG,EAAOC,QAJP,SAAaiF,EAAQC,EAAM7Z,GACzB,OAAiB,MAAV4Z,EAAiBA,EAASD,EAAQC,EAAQC,EAAM7Z,EACzD,C,YCTA0U,EAAOC,QAZP,SAAuBW,EAAOC,EAAWC,EAAWsE,GAIlD,IAHA,IAAI3Z,EAASmV,EAAMnV,OACfwG,EAAQ6O,GAAasE,EAAY,GAAK,GAElCA,EAAYnT,MAAYA,EAAQxG,GACtC,GAAIoV,EAAUD,EAAM3O,GAAQA,EAAO2O,GACjC,OAAO3O,EAGX,OAAQ,CACV,C,kBCrBA,IAAIoT,EAAcxF,EAAQ,MA+B1BG,EAAOC,QArBP,SAAwBqF,EAAUF,GAChC,OAAO,SAAShF,EAAYC,GAC1B,GAAkB,MAAdD,EACF,OAAOA,EAET,IAAKiF,EAAYjF,GACf,OAAOkF,EAASlF,EAAYC,GAM9B,IAJA,IAAI5U,EAAS2U,EAAW3U,OACpBwG,EAAQmT,EAAY3Z,GAAU,EAC9B8Z,EAAWtd,OAAOmY,IAEdgF,EAAYnT,MAAYA,EAAQxG,KACa,IAA/C4U,EAASkF,EAAStT,GAAQA,EAAOsT,KAIvC,OAAOnF,CACT,CACF,C,YCRAJ,EAAOC,QAXP,SAAyBW,EAAOV,EAAQG,EAAUE,GAIhD,IAHA,IAAItO,GAAS,EACTxG,EAAkB,MAATmV,EAAgB,EAAIA,EAAMnV,SAE9BwG,EAAQxG,GAAQ,CACvB,IAAIH,EAAQsV,EAAM3O,GAClBiO,EAAOK,EAAajV,EAAO+U,EAAS/U,GAAQsV,EAC9C,CACA,OAAOL,CACT,C,kBCnBA,IAAIiF,EAAW3F,EAAQ,OAmCvBG,EAAOC,QAPP,SAAmB3U,GACjB,IAAIoF,EAAS8U,EAASla,GAClBma,EAAY/U,EAAS,EAEzB,OAAOA,IAAWA,EAAU+U,EAAY/U,EAAS+U,EAAY/U,EAAU,CACzE,C,YCVAsP,EAAOC,QAdP,SAAiBW,EAAOP,GAKtB,IAJA,IAAI3P,EACAuB,GAAS,EACTxG,EAASmV,EAAMnV,SAEVwG,EAAQxG,GAAQ,CACvB,IAAIxG,EAAUob,EAASO,EAAM3O,SACb8O,IAAZ9b,IACFyL,OAAoBqQ,IAAXrQ,EAAuBzL,EAAWyL,EAASzL,EAExD,CACA,OAAOyL,CACT,C","sources":["webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js","../node_modules/lodash/_createAggregator.js","../node_modules/lodash/findLastIndex.js","common/utils/localStorage.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/_baseEach.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","components/Features/index.js","../node_modules/lodash/set.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_baseSum.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__QD+OP\",\"is-resize\":\"style_is-resize__ut6RW__QD+OP\",\"is-moving\":\"style_is-moving__BJ9wR__QD+OP\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__QD+OP\",\"is-computed\":\"style_is-computed__B9rIF__QD+OP\",\"options-column\":\"style_options-column__vsPTr__QD+OP\",\"options-btn\":\"style_options-btn__U3uoy__QD+OP\",\"tooltip\":\"style_tooltip__vJlkv__QD+OP\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__QD+OP\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__QD+OP\",\"columns-control\":\"style_columns-control__5-5ZF__QD+OP\",\"columns-control-content\":\"style_columns-control-content__MoeUI__QD+OP\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__QD+OP\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__QD+OP\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__QD+OP\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__QD+OP\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__QD+OP\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__QD+OP\",\"is-drag\":\"style_is-drag__U68aw__QD+OP\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__QD+OP\",\"sortable-drag\":\"style_sortable-drag__K5hWd__QD+OP\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__QD+OP\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__QD+OP\",\"sort-btn\":\"style_sort-btn__KvNLr__QD+OP\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__QD+OP\",\"sort-icon\":\"style_sort-icon__dB85I__QD+OP\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__QD+OP\"};","// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__QD+OP\",\"scroller-inner\":\"style_scroller-inner__NJSE0__QD+OP\",\"is-moving\":\"style_is-moving__jGuy0__QD+OP\"};","import { createPortal } from \"react-dom\";\nimport { useEffect, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst ScrollBar = ({ onScroll, getContainer, ...scrollerProps }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(moving);\n movingRef.current = moving;\n const onScrollRef = useRef(onScroll);\n onScrollRef.current = onScroll;\n const ratioRef = useRef(1);\n ratioRef.current = scrollerProps.width / scrollerProps.innerWidth;\n\n useEffect(() => {\n const moveHandler = (e) => {\n movingRef.current &&\n onScrollRef.current(ratioRef.current * (e.clientX - startRef.current));\n startRef.current = e.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener(\"mousemove\", moveHandler, true);\n document.addEventListener(\"mouseup\", upHandler, true);\n return () => {\n document.removeEventListener(\"mousemove\", moveHandler, true);\n document.removeEventListener(\"mouseup\", upHandler, true);\n };\n }, []);\n return createPortal(\n scrollerProps.hasScroller ? (\n <div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left,\n width: scrollerProps.width,\n height: 15, //scrollerProps.height\n }}\n >\n <div\n className={classnames(style[\"scroller-inner\"], {\n [style[\"is-moving\"]]: moving,\n })}\n style={{\n width: scrollerProps.innerWidth,\n left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>\n ) : null,\n getContainer() || document.body\n );\n};\n\nconst Scroller = ({ className, scroller, getScrollTarget, children }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0,\n width: 0,\n innerLeft: 0,\n innerWidth: 0,\n height: 0,\n hasScroller: false,\n });\n const ref = useRef(null);\n const getScrollEl = useRefCallback(() => {\n return ref.current && getScrollTarget(ref.current);\n });\n const getContainer = useRef();\n\n getContainer.current =\n typeof scroller === \"object\" && typeof scroller.getContainer === \"function\"\n ? scroller.getContainer\n : () => null;\n useEffect(() => {\n const container = getContainer.current() || document.documentElement;\n let scrollEl;\n const computed = () => {\n if (!scrollEl) {\n return;\n }\n const { left, width, top, height } = scrollEl.getBoundingClientRect();\n const scrollerHeight =\n scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth =\n (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft =\n (scrollEl.scrollLeft * scrollEl.clientWidth) / scrollEl.scrollWidth + 2;\n const containerRect = container.getBoundingClientRect();\n //console.log(endRef.current.vi);\n setScrollerProps((props) => {\n return Object.assign({}, props, {\n left,\n width,\n innerLeft,\n innerWidth,\n height: scrollerHeight,\n hasScroller:\n scrollEl.scrollWidth - scrollEl.clientWidth > 0 &&\n (container === document.documentElement\n ? top + height - container.offsetHeight > 0 &&\n top < container.offsetHeight\n : top < containerRect.top + containerRect.height &&\n top + height > containerRect.top + containerRect.height),\n });\n });\n };\n const resizeObserver = new ResizeObserver(computed);\n const refResizeObserver = new ResizeObserver(() => {\n scrollEl = getScrollEl();\n if (!scrollEl) {\n return;\n }\n resizeObserver.disconnect();\n computed();\n Array.from(scrollEl.children).forEach((item) => {\n resizeObserver.observe(item);\n });\n scrollEl.addEventListener(\"scroll\", computed);\n });\n\n refResizeObserver.observe(ref.current);\n\n window.addEventListener(\"scroll\", computed);\n container.addEventListener(\"scroll\", computed);\n return () => {\n window.removeEventListener(\"scroll\", computed);\n container.removeEventListener(\"scroll\", computed);\n };\n }, [getScrollEl]);\n if (!scroller) {\n return children;\n }\n return (\n <div\n className={classnames(style[\"scroller-outer\"], className)}\n ref={ref}\n style={{\n \"--scroller-bar-height\": scrollerProps?.hasScroller ? \"15px\" : \"0px\",\n }}\n >\n {children}\n <ScrollBar\n {...scrollerProps}\n getContainer={getContainer.current}\n onScroll={(x) => {\n const scrollEl = getScrollEl();\n scrollEl.scrollLeft += x;\n }}\n />\n </div>\n );\n};\n\nScroller.defaultProps = {\n scroller: true,\n getScrollTarget: () => document.querySelector(\".simplebar-content-wrapper\"),\n};\n\nexport default Scroller;\n","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__QD+OP\",\"tag\":\"columns_tag__bQZLG__QD+OP\",\"avatar\":\"columns_avatar__SLPI+__QD+OP\",\"hover\":\"columns_hover__oAwHg__QD+OP\",\"primary\":\"columns_primary__6KtaA__QD+OP\",\"loading\":\"columns_loading__gtBay__QD+OP\",\"options\":\"columns_options__WvDZD__QD+OP\"};","import { Button } from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list = [], width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list\n .filter((item) => !item?.hidden)\n .map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nconst Options = ({ list, ...props }) => {\n if (typeof list === \"function\") {\n return (\n <Fetch\n loader={list}\n render={({ data }) => {\n return <OptionsList {...props} list={data} />;\n }}\n />\n );\n }\n return <OptionsList {...props} list={list} />;\n};\n\nexport default Options;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n },\n typeof ellipsis === \"object\" ? ellipsis : {}\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n}) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis: presetTableServerApis } = usePreset();\n const tableServerApis = presetTableServerApis\n ? presetTableServerApis\n : tableLocalApis;\n\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey =\n typeof rowKey === \"function\"\n ? rowKey(prevRecord)\n : prevRecord[rowKey];\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !(\n itemKey === prevItemKey &&\n isEqual(record[column.name], prevRecord[column.name])\n )\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type || \"other\"],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = render;\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: Object.assign({}, item),\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n rowKey,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index, true);\n}\n\nmodule.exports = findLastIndex;\n","const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","var baseIteratee = require('./_baseIteratee'),\n baseSum = require('./_baseSum');\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, baseIteratee(iteratee, 2))\n : 0;\n}\n\nmodule.exports = sumBy;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","import { preset } from \"@kne/react-enum\";\nimport transform from \"lodash/transform\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\npreset({\n base: transform(\n baseLoaders,\n (result, value) => {\n result[value[0]] = value[1];\n },\n {}\n ),\n});\n\nexport { default } from \"@kne/react-enum\";\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__QD+OP\",\"state-result-tag\":\"style_state-result-tag__CssDz__QD+OP\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__QD+OP\",\"event-tag\":\"style_event-tag__cg6SE__QD+OP\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__QD+OP\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__QD+OP\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__QD+OP\",\"show-bg\":\"style_show-bg__OcL+R__QD+OP\",\"tag-text\":\"style_tag-text__JHCt+__QD+OP\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__QD+OP\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\",\n props?.onClick ? style[\"event-tag\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","import { createContext, useContext, useEffect } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport memoize from \"lodash/memoize\";\nimport omit from \"lodash/omit\";\n\nconst treeTraverse = (data, func, pId) => {\n if (!data) {\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((item) => {\n treeTraverse(item, func, pId);\n });\n return;\n }\n func(Object.assign({}, omit(data, [\"children\"]), { parentId: pId }));\n treeTraverse(data.children, func, pId ? pId + \":\" + data.id : data.id);\n};\n\nconst parseProfile = memoize((profile) => {\n const profileMap = (() => {\n const output = new Map();\n treeTraverse(profile, (item) => {\n output.set(item.parentId ? item.parentId + \":\" + item.id : item.id, item);\n });\n return output;\n })();\n\n const features = ((profileMap) => {\n return Array.from(profileMap.keys()).filter((id) => {\n const item = profileMap.get(id);\n return !(\n Array.isArray(item.dependencies) &&\n item.dependencies.length > 0 &&\n item.dependencies.some((depId) => {\n return !profileMap.get(id);\n })\n );\n });\n })(profileMap);\n\n return { profile, features, profileMap };\n});\n\nconst useFeatures = () => {\n const preset = usePreset();\n const { profile, debug } = get(preset, \"features\", {\n debug: false,\n profile: {},\n });\n return Object.assign({}, parseProfile(profile), { debug });\n};\n\nconst computedIsPaas = (currentId, { profileMap, features }) => {\n const target = profileMap.get(currentId);\n return (\n features.indexOf(currentId) !== -1 &&\n target.close !== true &&\n get(target, \"dependencies\", []).every((id) => {\n const dependenciesTarget = profileMap.get(currentId);\n return features.indexOf(id) > -1 && dependenciesTarget.close !== true;\n })\n );\n};\n\nconst context = createContext(null);\n\nconst { Provider } = context;\n\nexport const useFeatureCall = (id) => {\n const { features, profile, profileMap, debug } = useFeatures();\n const systemId = profile.type === \"system\" ? profile.id : \"root\";\n const parentId = useContext(context);\n const currentId = parentId ? parentId + \":\" + id : systemId + \":\" + id;\n useEffect(() => {\n if (features && features.length > 0 && debug) {\n console.log(\n `[featureId] ${currentId},[state] ${computedIsPaas(currentId, {\n features,\n profileMap,\n })}`,\n profileMap.get(currentId)\n );\n }\n }, [features, profileMap, debug, currentId]);\n return {\n isPass:\n !(id && features && features.length > 0) ||\n computedIsPaas(currentId, { features, profileMap }),\n currentId,\n feature: profileMap.get(currentId),\n };\n};\n\nconst Features = ({ id, children }) => {\n const { isPass, feature, currentId } = useFeatureCall(id);\n return (\n <Provider value={currentId}>\n {typeof children === \"function\"\n ? children({\n isPass,\n options: isPass\n ? get(feature, \"options\")\n : get(feature, \"rejectedOptions\"),\n currentId,\n })\n : isPass && children}\n </Provider>\n );\n};\n\nexport default Features;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","startRef","useRef","moving","setMoving","useState","movingRef","current","onScrollRef","ratioRef","width","innerWidth","useEffect","moveHandler","e","clientX","upHandler","document","addEventListener","removeEventListener","createPortal","hasScroller","_jsx","className","style","left","height","children","classnames","innerLeft","onMouseDown","preventDefault","body","Scroller","_ref2","scroller","getScrollTarget","setScrollerProps","ref","getScrollEl","useRefCallback","container","documentElement","scrollEl","computed","top","getBoundingClientRect","scrollerHeight","offsetHeight","clientHeight","clientWidth","scrollWidth","scrollLeft","containerRect","props","Object","assign","resizeObserver","ResizeObserver","disconnect","Array","from","forEach","item","observe","window","_jsxs","x","defaultProps","querySelector","OptionsList","list","ButtonGroup","filter","hidden","map","type","more","Button","icon","Icon","_ref3","Fetch","loader","render","_ref4","data","ellipsis","Typography","Text","tooltip","overlayClassName","ColItem","isEmpty","emptyRender","hover","primary","onClick","colValue","loading","setLoading","columnsStyle","Promise","resolve","colItem","event","finally","isColValueEmpty","value","emptyOf","isArray","length","values","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","Ellipsis","other","_ref17","columnTypes","date","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","Enum","name","moduleName","force","_ref11","description","StateTag","omit","text","avatar","_ref12","Image","Avatar","size","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","options","_ref16","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","onConfirm","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","useMemo","transform","groupBy","fixed","get","result","key","sort","a","b","renderColumn","_Fragment","titleText","title","groupHeader","join","Row","align","justify","Col","Tooltip","LoadingButton","async","defaultActiveKey","ghost","bordered","header","List","index","Item","Checkbox","checked","disabled","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","concat","col","set","handlerColumnsChange","animation","delayOnTouchStart","delay","stopPropagation","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","indexOf","renderItem","gutter","storageKey","getDataApi","localStorage","getItem","setDataFunc","setItem","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","placement","content","ColumnsControlContent","pick","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","usePreset","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","target","startTransition","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","isNil","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","slice","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","Map","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","useResize","el","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","AntdTable","_len","arguments","args","_key","pageData","locale","en-US","zh-CN","FeaturesColumnsConfig","id","Features","TablePageInner","withFetch","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","importMessages","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","params","fetchParams","arrayAggregator","require","baseAggregator","baseIteratee","module","exports","setter","initializer","collection","iteratee","func","accumulator","baseFindIndex","toInteger","nativeMax","nativeMin","array","predicate","fromIndex","undefined","dataType","JSON","parse","Number","Boolean","stringify","baseEach","baseAssignValue","createAggregator","prototype","call","baseSum","baseForOwn","createBaseEach","preset","base","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","danger","info","showBorder","showBackground","filterName","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Space","Tag","background","border","treeTraverse","pId","parentId","parseProfile","memoize","profile","profileMap","output","features","keys","dependencies","some","depId","computedIsPaas","currentId","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","console","log","isPass","feature","baseSet","object","path","fromRight","isArrayLike","eachFunc","iterable","toFinite","remainder"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/9791.4e9c3cc5.chunk.js","mappings":"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","sources":["webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/common/components/Scroller/style.module.scss?7480","common/components/Scroller/index.js","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js","../node_modules/lodash/_createAggregator.js","../node_modules/lodash/findLastIndex.js","common/utils/localStorage.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/groupBy.js","../node_modules/lodash/sumBy.js","../node_modules/lodash/_baseEach.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","components/Features/index.js","../node_modules/lodash/set.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_baseSum.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__rPt06\",\"is-resize\":\"style_is-resize__ut6RW__rPt06\",\"is-moving\":\"style_is-moving__BJ9wR__rPt06\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__rPt06\",\"is-computed\":\"style_is-computed__B9rIF__rPt06\",\"options-column\":\"style_options-column__vsPTr__rPt06\",\"options-btn\":\"style_options-btn__U3uoy__rPt06\",\"tooltip\":\"style_tooltip__vJlkv__rPt06\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__rPt06\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__rPt06\",\"columns-control\":\"style_columns-control__5-5ZF__rPt06\",\"columns-control-content\":\"style_columns-control-content__MoeUI__rPt06\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__rPt06\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__rPt06\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__rPt06\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__rPt06\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__rPt06\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__rPt06\",\"is-drag\":\"style_is-drag__U68aw__rPt06\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__rPt06\",\"sortable-drag\":\"style_sortable-drag__K5hWd__rPt06\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__rPt06\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__rPt06\",\"sort-btn\":\"style_sort-btn__KvNLr__rPt06\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__rPt06\",\"sort-icon\":\"style_sort-icon__dB85I__rPt06\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__rPt06\"};","// extracted by mini-css-extract-plugin\nexport default {\"scroller\":\"style_scroller__EfuqR__rPt06\",\"scroller-inner\":\"style_scroller-inner__NJSE0__rPt06\",\"is-moving\":\"style_is-moving__jGuy0__rPt06\"};","import { createPortal } from \"react-dom\";\nimport { useEffect, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst ScrollBar = ({ onScroll, getContainer, ...scrollerProps }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(moving);\n movingRef.current = moving;\n const onScrollRef = useRef(onScroll);\n onScrollRef.current = onScroll;\n const ratioRef = useRef(1);\n ratioRef.current = scrollerProps.width / scrollerProps.innerWidth;\n\n useEffect(() => {\n const moveHandler = (e) => {\n movingRef.current &&\n onScrollRef.current(ratioRef.current * (e.clientX - startRef.current));\n startRef.current = e.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener(\"mousemove\", moveHandler, true);\n document.addEventListener(\"mouseup\", upHandler, true);\n return () => {\n document.removeEventListener(\"mousemove\", moveHandler, true);\n document.removeEventListener(\"mouseup\", upHandler, true);\n };\n }, []);\n return createPortal(\n scrollerProps.hasScroller ? (\n <div\n className={style[\"scroller\"]}\n style={{\n left: scrollerProps.left,\n width: scrollerProps.width,\n height: 15, //scrollerProps.height\n }}\n >\n <div\n className={classnames(style[\"scroller-inner\"], {\n [style[\"is-moving\"]]: moving,\n })}\n style={{\n width: scrollerProps.innerWidth,\n left: scrollerProps.innerLeft,\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n startRef.current = e.clientX;\n setMoving(true);\n }}\n />\n </div>\n ) : null,\n getContainer() || document.body\n );\n};\n\nconst Scroller = ({ className, scroller, getScrollTarget, children }) => {\n const [scrollerProps, setScrollerProps] = useState({\n left: 0,\n width: 0,\n innerLeft: 0,\n innerWidth: 0,\n height: 0,\n hasScroller: false,\n });\n const ref = useRef(null);\n const getScrollEl = useRefCallback(() => {\n return ref.current && getScrollTarget(ref.current);\n });\n const getContainer = useRef();\n\n getContainer.current =\n typeof scroller === \"object\" && typeof scroller.getContainer === \"function\"\n ? scroller.getContainer\n : () => null;\n useEffect(() => {\n const container = getContainer.current() || document.documentElement;\n let scrollEl;\n const computed = () => {\n if (!scrollEl) {\n return;\n }\n const { left, width, top, height } = scrollEl.getBoundingClientRect();\n const scrollerHeight =\n scrollEl.offsetHeight - scrollEl.clientHeight || 15;\n const innerWidth =\n (width * scrollEl.clientWidth) / scrollEl.scrollWidth - 6;\n const innerLeft =\n (scrollEl.scrollLeft * scrollEl.clientWidth) / scrollEl.scrollWidth + 2;\n const containerRect = container.getBoundingClientRect();\n //console.log(endRef.current.vi);\n setScrollerProps((props) => {\n return Object.assign({}, props, {\n left,\n width,\n innerLeft,\n innerWidth,\n height: scrollerHeight,\n hasScroller:\n scrollEl.scrollWidth - scrollEl.clientWidth > 0 &&\n (container === document.documentElement\n ? top + height - container.offsetHeight > 0 &&\n top < container.offsetHeight\n : top < containerRect.top + containerRect.height &&\n top + height > containerRect.top + containerRect.height),\n });\n });\n };\n const resizeObserver = new ResizeObserver(computed);\n const refResizeObserver = new ResizeObserver(() => {\n scrollEl = getScrollEl();\n if (!scrollEl) {\n return;\n }\n resizeObserver.disconnect();\n computed();\n Array.from(scrollEl.children).forEach((item) => {\n resizeObserver.observe(item);\n });\n scrollEl.addEventListener(\"scroll\", computed);\n });\n\n refResizeObserver.observe(ref.current);\n\n window.addEventListener(\"scroll\", computed);\n container.addEventListener(\"scroll\", computed);\n return () => {\n window.removeEventListener(\"scroll\", computed);\n container.removeEventListener(\"scroll\", computed);\n };\n }, [getScrollEl]);\n if (!scroller) {\n return children;\n }\n return (\n <div\n className={classnames(style[\"scroller-outer\"], className)}\n ref={ref}\n style={{\n \"--scroller-bar-height\": scrollerProps?.hasScroller ? \"15px\" : \"0px\",\n }}\n >\n {children}\n <ScrollBar\n {...scrollerProps}\n getContainer={getContainer.current}\n onScroll={(x) => {\n const scrollEl = getScrollEl();\n scrollEl.scrollLeft += x;\n }}\n />\n </div>\n );\n};\n\nScroller.defaultProps = {\n scroller: true,\n getScrollTarget: () => document.querySelector(\".simplebar-content-wrapper\"),\n};\n\nexport default Scroller;\n","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__rPt06\",\"tag\":\"columns_tag__bQZLG__rPt06\",\"avatar\":\"columns_avatar__SLPI+__rPt06\",\"hover\":\"columns_hover__oAwHg__rPt06\",\"primary\":\"columns_primary__6KtaA__rPt06\",\"loading\":\"columns_loading__gtBay__rPt06\",\"options\":\"columns_options__WvDZD__rPt06\"};","import { Button } from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list = [], width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list\n .filter((item) => !item?.hidden)\n .map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nconst Options = ({ list, ...props }) => {\n if (typeof list === \"function\") {\n return (\n <Fetch\n loader={list}\n render={({ data }) => {\n return <OptionsList {...props} list={data} />;\n }}\n />\n );\n }\n return <OptionsList {...props} list={list} />;\n};\n\nexport default Options;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n },\n typeof ellipsis === \"object\" ? ellipsis : {}\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n}) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis: presetTableServerApis } = usePreset();\n const tableServerApis = presetTableServerApis\n ? presetTableServerApis\n : tableLocalApis;\n\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey =\n typeof rowKey === \"function\"\n ? rowKey(prevRecord)\n : prevRecord[rowKey];\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !(\n itemKey === prevItemKey &&\n isEqual(record[column.name], prevRecord[column.name])\n )\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type || \"other\"],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = render;\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: Object.assign({}, item),\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n rowKey,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index, true);\n}\n\nmodule.exports = findLastIndex;\n","const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","var baseIteratee = require('./_baseIteratee'),\n baseSum = require('./_baseSum');\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, baseIteratee(iteratee, 2))\n : 0;\n}\n\nmodule.exports = sumBy;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","import { preset } from \"@kne/react-enum\";\nimport transform from \"lodash/transform\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\npreset({\n base: transform(\n baseLoaders,\n (result, value) => {\n result[value[0]] = value[1];\n },\n {}\n ),\n});\n\nexport { default } from \"@kne/react-enum\";\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__rPt06\",\"state-result-tag\":\"style_state-result-tag__CssDz__rPt06\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__rPt06\",\"event-tag\":\"style_event-tag__cg6SE__rPt06\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__rPt06\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__rPt06\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__rPt06\",\"show-bg\":\"style_show-bg__OcL+R__rPt06\",\"tag-text\":\"style_tag-text__JHCt+__rPt06\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__rPt06\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\",\n props?.onClick ? style[\"event-tag\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","import { createContext, useContext, useEffect } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport memoize from \"lodash/memoize\";\nimport omit from \"lodash/omit\";\n\nconst treeTraverse = (data, func, pId) => {\n if (!data) {\n return;\n }\n if (Array.isArray(data)) {\n data.forEach((item) => {\n treeTraverse(item, func, pId);\n });\n return;\n }\n func(Object.assign({}, omit(data, [\"children\"]), { parentId: pId }));\n treeTraverse(data.children, func, pId ? pId + \":\" + data.id : data.id);\n};\n\nconst parseProfile = memoize((profile) => {\n const profileMap = (() => {\n const output = new Map();\n treeTraverse(profile, (item) => {\n output.set(item.parentId ? item.parentId + \":\" + item.id : item.id, item);\n });\n return output;\n })();\n\n const features = ((profileMap) => {\n return Array.from(profileMap.keys()).filter((id) => {\n const item = profileMap.get(id);\n return !(\n Array.isArray(item.dependencies) &&\n item.dependencies.length > 0 &&\n item.dependencies.some((depId) => {\n return !profileMap.get(id);\n })\n );\n });\n })(profileMap);\n\n return { profile, features, profileMap };\n});\n\nconst useFeatures = () => {\n const preset = usePreset();\n const { profile, debug } = get(preset, \"features\", {\n debug: false,\n profile: {},\n });\n return Object.assign({}, parseProfile(profile), { debug });\n};\n\nconst computedIsPaas = (currentId, { profileMap, features }) => {\n const target = profileMap.get(currentId);\n return (\n features.indexOf(currentId) !== -1 &&\n target.close !== true &&\n get(target, \"dependencies\", []).every((id) => {\n const dependenciesTarget = profileMap.get(currentId);\n return features.indexOf(id) > -1 && dependenciesTarget.close !== true;\n })\n );\n};\n\nconst context = createContext(null);\n\nconst { Provider } = context;\n\nexport const useFeatureCall = (id) => {\n const { features, profile, profileMap, debug } = useFeatures();\n const systemId = profile.type === \"system\" ? profile.id : \"root\";\n const parentId = useContext(context);\n const currentId = parentId ? parentId + \":\" + id : systemId + \":\" + id;\n useEffect(() => {\n if (features && features.length > 0 && debug) {\n console.log(\n `[featureId] ${currentId},[state] ${computedIsPaas(currentId, {\n features,\n profileMap,\n })}`,\n profileMap.get(currentId)\n );\n }\n }, [features, profileMap, debug, currentId]);\n return {\n isPass:\n !(id && features && features.length > 0) ||\n computedIsPaas(currentId, { features, profileMap }),\n currentId,\n feature: profileMap.get(currentId),\n };\n};\n\nconst Features = ({ id, children }) => {\n const { isPass, feature, currentId } = useFeatureCall(id);\n return (\n <Provider value={currentId}>\n {typeof children === \"function\"\n ? children({\n isPass,\n options: isPass\n ? get(feature, \"options\")\n : get(feature, \"rejectedOptions\"),\n currentId,\n })\n : isPass && children}\n </Provider>\n );\n};\n\nexport default Features;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n"],"names":["ScrollBar","_ref","onScroll","getContainer","scrollerProps","startRef","useRef","moving","setMoving","useState","movingRef","current","onScrollRef","ratioRef","width","innerWidth","useEffect","moveHandler","e","clientX","upHandler","document","addEventListener","removeEventListener","createPortal","hasScroller","_jsx","className","style","left","height","children","classnames","innerLeft","onMouseDown","preventDefault","body","Scroller","_ref2","scroller","getScrollTarget","setScrollerProps","ref","getScrollEl","useRefCallback","container","documentElement","scrollEl","computed","top","getBoundingClientRect","scrollerHeight","offsetHeight","clientHeight","clientWidth","scrollWidth","scrollLeft","containerRect","props","Object","assign","resizeObserver","ResizeObserver","disconnect","Array","from","forEach","item","observe","window","_jsxs","x","defaultProps","querySelector","OptionsList","list","ButtonGroup","filter","hidden","map","type","more","Button","icon","Icon","_ref3","Fetch","loader","render","_ref4","data","ellipsis","Typography","Text","tooltip","overlayClassName","ColItem","isEmpty","emptyRender","hover","primary","onClick","colValue","loading","setLoading","columnsStyle","Promise","resolve","colItem","event","finally","isColValueEmpty","value","emptyOf","isArray","length","values","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","Ellipsis","other","_ref17","columnTypes","date","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","Enum","name","moduleName","force","_ref11","description","StateTag","omit","text","avatar","_ref12","Image","Avatar","size","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","options","_ref16","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","onConfirm","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","useMemo","transform","groupBy","fixed","get","result","key","sort","a","b","renderColumn","_Fragment","titleText","title","groupHeader","join","Row","align","justify","Col","Tooltip","LoadingButton","async","defaultActiveKey","ghost","bordered","header","List","index","Item","Checkbox","checked","disabled","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","concat","col","set","handlerColumnsChange","animation","delayOnTouchStart","delay","stopPropagation","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","indexOf","renderItem","gutter","storageKey","getDataApi","localStorage","getItem","setDataFunc","setItem","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","placement","content","ColumnsControlContent","pick","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","usePreset","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","target","startTransition","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","isNil","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","slice","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","Map","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","useResize","el","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","AntdTable","_len","arguments","args","_key","pageData","locale","en-US","zh-CN","FeaturesColumnsConfig","id","Features","TablePageInner","withFetch","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","importMessages","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","params","fetchParams","arrayAggregator","require","baseAggregator","baseIteratee","module","exports","setter","initializer","collection","iteratee","func","accumulator","baseFindIndex","toInteger","nativeMax","nativeMin","array","predicate","fromIndex","undefined","dataType","JSON","parse","Number","Boolean","stringify","baseEach","baseAssignValue","createAggregator","prototype","call","baseSum","baseForOwn","createBaseEach","preset","base","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","danger","info","showBorder","showBackground","filterName","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Space","Tag","background","border","treeTraverse","pId","parentId","parseProfile","memoize","profile","profileMap","output","features","keys","dependencies","some","depId","computedIsPaas","currentId","every","dependenciesTarget","context","createContext","Provider","useFeatureCall","debug","useFeatures","systemId","useContext","console","log","isPass","feature","baseSet","object","path","fromRight","isArrayLike","eachFunc","iterable","toFinite","remainder"],"sourceRoot":""}