firefly-portal-web 1.0.0

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 (354) hide show
  1. package/README.md +132 -0
  2. package/dist-lib/Empower-789f2826.mjs +94 -0
  3. package/dist-lib/Empower-789f2826.mjs.map +1 -0
  4. package/dist-lib/Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs +134 -0
  5. package/dist-lib/Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs.map +1 -0
  6. package/dist-lib/Field-40d74a96.mjs +94 -0
  7. package/dist-lib/Field-40d74a96.mjs.map +1 -0
  8. package/dist-lib/Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs +148 -0
  9. package/dist-lib/Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs.map +1 -0
  10. package/dist-lib/FieldForm-a5d4038b.mjs +93 -0
  11. package/dist-lib/FieldForm-a5d4038b.mjs.map +1 -0
  12. package/dist-lib/FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs +160 -0
  13. package/dist-lib/FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs.map +1 -0
  14. package/dist-lib/Form-06ee1b64.mjs +97 -0
  15. package/dist-lib/Form-06ee1b64.mjs.map +1 -0
  16. package/dist-lib/Form-15a7f801.mjs +95 -0
  17. package/dist-lib/Form-15a7f801.mjs.map +1 -0
  18. package/dist-lib/Form-465fe45d.mjs +237 -0
  19. package/dist-lib/Form-465fe45d.mjs.map +1 -0
  20. package/dist-lib/Form-6e6a6a0d.mjs +94 -0
  21. package/dist-lib/Form-6e6a6a0d.mjs.map +1 -0
  22. package/dist-lib/Form-a61f1446.mjs +93 -0
  23. package/dist-lib/Form-a61f1446.mjs.map +1 -0
  24. package/dist-lib/Form-aeafea39.mjs +93 -0
  25. package/dist-lib/Form-aeafea39.mjs.map +1 -0
  26. package/dist-lib/Form-b0b8b1f3.mjs +94 -0
  27. package/dist-lib/Form-b0b8b1f3.mjs.map +1 -0
  28. package/dist-lib/Form-b2915cd3.mjs +95 -0
  29. package/dist-lib/Form-b2915cd3.mjs.map +1 -0
  30. package/dist-lib/Form-b2ce5535.mjs +93 -0
  31. package/dist-lib/Form-b2ce5535.mjs.map +1 -0
  32. package/dist-lib/Form-ca6e92bd.mjs +421 -0
  33. package/dist-lib/Form-ca6e92bd.mjs.map +1 -0
  34. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-039f5c88.mjs +101 -0
  35. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-039f5c88.mjs.map +1 -0
  36. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-1883a047.mjs +91 -0
  37. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-1883a047.mjs.map +1 -0
  38. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-5fbc0f96.mjs +302 -0
  39. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-5fbc0f96.mjs.map +1 -0
  40. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-61497691.mjs +181 -0
  41. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-61497691.mjs.map +1 -0
  42. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-69cc4bfc.mjs +94 -0
  43. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-69cc4bfc.mjs.map +1 -0
  44. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-a3d7f865.mjs +263 -0
  45. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-a3d7f865.mjs.map +1 -0
  46. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-ae83b1bb.mjs +104 -0
  47. package/dist-lib/Form.vue_vue_type_script_setup_true_lang-ae83b1bb.mjs.map +1 -0
  48. package/dist-lib/Form.vue_vue_type_style_index_0_lang-f240a568.mjs +838 -0
  49. package/dist-lib/Form.vue_vue_type_style_index_0_lang-f240a568.mjs.map +1 -0
  50. package/dist-lib/Info-e9cb4268.mjs +747 -0
  51. package/dist-lib/Info-e9cb4268.mjs.map +1 -0
  52. package/dist-lib/Log-b1cc7014.mjs +94 -0
  53. package/dist-lib/Log-b1cc7014.mjs.map +1 -0
  54. package/dist-lib/Log.vue_vue_type_script_setup_true_lang-0ba0615b.mjs +93 -0
  55. package/dist-lib/Log.vue_vue_type_script_setup_true_lang-0ba0615b.mjs.map +1 -0
  56. package/dist-lib/Login-fc04d844.mjs +109 -0
  57. package/dist-lib/Login-fc04d844.mjs.map +1 -0
  58. package/dist-lib/LoginForm-eafdf0bc.mjs +93 -0
  59. package/dist-lib/LoginForm-eafdf0bc.mjs.map +1 -0
  60. package/dist-lib/LoginForm.vue_vue_type_script_setup_true_lang-2a241386.mjs +202 -0
  61. package/dist-lib/LoginForm.vue_vue_type_script_setup_true_lang-2a241386.mjs.map +1 -0
  62. package/dist-lib/PageExplainModal-efbb4616.mjs +140 -0
  63. package/dist-lib/PageExplainModal-efbb4616.mjs.map +1 -0
  64. package/dist-lib/Preview-531e9361.mjs +93 -0
  65. package/dist-lib/Preview-531e9361.mjs.map +1 -0
  66. package/dist-lib/Preview-6086e84b.mjs +93 -0
  67. package/dist-lib/Preview-6086e84b.mjs.map +1 -0
  68. package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-0013b21d.mjs +137 -0
  69. package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-0013b21d.mjs.map +1 -0
  70. package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-815bfd98.mjs +67 -0
  71. package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-815bfd98.mjs.map +1 -0
  72. package/dist-lib/TableAction-fcabc30c.mjs +114 -0
  73. package/dist-lib/TableAction-fcabc30c.mjs.map +1 -0
  74. package/dist-lib/UserSelect-4e259116.mjs +94 -0
  75. package/dist-lib/UserSelect-4e259116.mjs.map +1 -0
  76. package/dist-lib/UserSelect.vue_vue_type_script_setup_true_lang-aa25c5fc.mjs +282 -0
  77. package/dist-lib/UserSelect.vue_vue_type_script_setup_true_lang-aa25c5fc.mjs.map +1 -0
  78. package/dist-lib/cdn/socials/dingtalk.png +0 -0
  79. package/dist-lib/cdn/socials/feishu.png +0 -0
  80. package/dist-lib/cdn/socials/gitHub.png +0 -0
  81. package/dist-lib/cdn/socials/qq.png +0 -0
  82. package/dist-lib/cdn/socials/wechat_open.png +0 -0
  83. package/dist-lib/cdn/socials/wxWork.png +0 -0
  84. package/dist-lib/commonFields-5ff2332b.mjs +24 -0
  85. package/dist-lib/commonFields-5ff2332b.mjs.map +1 -0
  86. package/dist-lib/css/fonts/ym/iconfont.css +2419 -0
  87. package/dist-lib/css/fonts/ym/iconfont.ttf +0 -0
  88. package/dist-lib/css/fonts/ym/iconfont.woff +0 -0
  89. package/dist-lib/css/fonts/ym/iconfont.woff2 +0 -0
  90. package/dist-lib/css/fonts/ym-custom/iconfont.css +7203 -0
  91. package/dist-lib/css/fonts/ym-custom/iconfont.ttf +0 -0
  92. package/dist-lib/css/fonts/ym-custom/iconfont.woff +0 -0
  93. package/dist-lib/css/fonts/ym-custom/iconfont.woff2 +0 -0
  94. package/dist-lib/css/index.css +135 -0
  95. package/dist-lib/css/print-lock.css +352 -0
  96. package/dist-lib/emtryImg-85b013aa.mjs +5 -0
  97. package/dist-lib/emtryImg-85b013aa.mjs.map +1 -0
  98. package/dist-lib/en_US-6b59f0a7.mjs +774 -0
  99. package/dist-lib/en_US-6b59f0a7.mjs.map +1 -0
  100. package/dist-lib/favicon.ico +0 -0
  101. package/dist-lib/firefly-portal-preview.css +1 -0
  102. package/dist-lib/firefly-portal-preview.d.ts +82 -0
  103. package/dist-lib/firefly-portal-preview.es.js +92 -0
  104. package/dist-lib/firefly-portal-preview.es.js.map +1 -0
  105. package/dist-lib/firefly-portal-preview.umd.js +79 -0
  106. package/dist-lib/firefly-portal-preview.umd.js.map +1 -0
  107. package/dist-lib/formValidate-33d5595a.mjs +68 -0
  108. package/dist-lib/formValidate-33d5595a.mjs.map +1 -0
  109. package/dist-lib/index-1a090e82.mjs +173 -0
  110. package/dist-lib/index-1a090e82.mjs.map +1 -0
  111. package/dist-lib/index-28ba2ea1.mjs +154 -0
  112. package/dist-lib/index-28ba2ea1.mjs.map +1 -0
  113. package/dist-lib/index-29f92d0d.mjs +130 -0
  114. package/dist-lib/index-29f92d0d.mjs.map +1 -0
  115. package/dist-lib/index-2c2c19d4.mjs +160 -0
  116. package/dist-lib/index-2c2c19d4.mjs.map +1 -0
  117. package/dist-lib/index-2f898c1f.mjs +103 -0
  118. package/dist-lib/index-2f898c1f.mjs.map +1 -0
  119. package/dist-lib/index-3462ba0d.mjs +139 -0
  120. package/dist-lib/index-3462ba0d.mjs.map +1 -0
  121. package/dist-lib/index-3ebbb3a9.mjs +97 -0
  122. package/dist-lib/index-3ebbb3a9.mjs.map +1 -0
  123. package/dist-lib/index-436ec82c.mjs +145 -0
  124. package/dist-lib/index-436ec82c.mjs.map +1 -0
  125. package/dist-lib/index-44e8def1.mjs +267 -0
  126. package/dist-lib/index-44e8def1.mjs.map +1 -0
  127. package/dist-lib/index-47596f01.mjs +144 -0
  128. package/dist-lib/index-47596f01.mjs.map +1 -0
  129. package/dist-lib/index-5888a3a4.mjs +226 -0
  130. package/dist-lib/index-5888a3a4.mjs.map +1 -0
  131. package/dist-lib/index-58fb457c.mjs +179 -0
  132. package/dist-lib/index-58fb457c.mjs.map +1 -0
  133. package/dist-lib/index-5b8b1ba9.mjs +119766 -0
  134. package/dist-lib/index-5b8b1ba9.mjs.map +1 -0
  135. package/dist-lib/index-687fd3de.mjs +396 -0
  136. package/dist-lib/index-687fd3de.mjs.map +1 -0
  137. package/dist-lib/index-6eca8dab.mjs +135 -0
  138. package/dist-lib/index-6eca8dab.mjs.map +1 -0
  139. package/dist-lib/index-73df4468.mjs +187 -0
  140. package/dist-lib/index-73df4468.mjs.map +1 -0
  141. package/dist-lib/index-7ae97180.mjs +597 -0
  142. package/dist-lib/index-7ae97180.mjs.map +1 -0
  143. package/dist-lib/index-8374b2f2.mjs +354 -0
  144. package/dist-lib/index-8374b2f2.mjs.map +1 -0
  145. package/dist-lib/index-89a27c27.mjs +255 -0
  146. package/dist-lib/index-89a27c27.mjs.map +1 -0
  147. package/dist-lib/index-9263cd45.mjs +482 -0
  148. package/dist-lib/index-9263cd45.mjs.map +1 -0
  149. package/dist-lib/index-934ca5d0.mjs +93 -0
  150. package/dist-lib/index-934ca5d0.mjs.map +1 -0
  151. package/dist-lib/index-97081729.mjs +269 -0
  152. package/dist-lib/index-97081729.mjs.map +1 -0
  153. package/dist-lib/index-9dec931e.mjs +145 -0
  154. package/dist-lib/index-9dec931e.mjs.map +1 -0
  155. package/dist-lib/index-9fc40c89.mjs +298 -0
  156. package/dist-lib/index-9fc40c89.mjs.map +1 -0
  157. package/dist-lib/index-a57664c9.mjs +204 -0
  158. package/dist-lib/index-a57664c9.mjs.map +1 -0
  159. package/dist-lib/index-a83288bf.mjs +180 -0
  160. package/dist-lib/index-a83288bf.mjs.map +1 -0
  161. package/dist-lib/index-adf15a9e.mjs +392 -0
  162. package/dist-lib/index-adf15a9e.mjs.map +1 -0
  163. package/dist-lib/index-b5b20206.mjs +617 -0
  164. package/dist-lib/index-b5b20206.mjs.map +1 -0
  165. package/dist-lib/index-b6f446cf.mjs +92 -0
  166. package/dist-lib/index-b6f446cf.mjs.map +1 -0
  167. package/dist-lib/index-b9e3947c.mjs +156 -0
  168. package/dist-lib/index-b9e3947c.mjs.map +1 -0
  169. package/dist-lib/index-bde150fa.mjs +261 -0
  170. package/dist-lib/index-bde150fa.mjs.map +1 -0
  171. package/dist-lib/index-be097ef0.mjs +188 -0
  172. package/dist-lib/index-be097ef0.mjs.map +1 -0
  173. package/dist-lib/index-bff033bc.mjs +563 -0
  174. package/dist-lib/index-bff033bc.mjs.map +1 -0
  175. package/dist-lib/index-c4d74c6c.mjs +258 -0
  176. package/dist-lib/index-c4d74c6c.mjs.map +1 -0
  177. package/dist-lib/index-c708e214.mjs +96 -0
  178. package/dist-lib/index-c708e214.mjs.map +1 -0
  179. package/dist-lib/index-d936d570.mjs +191 -0
  180. package/dist-lib/index-d936d570.mjs.map +1 -0
  181. package/dist-lib/index-da857153.mjs +223 -0
  182. package/dist-lib/index-da857153.mjs.map +1 -0
  183. package/dist-lib/index.vue_vue_type_script_setup_true_lang-0eb8f454.mjs +136 -0
  184. package/dist-lib/index.vue_vue_type_script_setup_true_lang-0eb8f454.mjs.map +1 -0
  185. package/dist-lib/index.vue_vue_type_script_setup_true_lang-10a915e2.mjs +137 -0
  186. package/dist-lib/index.vue_vue_type_script_setup_true_lang-10a915e2.mjs.map +1 -0
  187. package/dist-lib/index.vue_vue_type_script_setup_true_lang-570dd942.mjs +131 -0
  188. package/dist-lib/index.vue_vue_type_script_setup_true_lang-570dd942.mjs.map +1 -0
  189. package/dist-lib/interfaceOauth-bb8e782e.mjs +40 -0
  190. package/dist-lib/interfaceOauth-bb8e782e.mjs.map +1 -0
  191. package/dist-lib/preview-e588e33c.mjs +194 -0
  192. package/dist-lib/preview-e588e33c.mjs.map +1 -0
  193. package/dist-lib/resource/emoji/100.gif +0 -0
  194. package/dist-lib/resource/emoji/101.gif +0 -0
  195. package/dist-lib/resource/emoji/102.gif +0 -0
  196. package/dist-lib/resource/emoji/103.gif +0 -0
  197. package/dist-lib/resource/emoji/104.gif +0 -0
  198. package/dist-lib/resource/emoji/105.gif +0 -0
  199. package/dist-lib/resource/emoji/106.gif +0 -0
  200. package/dist-lib/resource/emoji/107.gif +0 -0
  201. package/dist-lib/resource/emoji/108.gif +0 -0
  202. package/dist-lib/resource/emoji/109.gif +0 -0
  203. package/dist-lib/resource/emoji/110.gif +0 -0
  204. package/dist-lib/resource/emoji/111.gif +0 -0
  205. package/dist-lib/resource/emoji/112.gif +0 -0
  206. package/dist-lib/resource/emoji/113.gif +0 -0
  207. package/dist-lib/resource/emoji/114.gif +0 -0
  208. package/dist-lib/resource/emoji/115.gif +0 -0
  209. package/dist-lib/resource/emoji/116.gif +0 -0
  210. package/dist-lib/resource/emoji/117.gif +0 -0
  211. package/dist-lib/resource/emoji/118.gif +0 -0
  212. package/dist-lib/resource/emoji/119.gif +0 -0
  213. package/dist-lib/resource/emoji/120.gif +0 -0
  214. package/dist-lib/resource/emoji/121.gif +0 -0
  215. package/dist-lib/resource/emoji/122.gif +0 -0
  216. package/dist-lib/resource/emoji/123.gif +0 -0
  217. package/dist-lib/resource/emoji/124.gif +0 -0
  218. package/dist-lib/resource/emoji/125.gif +0 -0
  219. package/dist-lib/resource/emoji/126.gif +0 -0
  220. package/dist-lib/resource/emoji/127.gif +0 -0
  221. package/dist-lib/resource/emoji/128.gif +0 -0
  222. package/dist-lib/resource/emoji/129.gif +0 -0
  223. package/dist-lib/resource/emoji/130.gif +0 -0
  224. package/dist-lib/resource/emoji/131.gif +0 -0
  225. package/dist-lib/resource/emoji/132.gif +0 -0
  226. package/dist-lib/resource/emoji/133.gif +0 -0
  227. package/dist-lib/resource/emoji/134.gif +0 -0
  228. package/dist-lib/resource/emoji/135.gif +0 -0
  229. package/dist-lib/resource/emoji/136.gif +0 -0
  230. package/dist-lib/resource/emoji/137.gif +0 -0
  231. package/dist-lib/resource/emoji/138.gif +0 -0
  232. package/dist-lib/resource/emoji/139.gif +0 -0
  233. package/dist-lib/resource/emoji/140.gif +0 -0
  234. package/dist-lib/resource/emoji/141.gif +0 -0
  235. package/dist-lib/resource/emoji/142.gif +0 -0
  236. package/dist-lib/resource/emoji/143.gif +0 -0
  237. package/dist-lib/resource/emoji/144.gif +0 -0
  238. package/dist-lib/resource/emoji/145.gif +0 -0
  239. package/dist-lib/resource/emoji/146.gif +0 -0
  240. package/dist-lib/resource/emoji/147.gif +0 -0
  241. package/dist-lib/resource/emoji/148.gif +0 -0
  242. package/dist-lib/resource/emoji/149.gif +0 -0
  243. package/dist-lib/resource/emoji/150.gif +0 -0
  244. package/dist-lib/resource/emoji/151.gif +0 -0
  245. package/dist-lib/resource/emoji/152.gif +0 -0
  246. package/dist-lib/resource/emoji/153.gif +0 -0
  247. package/dist-lib/resource/emoji/154.gif +0 -0
  248. package/dist-lib/resource/emoji/155.gif +0 -0
  249. package/dist-lib/resource/emoji/156.gif +0 -0
  250. package/dist-lib/resource/emoji/157.gif +0 -0
  251. package/dist-lib/resource/emoji/158.gif +0 -0
  252. package/dist-lib/resource/emoji/159.gif +0 -0
  253. package/dist-lib/resource/emoji/160.gif +0 -0
  254. package/dist-lib/resource/emoji/161.gif +0 -0
  255. package/dist-lib/resource/emoji/162.gif +0 -0
  256. package/dist-lib/resource/emoji/163.gif +0 -0
  257. package/dist-lib/resource/emoji/164.gif +0 -0
  258. package/dist-lib/resource/emoji/165.gif +0 -0
  259. package/dist-lib/resource/emoji/166.gif +0 -0
  260. package/dist-lib/resource/emoji/167.gif +0 -0
  261. package/dist-lib/resource/emoji/168.gif +0 -0
  262. package/dist-lib/resource/emoji/169.gif +0 -0
  263. package/dist-lib/resource/emoji/170.gif +0 -0
  264. package/dist-lib/resource/emoji/171.gif +0 -0
  265. package/dist-lib/resource/emoji/172.gif +0 -0
  266. package/dist-lib/resource/emoji/173.gif +0 -0
  267. package/dist-lib/resource/emoji/174.gif +0 -0
  268. package/dist-lib/resource/emoji/175.gif +0 -0
  269. package/dist-lib/resource/emoji/176.gif +0 -0
  270. package/dist-lib/resource/emoji/177.gif +0 -0
  271. package/dist-lib/resource/emoji/178.gif +0 -0
  272. package/dist-lib/resource/emoji/179.gif +0 -0
  273. package/dist-lib/resource/emoji/180.gif +0 -0
  274. package/dist-lib/resource/emoji/181.gif +0 -0
  275. package/dist-lib/resource/emoji/182.gif +0 -0
  276. package/dist-lib/resource/emoji/183.gif +0 -0
  277. package/dist-lib/resource/emoji/184.gif +0 -0
  278. package/dist-lib/resource/emoji/185.gif +0 -0
  279. package/dist-lib/resource/emoji/186.gif +0 -0
  280. package/dist-lib/resource/emoji/187.gif +0 -0
  281. package/dist-lib/resource/emoji/188.gif +0 -0
  282. package/dist-lib/resource/emoji/189.gif +0 -0
  283. package/dist-lib/resource/emoji/190.gif +0 -0
  284. package/dist-lib/resource/emoji/191.gif +0 -0
  285. package/dist-lib/resource/emoji/192.gif +0 -0
  286. package/dist-lib/resource/emoji/193.gif +0 -0
  287. package/dist-lib/resource/emoji/194.gif +0 -0
  288. package/dist-lib/resource/emoji/195.gif +0 -0
  289. package/dist-lib/resource/emoji/196.gif +0 -0
  290. package/dist-lib/resource/emoji/197.gif +0 -0
  291. package/dist-lib/resource/emoji/198.gif +0 -0
  292. package/dist-lib/resource/emoji/199.gif +0 -0
  293. package/dist-lib/resource/emoji/200.png +0 -0
  294. package/dist-lib/resource/emoji/201.png +0 -0
  295. package/dist-lib/resource/emoji/202.png +0 -0
  296. package/dist-lib/resource/emoji/203.png +0 -0
  297. package/dist-lib/resource/emoji/204.png +0 -0
  298. package/dist-lib/resource/emoji/205.png +0 -0
  299. package/dist-lib/resource/emoji/206.png +0 -0
  300. package/dist-lib/resource/emoji/207.png +0 -0
  301. package/dist-lib/resource/emoji/208.png +0 -0
  302. package/dist-lib/resource/emoji/209.png +0 -0
  303. package/dist-lib/resource/emoji/210.png +0 -0
  304. package/dist-lib/resource/emoji/211.png +0 -0
  305. package/dist-lib/resource/emoji/212.png +0 -0
  306. package/dist-lib/resource/emoji/213.png +0 -0
  307. package/dist-lib/resource/emoji/214.png +0 -0
  308. package/dist-lib/resource/emoji/215.png +0 -0
  309. package/dist-lib/resource/emoji/216.png +0 -0
  310. package/dist-lib/resource/emoji/217.png +0 -0
  311. package/dist-lib/resource/emoji/218.png +0 -0
  312. package/dist-lib/resource/emoji/219.png +0 -0
  313. package/dist-lib/resource/img/logo.png +0 -0
  314. package/dist-lib/resource/img/pwa-192x192.png +0 -0
  315. package/dist-lib/resource/img/pwa-512x512.png +0 -0
  316. package/dist-lib/resource/tinymce/langs/en.js +419 -0
  317. package/dist-lib/resource/tinymce/langs/zh_CN.js +389 -0
  318. package/dist-lib/resource/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  319. package/dist-lib/resource/tinymce/skins/ui/oxide/content.min.css +7 -0
  320. package/dist-lib/resource/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  321. package/dist-lib/resource/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  322. package/dist-lib/resource/tinymce/skins/ui/oxide/skin.min.css +7 -0
  323. package/dist-lib/resource/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  324. package/dist-lib/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  325. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  326. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  327. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  328. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  329. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  330. package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  331. package/dist-lib/useCommon-36969e5f.mjs +110 -0
  332. package/dist-lib/useCommon-36969e5f.mjs.map +1 -0
  333. package/dist-lib/useECharts-bb3ba984.mjs +77 -0
  334. package/dist-lib/useECharts-bb3ba984.mjs.map +1 -0
  335. package/dist-lib/useTable-99fc521a.mjs +172 -0
  336. package/dist-lib/useTable-99fc521a.mjs.map +1 -0
  337. package/dist-lib/zh_CN-5eabc04b.mjs +772 -0
  338. package/dist-lib/zh_CN-5eabc04b.mjs.map +1 -0
  339. package/dist-lib/zh_TW-ef5c69c0.mjs +774 -0
  340. package/dist-lib/zh_TW-ef5c69c0.mjs.map +1 -0
  341. package/package.json +247 -0
  342. package/src/components/PortalPreview/__tests__/index.spec.ts +258 -0
  343. package/src/components/PortalPreview/fonts/ym/iconfont.css +2419 -0
  344. package/src/components/PortalPreview/fonts/ym/iconfont.ttf +0 -0
  345. package/src/components/PortalPreview/fonts/ym/iconfont.woff +0 -0
  346. package/src/components/PortalPreview/fonts/ym/iconfont.woff2 +0 -0
  347. package/src/components/PortalPreview/fonts/ym-custom/iconfont.css +7203 -0
  348. package/src/components/PortalPreview/fonts/ym-custom/iconfont.ttf +0 -0
  349. package/src/components/PortalPreview/fonts/ym-custom/iconfont.woff +0 -0
  350. package/src/components/PortalPreview/fonts/ym-custom/iconfont.woff2 +0 -0
  351. package/src/components/PortalPreview/index.ts +31 -0
  352. package/src/components/PortalPreview/index.vue +329 -0
  353. package/src/components/PortalPreview/style/overrides.css +15 -0
  354. package/src/components/PortalPreview/types.ts +61 -0
package/README.md ADDED
@@ -0,0 +1,132 @@
1
+ ## 一 环境要求
2
+
3
+ ### 1.1 开发环境
4
+
5
+ - 操作系统:`Windows 10/11`,`Mac OS`;
6
+ - `Node 16.15.0` 及以上版本(某些情况下可能需要安装 `Python3` 环境);
7
+ - `pnpm v8.1.0`及以上版本;
8
+ - `Visual Studio Code` (简称 VSCode)
9
+
10
+ ### 1.2 运行环境
11
+
12
+ `Nginx 1.18.0` 及以上版本或 `TongHttpServer 6.0` (信创环境)
13
+
14
+ ## 二 浏览器支持
15
+
16
+ > 支持现代浏览器,不支持 IE
17
+
18
+ | IE | Edge | Firefox | Chrome | Safari |
19
+ | ----------- | --------------- | --------------- | --------------- | --------------- |
20
+ | not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
21
+
22
+ ## 四 使用说明
23
+
24
+ ### 4.1 开发环境
25
+
26
+ #### 4.1.1 安装 pnpm
27
+
28
+ > 推荐使用 `pnpm`,若使用 `yarn` ,建议使用 `Yarn v1.22.x` 版本,否则可能出现依赖安装失败的情况。
29
+
30
+ 在 Windows 的`PowerShell`中执行如下命令
31
+
32
+ ```bash
33
+ iwr https://get.pnpm.io/install.ps1 -useb | iex
34
+ ```
35
+
36
+ MacOS 通过 `Homebrew` 安装 `pnpm`<br/> 若已经安装了 `Homebrew` 软件包管理器,则可以使用如下命令赖安装 pnpm:
37
+
38
+ ```bash
39
+ brew install pnpm
40
+ ```
41
+
42
+ 也可以通过 npm 安装 pnpm
43
+
44
+ ```bash
45
+ npm install -g pnpm
46
+
47
+ npm install -g @pnpm/exe
48
+ ```
49
+
50
+ #### 4.1.2 安装依赖
51
+
52
+ 使用如下命令安装项目依赖
53
+
54
+ ```bash
55
+ pnpm install --registry http://registry.npmmirror.com
56
+ ```
57
+
58
+ #### 4.1.3 后端接口配置
59
+
60
+ 修改项目根目录 `.env.development` 中的后端接口地址
61
+
62
+ - Java 项目本地开发默认接口地址:`http://localhost:30000`
63
+ - .NET 项目本地开发默认接口地址:`http://localhost:5000`
64
+
65
+ ```bash
66
+ # 第7行,后端接口
67
+ VITE_PROXY = [["/dev","http://localhost:30000"]]
68
+
69
+ # 第17行,websocket地址
70
+ # 在本地开发环境,将后端默认接口地址的协议改成 ws 即可
71
+ VITE_GLOB_WEBSOCKET_URL='ws://localhost:30000'
72
+ ```
73
+
74
+ #### 4.1.4 关联项目配置
75
+
76
+ 打开 `/src/hooks/setting/index.ts` 配置文件,默认配置如下所示
77
+
78
+ ```bash
79
+ ...
80
+ const glob: Readonly<GlobConfig> = {
81
+ title: VITE_GLOB_APP_TITLE,
82
+ apiUrl: VITE_GLOB_API_URL,
83
+ shortName: VITE_GLOB_APP_SHORT_NAME,
84
+ urlPrefix: VITE_GLOB_API_URL_PREFIX,
85
+ uploadUrl: VITE_GLOB_API_URL + '/api/file/Uploader',
86
+ webSocketUrl: VITE_GLOB_WEBSOCKET_URL,
87
+ // 本地文件预览
88
+ filePreviewServer: isDevMode() ? 'http://localhost:30090/FileServer' : VITE_GLOB_API_URL + '/FileServer',
89
+ };
90
+ ...
91
+ ```
92
+
93
+ #### 4.1.5 本地运行
94
+
95
+ 完成上述操作后,使用如下命令运行前端项目
96
+
97
+ ```bash
98
+ pnpm dev
99
+ ```
100
+
101
+ ### 4.2 运行环境
102
+
103
+ > 测试或生产环境
104
+
105
+ 如果需要测试或生产环境发布,使用如下命令打包项目
106
+
107
+ ```bash
108
+ pnpm build
109
+ ```
110
+
111
+ 然后将项目根目录下 `/dist/` 中所有的文件上传至服务器。
112
+
113
+ ## 五 常见问题
114
+
115
+ ### 5.1 修改项目基本信息
116
+
117
+ 打开项目根目录 `.env` 文件,可以看到 `本地运行端口号`、`网站标题`、`简称` 等配置。
118
+
119
+ ```bash
120
+ # 端口号
121
+ VITE_PORT = 3100
122
+
123
+ # 网站标题
124
+ VITE_GLOB_APP_TITLE = 门户设计
125
+
126
+ # 简称,用于配置文件名字 不要出现空格、数字开头等特殊字符
127
+ VITE_GLOB_APP_SHORT_NAME = portal
128
+ ```
129
+
130
+ ### 5.2 代码更新后报错
131
+
132
+ 在开发或打包时报依赖缺失,可以先删除项目根目录下的 `pnpm-lock.yaml` 文件,然后重新执行 `pnpm install` 安装依赖即可解决。
@@ -0,0 +1,94 @@
1
+ import { _ as o } from "./Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs";
2
+ import "vue";
3
+ import "@ant-design/icons-vue";
4
+ import "./index-5b8b1ba9.mjs";
5
+ import "lodash-es";
6
+ import "ant-design-vue";
7
+ import "vue-i18n";
8
+ import "pinia";
9
+ import "crypto-js/aes";
10
+ import "crypto-js/enc-utf8";
11
+ import "crypto-js/pad-pkcs7";
12
+ import "crypto-js/mode-ecb";
13
+ import "crypto-js/md5";
14
+ import "crypto-js/enc-base64";
15
+ import "crypto-js/enc-hex";
16
+ import "dayjs";
17
+ import "@vueuse/core";
18
+ import "vue-router";
19
+ import "axios";
20
+ import "@ant-design/colors";
21
+ import "@iconify/iconify";
22
+ import "vue-types";
23
+ import "@firefly-plus/icons-vue";
24
+ import "qrcode";
25
+ import "vue-simple-uploader";
26
+ import "spark-md5";
27
+ import "vue-simple-uploader/dist/style.css";
28
+ import "tinymce/tinymce";
29
+ import "tinymce/themes/silver";
30
+ import "tinymce/icons/default/icons";
31
+ import "tinymce/plugins/advlist";
32
+ import "tinymce/plugins/anchor";
33
+ import "tinymce/plugins/autolink";
34
+ import "tinymce/plugins/autosave";
35
+ import "tinymce/plugins/code";
36
+ import "tinymce/plugins/codesample";
37
+ import "tinymce/plugins/directionality";
38
+ import "tinymce/plugins/fullscreen";
39
+ import "tinymce/plugins/hr";
40
+ import "tinymce/plugins/insertdatetime";
41
+ import "tinymce/plugins/link";
42
+ import "tinymce/plugins/lists";
43
+ import "tinymce/plugins/media";
44
+ import "tinymce/plugins/nonbreaking";
45
+ import "tinymce/plugins/noneditable";
46
+ import "tinymce/plugins/pagebreak";
47
+ import "tinymce/plugins/paste";
48
+ import "tinymce/plugins/preview";
49
+ import "tinymce/plugins/print";
50
+ import "tinymce/plugins/save";
51
+ import "tinymce/plugins/searchreplace";
52
+ import "tinymce/plugins/spellchecker";
53
+ import "tinymce/plugins/tabfocus";
54
+ import "tinymce/plugins/table";
55
+ import "tinymce/plugins/template";
56
+ import "tinymce/plugins/textpattern";
57
+ import "tinymce/plugins/visualblocks";
58
+ import "tinymce/plugins/visualchars";
59
+ import "tinymce/plugins/wordcount";
60
+ import "tinymce/plugins/image";
61
+ import "tinymce/plugins/charmap";
62
+ import "tinymce/plugins/imagetools";
63
+ import "tinymce/plugins/help";
64
+ import "tinymce/plugins/quickbars";
65
+ import "tinymce/plugins/importcss";
66
+ import "tinymce/plugins/toc";
67
+ import "tinymce/plugins/emoticons";
68
+ import "sortablejs";
69
+ import "codemirror";
70
+ import "codemirror/theme/idea.css";
71
+ import "codemirror/theme/material-palenight.css";
72
+ import "codemirror/mode/javascript/javascript";
73
+ import "codemirror/mode/css/css";
74
+ import "codemirror/mode/htmlmixed/htmlmixed";
75
+ import "monaco-editor/esm/vs/language/json/json.worker?worker";
76
+ import "monaco-editor/esm/vs/language/css/css.worker?worker";
77
+ import "monaco-editor/esm/vs/language/html/html.worker?worker";
78
+ import "monaco-editor/esm/vs/language/typescript/ts.worker?worker";
79
+ import "monaco-editor/esm/vs/editor/editor.worker?worker";
80
+ import "monaco-editor";
81
+ import "vue-json-pretty";
82
+ import "vue-json-pretty/lib/styles.css";
83
+ import "firefly-plus-components";
84
+ import "vuedraggable";
85
+ import "uuid";
86
+ import "element-plus";
87
+ import "firefly-plus-components/index.css";
88
+ import "element-plus/dist/index.css";
89
+ import "vue-grid-layout";
90
+ import "./interfaceOauth-bb8e782e.mjs";
91
+ export {
92
+ o as default
93
+ };
94
+ //# sourceMappingURL=Empower-789f2826.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Empower-789f2826.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,134 @@
1
+ import { defineComponent as L, ref as V, reactive as j, toRefs as O, unref as n, resolveComponent as v, openBlock as l, createBlock as D, mergeProps as $, withCtx as I, createElementVNode as s, createVNode as c, isRef as A, createElementBlock as k, Fragment as q, renderList as G, toDisplayString as H, createCommentVNode as K } from "vue";
2
+ import { DeleteOutlined as P } from "@ant-design/icons-vue";
3
+ import { n as T, aF as U, q as z, aG as J, aH as Q, h as W, m as X } from "./index-5b8b1ba9.mjs";
4
+ import "ant-design-vue";
5
+ import "@vueuse/core";
6
+ import { g as Y, s as Z } from "./interfaceOauth-bb8e782e.mjs";
7
+ const ee = { class: "transfer__body" }, te = { class: "transfer-pane left-pane" }, ae = { class: "transfer-pane__tool" }, ne = { class: "transfer-pane__body transfer-pane__body-tab" }, se = { class: "transfer-pane right-pane" }, oe = /* @__PURE__ */ s("span", null, "已选", -1), re = { class: "transfer-pane__body" }, le = { class: "selected-item-text" }, ce = { class: "name" }, ge = /* @__PURE__ */ L({
8
+ __name: "Empower",
9
+ emits: ["register"],
10
+ setup(de) {
11
+ const { t: y } = W(), { createMessage: b } = X(), u = V(null), [w, { changeLoading: m, changeOkLoading: d, closeModal: C }] = T(F), a = j({
12
+ treeData: [],
13
+ dataForm: {
14
+ interfaceIdentId: "",
15
+ dataInterfaceIds: []
16
+ },
17
+ keyword: "",
18
+ selectedData: []
19
+ }), { treeData: S, selectedData: o, keyword: i } = O(a);
20
+ function F(e) {
21
+ m(!0), a.dataForm.interfaceIdentId = e.id, a.dataForm.dataInterfaceIds = [], a.treeData = [], a.selectedData = [], a.keyword = "", M();
22
+ }
23
+ function M() {
24
+ U().then((e) => {
25
+ a.treeData = e.data, _(""), Y(a.dataForm.interfaceIdentId).then((t) => {
26
+ a.selectedData = t.data.list || [], m(!1);
27
+ });
28
+ });
29
+ }
30
+ function R(e) {
31
+ if (!e.length)
32
+ return;
33
+ const t = p().getSelectedNode(e[0]);
34
+ t != null && t.hasChildren || o.value.some((f) => f.id === (t == null ? void 0 : t.id)) || o.value.push(t);
35
+ }
36
+ function _(e) {
37
+ p().setSearchValue(e);
38
+ }
39
+ function p() {
40
+ const e = n(u);
41
+ if (!e)
42
+ throw new Error("tree is null!");
43
+ return e;
44
+ }
45
+ function E() {
46
+ a.selectedData = [];
47
+ }
48
+ function N(e) {
49
+ a.selectedData.splice(e, 1);
50
+ }
51
+ function x() {
52
+ d(!0);
53
+ const e = a.selectedData.map((t) => t.id);
54
+ a.dataForm.dataInterfaceIds = e.join(","), Z(a.dataForm).then((t) => {
55
+ b.success(t.msg), d(!1), C();
56
+ }).catch(() => {
57
+ d(!1);
58
+ });
59
+ }
60
+ return (e, t) => {
61
+ const h = v("a-input-search"), f = v("jnpf-empty");
62
+ return l(), D(n(z), $(e.$attrs, {
63
+ onRegister: n(w),
64
+ title: "接口授权",
65
+ width: 800,
66
+ onOk: x,
67
+ class: "transfer-modal"
68
+ }), {
69
+ default: I(() => [
70
+ s("div", ee, [
71
+ s("div", te, [
72
+ s("div", ae, [
73
+ c(h, {
74
+ placeholder: n(y)("common.enterKeyword"),
75
+ allowClear: "",
76
+ value: n(i),
77
+ "onUpdate:value": t[0] || (t[0] = (r) => A(i) ? i.value = r : null),
78
+ onSearch: _
79
+ }, null, 8, ["placeholder", "value"])
80
+ ]),
81
+ s("div", ne, [
82
+ c(n(J), {
83
+ class: "tree-main",
84
+ treeData: n(S),
85
+ onSelect: R,
86
+ ref_key: "treeRef",
87
+ ref: u,
88
+ defaultExpandAll: ""
89
+ }, null, 8, ["treeData"])
90
+ ])
91
+ ]),
92
+ s("div", se, [
93
+ s("div", { class: "transfer-pane__tool" }, [
94
+ oe,
95
+ s("span", {
96
+ class: "remove-all-btn",
97
+ onClick: E
98
+ }, "清空列表")
99
+ ]),
100
+ s("div", re, [
101
+ c(n(Q), null, {
102
+ default: I(() => {
103
+ var r;
104
+ return [
105
+ (l(!0), k(q, null, G(n(o), (B, g) => (l(), k("div", {
106
+ key: g,
107
+ class: "selected-item"
108
+ }, [
109
+ s("div", le, [
110
+ s("p", ce, H(B.fullName), 1)
111
+ ]),
112
+ c(n(P), {
113
+ class: "delete-btn",
114
+ onClick: (ie) => N(g)
115
+ }, null, 8, ["onClick"])
116
+ ]))), 128)),
117
+ (r = n(o)) != null && r.length ? K("", !0) : (l(), D(f, { key: 0 }))
118
+ ];
119
+ }),
120
+ _: 1
121
+ })
122
+ ])
123
+ ])
124
+ ])
125
+ ]),
126
+ _: 1
127
+ }, 16, ["onRegister"]);
128
+ };
129
+ }
130
+ });
131
+ export {
132
+ ge as _
133
+ };
134
+ //# sourceMappingURL=Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs","sources":["../src/views/systemData/interfaceOauth/components/Empower.vue"],"sourcesContent":["<template>\r\n <BasicModal v-bind=\"$attrs\" @register=\"registerModal\" title=\"接口授权\" :width=\"800\" @ok=\"handleSubmit\" class=\"transfer-modal\">\r\n <div class=\"transfer__body\">\r\n <div class=\"transfer-pane left-pane\">\r\n <div class=\"transfer-pane__tool\">\r\n <a-input-search :placeholder=\"t('common.enterKeyword')\" allowClear v-model:value=\"keyword\" @search=\"handleSearch\" />\r\n </div>\r\n <div class=\"transfer-pane__body transfer-pane__body-tab\">\r\n <BasicTree class=\"tree-main\" :treeData=\"treeData\" @select=\"handleSelect\" ref=\"treeRef\" defaultExpandAll />\r\n </div>\r\n </div>\r\n <div class=\"transfer-pane right-pane\">\r\n <div class=\"transfer-pane__tool\">\r\n <span>已选</span>\r\n <span class=\"remove-all-btn\" @click=\"removeAll\">清空列表</span>\r\n </div>\r\n <div class=\"transfer-pane__body\">\r\n <ScrollContainer>\r\n <div v-for=\"(item, i) in selectedData\" :key=\"i\" class=\"selected-item\">\r\n <div class=\"selected-item-text\">\r\n <p class=\"name\">{{ item.fullName }}</p>\r\n </div>\r\n <delete-outlined class=\"delete-btn\" @click=\"removeData(i)\" />\r\n </div>\r\n <jnpf-empty v-if=\"!selectedData?.length\" />\r\n </ScrollContainer>\r\n </div>\r\n </div>\r\n </div>\r\n </BasicModal>\r\n</template>\r\n<script lang=\"ts\" setup>\r\n import { toRefs, ref, reactive, unref } from 'vue';\r\n import { DeleteOutlined } from '@ant-design/icons-vue';\r\n import { BasicModal, useModalInner } from '@/components/Modal';\r\n import { useMessage } from '@/hooks/web/useMessage';\r\n import { useI18n } from '@/hooks/web/useI18n';\r\n import { ScrollContainer } from '@/components/Container';\r\n import { BasicTree, TreeActionType } from '@/components/Tree';\r\n import { getDataInterfaceSelector } from '@/api/systemData/dataInterface';\r\n import { saveInterfaceList, getInfo } from '@/api/systemData/interfaceOauth';\r\n\r\n interface State {\r\n treeData: any[];\r\n dataForm: any;\r\n keyword: string;\r\n selectedData: any[];\r\n }\r\n\r\n defineEmits(['register']);\r\n\r\n const { t } = useI18n();\r\n const { createMessage } = useMessage();\r\n const treeRef = ref<Nullable<TreeActionType>>(null);\r\n const [registerModal, { changeLoading, changeOkLoading, closeModal }] = useModalInner(init);\r\n const state = reactive<State>({\r\n treeData: [],\r\n dataForm: {\r\n interfaceIdentId: '',\r\n dataInterfaceIds: [],\r\n },\r\n keyword: '',\r\n selectedData: [],\r\n });\r\n const { treeData, selectedData, keyword } = toRefs(state);\r\n\r\n function init(data) {\r\n changeLoading(true);\r\n state.dataForm.interfaceIdentId = data.id;\r\n state.dataForm.dataInterfaceIds = [];\r\n state.treeData = [];\r\n state.selectedData = [];\r\n state.keyword = '';\r\n initData();\r\n }\r\n function initData() {\r\n getDataInterfaceSelector().then(res => {\r\n state.treeData = res.data;\r\n handleSearch('');\r\n getInfo(state.dataForm.interfaceIdentId).then(res => {\r\n state.selectedData = res.data.list || [];\r\n changeLoading(false);\r\n });\r\n });\r\n }\r\n function handleSelect(keys) {\r\n if (!keys.length) return;\r\n const data = getTree().getSelectedNode(keys[0]);\r\n if (data?.hasChildren) return;\r\n const boo = selectedData.value.some(o => o.id === data?.id);\r\n if (boo) return;\r\n selectedData.value.push(data);\r\n }\r\n function handleSearch(value) {\r\n getTree().setSearchValue(value);\r\n }\r\n function getTree() {\r\n const tree = unref(treeRef);\r\n if (!tree) throw new Error('tree is null!');\r\n return tree;\r\n }\r\n function removeAll() {\r\n state.selectedData = [];\r\n }\r\n function removeData(index: number) {\r\n state.selectedData.splice(index, 1);\r\n }\r\n function handleSubmit() {\r\n changeOkLoading(true);\r\n const arr = state.selectedData.map(o => o.id);\r\n state.dataForm.dataInterfaceIds = arr.join(',');\r\n saveInterfaceList(state.dataForm)\r\n .then(res => {\r\n createMessage.success(res.msg);\r\n changeOkLoading(false);\r\n closeModal();\r\n })\r\n .catch(() => {\r\n changeOkLoading(false);\r\n });\r\n }\r\n</script>\r\n"],"names":["t","useI18n","createMessage","useMessage","treeRef","ref","registerModal","changeLoading","changeOkLoading","closeModal","useModalInner","init","state","reactive","treeData","selectedData","keyword","toRefs","data","initData","getDataInterfaceSelector","res","handleSearch","getInfo","handleSelect","keys","getTree","o","value","tree","unref","removeAll","removeData","index","handleSubmit","arr","saveInterfaceList"],"mappings":";;;;;;;;;;AAmDQ,UAAA,EAAE,GAAAA,MAAMC,KACR,EAAE,eAAAC,MAAkBC,KACpBC,IAAUC,EAA8B,IAAI,GAC5C,CAACC,GAAe,EAAE,eAAAC,GAAe,iBAAAC,GAAiB,YAAAC,GAAY,IAAIC,EAAcC,CAAI,GACpFC,IAAQC,EAAgB;AAAA,MAC5B,UAAU,CAAC;AAAA,MACX,UAAU;AAAA,QACR,kBAAkB;AAAA,QAClB,kBAAkB,CAAC;AAAA,MACrB;AAAA,MACA,SAAS;AAAA,MACT,cAAc,CAAC;AAAA,IAAA,CAChB,GACK,EAAE,UAAAC,GAAU,cAAAC,GAAc,SAAAC,EAAQ,IAAIC,EAAOL,CAAK;AAExD,aAASD,EAAKO,GAAM;AAClB,MAAAX,EAAc,EAAI,GACZK,EAAA,SAAS,mBAAmBM,EAAK,IACjCN,EAAA,SAAS,mBAAmB,IAClCA,EAAM,WAAW,IACjBA,EAAM,eAAe,IACrBA,EAAM,UAAU,IACPO;IACX;AACA,aAASA,IAAW;AACO,MAAAC,EAAA,EAAE,KAAK,CAAOC,MAAA;AACrC,QAAAT,EAAM,WAAWS,EAAI,MACrBC,EAAa,EAAE,GACfC,EAAQX,EAAM,SAAS,gBAAgB,EAAE,KAAK,CAAAS,MAAO;AACnD,UAAAT,EAAM,eAAeS,EAAI,KAAK,QAAQ,CAAA,GACtCd,EAAc,EAAK;AAAA,QAAA,CACpB;AAAA,MAAA,CACF;AAAA,IACH;AACA,aAASiB,EAAaC,GAAM;AAC1B,UAAI,CAACA,EAAK;AAAQ;AAClB,YAAMP,IAAOQ,EAAQ,EAAE,gBAAgBD,EAAK,CAAC,CAAC;AAG1C,MAFAP,KAAA,QAAAA,EAAM,eACEH,EAAa,MAAM,KAAK,OAAKY,EAAE,QAAOT,KAAA,gBAAAA,EAAM,GAAE,KAE7CH,EAAA,MAAM,KAAKG,CAAI;AAAA,IAC9B;AACA,aAASI,EAAaM,GAAO;AACnB,MAAAF,EAAA,EAAE,eAAeE,CAAK;AAAA,IAChC;AACA,aAASF,IAAU;AACX,YAAAG,IAAOC,EAAM1B,CAAO;AAC1B,UAAI,CAACyB;AAAY,cAAA,IAAI,MAAM,eAAe;AACnC,aAAAA;AAAA,IACT;AACA,aAASE,IAAY;AACnB,MAAAnB,EAAM,eAAe;IACvB;AACA,aAASoB,EAAWC,GAAe;AAC3B,MAAArB,EAAA,aAAa,OAAOqB,GAAO,CAAC;AAAA,IACpC;AACA,aAASC,IAAe;AACtB,MAAA1B,EAAgB,EAAI;AACpB,YAAM2B,IAAMvB,EAAM,aAAa,IAAI,CAAAe,MAAKA,EAAE,EAAE;AAC5C,MAAAf,EAAM,SAAS,mBAAmBuB,EAAI,KAAK,GAAG,GAC9CC,EAAkBxB,EAAM,QAAQ,EAC7B,KAAK,CAAOS,MAAA;AACG,QAAAnB,EAAA,QAAQmB,EAAI,GAAG,GAC7Bb,EAAgB,EAAK,GACVC;MAAA,CACZ,EACA,MAAM,MAAM;AACX,QAAAD,EAAgB,EAAK;AAAA,MAAA,CACtB;AAAA,IACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,94 @@
1
+ import { _ as o } from "./Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs";
2
+ import "vue";
3
+ import "./index-5b8b1ba9.mjs";
4
+ import "lodash-es";
5
+ import "ant-design-vue";
6
+ import "vue-i18n";
7
+ import "pinia";
8
+ import "crypto-js/aes";
9
+ import "crypto-js/enc-utf8";
10
+ import "crypto-js/pad-pkcs7";
11
+ import "crypto-js/mode-ecb";
12
+ import "crypto-js/md5";
13
+ import "crypto-js/enc-base64";
14
+ import "crypto-js/enc-hex";
15
+ import "dayjs";
16
+ import "@vueuse/core";
17
+ import "vue-router";
18
+ import "axios";
19
+ import "@ant-design/icons-vue";
20
+ import "@ant-design/colors";
21
+ import "@iconify/iconify";
22
+ import "vue-types";
23
+ import "@firefly-plus/icons-vue";
24
+ import "qrcode";
25
+ import "vue-simple-uploader";
26
+ import "spark-md5";
27
+ import "vue-simple-uploader/dist/style.css";
28
+ import "tinymce/tinymce";
29
+ import "tinymce/themes/silver";
30
+ import "tinymce/icons/default/icons";
31
+ import "tinymce/plugins/advlist";
32
+ import "tinymce/plugins/anchor";
33
+ import "tinymce/plugins/autolink";
34
+ import "tinymce/plugins/autosave";
35
+ import "tinymce/plugins/code";
36
+ import "tinymce/plugins/codesample";
37
+ import "tinymce/plugins/directionality";
38
+ import "tinymce/plugins/fullscreen";
39
+ import "tinymce/plugins/hr";
40
+ import "tinymce/plugins/insertdatetime";
41
+ import "tinymce/plugins/link";
42
+ import "tinymce/plugins/lists";
43
+ import "tinymce/plugins/media";
44
+ import "tinymce/plugins/nonbreaking";
45
+ import "tinymce/plugins/noneditable";
46
+ import "tinymce/plugins/pagebreak";
47
+ import "tinymce/plugins/paste";
48
+ import "tinymce/plugins/preview";
49
+ import "tinymce/plugins/print";
50
+ import "tinymce/plugins/save";
51
+ import "tinymce/plugins/searchreplace";
52
+ import "tinymce/plugins/spellchecker";
53
+ import "tinymce/plugins/tabfocus";
54
+ import "tinymce/plugins/table";
55
+ import "tinymce/plugins/template";
56
+ import "tinymce/plugins/textpattern";
57
+ import "tinymce/plugins/visualblocks";
58
+ import "tinymce/plugins/visualchars";
59
+ import "tinymce/plugins/wordcount";
60
+ import "tinymce/plugins/image";
61
+ import "tinymce/plugins/charmap";
62
+ import "tinymce/plugins/imagetools";
63
+ import "tinymce/plugins/help";
64
+ import "tinymce/plugins/quickbars";
65
+ import "tinymce/plugins/importcss";
66
+ import "tinymce/plugins/toc";
67
+ import "tinymce/plugins/emoticons";
68
+ import "sortablejs";
69
+ import "codemirror";
70
+ import "codemirror/theme/idea.css";
71
+ import "codemirror/theme/material-palenight.css";
72
+ import "codemirror/mode/javascript/javascript";
73
+ import "codemirror/mode/css/css";
74
+ import "codemirror/mode/htmlmixed/htmlmixed";
75
+ import "monaco-editor/esm/vs/language/json/json.worker?worker";
76
+ import "monaco-editor/esm/vs/language/css/css.worker?worker";
77
+ import "monaco-editor/esm/vs/language/html/html.worker?worker";
78
+ import "monaco-editor/esm/vs/language/typescript/ts.worker?worker";
79
+ import "monaco-editor/esm/vs/editor/editor.worker?worker";
80
+ import "monaco-editor";
81
+ import "vue-json-pretty";
82
+ import "vue-json-pretty/lib/styles.css";
83
+ import "firefly-plus-components";
84
+ import "vuedraggable";
85
+ import "uuid";
86
+ import "element-plus";
87
+ import "firefly-plus-components/index.css";
88
+ import "element-plus/dist/index.css";
89
+ import "vue-grid-layout";
90
+ import "./FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs";
91
+ export {
92
+ o as default
93
+ };
94
+ //# sourceMappingURL=Field-40d74a96.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field-40d74a96.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,148 @@
1
+ import { defineComponent as O, computed as R, onMounted as q, resolveComponent as y, openBlock as m, createElementBlock as u, createElementVNode as s, createTextVNode as k, toDisplayString as c, createVNode as p, normalizeClass as E, withCtx as _, createCommentVNode as f, unref as b, createBlock as H } from "vue";
2
+ import { b as j, a1 as D, h as J, m as Y } from "./index-5b8b1ba9.mjs";
3
+ import { _ as A } from "./FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs";
4
+ import K from "sortablejs";
5
+ const U = { class: "field-table-box" }, G = { class: "title" }, L = {
6
+ key: 0,
7
+ class: "drag-handler icon-ym icon-ym-darg",
8
+ title: "点击拖动"
9
+ }, P = ["onClick"], Q = { class: "required-sign" }, W = { key: 2 }, X = ["onClick"], Z = ["onClick"], oe = /* @__PURE__ */ O({
10
+ __name: "Field",
11
+ props: {
12
+ list: { type: Array, default: () => [] },
13
+ type: { type: Number, default: 0 },
14
+ scrollY: { type: String, default: "calc(50vh - 218px)" }
15
+ },
16
+ emits: ["register", "itemClick"],
17
+ setup(a, { emit: v }) {
18
+ const I = v, o = a, { t: g } = J(), { createConfirm: N } = Y(), [T, { openModal: w }] = j(), S = R(() => {
19
+ const e = { title: "拖动", dataIndex: "drag", key: "drag", align: "center", width: 50 }, n = { title: "操作", dataIndex: "action", key: "action", width: 70 }, t = [
20
+ { title: "参数名称", dataIndex: "field", key: "field" },
21
+ { title: "参数类型", dataIndex: "dataType", key: "dataType", width: 80 }
22
+ ], i = [
23
+ { title: "字段名称", dataIndex: "field", key: "field", width: 110 },
24
+ { title: "映射字段", dataIndex: "defaultValue", key: "defaultValue", width: 110 }
25
+ ], d = o.type === 0 ? t : i;
26
+ return [e, ...d, n];
27
+ });
28
+ function $(e) {
29
+ I("itemClick", e);
30
+ }
31
+ function h(e) {
32
+ w(!0, { item: e, list: o.list });
33
+ }
34
+ function B(e) {
35
+ N({
36
+ iconType: "warning",
37
+ title: g("common.tipTitle"),
38
+ content: `此操作删除该${o.type === 0 ? "参数" : "字段"}, 是否继续?`,
39
+ onOk: () => {
40
+ o.list.splice(e, 1);
41
+ }
42
+ });
43
+ }
44
+ function V(e, n) {
45
+ const t = JSON.parse(JSON.stringify(n));
46
+ if (e == "add")
47
+ o.list.push(t);
48
+ else {
49
+ const i = o.list.findIndex((d) => d.id === t.id);
50
+ i != -1 && (o.list[i] = t);
51
+ }
52
+ }
53
+ function x(e) {
54
+ const n = document.querySelector(`.${e} .ant-table-tbody`);
55
+ K.create(n, {
56
+ handle: ".drag-handler",
57
+ animation: 150,
58
+ easing: "cubic-bezier(1, 0, 0, 1)",
59
+ onStart: () => {
60
+ },
61
+ onEnd: ({ newIndex: t, oldIndex: i }) => {
62
+ F(o.list, i - 1, t - 1);
63
+ }
64
+ });
65
+ }
66
+ function F(e, n, t) {
67
+ const i = e.splice(n, 1)[0];
68
+ e.splice(t, 0, i);
69
+ }
70
+ return q(() => {
71
+ o.type === 0 ? x("params-table") : x("field-table");
72
+ }), (e, n) => {
73
+ const t = y("BasicHelp"), i = y("a-space"), d = y("a-table"), M = y("a-button");
74
+ return m(), u("div", U, [
75
+ s("div", G, [
76
+ s("span", null, [
77
+ k(c(a.type === 0 ? "接口参数" : "字段列表") + " ", 1),
78
+ p(t, {
79
+ text: a.type === 0 ? "接收方式:Body/json" : "设置接口返回字段"
80
+ }, null, 8, ["text"])
81
+ ])
82
+ ]),
83
+ p(d, {
84
+ size: "small",
85
+ rowKey: "id",
86
+ class: E(["list", a.type === 0 ? "params-table" : "field-table"]),
87
+ "data-source": a.list,
88
+ columns: S.value,
89
+ scroll: { x: void 0, y: a.scrollY },
90
+ pagination: !1
91
+ }, {
92
+ bodyCell: _(({ column: r, record: l, index: z }) => [
93
+ r.key === "drag" ? (m(), u("i", L)) : f("", !0),
94
+ r.key === "field" ? (m(), u("p", {
95
+ key: 1,
96
+ onClick: (C) => $(l),
97
+ class: "cursor-pointer"
98
+ }, [
99
+ s("span", Q, c(l.required ? "*" : ""), 1),
100
+ k(" " + c(l.field) + c(l.fieldName && a.type === 0 ? "(" + l.fieldName + ")" : ""), 1)
101
+ ], 8, P)) : f("", !0),
102
+ r.key === "dataType" ? (m(), u("span", W, c(b(D)(l.dataType)), 1)) : f("", !0),
103
+ r.key === "action" ? (m(), H(i, {
104
+ key: 3,
105
+ size: 10
106
+ }, {
107
+ default: _(() => [
108
+ s("i", {
109
+ class: "icon-ym icon-ym-btn-edit",
110
+ onClick: (C) => h(l)
111
+ }, null, 8, X),
112
+ s("i", {
113
+ class: "icon-ym icon-ym-delete",
114
+ onClick: (C) => B(z)
115
+ }, null, 8, Z)
116
+ ]),
117
+ _: 2
118
+ }, 1024)) : f("", !0)
119
+ ]),
120
+ _: 1
121
+ }, 8, ["class", "data-source", "columns", "scroll"]),
122
+ s("div", {
123
+ class: "table-actions",
124
+ onClick: n[0] || (n[0] = (r) => h())
125
+ }, [
126
+ p(M, {
127
+ type: "link",
128
+ preIcon: "icon-ym icon-ym-btn-add"
129
+ }, {
130
+ default: _(() => [
131
+ k(c(b(g)("common.addText")), 1)
132
+ ]),
133
+ _: 1
134
+ })
135
+ ]),
136
+ p(A, {
137
+ onRegister: b(T),
138
+ onReload: V,
139
+ type: a.type
140
+ }, null, 8, ["onRegister", "type"])
141
+ ]);
142
+ };
143
+ }
144
+ });
145
+ export {
146
+ oe as _
147
+ };
148
+ //# sourceMappingURL=Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs","sources":["../src/views/systemData/dataInterface/components/Field/Field.vue"],"sourcesContent":["<template>\r\n <div class=\"field-table-box\">\r\n <div class=\"title\">\r\n <span> {{ type === 0 ? '接口参数' : '字段列表' }} <BasicHelp :text=\"type === 0 ? '接收方式:Body/json' : '设置接口返回字段'\" /> </span>\r\n </div>\r\n <a-table\r\n size=\"small\"\r\n rowKey=\"id\"\r\n class=\"list\"\r\n :class=\"type === 0 ? 'params-table' : 'field-table'\"\r\n :data-source=\"list\"\r\n :columns=\"getColumns\"\r\n :scroll=\"{ x: undefined, y: scrollY }\"\r\n :pagination=\"false\">\r\n <template #bodyCell=\"{ column, record, index }\">\r\n <template v-if=\"column.key === 'drag'\">\r\n <i class=\"drag-handler icon-ym icon-ym-darg\" title=\"点击拖动\" />\r\n </template>\r\n <template v-if=\"column.key === 'field'\">\r\n <p @click=\"handleItemClick(record)\" class=\"cursor-pointer\">\r\n <span class=\"required-sign\">{{ record.required ? '*' : '' }}</span>\r\n {{ record.field }}{{ record.fieldName && type === 0 ? '(' + record.fieldName + ')' : '' }}\r\n </p>\r\n </template>\r\n <template v-if=\"column.key === 'dataType'\">\r\n <span>{{ getDataTypeText(record.dataType) }}</span>\r\n </template>\r\n <template v-if=\"column.key === 'action'\">\r\n <a-space :size=\"10\">\r\n <i class=\"icon-ym icon-ym-btn-edit\" @click=\"addOrUpdateHandle(record)\"></i>\r\n <i class=\"icon-ym icon-ym-delete\" @click=\"remove(index)\"></i>\r\n </a-space>\r\n </template>\r\n </template>\r\n </a-table>\r\n <div class=\"table-actions\" @click=\"addOrUpdateHandle()\">\r\n <a-button type=\"link\" preIcon=\"icon-ym icon-ym-btn-add\">{{ t('common.addText') }}</a-button>\r\n </div>\r\n <FieldForm @register=\"registerFiledForm\" @reload=\"reload\" :type=\"type\" />\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\n import { computed, onMounted } from 'vue';\r\n import { getDataTypeText } from '@/utils/jnpf';\r\n import { useMessage } from '@/hooks/web/useMessage';\r\n import { useI18n } from '@/hooks/web/useI18n';\r\n import { useModal } from '@/components/Modal';\r\n import FieldForm from './FieldForm.vue';\r\n import Sortablejs from 'sortablejs';\r\n\r\n const emit = defineEmits(['register', 'itemClick']);\r\n\r\n const props = defineProps({\r\n list: { type: Array, default: () => [] },\r\n type: { type: Number, default: 0 },\r\n scrollY: { type: String, default: 'calc(50vh - 218px)' },\r\n });\r\n\r\n const { t } = useI18n();\r\n const { createConfirm } = useMessage();\r\n const [registerFiledForm, { openModal: openFiledFormModal }] = useModal();\r\n\r\n const getColumns = computed(() => {\r\n const dragItem = { title: '拖动', dataIndex: 'drag', key: 'drag', align: 'center', width: 50 };\r\n const actionItem = { title: '操作', dataIndex: 'action', key: 'action', width: 70 };\r\n const columns = [\r\n { title: '参数名称', dataIndex: 'field', key: 'field' },\r\n { title: '参数类型', dataIndex: 'dataType', key: 'dataType', width: 80 },\r\n ];\r\n const columns_ = [\r\n { title: '字段名称', dataIndex: 'field', key: 'field', width: 110 },\r\n { title: '映射字段', dataIndex: 'defaultValue', key: 'defaultValue', width: 110 },\r\n ];\r\n const list = props.type === 0 ? columns : columns_;\r\n return [dragItem, ...list, actionItem];\r\n });\r\n\r\n function handleItemClick(record) {\r\n emit('itemClick', record);\r\n }\r\n function addOrUpdateHandle(item?) {\r\n openFiledFormModal(true, { item, list: props.list });\r\n }\r\n function remove(index) {\r\n createConfirm({\r\n iconType: 'warning',\r\n title: t('common.tipTitle'),\r\n content: `此操作删除该${props.type === 0 ? '参数' : '字段'}, 是否继续?`,\r\n onOk: () => {\r\n props.list.splice(index, 1);\r\n },\r\n });\r\n }\r\n function reload(type, item) {\r\n const data = JSON.parse(JSON.stringify(item));\r\n if (type == 'add') {\r\n props.list.push(data);\r\n } else {\r\n const index = props.list.findIndex((res: any) => res.id === data.id);\r\n if (index != -1) props.list[index] = data;\r\n }\r\n }\r\n function initSort(className) {\r\n const table: any = document.querySelector(`.${className} .ant-table-tbody`);\r\n Sortablejs.create(table, {\r\n handle: '.drag-handler',\r\n animation: 150,\r\n easing: 'cubic-bezier(1, 0, 0, 1)',\r\n onStart: () => {},\r\n onEnd: ({ newIndex, oldIndex }: any) => {\r\n setNodeSort(props.list, oldIndex - 1, newIndex - 1);\r\n },\r\n });\r\n }\r\n function setNodeSort(data: any, oldIndex: any, newIndex: any) {\r\n const currRow = data.splice(oldIndex, 1)[0];\r\n data.splice(newIndex, 0, currRow);\r\n }\r\n\r\n onMounted(() => {\r\n props.type === 0 ? initSort('params-table') : initSort('field-table');\r\n });\r\n</script>\r\n"],"names":["emit","__emit","props","__props","t","useI18n","createConfirm","useMessage","registerFiledForm","openFiledFormModal","useModal","getColumns","computed","dragItem","actionItem","columns","columns_","list","handleItemClick","record","addOrUpdateHandle","item","remove","index","reload","type","data","res","initSort","className","table","Sortablejs","newIndex","oldIndex","setNodeSort","currRow","onMounted"],"mappings":";;;;;;;;;;;;;;;;;AAkDE,UAAMA,IAAOC,GAEPC,IAAQC,GAMR,EAAE,GAAAC,MAAMC,KACR,EAAE,eAAAC,MAAkBC,KACpB,CAACC,GAAmB,EAAE,WAAWC,EAAoB,CAAA,IAAIC,KAEzDC,IAAaC,EAAS,MAAM;AAC1B,YAAAC,IAAW,EAAE,OAAO,MAAM,WAAW,QAAQ,KAAK,QAAQ,OAAO,UAAU,OAAO,GAAG,GACrFC,IAAa,EAAE,OAAO,MAAM,WAAW,UAAU,KAAK,UAAU,OAAO,MACvEC,IAAU;AAAA,QACd,EAAE,OAAO,QAAQ,WAAW,SAAS,KAAK,QAAQ;AAAA,QAClD,EAAE,OAAO,QAAQ,WAAW,YAAY,KAAK,YAAY,OAAO,GAAG;AAAA,MAAA,GAE/DC,IAAW;AAAA,QACf,EAAE,OAAO,QAAQ,WAAW,SAAS,KAAK,SAAS,OAAO,IAAI;AAAA,QAC9D,EAAE,OAAO,QAAQ,WAAW,gBAAgB,KAAK,gBAAgB,OAAO,IAAI;AAAA,MAAA,GAExEC,IAAOf,EAAM,SAAS,IAAIa,IAAUC;AAC1C,aAAO,CAACH,GAAU,GAAGI,GAAMH,CAAU;AAAA,IAAA,CACtC;AAED,aAASI,EAAgBC,GAAQ;AAC/B,MAAAnB,EAAK,aAAamB,CAAM;AAAA,IAC1B;AACA,aAASC,EAAkBC,GAAO;AAChC,MAAAZ,EAAmB,IAAM,EAAE,MAAAY,GAAM,MAAMnB,EAAM,MAAM;AAAA,IACrD;AACA,aAASoB,EAAOC,GAAO;AACP,MAAAjB,EAAA;AAAA,QACZ,UAAU;AAAA,QACV,OAAOF,EAAE,iBAAiB;AAAA,QAC1B,SAAS,SAASF,EAAM,SAAS,IAAI,OAAO,IAAI;AAAA,QAChD,MAAM,MAAM;AACJ,UAAAA,EAAA,KAAK,OAAOqB,GAAO,CAAC;AAAA,QAC5B;AAAA,MAAA,CACD;AAAA,IACH;AACS,aAAAC,EAAOC,GAAMJ,GAAM;AAC1B,YAAMK,IAAO,KAAK,MAAM,KAAK,UAAUL,CAAI,CAAC;AAC5C,UAAII,KAAQ;AACJ,QAAAvB,EAAA,KAAK,KAAKwB,CAAI;AAAA,WACf;AACC,cAAAH,IAAQrB,EAAM,KAAK,UAAU,CAACyB,MAAaA,EAAI,OAAOD,EAAK,EAAE;AACnE,QAAIH,KAAS,OAAUrB,EAAA,KAAKqB,CAAK,IAAIG;AAAA,MACvC;AAAA,IACF;AACA,aAASE,EAASC,GAAW;AAC3B,YAAMC,IAAa,SAAS,cAAc,IAAID,CAAS,mBAAmB;AAC1E,MAAAE,EAAW,OAAOD,GAAO;AAAA,QACvB,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS,MAAM;AAAA,QAAC;AAAA,QAChB,OAAO,CAAC,EAAE,UAAAE,GAAU,UAAAC,QAAoB;AACtC,UAAAC,EAAYhC,EAAM,MAAM+B,IAAW,GAAGD,IAAW,CAAC;AAAA,QACpD;AAAA,MAAA,CACD;AAAA,IACH;AACS,aAAAE,EAAYR,GAAWO,GAAeD,GAAe;AAC5D,YAAMG,IAAUT,EAAK,OAAOO,GAAU,CAAC,EAAE,CAAC;AACrC,MAAAP,EAAA,OAAOM,GAAU,GAAGG,CAAO;AAAA,IAClC;AAEA,WAAAC,EAAU,MAAM;AACd,MAAAlC,EAAM,SAAS,IAAI0B,EAAS,cAAc,IAAIA,EAAS,aAAa;AAAA,IAAA,CACrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}