uomtiles 0.1.3 → 0.1.6

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 (623) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/87P1vrJx2.js +1 -0
  3. package/.output/public/_nuxt/{BA52uD81.js → B30iI6NY.js} +1 -1
  4. package/.output/public/_nuxt/{CD84FXNW.js → B3Fqmbvs.js} +1 -1
  5. package/.output/public/_nuxt/BhdViME82.js +1 -0
  6. package/.output/public/_nuxt/{D-IOtyQX.js → BryCauXl.js} +1 -1
  7. package/.output/public/_nuxt/{CkfS_Wbu.js → BsG4RgIF.js} +1 -1
  8. package/.output/public/_nuxt/{zUWhKXtw2.js → BvI0Fk652.js} +1 -1
  9. package/.output/public/_nuxt/Bw9ZfIEz.js +1 -0
  10. package/.output/public/_nuxt/BxH0LSKl2.js +1 -0
  11. package/.output/public/_nuxt/{C5Y76DD6.js → C0tXXd_q.js} +1 -1
  12. package/.output/public/_nuxt/{CVwoxklV.js → C3P9RWxN.js} +1 -1
  13. package/.output/public/_nuxt/{D3Us7gX72.js → C9NpqQyG2.js} +1 -1
  14. package/.output/public/_nuxt/CJxz3JZZ2.js +2 -0
  15. package/.output/public/_nuxt/{JdUwgqKv.js → CNw483Zj.js} +1 -1
  16. package/.output/public/_nuxt/{Hbp_Okvs.js → CQoH790U.js} +2 -2
  17. package/.output/public/_nuxt/{D8GHPYwQ.js → CS7MV-ad.js} +4 -4
  18. package/.output/public/_nuxt/{DnVJUY7B.js → CVIKhDCB.js} +1 -1
  19. package/.output/public/_nuxt/{CeHZqNQ0.js → CVfH720g.js} +1 -1
  20. package/.output/public/_nuxt/{DLIy3f3M.js → CZ6SZO_d.js} +1 -1
  21. package/.output/public/_nuxt/{Bpc1HTfh.js → CanHJd1e.js} +1 -1
  22. package/.output/public/_nuxt/CeHFmSjl.js +1 -0
  23. package/.output/public/_nuxt/CeVhOOkF2.js +1 -0
  24. package/.output/public/_nuxt/Cigra9s92.js +1 -0
  25. package/.output/public/_nuxt/{Bh2Uv1S7.js → ClKxITwT.js} +1 -1
  26. package/.output/public/_nuxt/{sMWyPZfC2.js → CsaKOXaj2.js} +1 -1
  27. package/.output/public/_nuxt/{GqgcWtrL.js → CttzcMfv.js} +1 -1
  28. package/.output/public/_nuxt/Cw2siAf_2.js +1 -0
  29. package/.output/public/_nuxt/{DQ8r1OSk.js → DE6808Yp.js} +1 -1
  30. package/.output/public/_nuxt/{CUJ4QmLF.js → DUBSg_Y2.js} +1 -1
  31. package/.output/public/_nuxt/{CxkDmpVY.js → DWmS9_5P.js} +1 -1
  32. package/.output/public/_nuxt/DYM416m_.js +1 -0
  33. package/.output/public/_nuxt/{D_9SjQFe.js → D_SGIxNl.js} +1 -1
  34. package/.output/public/_nuxt/{BHSn2vP72.js → DbaWJJIa2.js} +1 -1
  35. package/.output/public/_nuxt/{C-b4mqsD.js → DjVe4luM.js} +1 -1
  36. package/.output/public/_nuxt/{CoPjdBwX.js → Dv7uv3N72.js} +1 -1
  37. package/.output/public/_nuxt/{CM9IbYJz.js → P5kgsppB.js} +1 -1
  38. package/.output/public/_nuxt/{KttxEAyP2.js → XR4gtbmm.js} +1 -1
  39. package/.output/public/_nuxt/_5p6z8Bm.js +2 -0
  40. package/.output/public/_nuxt/builds/latest.json +1 -1
  41. package/.output/public/_nuxt/builds/meta/98e45168-6e30-460e-aa28-fab54f032a83.json +1 -0
  42. package/.output/public/_nuxt/entry.DaxLd-bD.css +1 -0
  43. package/.output/public/_nuxt/flight-area-analysis.worker-CWQYRs9s.js +26 -0
  44. package/.output/public/_nuxt/hB2w6SMP2.js +64 -0
  45. package/.output/public/_nuxt/hePW80VL.js +1 -0
  46. package/.output/public/_nuxt/maplibre-gl-worker-BtpYDTzw.js +11 -0
  47. package/.output/public/_nuxt/{nearest-area.worker-iSLH0Y_s.js → nearest-area.worker-BYHYA0SF.js} +1 -1
  48. package/.output/public/_nuxt/uomtiles-validation.worker-BTXhap7R.js +2 -0
  49. package/.output/server/chunks/_/antigravity-nfz.mjs +16 -3
  50. package/.output/server/chunks/_/antigravity-nfz.mjs.map +1 -1
  51. package/.output/server/chunks/_/coerce.mjs +8 -0
  52. package/.output/server/chunks/_/coerce.mjs.map +1 -0
  53. package/.output/server/chunks/_/config.mjs +1 -1
  54. package/.output/server/chunks/_/error-500.mjs +2 -2
  55. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  56. package/.output/server/chunks/_/file-workspace.mjs +57 -5
  57. package/.output/server/chunks/_/file-workspace.mjs.map +1 -1
  58. package/.output/server/chunks/_/map-service.mjs +1 -1
  59. package/.output/server/chunks/_/pixel-diff.mjs +1 -1
  60. package/.output/server/{node_modules/consola/dist/chunks → chunks/_}/prompt.mjs +2 -2
  61. package/.output/server/chunks/_/prompt.mjs.map +1 -0
  62. package/.output/server/chunks/_/schemas.mjs +5005 -0
  63. package/.output/server/chunks/_/schemas.mjs.map +1 -0
  64. package/.output/server/{node_modules/@vue/shared/dist/shared.cjs.prod.js → chunks/_/shared.cjs.prod.mjs} +90 -76
  65. package/.output/server/chunks/_/shared.cjs.prod.mjs.map +1 -0
  66. package/.output/server/chunks/_/uom-auth.mjs +42 -5
  67. package/.output/server/chunks/_/uom-auth.mjs.map +1 -1
  68. package/.output/server/chunks/build/{CompletedTaskSelect-Ba03kTs9.mjs → CompletedTaskSelect-nkBeLFh1.mjs} +768 -769
  69. package/.output/server/chunks/build/{CompletedTaskSelect-Ba03kTs9.mjs.map → CompletedTaskSelect-nkBeLFh1.mjs.map} +1 -1
  70. package/.output/server/chunks/build/Empty-Cq-rSwil.mjs +259 -0
  71. package/.output/server/chunks/build/Empty-Cq-rSwil.mjs.map +1 -0
  72. package/.output/server/chunks/build/{interval-i5OZnTaK.mjs → Form-6_bvrptP.mjs} +37 -43
  73. package/.output/server/chunks/build/Form-6_bvrptP.mjs.map +1 -0
  74. package/.output/server/chunks/build/FormField-DJWBDPj5.mjs +246 -0
  75. package/.output/server/chunks/build/FormField-DJWBDPj5.mjs.map +1 -0
  76. package/.output/server/chunks/build/{Input-DnAric-z.mjs → Input-BeUryJZ5.mjs} +67 -68
  77. package/.output/server/chunks/build/Input-BeUryJZ5.mjs.map +1 -0
  78. package/.output/server/chunks/build/{MapLayerControl-DpNmYvcU.mjs → MapLayerControl-DPdRMmuw.mjs} +771 -772
  79. package/.output/server/chunks/build/{MapLayerControl-DpNmYvcU.mjs.map → MapLayerControl-DPdRMmuw.mjs.map} +1 -1
  80. package/.output/server/chunks/build/Modal-BZfMeBGt.mjs +1319 -0
  81. package/.output/server/chunks/build/{Modal-BLhN9Eg2.mjs.map → Modal-BZfMeBGt.mjs.map} +1 -1
  82. package/.output/server/chunks/build/{OnlineMap-B-sCfHkC.mjs → OnlineMap-CYdaIiq1.mjs} +46 -23
  83. package/.output/server/chunks/build/OnlineMap-CYdaIiq1.mjs.map +1 -0
  84. package/.output/server/chunks/build/Pagination-5jGo7sr3.mjs +1024 -0
  85. package/.output/server/chunks/build/{Pagination-CUzoLc_-.mjs.map → Pagination-5jGo7sr3.mjs.map} +1 -1
  86. package/.output/server/chunks/build/{Tabs-cdLsZZoL.mjs → ScrollArea-1y_sQGDj.mjs} +951 -952
  87. package/.output/server/chunks/build/ScrollArea-1y_sQGDj.mjs.map +1 -0
  88. package/.output/server/chunks/build/{Skeleton-CHp-GjOx.mjs → Skeleton-hv0ZqADP.mjs} +10 -11
  89. package/.output/server/chunks/build/{Skeleton-CHp-GjOx.mjs.map → Skeleton-hv0ZqADP.mjs.map} +1 -1
  90. package/.output/server/chunks/build/{Slider-CrIUK3pl.mjs → Slider-DMNQ5v0F.mjs} +150 -151
  91. package/.output/server/chunks/build/{Slider-CrIUK3pl.mjs.map → Slider-DMNQ5v0F.mjs.map} +1 -1
  92. package/.output/server/chunks/build/{Tooltip-DExIlyhu.mjs → Tooltip-Da_m4qTB.mjs} +151 -152
  93. package/.output/server/chunks/build/{Tooltip-DExIlyhu.mjs.map → Tooltip-Da_m4qTB.mjs.map} +1 -1
  94. package/.output/server/chunks/build/advanced-CQaZH879.mjs +5011 -0
  95. package/.output/server/chunks/build/advanced-CQaZH879.mjs.map +1 -0
  96. package/.output/server/chunks/build/{compare-DaE10Dhp.mjs → compare-CXhy8zkR.mjs} +297 -306
  97. package/.output/server/chunks/build/compare-CXhy8zkR.mjs.map +1 -0
  98. package/.output/server/chunks/build/{cookie-CziAmOf1.mjs → cookie-B6O7_fHD.mjs} +6 -6
  99. package/.output/server/chunks/build/{cookie-CziAmOf1.mjs.map → cookie-B6O7_fHD.mjs.map} +1 -1
  100. package/.output/server/chunks/build/dashboard-m7MkDiLb.mjs +3229 -0
  101. package/.output/server/chunks/build/{dashboard-Dq8mphss.mjs.map → dashboard-m7MkDiLb.mjs.map} +1 -1
  102. package/.output/server/chunks/build/{details-DCNvSBgn.mjs → details-BuFz0zbq.mjs} +207 -216
  103. package/.output/server/chunks/build/details-BuFz0zbq.mjs.map +1 -0
  104. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +12 -21
  105. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -1
  106. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +8 -17
  107. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -1
  108. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +10 -10
  109. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -1
  110. package/.output/server/chunks/build/{file-workspace-DMzPuPyG.mjs → file-workspace-C9v6Qocb.mjs} +4 -4
  111. package/.output/server/chunks/build/file-workspace-C9v6Qocb.mjs.map +1 -0
  112. package/.output/server/chunks/build/{layers-50nqoWES.mjs → layers-BXomRZx1.mjs} +107 -116
  113. package/.output/server/chunks/build/layers-BXomRZx1.mjs.map +1 -0
  114. package/.output/server/chunks/build/{login-BHSHtO-R.mjs → login-Bc6Roxwo.mjs} +149 -153
  115. package/.output/server/chunks/build/login-Bc6Roxwo.mjs.map +1 -0
  116. package/.output/server/chunks/build/{map-layers-C3HJoCLw.mjs → map-layers-CTSGZGmW.mjs} +6 -6
  117. package/.output/server/chunks/build/map-layers-CTSGZGmW.mjs.map +1 -0
  118. package/.output/server/chunks/build/{overlay-BS4_B29H.mjs → overlay-LIOZRR0G.mjs} +174 -154
  119. package/.output/server/chunks/build/{overlay-BS4_B29H.mjs.map → overlay-LIOZRR0G.mjs.map} +1 -1
  120. package/.output/server/chunks/build/pages-CBsYYFMD.mjs +210 -0
  121. package/.output/server/chunks/build/pages-CBsYYFMD.mjs.map +1 -0
  122. package/.output/server/chunks/build/{pages-5yYRS5nX.mjs → pages-DN0BdqEU.mjs} +5 -5
  123. package/.output/server/chunks/build/pages-DN0BdqEU.mjs.map +1 -0
  124. package/.output/server/chunks/build/{services-DWlDpsbi.mjs → services-DnEkW3P_.mjs} +255 -264
  125. package/.output/server/chunks/build/{services-DWlDpsbi.mjs.map → services-DnEkW3P_.mjs.map} +1 -1
  126. package/.output/server/chunks/build/{tasks-4b6D39Uy.mjs → tasks-Bbc6_UeW.mjs} +1084 -1084
  127. package/.output/server/chunks/build/{tasks-4b6D39Uy.mjs.map → tasks-Bbc6_UeW.mjs.map} +1 -1
  128. package/.output/server/chunks/build/tasks-BzxHEsMV.mjs +82 -0
  129. package/.output/server/chunks/build/tasks-BzxHEsMV.mjs.map +1 -0
  130. package/.output/server/chunks/nitro/nitro.mjs +1861 -310
  131. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/auth/captcha.post.mjs +3 -2
  133. package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/auth/login.post.mjs +3 -2
  135. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/auth/logout.post.mjs +3 -2
  137. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/auth/map-token.post.mjs +3 -2
  139. package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +3 -2
  141. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -1
  142. package/.output/server/chunks/routes/api/auth/status.get.mjs +3 -2
  143. package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -1
  144. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +3 -2
  145. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
  146. package/.output/server/chunks/routes/api/map/base/status.get.mjs +3 -2
  147. package/.output/server/chunks/routes/api/map/base/status.get.mjs.map +1 -1
  148. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs +3 -2
  149. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs.map +1 -1
  150. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs +3 -2
  151. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs.map +1 -1
  152. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs +3 -2
  153. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs.map +1 -1
  154. package/.output/server/chunks/routes/api/map/layers/status.get.mjs +3 -2
  155. package/.output/server/chunks/routes/api/map/layers/status.get.mjs.map +1 -1
  156. package/.output/server/chunks/routes/api/map/live/status.get.mjs +3 -2
  157. package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -1
  158. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +3 -2
  159. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
  160. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +3 -2
  161. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/map-service/config.post.mjs +8 -8
  163. package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/map-service/file.post.mjs +3 -3
  165. package/.output/server/chunks/routes/api/map-service/source.post.mjs +5 -5
  166. package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/map-service/status.get.mjs +3 -3
  168. package/.output/server/chunks/routes/api/uom/myspace.post.mjs +71 -0
  169. package/.output/server/chunks/routes/api/uom/myspace.post.mjs.map +1 -0
  170. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +8 -13
  171. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -1
  172. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +3 -3
  173. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +8 -7
  174. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -1
  175. package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +9 -8
  176. package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs.map +1 -1
  177. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +6 -5
  178. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -1
  179. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +7 -6
  180. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -1
  181. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +3 -3
  182. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +10 -9
  183. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -1
  184. package/.output/server/chunks/routes/api/workspace/compare.post.mjs +5 -5
  185. package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -1
  186. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +5 -5
  187. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -1
  188. package/.output/server/chunks/routes/api/workspace/files.get.mjs +3 -3
  189. package/.output/server/chunks/routes/api/workspace/files.post.mjs +4 -4
  190. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +6 -6
  191. package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +6 -6
  193. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -1
  194. package/.output/server/chunks/routes/renderer.mjs +42597 -155
  195. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  196. package/.output/server/chunks/routes/services/wms.get.mjs +14 -13
  197. package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -1
  198. package/.output/server/chunks/routes/services/wmts.get.mjs +14 -13
  199. package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -1
  200. package/.output/server/chunks/virtual/entry.mjs +1317 -1136
  201. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  202. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  203. package/.output/server/index.mjs +4 -3
  204. package/.output/server/index.mjs.map +1 -1
  205. package/README.md +7 -31
  206. package/dist/package.json +6 -1
  207. package/dist/src/cli.js +4 -3
  208. package/dist/src/core/fetch-process.js +11 -0
  209. package/package.json +6 -1
  210. package/.output/public/_nuxt/7KYNy7kZ.js +0 -1
  211. package/.output/public/_nuxt/7Rgc2iDI2.js +0 -1
  212. package/.output/public/_nuxt/BRsHq3Fz2.js +0 -1
  213. package/.output/public/_nuxt/BiRI-vq-.js +0 -1
  214. package/.output/public/_nuxt/CGkIG2vL2.js +0 -1
  215. package/.output/public/_nuxt/CUQ3MZqI.js +0 -1
  216. package/.output/public/_nuxt/CzRdWh7s2.js +0 -1
  217. package/.output/public/_nuxt/DK3Fl9T5.js +0 -1
  218. package/.output/public/_nuxt/D_Ggu6R_2.js +0 -1
  219. package/.output/public/_nuxt/DuGgjt-h2.js +0 -64
  220. package/.output/public/_nuxt/GEOST6As.js +0 -1
  221. package/.output/public/_nuxt/L0GXeO1Y2.js +0 -1
  222. package/.output/public/_nuxt/builds/meta/ad8f3148-5aa4-4a0f-8e7a-e55147c5de1a.json +0 -1
  223. package/.output/public/_nuxt/entry.U-KS0GEu.css +0 -1
  224. package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +0 -6
  225. package/.output/server/chunks/build/Empty-CKvANuoV.mjs +0 -260
  226. package/.output/server/chunks/build/Empty-CKvANuoV.mjs.map +0 -1
  227. package/.output/server/chunks/build/FormField-BJHVyy1m.mjs +0 -247
  228. package/.output/server/chunks/build/FormField-BJHVyy1m.mjs.map +0 -1
  229. package/.output/server/chunks/build/Input-DnAric-z.mjs.map +0 -1
  230. package/.output/server/chunks/build/Modal-BLhN9Eg2.mjs +0 -1320
  231. package/.output/server/chunks/build/OnlineMap-B-sCfHkC.mjs.map +0 -1
  232. package/.output/server/chunks/build/Pagination-CUzoLc_-.mjs +0 -1025
  233. package/.output/server/chunks/build/Tabs-cdLsZZoL.mjs.map +0 -1
  234. package/.output/server/chunks/build/advanced-DaSpS8Px.mjs +0 -1426
  235. package/.output/server/chunks/build/advanced-DaSpS8Px.mjs.map +0 -1
  236. package/.output/server/chunks/build/compare-DaE10Dhp.mjs.map +0 -1
  237. package/.output/server/chunks/build/dashboard-Dq8mphss.mjs +0 -3238
  238. package/.output/server/chunks/build/details-DCNvSBgn.mjs.map +0 -1
  239. package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs.map +0 -1
  240. package/.output/server/chunks/build/interval-i5OZnTaK.mjs.map +0 -1
  241. package/.output/server/chunks/build/layers-50nqoWES.mjs.map +0 -1
  242. package/.output/server/chunks/build/login-BHSHtO-R.mjs.map +0 -1
  243. package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs.map +0 -1
  244. package/.output/server/chunks/build/pages-5yYRS5nX.mjs.map +0 -1
  245. package/.output/server/chunks/build/pages-DfOPr0fC.mjs +0 -219
  246. package/.output/server/chunks/build/pages-DfOPr0fC.mjs.map +0 -1
  247. package/.output/server/chunks/build/tasks-BPPx2UMG.mjs +0 -91
  248. package/.output/server/chunks/build/tasks-BPPx2UMG.mjs.map +0 -1
  249. package/.output/server/node_modules/@babel/parser/lib/index.js +0 -14611
  250. package/.output/server/node_modules/@babel/parser/package.json +0 -50
  251. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +0 -295
  252. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +0 -701
  253. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +0 -75
  254. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +0 -39
  255. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +0 -47
  256. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +0 -128
  257. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +0 -19
  258. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +0 -13
  259. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +0 -17
  260. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +0 -16
  261. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +0 -30
  262. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +0 -78
  263. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +0 -100
  264. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +0 -28
  265. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +0 -58
  266. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +0 -48
  267. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +0 -203
  268. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +0 -33
  269. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +0 -132
  270. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +0 -165
  271. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +0 -79
  272. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +0 -92
  273. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +0 -26
  274. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +0 -76
  275. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +0 -66
  276. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +0 -45
  277. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +0 -103
  278. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +0 -36
  279. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +0 -92
  280. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +0 -62
  281. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +0 -25
  282. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +0 -16
  283. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +0 -57
  284. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +0 -33
  285. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +0 -12
  286. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +0 -125
  287. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +0 -19
  288. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +0 -25
  289. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +0 -36
  290. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +0 -91
  291. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +0 -46
  292. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +0 -23
  293. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +0 -42
  294. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +0 -123
  295. package/.output/server/node_modules/@iconify/utils/lib/index.js +0 -52
  296. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +0 -30
  297. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +0 -26
  298. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +0 -27
  299. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +0 -105
  300. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +0 -26
  301. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +0 -26
  302. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +0 -9
  303. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +0 -113
  304. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +0 -31
  305. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +0 -13
  306. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +0 -9
  307. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +0 -41
  308. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +0 -22
  309. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +0 -67
  310. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +0 -54
  311. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +0 -27
  312. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +0 -7
  313. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +0 -22
  314. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +0 -8
  315. package/.output/server/node_modules/@iconify/utils/package.json +0 -119
  316. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +0 -6801
  317. package/.output/server/node_modules/@vue/compiler-core/package.json +0 -58
  318. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +0 -692
  319. package/.output/server/node_modules/@vue/compiler-dom/package.json +0 -57
  320. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +0 -1420
  321. package/.output/server/node_modules/@vue/compiler-ssr/package.json +0 -34
  322. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +0 -1903
  323. package/.output/server/node_modules/@vue/reactivity/package.json +0 -55
  324. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +0 -6976
  325. package/.output/server/node_modules/@vue/runtime-core/package.json +0 -52
  326. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +0 -1841
  327. package/.output/server/node_modules/@vue/runtime-dom/package.json +0 -60
  328. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +0 -904
  329. package/.output/server/node_modules/@vue/server-renderer/package.json +0 -53
  330. package/.output/server/node_modules/@vue/shared/package.json +0 -47
  331. package/.output/server/node_modules/consola/dist/core.mjs +0 -512
  332. package/.output/server/node_modules/consola/dist/index.mjs +0 -651
  333. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +0 -72
  334. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +0 -288
  335. package/.output/server/node_modules/consola/package.json +0 -136
  336. package/.output/server/node_modules/devalue/index.js +0 -17
  337. package/.output/server/node_modules/devalue/package.json +0 -39
  338. package/.output/server/node_modules/devalue/src/base64.js +0 -60
  339. package/.output/server/node_modules/devalue/src/constants.js +0 -12
  340. package/.output/server/node_modules/devalue/src/operations.js +0 -193
  341. package/.output/server/node_modules/devalue/src/parse.js +0 -270
  342. package/.output/server/node_modules/devalue/src/stringify.js +0 -428
  343. package/.output/server/node_modules/devalue/src/uneval.js +0 -582
  344. package/.output/server/node_modules/devalue/src/utils.js +0 -185
  345. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -77
  346. package/.output/server/node_modules/entities/dist/commonjs/decode.js +0 -568
  347. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -7
  348. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -7
  349. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +0 -21
  350. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +0 -31
  351. package/.output/server/node_modules/entities/dist/commonjs/package.json +0 -3
  352. package/.output/server/node_modules/entities/package.json +0 -120
  353. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +0 -344
  354. package/.output/server/node_modules/estree-walker/package.json +0 -37
  355. package/.output/server/node_modules/fflate/esm/index.mjs +0 -2710
  356. package/.output/server/node_modules/fflate/package.json +0 -128
  357. package/.output/server/node_modules/fnv1a-64/dist/index.mjs +0 -95
  358. package/.output/server/node_modules/fnv1a-64/package.json +0 -75
  359. package/.output/server/node_modules/hookable/dist/index.mjs +0 -257
  360. package/.output/server/node_modules/hookable/package.json +0 -53
  361. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +0 -19
  362. package/.output/server/node_modules/nostics/dist/index.mjs +0 -187
  363. package/.output/server/node_modules/nostics/package.json +0 -125
  364. package/.output/server/node_modules/object-identity/index.js +0 -60
  365. package/.output/server/node_modules/object-identity/package.json +0 -40
  366. package/.output/server/node_modules/p-limit/index.js +0 -104
  367. package/.output/server/node_modules/p-limit/package.json +0 -58
  368. package/.output/server/node_modules/pmtiles/dist/esm/index.js +0 -2
  369. package/.output/server/node_modules/pmtiles/package.json +0 -50
  370. package/.output/server/node_modules/source-map-js/lib/array-set.js +0 -121
  371. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +0 -140
  372. package/.output/server/node_modules/source-map-js/lib/base64.js +0 -67
  373. package/.output/server/node_modules/source-map-js/lib/binary-search.js +0 -111
  374. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +0 -79
  375. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +0 -132
  376. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
  377. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +0 -444
  378. package/.output/server/node_modules/source-map-js/lib/source-node.js +0 -413
  379. package/.output/server/node_modules/source-map-js/lib/util.js +0 -594
  380. package/.output/server/node_modules/source-map-js/package.json +0 -71
  381. package/.output/server/node_modules/source-map-js/source-map.js +0 -8
  382. package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +0 -1
  383. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +0 -1
  384. package/.output/server/node_modules/tailwindcss/package.json +0 -89
  385. package/.output/server/node_modules/ufo/dist/index.mjs +0 -645
  386. package/.output/server/node_modules/ufo/package.json +0 -48
  387. package/.output/server/node_modules/undici/index.js +0 -234
  388. package/.output/server/node_modules/undici/lib/api/abort-signal.js +0 -59
  389. package/.output/server/node_modules/undici/lib/api/api-connect.js +0 -110
  390. package/.output/server/node_modules/undici/lib/api/api-pipeline.js +0 -252
  391. package/.output/server/node_modules/undici/lib/api/api-request.js +0 -214
  392. package/.output/server/node_modules/undici/lib/api/api-stream.js +0 -209
  393. package/.output/server/node_modules/undici/lib/api/api-upgrade.js +0 -111
  394. package/.output/server/node_modules/undici/lib/api/index.js +0 -7
  395. package/.output/server/node_modules/undici/lib/api/readable.js +0 -580
  396. package/.output/server/node_modules/undici/lib/cache/memory-cache-store.js +0 -279
  397. package/.output/server/node_modules/undici/lib/cache/sqlite-cache-store.js +0 -467
  398. package/.output/server/node_modules/undici/lib/core/connect.js +0 -153
  399. package/.output/server/node_modules/undici/lib/core/constants.js +0 -143
  400. package/.output/server/node_modules/undici/lib/core/diagnostics.js +0 -227
  401. package/.output/server/node_modules/undici/lib/core/errors.js +0 -477
  402. package/.output/server/node_modules/undici/lib/core/request.js +0 -464
  403. package/.output/server/node_modules/undici/lib/core/socks5-client.js +0 -422
  404. package/.output/server/node_modules/undici/lib/core/socks5-utils.js +0 -212
  405. package/.output/server/node_modules/undici/lib/core/symbols.js +0 -75
  406. package/.output/server/node_modules/undici/lib/core/tree.js +0 -160
  407. package/.output/server/node_modules/undici/lib/core/util.js +0 -992
  408. package/.output/server/node_modules/undici/lib/dispatcher/agent.js +0 -158
  409. package/.output/server/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -219
  410. package/.output/server/node_modules/undici/lib/dispatcher/client-h1.js +0 -1731
  411. package/.output/server/node_modules/undici/lib/dispatcher/client-h2.js +0 -995
  412. package/.output/server/node_modules/undici/lib/dispatcher/client.js +0 -664
  413. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -184
  414. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher.js +0 -48
  415. package/.output/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -146
  416. package/.output/server/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -135
  417. package/.output/server/node_modules/undici/lib/dispatcher/h2c-client.js +0 -51
  418. package/.output/server/node_modules/undici/lib/dispatcher/pool-base.js +0 -214
  419. package/.output/server/node_modules/undici/lib/dispatcher/pool.js +0 -118
  420. package/.output/server/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -319
  421. package/.output/server/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  422. package/.output/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +0 -137
  423. package/.output/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +0 -260
  424. package/.output/server/node_modules/undici/lib/encoding/index.js +0 -33
  425. package/.output/server/node_modules/undici/lib/global.js +0 -59
  426. package/.output/server/node_modules/undici/lib/handler/cache-handler.js +0 -760
  427. package/.output/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +0 -124
  428. package/.output/server/node_modules/undici/lib/handler/decorator-handler.js +0 -67
  429. package/.output/server/node_modules/undici/lib/handler/deduplication-handler.js +0 -460
  430. package/.output/server/node_modules/undici/lib/handler/redirect-handler.js +0 -238
  431. package/.output/server/node_modules/undici/lib/handler/retry-handler.js +0 -418
  432. package/.output/server/node_modules/undici/lib/handler/unwrap-handler.js +0 -106
  433. package/.output/server/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  434. package/.output/server/node_modules/undici/lib/interceptor/cache.js +0 -602
  435. package/.output/server/node_modules/undici/lib/interceptor/decompress.js +0 -259
  436. package/.output/server/node_modules/undici/lib/interceptor/deduplicate.js +0 -117
  437. package/.output/server/node_modules/undici/lib/interceptor/dns.js +0 -571
  438. package/.output/server/node_modules/undici/lib/interceptor/dump.js +0 -112
  439. package/.output/server/node_modules/undici/lib/interceptor/redirect.js +0 -21
  440. package/.output/server/node_modules/undici/lib/interceptor/response-error.js +0 -95
  441. package/.output/server/node_modules/undici/lib/interceptor/retry.js +0 -19
  442. package/.output/server/node_modules/undici/lib/llhttp/constants.js +0 -531
  443. package/.output/server/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -15
  444. package/.output/server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -15
  445. package/.output/server/node_modules/undici/lib/llhttp/utils.js +0 -12
  446. package/.output/server/node_modules/undici/lib/mock/mock-agent.js +0 -232
  447. package/.output/server/node_modules/undici/lib/mock/mock-call-history.js +0 -248
  448. package/.output/server/node_modules/undici/lib/mock/mock-client.js +0 -68
  449. package/.output/server/node_modules/undici/lib/mock/mock-errors.js +0 -29
  450. package/.output/server/node_modules/undici/lib/mock/mock-interceptor.js +0 -209
  451. package/.output/server/node_modules/undici/lib/mock/mock-pool.js +0 -68
  452. package/.output/server/node_modules/undici/lib/mock/mock-symbols.js +0 -32
  453. package/.output/server/node_modules/undici/lib/mock/mock-utils.js +0 -486
  454. package/.output/server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  455. package/.output/server/node_modules/undici/lib/mock/snapshot-agent.js +0 -353
  456. package/.output/server/node_modules/undici/lib/mock/snapshot-recorder.js +0 -588
  457. package/.output/server/node_modules/undici/lib/mock/snapshot-utils.js +0 -158
  458. package/.output/server/node_modules/undici/lib/util/cache.js +0 -676
  459. package/.output/server/node_modules/undici/lib/util/date.js +0 -670
  460. package/.output/server/node_modules/undici/lib/util/promise.js +0 -28
  461. package/.output/server/node_modules/undici/lib/util/runtime-features.js +0 -124
  462. package/.output/server/node_modules/undici/lib/util/stats.js +0 -32
  463. package/.output/server/node_modules/undici/lib/util/timers.js +0 -425
  464. package/.output/server/node_modules/undici/lib/web/cache/cache.js +0 -864
  465. package/.output/server/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  466. package/.output/server/node_modules/undici/lib/web/cache/util.js +0 -45
  467. package/.output/server/node_modules/undici/lib/web/cookies/constants.js +0 -12
  468. package/.output/server/node_modules/undici/lib/web/cookies/index.js +0 -199
  469. package/.output/server/node_modules/undici/lib/web/cookies/parse.js +0 -314
  470. package/.output/server/node_modules/undici/lib/web/cookies/util.js +0 -352
  471. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -399
  472. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource.js +0 -501
  473. package/.output/server/node_modules/undici/lib/web/eventsource/util.js +0 -29
  474. package/.output/server/node_modules/undici/lib/web/fetch/body.js +0 -509
  475. package/.output/server/node_modules/undici/lib/web/fetch/constants.js +0 -131
  476. package/.output/server/node_modules/undici/lib/web/fetch/data-url.js +0 -596
  477. package/.output/server/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -586
  478. package/.output/server/node_modules/undici/lib/web/fetch/formdata.js +0 -259
  479. package/.output/server/node_modules/undici/lib/web/fetch/global.js +0 -40
  480. package/.output/server/node_modules/undici/lib/web/fetch/headers.js +0 -719
  481. package/.output/server/node_modules/undici/lib/web/fetch/index.js +0 -2413
  482. package/.output/server/node_modules/undici/lib/web/fetch/request.js +0 -1115
  483. package/.output/server/node_modules/undici/lib/web/fetch/response.js +0 -641
  484. package/.output/server/node_modules/undici/lib/web/fetch/util.js +0 -1522
  485. package/.output/server/node_modules/undici/lib/web/infra/index.js +0 -229
  486. package/.output/server/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +0 -307
  487. package/.output/server/node_modules/undici/lib/web/webidl/index.js +0 -1006
  488. package/.output/server/node_modules/undici/lib/web/websocket/connection.js +0 -329
  489. package/.output/server/node_modules/undici/lib/web/websocket/constants.js +0 -126
  490. package/.output/server/node_modules/undici/lib/web/websocket/events.js +0 -331
  491. package/.output/server/node_modules/undici/lib/web/websocket/frame.js +0 -133
  492. package/.output/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -100
  493. package/.output/server/node_modules/undici/lib/web/websocket/receiver.js +0 -507
  494. package/.output/server/node_modules/undici/lib/web/websocket/sender.js +0 -109
  495. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketerror.js +0 -104
  496. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +0 -498
  497. package/.output/server/node_modules/undici/lib/web/websocket/util.js +0 -347
  498. package/.output/server/node_modules/undici/lib/web/websocket/websocket.js +0 -758
  499. package/.output/server/node_modules/undici/package.json +0 -152
  500. package/.output/server/node_modules/unhead/dist/client.mjs +0 -22
  501. package/.output/server/node_modules/unhead/dist/index.mjs +0 -52
  502. package/.output/server/node_modules/unhead/dist/legacy.mjs +0 -33
  503. package/.output/server/node_modules/unhead/dist/minify.mjs +0 -183
  504. package/.output/server/node_modules/unhead/dist/parser.mjs +0 -518
  505. package/.output/server/node_modules/unhead/dist/plugins.mjs +0 -631
  506. package/.output/server/node_modules/unhead/dist/scripts.node.mjs +0 -6
  507. package/.output/server/node_modules/unhead/dist/server.mjs +0 -99
  508. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +0 -673
  509. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +0 -47
  510. package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +0 -192
  511. package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +0 -67
  512. package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +0 -585
  513. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +0 -6
  514. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +0 -17
  515. package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +0 -223
  516. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +0 -32
  517. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +0 -7
  518. package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +0 -27
  519. package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +0 -196
  520. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +0 -59
  521. package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +0 -400
  522. package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +0 -19
  523. package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +0 -264
  524. package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +0 -240
  525. package/.output/server/node_modules/unhead/dist/stream/client.mjs +0 -28
  526. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +0 -2
  527. package/.output/server/node_modules/unhead/dist/stream/server.mjs +0 -264
  528. package/.output/server/node_modules/unhead/dist/utils.mjs +0 -7
  529. package/.output/server/node_modules/unhead/package.json +0 -179
  530. package/.output/server/node_modules/vue/dist/vue.cjs.js +0 -80
  531. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +0 -66
  532. package/.output/server/node_modules/vue/index.js +0 -7
  533. package/.output/server/node_modules/vue/index.mjs +0 -1
  534. package/.output/server/node_modules/vue/package.json +0 -112
  535. package/.output/server/node_modules/vue/server-renderer/index.mjs +0 -1
  536. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +0 -278
  537. package/.output/server/node_modules/vue-bundle-renderer/package.json +0 -54
  538. package/.output/server/node_modules/yocto-queue/index.js +0 -90
  539. package/.output/server/node_modules/yocto-queue/package.json +0 -48
  540. package/.output/server/node_modules/zod/index.js +0 -4
  541. package/.output/server/node_modules/zod/package.json +0 -135
  542. package/.output/server/node_modules/zod/v4/classic/checks.js +0 -1
  543. package/.output/server/node_modules/zod/v4/classic/coerce.js +0 -17
  544. package/.output/server/node_modules/zod/v4/classic/compat.js +0 -31
  545. package/.output/server/node_modules/zod/v4/classic/errors.js +0 -48
  546. package/.output/server/node_modules/zod/v4/classic/external.js +0 -20
  547. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +0 -599
  548. package/.output/server/node_modules/zod/v4/classic/iso.js +0 -30
  549. package/.output/server/node_modules/zod/v4/classic/package.json +0 -7
  550. package/.output/server/node_modules/zod/v4/classic/parse.js +0 -15
  551. package/.output/server/node_modules/zod/v4/classic/schemas.js +0 -1395
  552. package/.output/server/node_modules/zod/v4/core/api.js +0 -1087
  553. package/.output/server/node_modules/zod/v4/core/checks.js +0 -575
  554. package/.output/server/node_modules/zod/v4/core/core.js +0 -78
  555. package/.output/server/node_modules/zod/v4/core/doc.js +0 -35
  556. package/.output/server/node_modules/zod/v4/core/errors.js +0 -185
  557. package/.output/server/node_modules/zod/v4/core/index.js +0 -16
  558. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +0 -95
  559. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +0 -601
  560. package/.output/server/node_modules/zod/v4/core/json-schema.js +0 -1
  561. package/.output/server/node_modules/zod/v4/core/package.json +0 -7
  562. package/.output/server/node_modules/zod/v4/core/parse.js +0 -93
  563. package/.output/server/node_modules/zod/v4/core/regexes.js +0 -139
  564. package/.output/server/node_modules/zod/v4/core/registries.js +0 -51
  565. package/.output/server/node_modules/zod/v4/core/schemas.js +0 -2239
  566. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +0 -448
  567. package/.output/server/node_modules/zod/v4/core/util.js +0 -674
  568. package/.output/server/node_modules/zod/v4/core/versions.js +0 -5
  569. package/.output/server/node_modules/zod/v4/locales/ar.js +0 -106
  570. package/.output/server/node_modules/zod/v4/locales/az.js +0 -105
  571. package/.output/server/node_modules/zod/v4/locales/be.js +0 -156
  572. package/.output/server/node_modules/zod/v4/locales/bg.js +0 -120
  573. package/.output/server/node_modules/zod/v4/locales/ca.js +0 -107
  574. package/.output/server/node_modules/zod/v4/locales/cs.js +0 -111
  575. package/.output/server/node_modules/zod/v4/locales/da.js +0 -115
  576. package/.output/server/node_modules/zod/v4/locales/de.js +0 -108
  577. package/.output/server/node_modules/zod/v4/locales/el.js +0 -109
  578. package/.output/server/node_modules/zod/v4/locales/en.js +0 -113
  579. package/.output/server/node_modules/zod/v4/locales/eo.js +0 -109
  580. package/.output/server/node_modules/zod/v4/locales/es.js +0 -132
  581. package/.output/server/node_modules/zod/v4/locales/fa.js +0 -114
  582. package/.output/server/node_modules/zod/v4/locales/fi.js +0 -112
  583. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +0 -107
  584. package/.output/server/node_modules/zod/v4/locales/fr.js +0 -125
  585. package/.output/server/node_modules/zod/v4/locales/he.js +0 -214
  586. package/.output/server/node_modules/zod/v4/locales/hr.js +0 -122
  587. package/.output/server/node_modules/zod/v4/locales/hu.js +0 -108
  588. package/.output/server/node_modules/zod/v4/locales/hy.js +0 -147
  589. package/.output/server/node_modules/zod/v4/locales/id.js +0 -106
  590. package/.output/server/node_modules/zod/v4/locales/index.js +0 -52
  591. package/.output/server/node_modules/zod/v4/locales/is.js +0 -109
  592. package/.output/server/node_modules/zod/v4/locales/it.js +0 -108
  593. package/.output/server/node_modules/zod/v4/locales/ja.js +0 -107
  594. package/.output/server/node_modules/zod/v4/locales/ka.js +0 -112
  595. package/.output/server/node_modules/zod/v4/locales/kh.js +0 -5
  596. package/.output/server/node_modules/zod/v4/locales/km.js +0 -110
  597. package/.output/server/node_modules/zod/v4/locales/ko.js +0 -111
  598. package/.output/server/node_modules/zod/v4/locales/lt.js +0 -203
  599. package/.output/server/node_modules/zod/v4/locales/mk.js +0 -109
  600. package/.output/server/node_modules/zod/v4/locales/ms.js +0 -107
  601. package/.output/server/node_modules/zod/v4/locales/nl.js +0 -110
  602. package/.output/server/node_modules/zod/v4/locales/no.js +0 -108
  603. package/.output/server/node_modules/zod/v4/locales/ota.js +0 -109
  604. package/.output/server/node_modules/zod/v4/locales/package.json +0 -7
  605. package/.output/server/node_modules/zod/v4/locales/pl.js +0 -109
  606. package/.output/server/node_modules/zod/v4/locales/ps.js +0 -114
  607. package/.output/server/node_modules/zod/v4/locales/pt.js +0 -108
  608. package/.output/server/node_modules/zod/v4/locales/ro.js +0 -119
  609. package/.output/server/node_modules/zod/v4/locales/ru.js +0 -156
  610. package/.output/server/node_modules/zod/v4/locales/sl.js +0 -109
  611. package/.output/server/node_modules/zod/v4/locales/sv.js +0 -110
  612. package/.output/server/node_modules/zod/v4/locales/ta.js +0 -110
  613. package/.output/server/node_modules/zod/v4/locales/th.js +0 -110
  614. package/.output/server/node_modules/zod/v4/locales/tr.js +0 -105
  615. package/.output/server/node_modules/zod/v4/locales/ua.js +0 -5
  616. package/.output/server/node_modules/zod/v4/locales/uk.js +0 -108
  617. package/.output/server/node_modules/zod/v4/locales/ur.js +0 -110
  618. package/.output/server/node_modules/zod/v4/locales/uz.js +0 -110
  619. package/.output/server/node_modules/zod/v4/locales/vi.js +0 -108
  620. package/.output/server/node_modules/zod/v4/locales/yo.js +0 -107
  621. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +0 -109
  622. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +0 -107
  623. package/.output/server/package.json +0 -38
@@ -1 +1 @@
1
- import{d as e}from"#entry";import{a as t,o as n,s as r}from"./CVwoxklV.js";var i={"dji-nfz":[`overlay-dji-nfz-fill`,`overlay-dji-nfz-line`],"antigravity-nfz":[`overlay-antigravity-nfz-fill`,`overlay-antigravity-nfz-line`]},a=[`overlay-dji-nfz-fill`,`overlay-antigravity-nfz-fill`],o=()=>({type:`FeatureCollection`,features:[]});function s(){return{"base-tianditu":{type:`raster`,tiles:[`/api/map/base/vec/{z}/{x}/{y}`],tileSize:256,attribution:`天地图`,maxzoom:18},"base-tianditu-labels":{type:`raster`,tiles:[`/api/map/base/cva/{z}/{x}/{y}`],tileSize:256,maxzoom:18},"base-osm":{type:`raster`,tiles:[`https://tile.openstreetmap.org/{z}/{x}/{y}.png`],tileSize:256,attribution:`© OpenStreetMap contributors`,maxzoom:19},"overlay-dji-nfz":{type:`geojson`,data:o(),attribution:`Dji`},"overlay-antigravity-nfz":{type:`geojson`,data:o(),attribution:`Antigravity`}}}function c(e){return[{id:`paper`,type:`background`,paint:{"background-color":`#e9ece8`}},{id:`base-tianditu`,type:`raster`,source:`base-tianditu`,layout:{visibility:e===`tianditu`?`visible`:`none`},paint:{"raster-opacity":.48,"raster-saturation":-.75,"raster-contrast":.08}},{id:`base-osm`,type:`raster`,source:`base-osm`,layout:{visibility:e===`osm`?`visible`:`none`},paint:{"raster-opacity":.72,"raster-saturation":-.55,"raster-contrast":.04}}]}function l(e){let t=e.includes(`dji-nfz`)?`visible`:`none`,n=e.includes(`antigravity-nfz`)?`visible`:`none`;return[{id:`overlay-dji-nfz-fill`,type:`fill`,source:`overlay-dji-nfz`,layout:{visibility:t},paint:{"fill-color":[`get`,`color`],"fill-opacity":.22}},{id:`overlay-dji-nfz-line`,type:`line`,source:`overlay-dji-nfz`,layout:{visibility:t},paint:{"line-color":[`get`,`color`],"line-width":1.6,"line-opacity":.9}},{id:`overlay-antigravity-nfz-fill`,type:`fill`,source:`overlay-antigravity-nfz`,layout:{visibility:n},paint:{"fill-color":[`get`,`color`],"fill-opacity":.14}},{id:`overlay-antigravity-nfz-line`,type:`line`,source:`overlay-antigravity-nfz`,layout:{visibility:n},paint:{"line-color":[`get`,`color`],"line-width":1.8,"line-opacity":.9,"line-dasharray":[2,1.5]}}]}function u(e){return{id:`base-tianditu-labels`,type:`raster`,source:`base-tianditu-labels`,layout:{visibility:e===`tianditu`?`visible`:`none`},paint:{"raster-opacity":.82,"raster-fade-duration":0}}}function d(e,t){p(e,`base-tianditu`,t.baseLayer===`tianditu`),p(e,`base-tianditu-labels`,t.baseLayer===`tianditu`),p(e,`base-osm`,t.baseLayer===`osm`);for(let[n,r]of Object.entries(i)){let i=t.overlayLayers.includes(n);for(let t of r)p(e,t,i)}}function f(e,t){e.on(`style.load`,()=>d(e,t()))}function p(e,t,n){e.getLayer(t)&&e.setLayoutProperty(t,`visibility`,n?`visible`:`none`)}var m=24,h=352,g=8,_=10,v=10,y=46,b=new Intl.DateTimeFormat(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});function x(e,t){let n=C(e.clientWidth),r=C(e.clientHeight),i=Math.max(1,Math.min(h,n-16)),a=w(t.x,0,n),o=w(t.y,0,r),s=Math.max(0,o-g-_-v),c=Math.max(0,r-o-g-_-v),l=c>=s?`top`:`bottom`,u=l===`top`?c:s,d=Math.max(0,Math.floor(u-y)),f=a-i/2,p=a+i/2,m=``,b=0;if(f<g||p>n-g){if(a+i<=n-g)m=`left`;else if(a-i>=g)m=`right`;else{let e=g+i/2,t=n-g-i/2,r=w(a,e,Math.max(e,t));b=Math.round(r-a)}}return{anchor:`${l}${m?`-${m}`:``}`,offset:[b,l===`top`?_:-10],width:i,availableHeight:u,bodyMaxHeight:d}}var S=class{map;popup=null;constructor(e){this.map=e,e.on(`click`,this.onClick)}destroy(){this.map.off(`click`,this.onClick),this.popup?.remove(),this.popup=null}onClick=t=>{let n=T(this.map,t.point);if(!n.length){this.popup?.remove(),this.popup=null;return}let r=t.lngLat.wrap(),i=this.map.getContainer(),a=i.getBoundingClientRect(),o=x({clientWidth:a.width||i.clientWidth,clientHeight:a.height||i.clientHeight},t.point),s=D(n,[r.lng,r.lat]);s.querySelector(`.uom-map-overlay-info__body`)?.style.setProperty(`max-height`,`${o.bodyMaxHeight}px`),this.popup?.remove(),this.popup=new e({className:`uom-map-overlay-popup`,closeButton:!0,closeOnClick:!1,maxWidth:`${o.width}px`,anchor:o.anchor,offset:o.offset,padding:{top:g,right:g,bottom:g,left:g}}).setLngLat(r).setDOMContent(s).addTo(this.map);let c=this.popup.getElement();c.style.setProperty(`--uom-map-overlay-popup-width`,`${o.width}px`),c.style.maxWidth=`${o.width}px`;let l=c.querySelector(`.maplibregl-popup-content`);l?.style.setProperty(`width`,`${o.width}px`);let u=s.querySelector(`.uom-map-overlay-info__header`),d=u?.getBoundingClientRect().height||u?.offsetHeight||y,f=Math.max(0,Math.floor(o.availableHeight-d)),p=f+d+v;s.querySelector(`.uom-map-overlay-info__body`)?.style.setProperty(`max-height`,`${f}px`),c.style.setProperty(`--uom-map-overlay-popup-body-max-height`,`${f}px`),c.style.setProperty(`--uom-map-overlay-popup-max-height`,`${p}px`),c.style.maxHeight=`${p}px`,l?.style.setProperty(`max-height`,`${f+d}px`),c.querySelector(`.maplibregl-popup-close-button`)?.setAttribute(`aria-label`,`关闭区域信息`)}};function C(e){return Number.isFinite(e)&&e>0?e:0}function w(e,t,n){return Math.min(Math.max(e,t),n)}function T(e,t){let n=a.filter(t=>!!e.getLayer(t));return n.length?E(e.queryRenderedFeatures(t,{layers:n})):[]}function E(e){let i=[],a=new Set;for(let o of e){let e=o.properties,s=e?.source,c=e?.category;if(!r(s)||!F(c))continue;let l=I(e.id),u=I(e.sourceAreaId)||l,d=I(e.name);if(!l||!u||!d)continue;let f=L(e.lowerLimit),p=L(e.upperLimit),m=z(e.startsAt),h=z(e.endsAt),g=[s,u,c,f,p,m,h].join(`|`);a.has(g)||(a.add(g),i.push({id:l,sourceAreaId:u,source:s,sourceLabel:t[s],name:d,category:c,categoryLabel:n[c],color:B(e.color),...I(e.description)?{description:I(e.description)}:{},...I(e.countryCode)?{countryCode:I(e.countryCode)}:{},...I(e.city)?{city:I(e.city)}:{},...f===void 0?{}:{lowerLimit:f},...p===void 0?{}:{upperLimit:p},...I(e.lowerReference)?{lowerReference:I(e.lowerReference)}:{},...I(e.upperReference)?{upperReference:I(e.upperReference)}:{},isPermanent:R(e.isPermanent)??(!m&&!h),...m?{startsAt:m}:{},...h?{endsAt:h}:{}}))}return i}function D(e,t,n=document){let r=V(n,`div`,`uom-map-overlay-info`);r.setAttribute(`role`,`document`),r.setAttribute(`aria-label`,`覆盖区域信息`);let i=V(n,`header`,`uom-map-overlay-info__header`),a=V(n,`strong`,`uom-map-overlay-info__title`);a.textContent=`此点覆盖 ${e.length} 个区域`;let o=V(n,`span`,`uom-map-overlay-info__coordinate`);o.textContent=`${t[0].toFixed(5)}, ${t[1].toFixed(5)}`,i.append(a,o),r.append(i);let s=V(n,`div`,`uom-map-overlay-info__body`);for(let t of e.slice(0,m))s.append(O(n,t));if(e.length>m){let t=V(n,`p`,`uom-map-overlay-info__remainder`);t.textContent=`另有 ${e.length-m} 个重叠区域未展开`,s.append(t)}return r.append(s),r}function O(e,t){let n=V(e,`section`,`uom-map-overlay-area`);n.style.setProperty(`--uom-map-overlay-color`,t.color);let r=V(e,`div`,`uom-map-overlay-area__eyebrow`),i=V(e,`span`,`uom-map-overlay-area__source`);i.textContent=t.sourceLabel;let a=V(e,`span`,`uom-map-overlay-area__category`);a.textContent=t.categoryLabel,r.append(i,a);let o=V(e,`h3`,`uom-map-overlay-area__name`);o.textContent=t.name,n.append(r,o);let s=V(e,`dl`,`uom-map-overlay-area__details`),c=A(t);c&&k(e,s,t.category===`altitude`||t.category===`special-altitude`?`限高`:`高度`,c),k(e,s,`有效期`,j(t));let l=[t.city,t.countryCode].filter(Boolean).join(` · `);if(l&&k(e,s,`位置`,l),n.append(s),t.description){let r=V(e,`p`,`uom-map-overlay-area__description`);r.textContent=t.description,n.append(r)}return n}function k(e,t,n,r){let i=V(e,`dt`,`uom-map-overlay-area__term`);i.textContent=n;let a=V(e,`dd`,`uom-map-overlay-area__value`);a.textContent=r,t.append(i,a)}function A(e){let t=e.lowerLimit,n=e.upperLimit;if((t===void 0||t<=0)&&(n===void 0||n<=0))return;let r=N(e.upperReference||e.lowerReference);return t!==void 0&&t>0&&n!==void 0&&n>0?`${r}${P(t)}–${P(n)} 米`:n!==void 0&&n>0?`${r}${P(n)} 米`:`${r}${P(t)} 米以上`}function j(e){return e.isPermanent&&!e.startsAt&&!e.endsAt?`长期有效`:e.startsAt&&e.endsAt?`${M(e.startsAt)} 至 ${M(e.endsAt)}`:e.startsAt?`${M(e.startsAt)} 起`:e.endsAt?`截至 ${M(e.endsAt)}`:e.isPermanent?`长期有效`:`临时区域`}function M(e){return b.format(new Date(e))}function N(e){return e?e.toUpperCase()===`AGL`?`距地面 `:e.toUpperCase()===`AMSL`||e.toUpperCase()===`MSL`?`海拔 `:`${e} `:``}function P(e){return new Intl.NumberFormat(`zh-CN`,{maximumFractionDigits:1}).format(e)}function F(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(n,e)}function I(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function L(e){let t=typeof e==`number`?e:typeof e==`string`&&e.trim()?Number(e):NaN;return Number.isFinite(t)?t:void 0}function R(e){if(typeof e==`boolean`)return e;if(e===`true`||e===1||e===`1`)return!0;if(e===`false`||e===0||e===`0`)return!1}function z(e){let t=I(e);return t&&Number.isFinite(Date.parse(t))?t:void 0}function B(e){return typeof e==`string`&&/^#[0-9a-f]{6}$/i.test(e)?e:`#6b7280`}function V(e,t,n){let r=e.createElement(t);return r.className=n,r}export{s as a,u as i,d as n,l as o,c as r,f as s,S as t};
1
+ import{d as e}from"#entry";import{a as t,o as n,s as r}from"./C3P9RWxN.js";var i={"dji-nfz":[`overlay-dji-nfz-fill`,`overlay-dji-nfz-line`],"antigravity-nfz":[`overlay-antigravity-nfz-fill`,`overlay-antigravity-nfz-line`]},a=[`overlay-dji-nfz-fill`,`overlay-antigravity-nfz-fill`],o=()=>({type:`FeatureCollection`,features:[]});function s(){return{"base-tianditu":{type:`raster`,tiles:[`/api/map/base/vec/{z}/{x}/{y}`],tileSize:256,attribution:`天地图`,maxzoom:18},"base-tianditu-labels":{type:`raster`,tiles:[`/api/map/base/cva/{z}/{x}/{y}`],tileSize:256,maxzoom:18},"base-osm":{type:`raster`,tiles:[`https://tile.openstreetmap.org/{z}/{x}/{y}.png`],tileSize:256,attribution:`© OpenStreetMap contributors`,maxzoom:19},"overlay-dji-nfz":{type:`geojson`,data:o(),attribution:`Dji`},"overlay-antigravity-nfz":{type:`geojson`,data:o(),attribution:`Antigravity`}}}function c(e){return[{id:`paper`,type:`background`,paint:{"background-color":`#e9ece8`}},{id:`base-tianditu`,type:`raster`,source:`base-tianditu`,layout:{visibility:e===`tianditu`?`visible`:`none`},paint:{"raster-opacity":.48,"raster-saturation":-.75,"raster-contrast":.08}},{id:`base-osm`,type:`raster`,source:`base-osm`,layout:{visibility:e===`osm`?`visible`:`none`},paint:{"raster-opacity":.72,"raster-saturation":-.55,"raster-contrast":.04}}]}function l(e){let t=e.includes(`dji-nfz`)?`visible`:`none`,n=e.includes(`antigravity-nfz`)?`visible`:`none`;return[{id:`overlay-dji-nfz-fill`,type:`fill`,source:`overlay-dji-nfz`,layout:{visibility:t},paint:{"fill-color":[`get`,`color`],"fill-opacity":.22}},{id:`overlay-dji-nfz-line`,type:`line`,source:`overlay-dji-nfz`,layout:{visibility:t},paint:{"line-color":[`get`,`color`],"line-width":1.6,"line-opacity":.9}},{id:`overlay-antigravity-nfz-fill`,type:`fill`,source:`overlay-antigravity-nfz`,layout:{visibility:n},paint:{"fill-color":[`get`,`color`],"fill-opacity":.14}},{id:`overlay-antigravity-nfz-line`,type:`line`,source:`overlay-antigravity-nfz`,layout:{visibility:n},paint:{"line-color":[`get`,`color`],"line-width":1.8,"line-opacity":.9,"line-dasharray":[2,1.5]}}]}function u(e){return{id:`base-tianditu-labels`,type:`raster`,source:`base-tianditu-labels`,layout:{visibility:e===`tianditu`?`visible`:`none`},paint:{"raster-opacity":.82,"raster-fade-duration":0}}}function d(e,t){p(e,`base-tianditu`,t.baseLayer===`tianditu`),p(e,`base-tianditu-labels`,t.baseLayer===`tianditu`),p(e,`base-osm`,t.baseLayer===`osm`);for(let[n,r]of Object.entries(i)){let i=t.overlayLayers.includes(n);for(let t of r)p(e,t,i)}}function f(e,t){e.on(`style.load`,()=>d(e,t()))}function p(e,t,n){e.getLayer(t)&&e.setLayoutProperty(t,`visibility`,n?`visible`:`none`)}var m=24,h=352,g=8,_=10,v=10,y=46,b=new Intl.DateTimeFormat(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});function x(e,t){let n=C(e.clientWidth),r=C(e.clientHeight),i=Math.max(1,Math.min(h,n-16)),a=w(t.x,0,n),o=w(t.y,0,r),s=Math.max(0,o-g-_-v),c=Math.max(0,r-o-g-_-v),l=c>=s?`top`:`bottom`,u=l===`top`?c:s,d=Math.max(0,Math.floor(u-y)),f=a-i/2,p=a+i/2,m=``,b=0;if(f<g||p>n-g){if(a+i<=n-g)m=`left`;else if(a-i>=g)m=`right`;else{let e=g+i/2,t=n-g-i/2,r=w(a,e,Math.max(e,t));b=Math.round(r-a)}}return{anchor:`${l}${m?`-${m}`:``}`,offset:[b,l===`top`?_:-10],width:i,availableHeight:u,bodyMaxHeight:d}}var S=class{map;popup=null;constructor(e){this.map=e,e.on(`click`,this.onClick)}destroy(){this.map.off(`click`,this.onClick),this.popup?.remove(),this.popup=null}onClick=t=>{let n=T(this.map,t.point);if(!n.length){this.popup?.remove(),this.popup=null;return}let r=t.lngLat.wrap(),i=this.map.getContainer(),a=i.getBoundingClientRect(),o=x({clientWidth:a.width||i.clientWidth,clientHeight:a.height||i.clientHeight},t.point),s=D(n,[r.lng,r.lat]);s.querySelector(`.uom-map-overlay-info__body`)?.style.setProperty(`max-height`,`${o.bodyMaxHeight}px`),this.popup?.remove(),this.popup=new e({className:`uom-map-overlay-popup`,closeButton:!0,closeOnClick:!1,maxWidth:`${o.width}px`,anchor:o.anchor,offset:o.offset,padding:{top:g,right:g,bottom:g,left:g}}).setLngLat(r).setDOMContent(s).addTo(this.map);let c=this.popup.getElement();c.style.setProperty(`--uom-map-overlay-popup-width`,`${o.width}px`),c.style.maxWidth=`${o.width}px`;let l=c.querySelector(`.maplibregl-popup-content`);l?.style.setProperty(`width`,`${o.width}px`);let u=s.querySelector(`.uom-map-overlay-info__header`),d=u?.getBoundingClientRect().height||u?.offsetHeight||y,f=Math.max(0,Math.floor(o.availableHeight-d)),p=f+d+v;s.querySelector(`.uom-map-overlay-info__body`)?.style.setProperty(`max-height`,`${f}px`),c.style.setProperty(`--uom-map-overlay-popup-body-max-height`,`${f}px`),c.style.setProperty(`--uom-map-overlay-popup-max-height`,`${p}px`),c.style.maxHeight=`${p}px`,l?.style.setProperty(`max-height`,`${f+d}px`),c.querySelector(`.maplibregl-popup-close-button`)?.setAttribute(`aria-label`,`关闭区域信息`)}};function C(e){return Number.isFinite(e)&&e>0?e:0}function w(e,t,n){return Math.min(Math.max(e,t),n)}function T(e,t){let n=a.filter(t=>!!e.getLayer(t));return n.length?E(e.queryRenderedFeatures(t,{layers:n})):[]}function E(e){let i=[],a=new Set;for(let o of e){let e=o.properties,s=e?.source,c=e?.category;if(!r(s)||!F(c))continue;let l=I(e.id),u=I(e.sourceAreaId)||l,d=I(e.name);if(!l||!u||!d)continue;let f=L(e.lowerLimit),p=L(e.upperLimit),m=z(e.startsAt),h=z(e.endsAt),g=[s,u,c,f,p,m,h].join(`|`);a.has(g)||(a.add(g),i.push({id:l,sourceAreaId:u,source:s,sourceLabel:t[s],name:d,category:c,categoryLabel:n[c],color:B(e.color),...I(e.description)?{description:I(e.description)}:{},...I(e.countryCode)?{countryCode:I(e.countryCode)}:{},...I(e.city)?{city:I(e.city)}:{},...f===void 0?{}:{lowerLimit:f},...p===void 0?{}:{upperLimit:p},...I(e.lowerReference)?{lowerReference:I(e.lowerReference)}:{},...I(e.upperReference)?{upperReference:I(e.upperReference)}:{},isPermanent:R(e.isPermanent)??(!m&&!h),...m?{startsAt:m}:{},...h?{endsAt:h}:{}}))}return i}function D(e,t,n=document){let r=V(n,`div`,`uom-map-overlay-info`);r.setAttribute(`role`,`document`),r.setAttribute(`aria-label`,`覆盖区域信息`);let i=V(n,`header`,`uom-map-overlay-info__header`),a=V(n,`strong`,`uom-map-overlay-info__title`);a.textContent=`此点覆盖 ${e.length} 个区域`;let o=V(n,`span`,`uom-map-overlay-info__coordinate`);o.textContent=`${t[0].toFixed(5)}, ${t[1].toFixed(5)}`,i.append(a,o),r.append(i);let s=V(n,`div`,`uom-map-overlay-info__body`);for(let t of e.slice(0,m))s.append(O(n,t));if(e.length>m){let t=V(n,`p`,`uom-map-overlay-info__remainder`);t.textContent=`另有 ${e.length-m} 个重叠区域未展开`,s.append(t)}return r.append(s),r}function O(e,t){let n=V(e,`section`,`uom-map-overlay-area`);n.style.setProperty(`--uom-map-overlay-color`,t.color);let r=V(e,`div`,`uom-map-overlay-area__eyebrow`),i=V(e,`span`,`uom-map-overlay-area__source`);i.textContent=t.sourceLabel;let a=V(e,`span`,`uom-map-overlay-area__category`);a.textContent=t.categoryLabel,r.append(i,a);let o=V(e,`h3`,`uom-map-overlay-area__name`);o.textContent=t.name,n.append(r,o);let s=V(e,`dl`,`uom-map-overlay-area__details`),c=A(t);c&&k(e,s,t.category===`altitude`||t.category===`special-altitude`?`限高`:`高度`,c),k(e,s,`有效期`,j(t));let l=[t.city,t.countryCode].filter(Boolean).join(` · `);if(l&&k(e,s,`位置`,l),n.append(s),t.description){let r=V(e,`p`,`uom-map-overlay-area__description`);r.textContent=t.description,n.append(r)}return n}function k(e,t,n,r){let i=V(e,`dt`,`uom-map-overlay-area__term`);i.textContent=n;let a=V(e,`dd`,`uom-map-overlay-area__value`);a.textContent=r,t.append(i,a)}function A(e){let t=e.lowerLimit,n=e.upperLimit;if((t===void 0||t<=0)&&(n===void 0||n<=0))return;let r=N(e.upperReference||e.lowerReference);return t!==void 0&&t>0&&n!==void 0&&n>0?`${r}${P(t)}–${P(n)} 米`:n!==void 0&&n>0?`${r}${P(n)} 米`:`${r}${P(t)} 米以上`}function j(e){return e.isPermanent&&!e.startsAt&&!e.endsAt?`长期有效`:e.startsAt&&e.endsAt?`${M(e.startsAt)} 至 ${M(e.endsAt)}`:e.startsAt?`${M(e.startsAt)} 起`:e.endsAt?`截至 ${M(e.endsAt)}`:e.isPermanent?`长期有效`:`临时区域`}function M(e){return b.format(new Date(e))}function N(e){return e?e.toUpperCase()===`AGL`?`距地面 `:e.toUpperCase()===`AMSL`||e.toUpperCase()===`MSL`?`海拔 `:`${e} `:``}function P(e){return new Intl.NumberFormat(`zh-CN`,{maximumFractionDigits:1}).format(e)}function F(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(n,e)}function I(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function L(e){let t=typeof e==`number`?e:typeof e==`string`&&e.trim()?Number(e):NaN;return Number.isFinite(t)?t:void 0}function R(e){if(typeof e==`boolean`)return e;if(e===`true`||e===1||e===`1`)return!0;if(e===`false`||e===0||e===`0`)return!1}function z(e){let t=I(e);return t&&Number.isFinite(Date.parse(t))?t:void 0}function B(e){return typeof e==`string`&&/^#[0-9a-f]{6}$/i.test(e)?e:`#6b7280`}function V(e,t,n){let r=e.createElement(t);return r.className=n,r}export{s as a,u as i,d as n,l as o,c as r,f as s,S as t};
@@ -1 +1 @@
1
- import{M as e,Nn as t}from"./C97TfNgP.js";import{t as n}from"./DmN-PKW1.js";import{t as r}from"./CD84FXNW.js";var i=[`osm`,`tianditu`],a=[`dji-nfz`,`antigravity-nfz`],o={baseLayer:`osm`,overlayLayers:[]},s={osm:`OSM`,tianditu:`天地图`},c={"dji-nfz":`DJI Flysafe`,"antigravity-nfz":`Antigravity`},l={altitude:`限高区`,warning:`警示区`,"enhanced-warning":`加强警示区`,restricted:`限制区`,"regulatory-restricted":`法规限制区`,authorization:`授权区`,approved:`轻型无人机适飞区`,recommended:`推荐区`,"special-altitude":`特殊限高区`,other:`其他区域`};function u(e){return typeof e==`string`&&i.includes(e)}function d(e){return typeof e==`string`&&a.includes(e)}function f(e){return u(e)?e:o.baseLayer}function p(e){return Array.isArray(e)?[...new Set(e.filter(d))]:[]}function m(){let i=r(`uom-map-base-layer`,{default:()=>`osm`,sameSite:`lax`,maxAge:31536e3}),a=r(`uom-map-overlay-layers`,{default:()=>[],sameSite:`lax`,maxAge:31536e3}),o=n(`map-base-layer`,()=>f(i.value)),s=n(`map-overlay-layers`,()=>p(a.value)),c=n(`map-overlay-errors`,()=>({})),l=e({get:()=>o.value,set:e=>{let t=f(e);o.value=t,i.value=t}}),u=e({get:()=>s.value,set:e=>{let t=p(e);s.value=t,a.value=t}});function d(e){e&&l.value===`tianditu`&&!e.baseLayers.tianditu.available&&(l.value=`osm`)}function m(e,t){let n={...c.value};t?n[e]={message:t,occurredAt:new Date().toISOString()}:delete n[e],c.value=n}return{baseLayer:l,overlayLayers:u,overlayErrors:t(c),applyAvailability:d,setOverlayError:m}}var h={"dji-nfz":`overlay-dji-nfz`,"antigravity-nfz":`overlay-antigravity-nfz`},g=new Map,_=new Set,v=class{map;onError;selected=[];generation=0;destroyed=!1;constructor(e,t){this.map=e,this.onError=t,_.add(this)}start(e){this.selected=[...e],this.load()}update(e){this.selected=[...e];for(let e of Object.keys(h))this.selected.includes(e)||(this.setData(e,x()),this.onError(e));this.load()}destroy(){this.destroyed=!0,this.generation++,_.delete(this)}refresh(){this.destroyed||this.load()}async load(){if(this.destroyed)return;let e=[...this.selected],t=++this.generation;await Promise.all(e.map(async e=>{try{let n=await y(e);if(this.destroyed||t!==this.generation||!this.selected.includes(e))return;this.setData(e,n)||this.map.once(`styledata`,()=>{!this.destroyed&&t===this.generation&&this.selected.includes(e)&&this.setData(e,n)}),this.onError(e)}catch(n){if(this.destroyed||t!==this.generation)return;this.setData(e,x()),this.onError(e,n instanceof Error?n.message:`图层加载失败`)}}))}setData(e,t){let n=this.map.getSource(h[e]);return n?.setData(t),!!n}};function y(e){let t=g.get(e);return t||(t=fetch(`/api/map/layers/${e}`,{cache:`no-cache`,headers:{accept:`application/geo+json, application/json`}}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.message||`图层请求失败(${e.status})`)}return e.json()}).catch(t=>{throw g.delete(e),t}),g.set(e,t)),t}function b(){g.clear();for(let e of _)e.refresh()}function x(){return{type:`FeatureCollection`,features:[]}}export{c as a,s as i,b as n,l as o,m as r,d as s,v as t};
1
+ import{M as e,Nn as t}from"./C97TfNgP.js";import{t as n}from"./DmN-PKW1.js";import{t as r}from"./B3Fqmbvs.js";var i=[`osm`,`tianditu`],a=[`dji-nfz`,`antigravity-nfz`],o={baseLayer:`osm`,overlayLayers:[]},s={osm:`OSM`,tianditu:`天地图`},c={"dji-nfz":`DJI Flysafe`,"antigravity-nfz":`Antigravity`},l={altitude:`限高区`,warning:`警示区`,"enhanced-warning":`加强警示区`,restricted:`限制区`,"regulatory-restricted":`法规限制区`,authorization:`授权区`,approved:`轻型无人机适飞区`,recommended:`推荐区`,"special-altitude":`特殊限高区`,other:`其他区域`};function u(e){return typeof e==`string`&&i.includes(e)}function d(e){return typeof e==`string`&&a.includes(e)}function f(e){return u(e)?e:o.baseLayer}function p(e){return Array.isArray(e)?[...new Set(e.filter(d))]:[]}function m(){let i=r(`uom-map-base-layer`,{default:()=>`osm`,sameSite:`lax`,maxAge:31536e3}),a=r(`uom-map-overlay-layers`,{default:()=>[],sameSite:`lax`,maxAge:31536e3}),o=n(`map-base-layer`,()=>f(i.value)),s=n(`map-overlay-layers`,()=>p(a.value)),c=n(`map-overlay-errors`,()=>({})),l=e({get:()=>o.value,set:e=>{let t=f(e);o.value=t,i.value=t}}),u=e({get:()=>s.value,set:e=>{let t=p(e);s.value=t,a.value=t}});function d(e){e&&l.value===`tianditu`&&!e.baseLayers.tianditu.available&&(l.value=`osm`)}function m(e,t){let n={...c.value};t?n[e]={message:t,occurredAt:new Date().toISOString()}:delete n[e],c.value=n}return{baseLayer:l,overlayLayers:u,overlayErrors:t(c),applyAvailability:d,setOverlayError:m}}var h={"dji-nfz":`overlay-dji-nfz`,"antigravity-nfz":`overlay-antigravity-nfz`},g=new Map,_=new Set,v=class{map;onError;selected=[];generation=0;destroyed=!1;constructor(e,t){this.map=e,this.onError=t,_.add(this)}start(e){this.selected=[...e],this.load()}update(e){this.selected=[...e];for(let e of Object.keys(h))this.selected.includes(e)||(this.setData(e,x()),this.onError(e));this.load()}destroy(){this.destroyed=!0,this.generation++,_.delete(this)}refresh(){this.destroyed||this.load()}async load(){if(this.destroyed)return;let e=[...this.selected],t=++this.generation;await Promise.all(e.map(async e=>{try{let n=await y(e);if(this.destroyed||t!==this.generation||!this.selected.includes(e))return;this.setData(e,n)||this.map.once(`styledata`,()=>{!this.destroyed&&t===this.generation&&this.selected.includes(e)&&this.setData(e,n)}),this.onError(e)}catch(n){if(this.destroyed||t!==this.generation)return;this.setData(e,x()),this.onError(e,n instanceof Error?n.message:`图层加载失败`)}}))}setData(e,t){let n=this.map.getSource(h[e]);return n?.setData(t),!!n}};function y(e){let t=g.get(e);return t||(t=fetch(`/api/map/layers/${e}`,{cache:`no-cache`,headers:{accept:`application/geo+json, application/json`}}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.message||`图层请求失败(${e.status})`)}return e.json()}).catch(t=>{throw g.delete(e),t}),g.set(e,t)),t}function b(){g.clear();for(let e of _)e.refresh()}function x(){return{type:`FeatureCollection`,features:[]}}export{c as a,s as i,b as n,l as o,m as r,d as s,v as t};
@@ -1 +1 @@
1
- import{At as e,G as t,H as n,M as r,N as i,P as a,Pn as o,U as s,Wn as c,_r as l,cn as u,ln as d,pr as f,wt as p}from"./C97TfNgP.js";import{ct as m,t as h}from"./CM9IbYJz.js";import{r as g}from"./3B2XYGg4.js";import{t as _}from"./D-IOtyQX.js";import{n as v,r as y,t as b}from"./CeHZqNQ0.js";import{t as x}from"./D_9SjQFe.js";import{t as S}from"./BA52uD81.js";import{r as C}from"#entry";import{r as w}from"./CVwoxklV.js";import{t as T}from"./CUQ3MZqI.js";var E={class:`hidden items-center gap-2 text-xs text-muted sm:flex`},D={class:`flex h-full min-h-0 flex-col`},O={class:`flex min-h-11 items-center justify-between gap-4 border-b border-default bg-elevated px-4 text-xs sm:px-6`},k={class:`flex min-w-0 items-center gap-3`},A={class:`flex items-center gap-3 text-muted`},j={class:`relative min-h-[420px] flex-1`},M=t({__name:`index`,async setup(t){let M,N;x({layout:`dashboard`}),g({title:`在线地图预览`});let P=C(),{data:F,refresh:I}=([M,N]=u(()=>_(`/api/auth/status`,{key:`auth-status`},`$yeg1HEtiBb`)),M=await M,N(),M),L=o(!1),R=o(Date.now()),z=o(!1),B=o(9),{baseLayer:V,overlayLayers:H}=w(),U=r(()=>Array.from({length:6},(e,t)=>`/api/map/online/${t}/{z}/{x}/{y}`)),W=r(()=>z.value?`部分地图瓦片加载失败`:{ready:`在线数据源已连接`,offline:`UOM 暂时不可达,会话仍然保留`,"reauth-required":`UOM 凭据已明确失效`,unknown:`正在建立地图会话`}[F.value?.upstreamStatus||`unknown`]);p(()=>I());async function G(){z.value=!1,await I()}async function K(){L.value=!0;try{await m(`/api/auth/map-token`,{method:`POST`}),z.value=!1,R.value=Date.now(),await I(),P.add({title:`地图令牌已刷新`,color:`success`,icon:`i-lucide-check`})}catch(e){await I(),P.add({title:`UOM 当前不可用`,description:e?.data?.message||e?.message,color:`warning`,icon:`i-lucide-cloud-off`})}finally{L.value=!1}}return(t,r)=>{let o=h,u=S,p=v,m=y,g=T,_=b;return e(),a(_,{id:`online-preview`,class:`min-w-0`,ui:{body:`gap-0 overflow-hidden p-0 sm:gap-0 sm:p-0`}},{header:d(()=>[s(p,{title:`在线地图预览`},{right:d(()=>[i(`div`,E,[i(`span`,{class:f([`size-1.5 rounded-full`,c(z)?`bg-warning`:c(F)?.upstreamStatus===`ready`?`bg-success`:c(F)?.upstreamStatus===`offline`?`bg-warning`:`bg-neutral`])},null,2),n(` `+l(c(W)),1)]),s(u,{text:`重新连接 UOM`},{default:d(()=>[s(o,{icon:`i-lucide-refresh-cw`,color:`neutral`,variant:`ghost`,"aria-label":`重新连接 UOM`,loading:c(L),onClick:K},null,8,[`loading`])]),_:1})]),_:1})]),body:d(()=>[i(`div`,D,[i(`div`,O,[i(`div`,k,[r[2]||=i(`span`,{class:`font-medium text-highlighted`},`UOM 适飞空域`,-1),s(m)]),i(`div`,A,[i(`span`,null,`当前缩放层级:z`+l(c(B)),1)])]),i(`div`,j,[s(g,{"tile-urls":c(U),live:``,"base-map":c(V),"overlay-layers":c(H),"min-zoom":6,"source-min-zoom":9,"map-min-zoom":6,"max-zoom":24,"map-max-zoom":24,"initial-zoom":9,center:[116.4,39.9],"raster-opacity":1,"refresh-version":c(R),onSourceReady:G,onError:r[0]||=e=>z.value=!0,onZoomChange:r[1]||=e=>B.value=e},null,8,[`tile-urls`,`base-map`,`overlay-layers`,`refresh-version`])])])]),_:1})}}});export{M as default};
1
+ import{At as e,G as t,H as n,M as r,N as i,P as a,Pn as o,U as s,Wn as c,_r as l,cn as u,ln as d,pr as f,wt as p}from"./C97TfNgP.js";import{ct as m,t as h}from"./P5kgsppB.js";import{r as g}from"./3B2XYGg4.js";import{t as _}from"./BryCauXl.js";import{n as v,r as y,t as b}from"./CVfH720g.js";import{t as x}from"./D_SGIxNl.js";import{t as S}from"./B30iI6NY.js";import{r as C}from"#entry";import{r as w}from"./C3P9RWxN.js";import{t as T}from"./_5p6z8Bm.js";var E={class:`hidden items-center gap-2 text-xs text-muted sm:flex`},D={class:`flex h-full min-h-0 flex-col`},O={class:`flex min-h-11 items-center justify-between gap-4 border-b border-default bg-elevated px-4 text-xs sm:px-6`},k={class:`flex min-w-0 items-center gap-3`},A={class:`flex items-center gap-3 text-muted`},j={class:`relative min-h-[420px] flex-1`},M=t({__name:`index`,async setup(t){let M,N;x({layout:`dashboard`}),g({title:`在线地图预览`});let P=C(),{data:F,refresh:I}=([M,N]=u(()=>_(`/api/auth/status`,{key:`auth-status`},`$yeg1HEtiBb`)),M=await M,N(),M),L=o(!1),R=o(Date.now()),z=o(!1),B=o(9),{baseLayer:V,overlayLayers:H}=w(),U=r(()=>Array.from({length:6},(e,t)=>`/api/map/online/${t}/{z}/{x}/{y}`)),W=r(()=>z.value?`部分地图瓦片加载失败`:{ready:`在线数据源已连接`,offline:`UOM 暂时不可达,会话仍然保留`,"reauth-required":`UOM 凭据已明确失效`,unknown:`正在建立地图会话`}[F.value?.upstreamStatus||`unknown`]);p(()=>I());async function G(){z.value=!1,await I()}async function K(){L.value=!0;try{await m(`/api/auth/map-token`,{method:`POST`}),z.value=!1,R.value=Date.now(),await I(),P.add({title:`地图令牌已刷新`,color:`success`,icon:`i-lucide-check`})}catch(e){await I(),P.add({title:`UOM 当前不可用`,description:e?.data?.message||e?.message,color:`warning`,icon:`i-lucide-cloud-off`})}finally{L.value=!1}}return(t,r)=>{let o=h,u=S,p=v,m=y,g=T,_=b;return e(),a(_,{id:`online-preview`,class:`min-w-0`,ui:{body:`gap-0 overflow-hidden p-0 sm:gap-0 sm:p-0`}},{header:d(()=>[s(p,{title:`在线地图预览`},{right:d(()=>[i(`div`,E,[i(`span`,{class:f([`size-1.5 rounded-full`,c(z)?`bg-warning`:c(F)?.upstreamStatus===`ready`?`bg-success`:c(F)?.upstreamStatus===`offline`?`bg-warning`:`bg-neutral`])},null,2),n(` `+l(c(W)),1)]),s(u,{text:`重新连接 UOM`},{default:d(()=>[s(o,{icon:`i-lucide-refresh-cw`,color:`neutral`,variant:`ghost`,"aria-label":`重新连接 UOM`,loading:c(L),onClick:K},null,8,[`loading`])]),_:1})]),_:1})]),body:d(()=>[i(`div`,D,[i(`div`,O,[i(`div`,k,[r[2]||=i(`span`,{class:`font-medium text-highlighted`},`UOM 适飞空域`,-1),s(m)]),i(`div`,A,[i(`span`,null,`当前缩放层级:z`+l(c(B)),1)])]),i(`div`,j,[s(g,{"tile-urls":c(U),live:``,"base-map":c(V),"overlay-layers":c(H),"min-zoom":6,"source-min-zoom":9,"map-min-zoom":6,"max-zoom":24,"map-max-zoom":24,"initial-zoom":9,center:[116.4,39.9],"raster-opacity":1,"refresh-version":c(R),onSourceReady:G,onError:r[0]||=e=>z.value=!0,onZoomChange:r[1]||=e=>B.value=e},null,8,[`tile-urls`,`base-map`,`overlay-layers`,`refresh-version`])])])]),_:1})}}});export{M as default};
@@ -0,0 +1,2 @@
1
+ import{At as e,B as t,En as n,F as r,G as i,H as a,I as o,It as s,Ln as c,M as l,N as u,Nn as d,P as f,Pn as p,S as m,U as h,Wn as g,Zt as _,_r as v,_t as y,bt as b,en as x,gr as S,ht as C,in as w,kn as T,ln as E,pr as D,wt as O}from"./C97TfNgP.js";import{Jt as k,Yt as A}from"./CgMd2Y5s.js";import{_ as j,ct as M,t as N}from"./P5kgsppB.js";import{r as P}from"./3B2XYGg4.js";import{n as F,t as I}from"./CZ6SZO_d.js";import{a as L,n as R,o as z,r as B,t as V}from"./CVfH720g.js";import{n as H,r as U,t as W}from"./Bw9ZfIEz.js";import{t as G}from"./CanHJd1e.js";import{t as K}from"./D_SGIxNl.js";import{t as q}from"./B30iI6NY.js";import{n as J,r as Y}from"#entry";import{r as X}from"./C3P9RWxN.js";import{t as Z}from"./CVIKhDCB.js";import{t as ee}from"./CNw483Zj.js";import{t as Q}from"./XR4gtbmm.js";import{a as te,i as $,n as ne,r as re,t as ie}from"./_5p6z8Bm.js";import{t as ae}from"./Dv7uv3N72.js";import{t as oe}from"./Cigra9s92.js";var se={key:0,class:`grid min-h-[32rem] flex-1 place-items-center`},ce={class:`flex flex-col items-center gap-3 text-sm text-muted`},le={key:1,class:`flex min-h-0 flex-1 items-start justify-center overflow-y-auto p-5 sm:p-8`},ue={class:`w-full max-w-3xl space-y-5`},de={key:0,class:`space-y-3`},fe={class:`flex items-center justify-between gap-3`},pe={key:0,class:`flex items-center gap-2 text-xs text-success`},me={key:1,class:`space-y-3`},he={key:1,class:`flex items-center gap-2 text-xs text-success`},ge={class:`flex justify-end border-t border-default pt-5`},_e=Object.assign(i({__name:`AdvancedSourceStage`,props:{ready:{type:Boolean},files:{},selectedKind:{},selectedFilename:{},localFile:{},source:{},validating:{type:Boolean},validationError:{}},emits:[`refresh`,`selectKind`,`selectWorkspace`,`selectLocal`,`continue`],setup(t,{emit:n}){let i=n,s=[{label:`工作区任务`,value:`workspace`,icon:`i-lucide-database`},{label:`上传 UOMTiles`,value:`local`,icon:`i-lucide-file-up`}];function c(e){(e===`workspace`||e===`local`)&&i(`selectKind`,e)}function l(e){i(`selectLocal`,e)}return(n,d)=>{let p=j,m=U,g=N,_=q,y=I,b=Q,x=H,S=L;return t.ready?(e(),o(`div`,le,[u(`div`,ue,[d[6]||=u(`div`,{class:`border-b border-default pb-5`},[u(`p`,{class:`text-xs font-medium uppercase tracking-[0.14em] text-primary`},`数据源`),u(`h2`,{class:`mt-2 text-xl font-semibold text-highlighted`},`选择适飞空域来源`),u(`p`,{class:`mt-1 max-w-xl text-sm leading-6 text-muted`},`高级分析只读取已完成的工作区任务或本地 UOMTiles 任务文件。`)],-1),h(m,{"model-value":t.selectedKind,items:s,content:!1,class:`w-full`,ui:{list:`grid grid-cols-2`,trigger:`justify-center px-3`},"onUpdate:modelValue":c},null,8,[`model-value`]),t.selectedKind===`workspace`?(e(),o(`section`,de,[u(`div`,fe,[d[4]||=u(`div`,null,[u(`h3`,{class:`text-sm font-semibold text-highlighted`},`已完成的工作区任务`),u(`p`,{class:`mt-1 text-xs text-muted`},`从本地工作区读取已下载的适飞瓦片。`)],-1),h(_,{text:`刷新工作区文件`},{default:E(()=>[h(g,{icon:`i-lucide-refresh-cw`,"aria-label":`刷新工作区文件`,color:`neutral`,variant:`ghost`,size:`sm`,onClick:d[0]||=e=>i(`refresh`)})]),_:1})]),h(y,{"model-value":t.selectedFilename,class:`w-full`,"onUpdate:modelValue":d[1]||=e=>i(`selectWorkspace`,e)},null,8,[`model-value`]),t.selectedFilename?(e(),o(`div`,pe,[h(p,{name:`i-lucide-circle-check`,class:`size-4`}),a(`已选择 `+v(t.source?.label),1)])):t.files.some(e=>e.summary?.state===`completed`)?r(``,!0):(e(),f(b,{key:1,icon:`i-lucide-database-zap`,title:`暂无已完成任务`,description:`可以切换到上传 UOMTiles,直接读取本地文件。`}))])):(e(),o(`section`,me,[h(x,{accept:`.uomtiles`,title:`上传 UOMTiles 文件`,"file-name":t.localFile?.filename,pending:t.validating,onSelect:l},null,8,[`file-name`,`pending`]),d[5]||=u(`p`,{class:`text-xs text-muted`},`仅接受 .uomtiles,不支持 MBTiles、PMTiles 或在线地图。`,-1),t.validationError?(e(),f(S,{key:0,color:`error`,variant:`subtle`,icon:`i-lucide-file-warning`,title:`无法使用此文件`,description:t.validationError},null,8,[`description`])):r(``,!0),t.localFile?(e(),o(`p`,he,[h(p,{name:`i-lucide-circle-check`,class:`size-4`}),a(v(t.source?.label),1)])):r(``,!0)])),u(`div`,ge,[h(g,{icon:`i-lucide-map`,label:`打开地图`,size:`lg`,disabled:!t.source||t.validating,onClick:d[2]||=e=>i(`continue`)},null,8,[`disabled`])])])])):(e(),o(`div`,se,[u(`div`,ce,[h(p,{name:`i-lucide-loader-circle`,class:`size-5 animate-spin text-primary`}),d[3]||=u(`span`,null,`加载地图文件`,-1)])]))}}}),{__name:`AdvancedSourceStage`}),ve=Object.assign(i({__name:`AdvancedFeaturePicker`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(t){let n=_(t,`modelValue`),r=[{label:`寻找离我最近的适飞区`,value:`nearest-area`,icon:`i-lucide-map-pin-check`},{label:`适飞区报备`,value:`flight-area-report`,icon:`i-lucide-file-check-2`}];return(t,i)=>{let a=F;return e(),f(a,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,items:r,"value-key":`value`,"label-key":`label`,class:`w-full`},null,8,[`modelValue`])}}}),{__name:`AdvancedFeaturePicker`});function ye(){let e=p(`idle`),t=c([]),n=p(0),r=p(0),i=p(0),a=p(!1),o=p(null),s=l(()=>r.value===0?0:n.value/r.value*100),u=null;function d(){u?.terminate(),u=null,e.value=`idle`,t.value=[],n.value=0,r.value=0,i.value=0,a.value=!1,o.value=null}async function f(s){d(),e.value=`running`,await new Promise((e,o)=>{u=new Worker(new URL(``+new URL(`nearest-area.worker-BYHYA0SF.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),u.onerror=e=>o(Error(e.message||`适飞区分析 Worker 异常退出`)),u.onmessage=c=>{let l=c.data;if(l.type===`error`){o(Error(l.message));return}if(n.value=l.processedTiles,r.value=l.totalTiles,l.type===`progress`){i.value=Math.min(l.foundAreas,s.resultCount);return}t.value=l.areas,i.value=Math.min(l.areas.length,s.resultCount),a.value=l.truncated,e()},u.postMessage({type:`search`,...s})}).then(()=>{e.value=`completed`}).catch(t=>{throw o.value=t instanceof Error?t.message:String(t),e.value=`error`,t}).finally(()=>{u?.terminate(),u=null})}return b(d),{state:e,areas:t,processedTiles:n,totalTiles:r,foundAreas:i,truncated:a,error:o,progress:s,run:f,cancel:d}}function be(){let e=ye(),t=p(),n=p(`manual`),r=p(``),i=p(``),a=p(null),o=l(()=>r.value.trim()===``?null:Number(r.value)),s=l(()=>i.value.trim()===``?null:Number(i.value)),c=l(()=>o.value!==null&&Number.isFinite(o.value)&&o.value>=-180&&o.value<=180),u=l(()=>s.value!==null&&Number.isFinite(s.value)&&s.value>=-85.05112878&&s.value<=85.05112878),f=l(()=>r.value&&!c.value?`经度应在 -180 到 180 之间`:void 0),m=l(()=>i.value&&!u.value?`纬度应在 -85.051129 到 85.051129 之间`:void 0);function h(){e.cancel(),a.value=null}function g(e,a){n.value=a,r.value=e[0].toFixed(6),i.value=e[1].toFixed(6),t.value=e,b()}function _(e){n.value=`manual`,r.value=String(e),y()}function v(e){n.value=`manual`,i.value=String(e),y()}function y(){let e=c.value&&u.value?[o.value,s.value]:void 0;(e?.[0]!==t.value?.[0]||e?.[1]!==t.value?.[1])&&(t.value=e,b())}function b(){e.cancel(),a.value=null}async function x(n,r){t.value&&await e.run({...r,source:n.kind===`local`&&n.localFile?{kind:`local`,file:n.localFile.file}:{kind:`workspace`,filename:n.workspaceFilename||``},longitude:t.value[0],latitude:t.value[1]})}return T(()=>e.cancel()),{...e,location:d(t),locationMode:d(n),longitude:d(r),latitude:d(i),selectedAreaId:a,longitudeError:f,latitudeError:m,setLocation:g,setManualLongitude:_,setManualLatitude:v,resetResults:h,search:x}}var xe={class:`space-y-6 p-5`},Se={class:`space-y-3`},Ce={class:`flex items-center justify-between gap-3`},we={class:`grid grid-cols-2 gap-3`},Te={class:`space-y-3 border-t border-default pt-5`},Ee={class:`grid grid-cols-2 gap-3`},De={key:2,class:`grid grid-cols-2 gap-3`},Oe={key:0,class:`space-y-2`},ke={class:`flex justify-between text-xs text-muted`},Ae={key:3,class:`space-y-2`},je={class:`flex w-full items-center gap-3`},Me={class:`min-w-0 flex-1`},Ne={class:`block text-sm font-medium text-highlighted`},Pe={class:`mt-0.5 block text-xs text-muted`},Fe={class:`mt-0.5 block text-xs text-muted`},Ie=Object.assign(i({__name:`NearestAreaFeature`,props:C({source:{},locating:{type:Boolean}},{location:{},locationModifiers:{},areas:{required:!0},areasModifiers:{},selectedAreaId:{required:!0},selectedAreaIdModifiers:{}}),emits:C([`locationMode`],[`update:location`,`update:areas`,`update:selectedAreaId`]),setup(t,{expose:i,emit:a}){let c=t,d=a,y=_(t,`location`),b=_(t,`areas`),x=_(t,`selectedAreaId`),C=be(),T=p(`area`),D=p(1),O=p(),k=p(),A=p(),M=p(0),P=p(5),I=[{label:`最小面积`,value:`area`},{label:`自定义尺寸`,value:`size`}],R=[{label:`至少 1 平方千米`,value:1},{label:`至少 5 平方千米`,value:5},{label:`至少 10 平方千米`,value:10},{label:`至少 50 平方千米`,value:50},{label:`至少 100 平方千米`,value:100},{label:`自定义面积`,value:`custom`}],B=[3,5,10].map(e=>({label:`${e} 个`,value:e})),V=l(()=>[{label:c.locating?`定位中`:`我的位置`,value:`geolocation`,icon:c.locating?`i-lucide-loader-circle`:`i-lucide-locate-fixed`,ui:{leadingIcon:c.locating?`animate-spin`:void 0}},{label:`地图选点`,value:`map`,icon:`i-lucide-map-pin`},{label:`手动输入`,value:`manual`,icon:`i-lucide-keyboard`}]),H=l(()=>T.value===`area`?(D.value===`custom`?O.value||0:D.value)*1e6:0),W=l(()=>T.value===`size`?(k.value||0)*1e3:0),G=l(()=>T.value===`size`?(A.value||0)*1e3:0),K=l(()=>T.value===`area`?D.value!==`custom`||Number(O.value)>=1:Number(k.value)>0&&Number(A.value)>0),q=l(()=>Number.isFinite(Number(M.value))&&Number(M.value)>=0),Y=l(()=>C.state.value===`running`);function X(){y.value=C.location.value?[...C.location.value]:void 0}function ee(e){(e===`geolocation`||e===`map`||e===`manual`)&&(d(`locationMode`,e),e!==`geolocation`&&C.resetResults())}function $(e){C.setManualLongitude(e),X()}function ne(e){C.setManualLatitude(e),X()}async function re(){if(!(!c.source||!C.location.value)){x.value=null;try{await C.search(c.source,{minimumAreaSquareMeters:H.value,minimumWidthMeters:W.value,minimumHeightMeters:G.value,gapMeters:Number(M.value),resultCount:P.value})}catch{}}}function ie(e){let t=Math.abs(e),n=t>=100?0:t>=10?1:2;return e.toFixed(n).replace(/(\.\d*?[1-9])0+$|\.0+$/,`$1`).replace(/\.$/,``)}function oe(e){return e<1e3?`${Math.round(e)} 米`:`${(e/1e3).toFixed(+(e<1e4))} 公里`}function se(e){return`${ie(e/1e6)} km²`}function ce(e){return`${ie(e/1e3)} km`}function le(e,t){C.setLocation(e,t),X()}return i({setLocationFromMap:le}),w(()=>C.selectedAreaId.value,e=>{x.value=e}),w(x,e=>{C.selectedAreaId.value=e}),w(()=>C.areas.value,e=>{b.value=[...e]},{deep:!0}),(i,a)=>{let l=z,d=U,p=Z,_=ae,y=F,b=N,w=J,H=L,W=j,G=Q;return e(),o(`div`,xe,[u(`section`,Se,[u(`div`,Ce,[a[7]||=u(`div`,null,[u(`h2`,{class:`text-sm font-semibold text-highlighted`},`位置`),u(`p`,{class:`mt-1 text-xs text-muted`},`选择分析起点,地图选点会同步到表单。`)],-1),t.source?(e(),f(l,{key:0,label:t.source.label,color:`neutral`,variant:`subtle`,class:`max-w-[45%] truncate`},null,8,[`label`])):r(``,!0)]),h(d,{"model-value":g(C).locationMode.value,items:g(V),content:!1,size:`sm`,class:`w-full`,ui:{list:`grid grid-cols-3`,trigger:`px-2`},"onUpdate:modelValue":ee},null,8,[`model-value`,`items`]),u(`div`,we,[h(_,{label:`经度`,error:g(C).longitudeError.value},{default:E(()=>[h(p,{"model-value":g(C).longitude.value,type:`number`,inputmode:`decimal`,placeholder:`116.400000`,class:`w-full`,"onUpdate:modelValue":$},null,8,[`model-value`])]),_:1},8,[`error`]),h(_,{label:`纬度`,error:g(C).latitudeError.value},{default:E(()=>[h(p,{"model-value":g(C).latitude.value,type:`number`,inputmode:`decimal`,placeholder:`39.900000`,class:`w-full`,"onUpdate:modelValue":ne},null,8,[`model-value`])]),_:1},8,[`error`])])]),u(`section`,Te,[u(`div`,Ee,[h(_,{label:`筛选方式`},{default:E(()=>[h(y,{modelValue:g(T),"onUpdate:modelValue":a[0]||=e=>n(T)?T.value=e:null,items:I,"value-key":`value`,"label-key":`label`,class:`w-full`},null,8,[`modelValue`])]),_:1}),h(_,{label:`结果数量`},{default:E(()=>[h(y,{modelValue:g(P),"onUpdate:modelValue":a[1]||=e=>n(P)?P.value=e:null,items:g(B),"value-key":`value`,"label-key":`label`,class:`w-full`},null,8,[`modelValue`,`items`])]),_:1})]),g(T)===`area`?(e(),f(_,{key:0,label:`最小面积`},{default:E(()=>[h(y,{modelValue:g(D),"onUpdate:modelValue":a[2]||=e=>n(D)?D.value=e:null,items:R,"value-key":`value`,"label-key":`label`,class:`w-full`},null,8,[`modelValue`])]),_:1})):r(``,!0),g(T)===`area`&&g(D)===`custom`?(e(),f(_,{key:1,label:`自定义面积(平方千米)`},{default:E(()=>[h(p,{modelValue:g(O),"onUpdate:modelValue":a[3]||=e=>n(O)?O.value=e:null,modelModifiers:{number:!0},type:`number`,min:`1`,step:`0.1`,placeholder:`至少 1`,class:`w-full`},null,8,[`modelValue`])]),_:1})):r(``,!0),g(T)===`size`?(e(),o(`div`,De,[h(_,{label:`最小宽(公里)`},{default:E(()=>[h(p,{modelValue:g(k),"onUpdate:modelValue":a[4]||=e=>n(k)?k.value=e:null,modelModifiers:{number:!0},type:`number`,min:`0.1`,step:`0.1`,class:`w-full`},null,8,[`modelValue`])]),_:1}),h(_,{label:`最小高(公里)`},{default:E(()=>[h(p,{modelValue:g(A),"onUpdate:modelValue":a[5]||=e=>n(A)?A.value=e:null,modelModifiers:{number:!0},type:`number`,min:`0.1`,step:`0.1`,class:`w-full`},null,8,[`modelValue`])]),_:1})])):r(``,!0),h(_,{label:`区域合并间隙(米)`,description:`边缘间隔不超过此值的区域合并`},{default:E(()=>[h(p,{modelValue:g(M),"onUpdate:modelValue":a[6]||=e=>n(M)?M.value=e:null,modelModifiers:{number:!0},type:`number`,min:`0`,step:`1`,class:`w-full`},null,8,[`modelValue`])]),_:1})]),h(b,{icon:`i-lucide-search`,label:`寻找适飞区`,block:``,loading:g(Y),disabled:!c.source||!g(C).location.value||!g(K)||!g(q)||g(Y),onClick:re},null,8,[`loading`,`disabled`]),g(Y)?(e(),o(`section`,Oe,[h(w,{"model-value":g(C).progress.value,max:100,size:`sm`},null,8,[`model-value`]),u(`div`,ke,[u(`span`,null,v(g(C).processedTiles.value)+` / `+v(g(C).totalTiles.value)+` 瓦片`,1),u(`span`,null,`已发现 `+v(g(C).foundAreas.value)+` 个`,1)])])):g(C).state.value===`error`?(e(),f(H,{key:1,color:`error`,icon:`i-lucide-circle-x`,title:`分析失败`,description:g(C).error.value||void 0},null,8,[`description`])):g(C).state.value===`completed`&&g(C).truncated.value?(e(),f(H,{key:2,color:`warning`,icon:`i-lucide-triangle-alert`,title:`结果可能不完整`,description:`已达到本次分析的瓦片上限。`})):r(``,!0),g(C).state.value===`completed`?(e(),o(`section`,Ae,[(e(!0),o(m,null,s(g(C).areas.value,(t,n)=>(e(),f(b,{key:t.id,color:`neutral`,variant:x.value===t.id?`soft`:`ghost`,block:``,ui:{base:`h-auto justify-start px-3 py-3 text-left`,label:`w-full`},onClick:e=>x.value=t.id},{default:E(()=>[u(`span`,je,[u(`span`,{class:`grid size-7 shrink-0 place-items-center text-xs font-semibold`,style:S({backgroundColor:g(te)(n).fillHex,color:g(te)(n).accentHex})},v(n+1),5),u(`span`,Me,[u(`span`,Ne,v(oe(t.distanceMeters)),1),u(`span`,Pe,v(se(t.areaSquareMeters)),1),u(`span`,Fe,`宽 `+v(ce(t.widthMeters))+` · 高 `+v(ce(t.heightMeters)),1)]),h(W,{name:`i-lucide-chevron-right`,class:`size-4 shrink-0 text-muted`})])]),_:2},1032,[`variant`,`onClick`]))),128)),g(C).areas.value.length===0?(e(),f(G,{key:0,icon:`i-lucide-map-pin-x`,title:`未找到符合条件的适飞区`})):r(``,!0)])):r(``,!0)])}}}),{__name:`AdvancedNearestAreaFeature`}),Le={class:`space-y-5 p-5`},Re={class:`grid grid-cols-2 gap-2`},ze={class:`flex items-center justify-between gap-3 text-xs text-muted`},Be={key:3,class:`divide-y divide-default border-y border-default`},Ve={class:`flex min-w-0 items-center gap-2`},He={class:`grid size-6 shrink-0 place-items-center bg-elevated text-xs text-muted`},Ue={class:`truncate text-highlighted`},We={class:`flex justify-end border-t border-default pt-5`},Ge=Object.assign(i({__name:`FlightAreaSelectStep`,props:{drawings:{},selection:{},connected:{type:Boolean},canProceed:{type:Boolean}},emits:[`draw`,`finish`,`remove`,`clear`,`next`],setup(t,{emit:n}){let i=n;return(n,a)=>{let c=N,l=L;return e(),o(`div`,Le,[a[5]||=u(`div`,null,[u(`p`,{class:`text-xs font-medium uppercase tracking-[0.14em] text-primary`},`第 1 步 · 选择区域`),u(`h2`,{class:`mt-2 text-lg font-semibold text-highlighted`},`画出本次飞行计划区域`),u(`p`,{class:`mt-1 text-sm leading-6 text-muted`},`可以连续添加圆形或多边形。所有图形会实时 union,多个不相连区域必须先补画连接区域。`)],-1),u(`div`,Re,[h(c,{icon:`i-lucide-pentagon`,label:`画多边形`,color:`neutral`,variant:`outline`,onClick:a[0]||=e=>i(`draw`,`polygon`)}),h(c,{icon:`i-lucide-circle`,label:`画圆形`,color:`neutral`,variant:`outline`,onClick:a[1]||=e=>i(`draw`,`circle`)})]),h(c,{icon:`i-lucide-check`,label:`完成当前多边形`,color:`neutral`,variant:`soft`,block:``,onClick:a[2]||=e=>i(`finish`)}),u(`div`,ze,[u(`span`,null,v(t.drawings.length)+` 个绘制图形 · `+v(t.selection.componentCount)+` 个联通块`,1),t.drawings.length?(e(),f(c,{key:0,icon:`i-lucide-trash-2`,label:`清空`,color:`neutral`,variant:`ghost`,size:`xs`,onClick:a[3]||=e=>i(`clear`)})):r(``,!0)]),t.drawings.length===0?(e(),f(l,{key:0,color:`neutral`,variant:`subtle`,icon:`i-lucide-mouse-pointer-2`,title:`等待绘制`,description:`点击上方工具后,在左侧地图上落点。`})):t.connected?(e(),f(l,{key:2,color:`success`,icon:`i-lucide-layers-2`,title:`区域已连通`,description:`当前结果包含 ${t.selection.componentCount} 个联通块。`},null,8,[`description`])):(e(),f(l,{key:1,color:`warning`,icon:`i-lucide-unplug`,title:`区域尚未连通`,description:`当前 union 结果包含多个不相连区域,请补画连接区域后再进入下一步。`})),t.drawings.length?(e(),o(`div`,Be,[(e(!0),o(m,null,s(t.drawings,(t,n)=>(e(),o(`div`,{key:n,class:`flex items-center justify-between gap-3 py-3 text-sm`},[u(`span`,Ve,[u(`span`,He,v(n+1),1),u(`span`,Ue,v(t.kind===`circle`?`圆形 · 半径 ${Math.round(t.radiusMeters)} 米`:`多边形 · ${Math.max(0,t.coordinates[0]?.length-1)} 个顶点`),1)]),h(c,{icon:`i-lucide-x`,"aria-label":`移除图形`,color:`neutral`,variant:`ghost`,size:`xs`,onClick:e=>i(`remove`,n)},null,8,[`onClick`])]))),128))])):r(``,!0),u(`div`,We,[h(c,{icon:`i-lucide-arrow-right`,trailing:``,label:`下一步`,disabled:!t.canProceed,onClick:a[4]||=e=>i(`next`)},null,8,[`disabled`])])])}}}),{__name:`AdvancedFlightAreaSelectStep`}),Ke={class:`space-y-5 p-5`},qe={class:`grid gap-4 sm:grid-cols-2`},Je={key:0,class:`space-y-2`,role:`status`,"aria-live":`polite`},Ye={class:`text-xs text-muted`},Xe={class:`flex justify-between border-t border-default pt-5`},Ze=Object.assign(i({__name:`FlightAreaClassifyStep`,props:{selection:{},vendor:{},startsAt:{},endsAt:{},fitMode:{},maxVertices:{},running:{type:Boolean},progress:{},message:{},error:{}},emits:[`updateVendor`,`updateStartsAt`,`updateEndsAt`,`updateFitMode`,`updateMaxVertices`,`back`,`analyze`],setup(t,{emit:i}){let a=t,s=i,c=[{label:`DJI`,value:`DJI`},{label:`Antigravity`,value:`Antigravity`}],d=[{label:`严格内切`,value:`inner`},{label:`严格外切`,value:`outer`},{label:`居中拟合`,value:`center`}],p=l({get:()=>String(a.maxVertices),set:e=>s(`updateMaxVertices`,Number(e))});return(i,a)=>{let l=F,m=ae,_=Z,y=L,b=J,x=N;return e(),o(`div`,Ke,[a[7]||=u(`div`,null,[u(`p`,{class:`text-xs font-medium uppercase tracking-[0.14em] text-primary`},`第 2 步 · 分类分析`),u(`h2`,{class:`mt-2 text-lg font-semibold text-highlighted`},`设置报备条件`),u(`p`,{class:`mt-1 text-sm leading-6 text-muted`},`计划时间只影响临时限制判断,UOM 推导边界按设定方式拟合。`)],-1),u(`div`,qe,[h(m,{label:`报备厂商`},{default:E(()=>[h(l,{"model-value":t.vendor,items:c,"value-key":`value`,"label-key":`label`,class:`w-full`,"onUpdate:modelValue":a[0]||=e=>s(`updateVendor`,e)},null,8,[`model-value`])]),_:1}),h(m,{label:`最大顶点数`,description:`仅作用于 UOM 推导边界,范围 3–1000`},{default:E(()=>[h(_,{modelValue:g(p),"onUpdate:modelValue":a[1]||=e=>n(p)?p.value=e:null,type:`number`,min:`3`,max:`1000`,step:`1`,class:`w-full`},null,8,[`modelValue`])]),_:1}),h(m,{label:`计划开始`},{default:E(()=>[h(_,{"model-value":t.startsAt,type:`datetime-local`,class:`w-full`,"onUpdate:modelValue":a[2]||=e=>s(`updateStartsAt`,String(e))},null,8,[`model-value`])]),_:1}),h(m,{label:`计划结束`},{default:E(()=>[h(_,{"model-value":t.endsAt,type:`datetime-local`,class:`w-full`,"onUpdate:modelValue":a[3]||=e=>s(`updateEndsAt`,String(e))},null,8,[`model-value`])]),_:1})]),h(m,{label:`拟合模式`},{default:E(()=>[h(l,{"model-value":t.fitMode,items:d,"value-key":`value`,"label-key":`label`,class:`w-full`,"onUpdate:modelValue":a[4]||=e=>s(`updateFitMode`,e)},null,8,[`model-value`])]),_:1}),h(y,{color:`info`,icon:`i-lucide-info`,title:`高度范围固定为 0–120 m`,description:`UOM 不适飞区域会在第三步输入名称后逐个创建为常飞区域;厂商原始多边形保留精度,圆形使用安全内切多边形。`}),t.running?(e(),o(`section`,Je,[h(b,{"model-value":t.progress,max:100},null,8,[`model-value`]),u(`p`,Ye,v(t.message)+` · `+v(Math.round(t.progress))+`%`,1)])):t.error?(e(),f(y,{key:1,color:`error`,icon:`i-lucide-circle-x`,title:`分析失败`,description:t.error},null,8,[`description`])):r(``,!0),u(`div`,Xe,[h(x,{icon:`i-lucide-arrow-left`,label:`上一步`,color:`neutral`,variant:`ghost`,onClick:a[5]||=e=>s(`back`)}),h(x,{icon:`i-lucide-sparkles`,label:`开始分类`,loading:t.running,disabled:t.running,onClick:a[6]||=e=>s(`analyze`)},null,8,[`loading`,`disabled`])])])}}}),{__name:`AdvancedFlightAreaClassifyStep`}),Qe={class:`space-y-5 p-5`},$e={class:`flex flex-wrap items-center gap-3 border-y border-default py-3`},et={class:`flex items-start justify-between gap-3`},tt={class:`flex min-w-0 items-start gap-3`},nt={class:`grid size-7 shrink-0 place-items-center bg-elevated text-xs font-semibold text-highlighted`},rt={class:`min-w-0`},it={class:`font-medium text-highlighted`},at={key:0,class:`mt-2 text-xs text-muted`},ot=[`onClick`,`onKeydown`],st={class:`flex items-center justify-between gap-2`},ct={class:`text-xs font-medium text-muted`},lt={key:0,class:`mt-1 text-xs text-primary`},ut={key:0,class:`mt-3 max-h-48 overflow-auto whitespace-pre-wrap break-all bg-elevated p-3 text-[11px] leading-5 text-muted uom-mono`},dt={class:`mt-3 flex flex-wrap justify-end gap-2`},ft={class:`flex justify-between border-t border-default pt-5`},pt={class:`mt-5 flex justify-end gap-2`},mt=Object.assign(i({__name:`FlightAreaReportStep`,props:{groups:{},vendor:{},vendorDataAvailable:{type:Boolean},coordinateFormat:{},coordinatesText:{type:Function},submittingId:{},copiedId:{},selectedRegionId:{}},emits:[`updateCoordinateFormat`,`copy`,`screenshot`,`submit`,`selectRegion`,`back`,`restart`],setup(t,{emit:i}){let a=t,c=i,d=[{label:`十进制`,value:`decimal`},{label:`十进制 E/N`,value:`decimal-cardinal`},{label:`DMS`,value:`dms`}],_={"uom-unsuitable":0,"uom-suitable-vendor-restricted":1,"uom-suitable-vendor-unavailable":2,"uom-suitable-vendor-safe":3},y=l(()=>[...a.groups].sort((e,t)=>_[e.category]-_[t.category]||e.componentIndex-t.componentIndex)),b=p(new Set),x=p(!1),S=p(null),C=p(``),T=p(``);function O(e){return{"uom-suitable-vendor-safe":`UOM 适飞 · 厂商不低于 120 m`,"uom-suitable-vendor-restricted":`UOM 适飞 · 厂商更严格`,"uom-suitable-vendor-unavailable":`UOM 适飞 · 厂商数据不可用`,"uom-unsuitable":`UOM 不适飞`}[e]}function M(e){return e===`uom-unsuitable`?`error`:e===`uom-suitable-vendor-restricted`?`warning`:e===`uom-suitable-vendor-safe`?`success`:`neutral`}function P(e){S.value=e,C.value=``,T.value=``,x.value=!0}function I(){x.value=!1,S.value=null}function R(){let e=S.value,t=C.value.trim();if(e){if(!t){T.value=`请输入区域名称`;return}c(`submit`,e,t),I()}}function B(e){b.value.add(e.id),c(`selectRegion`,e.id),c(`copy`,e)}return w(()=>a.groups.flatMap(e=>e.regions.map(e=>e.id)).join(`|`),()=>{b.value=new Set}),(i,a)=>{let l=F,p=L,_=Q,w=z,V=j,H=N,U=Z,W=ae,K=oe,q=G;return e(),o(m,null,[u(`div`,Qe,[a[6]||=u(`div`,null,[u(`p`,{class:`text-xs font-medium uppercase tracking-[0.14em] text-primary`},`第 3 步 · 报备输出`),u(`h2`,{class:`mt-2 text-lg font-semibold text-highlighted`},`逐区域确认并导出`),u(`p`,{class:`mt-1 text-sm leading-6 text-muted`},`分类结果按联通块列出,不自动执行真实写操作。`)],-1),u(`div`,$e,[a[5]||=u(`span`,{class:`text-xs text-muted`},`坐标格式`,-1),h(l,{"model-value":t.coordinateFormat,items:d,"value-key":`value`,"label-key":`label`,size:`sm`,"onUpdate:modelValue":a[0]||=e=>c(`updateCoordinateFormat`,e)},null,8,[`model-value`])]),t.vendorDataAvailable?r(``,!0):(e(),f(p,{key:0,color:`warning`,icon:`i-lucide-database-zap`,title:`厂商数据不可用`,description:`已回退为 UOM 两类结果,提交前请确认外部限制数据状态。`})),t.groups.length?r(``,!0):(e(),f(_,{key:1,icon:`i-lucide-map-pin-x`,title:`没有分类结果`})),(e(!0),o(m,null,s(g(y),(n,i)=>(e(),o(`div`,{key:n.id,class:`border border-default p-4`},[u(`div`,et,[u(`div`,tt,[u(`span`,nt,v(i+1),1),u(`div`,rt,[u(`p`,it,`联通块 `+v(n.componentIndex+1),1),h(w,{label:O(n.category),color:M(n.category),variant:`subtle`,size:`sm`,class:`mt-2`},null,8,[`label`,`color`]),n.regions.length>1?(e(),o(`p`,at,`该分类包含 `+v(n.regions.length)+` 个无洞报备多边形,仍属于同一绘制联通块。`,1)):r(``,!0)])])]),(e(!0),o(m,null,s(n.regions,(i,a)=>(e(),o(`div`,{key:i.id,class:`mt-4 cursor-pointer border-t border-default pt-4`,role:`button`,tabindex:`0`,onClick:e=>c(`selectRegion`,i.id),onKeydown:[k(e=>c(`selectRegion`,i.id),[`enter`]),k(A(e=>c(`selectRegion`,i.id),[`prevent`]),[`space`])]},[u(`div`,{class:D([`border p-3 transition-colors`,t.selectedRegionId===i.id?`border-primary bg-primary/5`:`border-transparent hover:border-default`])},[u(`div`,st,[u(`span`,ct,v(n.regions.length>1?`报备多边形 ${a+1}`:`报备多边形`),1),t.selectedRegionId===i.id?(e(),f(V,{key:0,name:`i-lucide-focus`,class:`size-4 text-primary`})):r(``,!0)]),t.selectedRegionId===i.id?(e(),o(`p`,lt,`地图已高亮此区域`)):r(``,!0)],2),i.category===`uom-suitable-vendor-restricted`&&g(b).has(i.id)?(e(),o(`pre`,ut,v(t.coordinatesText(i)),1)):r(``,!0),u(`div`,dt,[i.category===`uom-suitable-vendor-restricted`?(e(),o(m,{key:0},[h(H,{icon:`i-lucide-camera`,label:`导出截图`,color:`neutral`,variant:`outline`,size:`sm`,onClick:A(e=>c(`screenshot`,i),[`stop`])},null,8,[`onClick`]),h(H,{icon:`i-lucide-map-pin-check`,label:`获得区域`,size:`sm`,loading:t.copiedId===i.id,onClick:A(e=>B(i),[`stop`])},null,8,[`loading`,`onClick`])],64)):i.category===`uom-unsuitable`?(e(),f(H,{key:1,icon:`i-lucide-send`,label:`导出常飞区域`,size:`sm`,loading:t.submittingId===i.id,onClick:A(e=>P(i),[`stop`])},null,8,[`loading`,`onClick`])):r(``,!0)])],40,ot))),128))]))),128)),u(`div`,ft,[h(H,{icon:`i-lucide-arrow-left`,label:`返回调整`,color:`neutral`,variant:`ghost`,onClick:a[1]||=e=>c(`back`)}),h(H,{icon:`i-lucide-rotate-ccw`,label:`重新绘制`,color:`neutral`,variant:`outline`,onClick:a[2]||=e=>c(`restart`)})])]),h(q,{open:g(x),"onUpdate:open":a[4]||=e=>n(x)?x.value=e:null,title:`导出常飞区域`},{body:E(()=>[h(K,{onSubmit:R},{default:E(()=>[h(W,{label:`区域名称`,required:``,error:g(T)},{default:E(()=>[h(U,{modelValue:g(C),"onUpdate:modelValue":a[3]||=e=>n(C)?C.value=e:null,autofocus:``,maxlength:`50`,placeholder:`请输入区域名称`,class:`w-full`,autocomplete:`off`},null,8,[`modelValue`])]),_:1},8,[`error`]),u(`div`,pt,[h(H,{label:`取消`,color:`neutral`,variant:`ghost`,onClick:I}),h(H,{type:`submit`,icon:`i-lucide-send`,label:`创建并导出`,loading:g(S)?t.submittingId===g(S).id:!1},null,8,[`loading`])])]),_:1})]),_:1},8,[`open`])],64)}}}),{__name:`AdvancedFlightAreaReportStep`});function ht(e){return{type:`Polygon`,coordinates:e.coordinates.map(e=>e.map(([e,t])=>[e,t]))}}function gt(e){return{type:`MultiPolygon`,componentCount:e.componentCount,coordinates:e.coordinates.map(e=>e.map(e=>e.map(([e,t])=>[e,t])))}}function _t(e){return e.kind===`workspace`?{kind:`workspace`,filename:e.filename}:{kind:`local`,file:e.file}}function vt(e,t,n){return{source:_t(e.source),vendor:e.vendor,timeRange:{startsAt:e.timeRange.startsAt,endsAt:e.timeRange.endsAt},fitMode:e.fitMode,maxVertices:e.maxVertices,selection:gt(e.selection),restrictions:t.map(e=>({id:e.id,source:e.source,name:e.name,geometry:ht(e.geometry),...e.upperLimit===void 0?{}:{upperLimit:e.upperLimit},...e.lowerLimit===void 0?{}:{lowerLimit:e.lowerLimit},isPermanent:e.isPermanent,...e.startsAt===void 0?{}:{startsAt:e.startsAt},...e.endsAt===void 0?{}:{endsAt:e.endsAt}})),vendorDataAvailable:n}}function yt(){let e=p(`idle`),t=p(0),n=p(null),r=p(``),i=c([]),a=p(!1),o=p(null),s=null,l=null,u=null,f=0;function m(){f++,s?.terminate(),s=null,l?.abort(),l=null,u?.(),u=null,e.value=`idle`,t.value=0,n.value=null,r.value=``,i.value=[],a.value=!1,o.value=null}async function h(e,t,n){try{let r=await fetch(`/api/map/layers/${e===`DJI`?`dji-nfz`:`antigravity-nfz`}`,{signal:n,cache:`no-store`});return r.ok?{restrictions:((await r.json()).features||[]).flatMap(n=>{if(n.geometry?.type!==`Polygon`||!Array.isArray(n.geometry.coordinates))return[];let r=n.properties||{},i=r.circleCenter,a=Number(r.circleRadiusMeters),o=r.geometryOrigin===`circle`&&Array.isArray(i)&&i.length>=2&&Number.isFinite(Number(i[0]))&&Number.isFinite(Number(i[1]))&&Number.isFinite(a)&&a>0?ne([Number(i[0]),Number(i[1])],a,t):{type:`Polygon`,coordinates:n.geometry.coordinates};return[{id:String(r.id||crypto.randomUUID()),source:e,name:String(r.name||`限制区域`),geometry:o,...Number.isFinite(Number(r.upperLimit))?{upperLimit:Number(r.upperLimit)}:{},...Number.isFinite(Number(r.lowerLimit))?{lowerLimit:Number(r.lowerLimit)}:{},isPermanent:!!r.isPermanent,...typeof r.startsAt==`string`?{startsAt:r.startsAt}:{},...typeof r.endsAt==`string`?{endsAt:r.endsAt}:{}}]}),available:!0}:{restrictions:[],available:!1}}catch(e){if(e.name===`AbortError`)throw e;return{restrictions:[],available:!1}}}async function g(c){m();let d=f;e.value=`running`,l=new AbortController;try{n.value=`uom`,t.value=20,r.value=`正在矢量化 UOM 适飞边界`;let o=await h(c.vendor,c.maxVertices,l.signal);if(d!==f)return;n.value=`vendor`,t.value=48,r.value=o.available?`正在读取厂商限制数据`:`厂商数据不可用,使用 UOM 结果`;let p=vt(c,o.restrictions,o.available);if(a.value=o.available,await new Promise((e,o)=>{let c=!1,l=t=>{c||(c=!0,u=null,t?o(t):e())};u=()=>l(),s=new Worker(new URL(``+new URL(`flight-area-analysis.worker-CWQYRs9s.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),s.onerror=e=>l(Error(e.message||`报备分析 Worker 异常退出`)),s.onmessage=e=>{let o=e.data;o.generation===d&&d===f&&(o.type===`progress`?(n.value=o.phase,t.value=o.percent,r.value=o.message):o.type===`complete`?(i.value=o.regions,a.value=o.vendorDataAvailable,l()):l(Error(o.message)))},s.postMessage({type:`analyze`,generation:d,input:p})}),d!==f)return;t.value=100,n.value=`classify`,r.value=`分类完成`,e.value=`completed`}catch(t){if(t.name===`AbortError`||d!==f)return;o.value=t instanceof Error?t.message:String(t),e.value=`error`}finally{d===f&&(s?.terminate(),s=null,l=null)}}return T(m),{state:d(e),progress:d(t),phase:d(n),message:d(r),regions:d(i),vendorDataAvailable:d(a),error:d(o),run:g,cancel:m}}function bt(e){return e.toFixed(6)}function xt(e,t,n){let r=Math.abs(e),i=Math.floor(r),a=(r-i)*60,o=Math.floor(a),s=(a-o)*60;return s>=59.995&&(s=0,o++),o===60&&(o=0,i++),`${i}°${String(o).padStart(2,`0`)}'${s.toFixed(2).padStart(5,`0`)}"${e>=0?t:n}`}function St(e,t){return t===`decimal`?`${bt(e[0])}, ${bt(e[1])}`:t===`decimal-cardinal`?`${bt(Math.abs(e[0]))}°${e[0]>=0?`E`:`W`}, ${bt(Math.abs(e[1]))}°${e[1]>=0?`N`:`S`}`:`${xt(e[0],`E`,`W`)} ${xt(e[1],`N`,`S`)}`}function Ct(e,t){return e.geometry.coordinates.flatMap(e=>{let n=e[0],r=e.at(-1);return(n&&r&&n[0]===r[0]&&n[1]===r[1]?e.slice(0,-1):e).map(e=>St(e,t))}).join(`
2
+ `)}function wt(){let e=p(`decimal`),t=p(!1),n=null;function r(t,n=e.value){return Ct(t,n)}async function i(e){let t=r(e);if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(t);else{let e=document.createElement(`textarea`);e.value=t,e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),document.execCommand(`copy`),e.remove()}return t}async function a(e){t.value=!0;try{let t=await e.capturePng(),n=document.createElement(`a`);return n.href=t,n.download=`uom-flight-area-${Date.now()}.png`,n.click(),t}finally{t.value=!1}}async function o(e,t,r,i,a){n?.abort();let o=new AbortController;return n=o,await M(`/api/uom/myspace`,{method:`POST`,signal:o.signal,body:{name:a,vendor:t,startsAt:r,endsAt:i,heightMinMeters:0,heightMaxMeters:120,geometry:e.geometry}}).finally(()=>{n===o&&(n=null)})}function s(t){e.value=t}function c(){n?.abort(),n=null}return T(c),{coordinateFormat:d(e),exporting:d(t),coordinatesText:r,copyCoordinates:i,captureMap:a,submitRegion:o,setCoordinateFormat:s,cancelSubmit:c}}function Tt(){let e=p([]),t=p(`none`),n=l(()=>$(e.value)),r=l(()=>n.value.componentCount===1),i=l(()=>r.value&&n.value.coordinates.length>0);function a(e){t.value=e}function o(n){e.value=[...e.value,n],t.value=`none`}function s(t){e.value=e.value.filter((e,n)=>n!==t)}function c(){e.value=[],t.value=`none`}return T(c),{drawings:d(e),drawMode:d(t),selection:d(n),connected:d(r),canProceed:d(i),start:a,add:o,remove:s,clear:c}}var Et={class:`min-h-0`},Dt={class:`flex items-center gap-2 border-b border-default px-5 py-4 text-xs text-muted`},Ot=Object.assign(i({__name:`FlightAreaReportFeature`,props:{source:{},viewport:{}},emits:[`drawStart`,`finishDrawing`,`clearMap`,`mapState`],setup(t,{expose:n,emit:i}){let c=t,d=i,h=Tt(),_=yt(),b=wt(),x=Y(),S=p(1),C=p(`DJI`),T=p(`center`),E=p(100),k=p(z(new Date)),A=p(z(new Date(Date.now()+36e5))),M=p(null),N=p(null),P=p(null),F=l(()=>[...h.drawings.value]),I=l(()=>h.selection.value),L=l(()=>[..._.regions.value]),R=l(()=>re(L.value));function z(e){let t=e.getTimezoneOffset()*6e4;return new Date(e.getTime()-t).toISOString().slice(0,16)}function B(){d(`mapState`,{drawMode:h.drawMode.value,drawings:S.value===3?[]:[...h.drawings.value],regions:S.value===3?[..._.regions.value]:[],selectedRegionId:P.value})}function V(e){S.value===1&&(h.start(e),d(`drawStart`,e),B())}function H(){d(`finishDrawing`)}function U(e){h.add(e),B()}function W(e){h.remove(e),B()}function G(){h.clear(),d(`clearMap`),B()}function K(){h.canProceed.value&&(S.value=2),B()}function q(){S.value=S.value===3?2:1,P.value=null,S.value===1&&_.cancel(),B()}async function J(){if(!h.canProceed.value||!c.source)return;let e=c.source?.kind===`local`&&c.source.localFile?{kind:`local`,file:c.source.localFile.file}:{kind:`workspace`,filename:c.source.workspaceFilename};await _.run({source:e,vendor:C.value,timeRange:{startsAt:new Date(k.value).toISOString(),endsAt:new Date(A.value).toISOString()},fitMode:T.value,maxVertices:Math.max(3,Math.min(1e3,Math.floor(E.value||100))),selection:I.value}),_.state.value===`completed`&&(P.value=null,S.value=3),B()}async function X(e){M.value=e.id;try{await b.copyCoordinates(e),x.add({title:`坐标已复制`,color:`success`,icon:`i-lucide-copy-check`})}catch(e){x.add({title:`复制失败`,description:e instanceof Error?e.message:String(e),color:`error`,icon:`i-lucide-circle-alert`})}finally{M.value=null}}async function Z(e){if(c.viewport)try{$(e.id),await y(),await b.captureMap(c.viewport),x.add({title:`区域地图 PNG 已开始下载`,color:`success`,icon:`i-lucide-download`})}catch(e){x.add({title:`截图失败`,description:e instanceof Error?e.message:String(e),color:`error`,icon:`i-lucide-image-off`})}}async function ee(e,t){N.value=e.id;try{await b.submitRegion(e,C.value,new Date(k.value).toISOString(),new Date(A.value).toISOString(),t),x.add({title:`常飞区域“${t}”已创建`,color:`success`,icon:`i-lucide-circle-check`})}catch(e){x.add({title:`报备提交失败`,description:e?.data?.message||e?.message||String(e),color:`error`,icon:`i-lucide-circle-alert`})}finally{N.value=null}}function Q(){_.cancel(),G(),S.value=1}function te(e){b.setCoordinateFormat(e)}function $(e){_.regions.value.some(t=>t.id===e)&&(P.value=e,B())}return n({addDrawing:U,clearDrawing:G,finishDrawing:H,selectRegion:$}),w([h.drawings,h.drawMode,_.regions],B,{deep:!0}),w([()=>c.source?.kind,()=>c.source?.workspaceFilename,()=>c.source?.localFile?.id,C,k,A,T,E],()=>{(_.state.value!==`idle`||_.regions.value.length!==0)&&(_.cancel(),S.value===3&&(S.value=2,P.value=null),B())}),O(B),(t,n)=>{let i=j,c=Ge,l=Ze,d=mt;return e(),o(`div`,Et,[u(`div`,Dt,[(e(),o(m,null,s([{value:1,label:`选择区域`},{value:2,label:`分类分析`},{value:3,label:`报备输出`}],t=>u(`span`,{key:t.value,class:D([`flex items-center gap-2`,g(S)===t.value?`font-semibold text-primary`:t.value<g(S)?`text-highlighted`:``])},[u(`span`,{class:D([`grid size-5 place-items-center border text-[10px]`,g(S)===t.value?`border-primary bg-primary text-white`:t.value<g(S)?`border-success text-success`:`border-default`])},v(t.value<g(S)?`✓`:t.value),3),a(v(t.label),1),t.value<3?(e(),f(i,{key:0,name:`i-lucide-chevron-right`,class:`size-3 text-muted`})):r(``,!0)],2)),64))]),g(S)===1?(e(),f(c,{key:0,drawings:g(F),selection:g(I),connected:g(h).connected.value,"can-proceed":g(h).canProceed.value,onDraw:V,onFinish:H,onRemove:W,onClear:G,onNext:K},null,8,[`drawings`,`selection`,`connected`,`can-proceed`])):g(S)===2?(e(),f(l,{key:1,selection:g(I),vendor:g(C),"starts-at":g(k),"ends-at":g(A),"fit-mode":g(T),"max-vertices":g(E),running:g(_).state.value===`running`,progress:g(_).progress.value,message:g(_).message.value,error:g(_).error.value,onUpdateVendor:n[0]||=e=>C.value=e,onUpdateStartsAt:n[1]||=e=>k.value=e,onUpdateEndsAt:n[2]||=e=>A.value=e,onUpdateFitMode:n[3]||=e=>T.value=e,onUpdateMaxVertices:n[4]||=e=>E.value=e,onBack:q,onAnalyze:J},null,8,[`selection`,`vendor`,`starts-at`,`ends-at`,`fit-mode`,`max-vertices`,`running`,`progress`,`message`,`error`])):(e(),f(d,{key:2,groups:g(R),vendor:g(C),"vendor-data-available":g(_).vendorDataAvailable.value,"coordinate-format":g(b).coordinateFormat.value,"coordinates-text":g(b).coordinatesText,"submitting-id":g(N),"copied-id":g(M),"selected-region-id":g(P),onUpdateCoordinateFormat:te,onCopy:X,onScreenshot:Z,onSubmit:ee,onSelectRegion:$,onBack:q,onRestart:Q},null,8,[`groups`,`vendor`,`vendor-data-available`,`coordinate-format`,`coordinates-text`,`submitting-id`,`copied-id`,`selected-region-id`]))])}}}),{__name:`AdvancedFlightAreaReportFeature`});function kt(e){return e.toLowerCase().endsWith(`.uomtiles`)?null:`高级功能仅支持 .uomtiles 文件。`}function At(){let e=ee(),t=p(`workspace`),n=p(),r=c(null),i=p(!1),a=p(null),o=null,s=null,u=0,f=l(()=>e.files.value.find(e=>e.filename===n.value)),m=l(()=>t.value===`workspace`&&f.value?.summary?.state===`completed`?{kind:`workspace`,label:e.displayWorkspaceName(f.value.filename),workspaceFilename:f.value.filename,tileUrl:`/api/workspace/${encodeURIComponent(f.value.filename)}/tile?z={z}&x={x}&y={y}`,minZoom:f.value.minZoom??0,maxZoom:f.value.maxZoom??24}:t.value===`local`&&r.value?{kind:`local`,label:e.displayMapFileName(r.value.filename),localFile:r.value,tileUrl:`local:${r.value.id}/{z}/{x}/{y}`,minZoom:0,maxZoom:18}:null);function h(e){_(),t.value=e,e===`workspace`?r.value=null:n.value=void 0}function g(t){h(`workspace`),n.value=t&&e.files.value.some(e=>e.filename===t&&e.summary?.state===`completed`)?t:void 0}function _(){u++,o?.terminate(),o=null;let e=s;s=null,e?.(),i.value=!1}async function v(e){if(h(`local`),n.value=void 0,r.value=null,a.value=kt(e.name),a.value)return a.value;let t=++u;return i.value=!0,await new Promise(n=>{let c=!1,l=l=>{c||(c=!0,s=null,t===u&&(o?.terminate(),o=null,i.value=!1,a.value=l,l||(r.value={id:`advanced-${crypto.randomUUID()}`,file:e,filename:e.name,kind:`uomtiles`})),n(l))};s=()=>l(null),o=new Worker(new URL(``+new URL(`uomtiles-validation.worker-BTXhap7R.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),o.onerror=e=>l(e.message||`无法读取 UOMTiles 文件`),o.onmessage=e=>{e.data.generation===t&&t===u&&l(e.data.type===`valid`?null:e.data.message)},o.postMessage({type:`validate`,generation:t,file:e})})}function y(){_(),t.value=`workspace`,n.value=void 0,r.value=null,a.value=null}return O(()=>e.refresh()),w(()=>e.files.value,e=>{t.value===`workspace`&&n.value&&!e.some(e=>e.filename===n.value)&&y()},{deep:!0}),T(_),{workspace:e,kind:d(t),filename:d(n),localFile:d(r),selected:m,ready:d(e.ready),validating:d(i),validationError:d(a),setKind:h,selectWorkspace:g,selectLocal:v,reset:y}}var jt={key:1,class:`grid min-h-0 flex-1 xl:grid-cols-[minmax(0,1fr)_26rem]`},Mt={class:`relative min-h-[520px] border-r border-default`},Nt={key:0,class:`pointer-events-none absolute left-4 top-4 z-10 max-w-[calc(100%-2rem)] bg-[#18201d]/90 px-3 py-2 text-xs text-white shadow-sm`},Pt={key:0},Ft={key:1},It={class:`flex min-h-0 flex-col overflow-hidden bg-default`},Lt={class:`border-b border-default p-4`},Rt=i({__name:`advanced`,setup(i){K({layout:`dashboard`}),P({title:`地图高级功能`});let a=At(),s=Y(),{baseLayer:c,overlayLayers:l}=X(),d=p(`select`),m=p(`nearest-area`),_=p(),v=p([]),y=p(null),b=p(`manual`),S=p(!1),C=p(`none`),T=p([]),D=p([]),O=p(null),k=x(`map`),A=x(`nearest-feature`),j=x(`report-feature`),M={capturePng:async()=>{if(!k.value)throw Error(`地图尚未就绪`);return await k.value.capturePng()}};function F(){a.selected.value&&(d.value=`use`)}function I(){k.value?.stopActiveLocationTracking(),k.value?.clearDrawing(),j.value?.clearDrawing(),C.value=`none`,T.value=[],D.value=[],O.value=null,_.value=void 0,v.value=[],y.value=null,a.reset(),m.value=`nearest-area`,d.value=`select`}async function L(e){let t=await a.selectLocal(e);t&&s.add({title:`不支持的地图文件`,description:t,color:`error`,icon:`i-lucide-file-x-2`})}function z(e){m.value=e,C.value=`none`,e===`nearest-area`?(k.value?.clearDrawing(),T.value=[],D.value=[],O.value=null):(v.value=[],y.value=null)}function H(e){b.value=e,e!==`geolocation`&&k.value?.stopActiveLocationTracking(),e===`geolocation`&&!k.value?.locate()&&s.add({title:`定位功能尚未就绪`,color:`error`,icon:`i-lucide-map-pin-off`})}function U(e,t){m.value===`nearest-area`&&(t!==`geolocation`||b.value===`geolocation`)&&(S.value=!1,b.value=t,A.value?.setLocationFromMap(e,t),_.value=e)}function G(e){S.value=e}function q(e){S.value=!1,s.add({title:e===1?`定位权限未开启`:`无法获取当前位置`,color:`error`,icon:`i-lucide-map-pin-off`})}function J(e){C.value=e}function Z(){k.value?.finishDrawing()}function ee(e){j.value?.addDrawing(e)}function Q(e){C.value=e.drawMode,T.value=e.drawings,D.value=e.regions,O.value=e.selectedRegionId}function te(e){j.value?.selectRegion(e)}function $(){k.value?.clearDrawing(),C.value=`none`}return w(()=>a.workspace.files.value,()=>{a.kind.value===`workspace`&&a.filename.value&&!a.selected.value&&a.reset()},{deep:!0}),(i,s)=>{let p=N,x=B,w=R,A=_e,j=ie,P=ve,K=Ie,Y=Ot,X=W,ne=V;return e(),f(ne,{id:`advanced-map`,class:`min-w-0`,ui:{body:`gap-0 overflow-hidden p-0 sm:gap-0 sm:p-0`}},{header:E(()=>[h(w,{title:`地图高级功能`},t({_:2},[g(d)===`use`?{name:`right`,fn:E(()=>[h(p,{icon:`i-lucide-files`,label:`重新选择`,color:`neutral`,variant:`outline`,onClick:I}),h(x)]),key:`0`}:void 0]),1024)]),body:E(()=>[g(d)===`select`?(e(),f(A,{key:0,ready:g(a).ready.value,files:g(a).workspace.files.value,"selected-kind":g(a).kind.value,"selected-filename":g(a).filename.value,"local-file":g(a).localFile.value,source:g(a).selected.value,validating:g(a).validating.value,"validation-error":g(a).validationError.value,onRefresh:g(a).workspace.refresh,onSelectKind:g(a).setKind,onSelectWorkspace:g(a).selectWorkspace,onSelectLocal:L,onContinue:F},null,8,[`ready`,`files`,`selected-kind`,`selected-filename`,`local-file`,`source`,`validating`,`validation-error`,`onRefresh`,`onSelectKind`,`onSelectWorkspace`])):g(a).selected.value?(e(),o(`div`,jt,[u(`div`,Mt,[(e(),f(j,{ref_key:`map`,ref:k,key:g(a).selected.value.kind===`workspace`?g(a).selected.value.workspaceFilename:g(a).selected.value.localFile?.id||g(a).selected.value.kind,"tile-url":g(a).selected.value.tileUrl,"local-sources":g(a).selected.value.localFile?[{id:g(a).selected.value.localFile.id,file:g(a).selected.value.localFile.file}]:[],"base-map":g(c),"overlay-layers":g(l),"min-zoom":g(a).selected.value.minZoom,"max-zoom":g(a).selected.value.maxZoom,"map-min-zoom":3,"map-max-zoom":24,"initial-zoom":9,center:g(_)||[116.4,39.9],location:g(m)===`nearest-area`?g(_):void 0,areas:g(v),"selected-area-id":g(y),"enable-location-picking":g(m)===`nearest-area`&&g(b)===`map`,"draw-mode":g(m)===`flight-area-report`?g(C):`none`,"drawn-geometries":g(m)===`flight-area-report`?g(T):[],"report-regions":g(m)===`flight-area-report`?g(D):[],"report-selected-region-id":g(m)===`flight-area-report`?g(O):null,"enable-area-analysis":g(m)===`nearest-area`,"raster-resampling":`nearest`,onLocationActivate:s[0]||=e=>b.value=`geolocation`,onLocationChange:U,onLocationLoading:G,onLocationError:q,onDrawComplete:ee,onReportRegionClick:te},null,8,[`tile-url`,`local-sources`,`base-map`,`overlay-layers`,`min-zoom`,`max-zoom`,`center`,`location`,`areas`,`selected-area-id`,`enable-location-picking`,`draw-mode`,`drawn-geometries`,`report-regions`,`report-selected-region-id`,`enable-area-analysis`])),g(m)===`flight-area-report`&&g(C)!==`none`?(e(),o(`div`,Nt,[g(C)===`polygon`?(e(),o(`span`,Pt,`正在画多边形,点击地图添加顶点,再在右侧点击“完成当前多边形”。`)):(e(),o(`span`,Ft,`先点击圆心,再点击边缘完成圆形。`))])):r(``,!0)]),u(`aside`,It,[u(`div`,Lt,[h(P,{"model-value":g(m),"onUpdate:modelValue":z},null,8,[`model-value`])]),h(X,{class:`min-h-0 flex-1`},{default:E(()=>[g(m)===`nearest-area`?(e(),f(K,{key:0,ref:`nearest-feature`,location:g(_),"onUpdate:location":s[1]||=e=>n(_)?_.value=e:null,areas:g(v),"onUpdate:areas":s[2]||=e=>n(v)?v.value=e:null,"selected-area-id":g(y),"onUpdate:selectedAreaId":s[3]||=e=>n(y)?y.value=e:null,source:g(a).selected.value,locating:g(S),onLocationMode:H},null,8,[`location`,`areas`,`selected-area-id`,`source`,`locating`])):(e(),f(Y,{key:1,ref:`report-feature`,source:g(a).selected.value,viewport:M,onDrawStart:J,onFinishDrawing:Z,onClearMap:$,onMapState:Q},null,8,[`source`]))]),_:1})])])):r(``,!0)]),_:1})}}});export{Rt as default};
@@ -1 +1 @@
1
- import{M as e}from"./C97TfNgP.js";import{ct as t}from"./CM9IbYJz.js";import{t as n}from"./DmN-PKW1.js";function r(e){return e.replace(/^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-[a-f0-9]{8}-/i,``).replace(/\.uomtiles$/i,``)}function i(e){return e.replace(/^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-[a-f0-9]{8}-/i,``).replace(/\.(?:uomtiles|mbtiles|pmtiles)$/i,``)}function a(){let a=n(`workspace-files`,()=>[]),o=n(`workspace-task-filename`,()=>null),s=n(`workspace-pending`,()=>!1),c=n(`workspace-ready`,()=>!1),l=e(()=>a.value.find(e=>e.filename===o.value)||null);async function u(){try{let e=await t(`/api/workspace/files`);a.value=e,o.value&&!e.some(e=>e.filename===o.value)&&(o.value=null)}finally{c.value=!0}}async function d(e){if(!e.name.toLowerCase().endsWith(`.uomtiles`))throw Error(`工作区仅支持 .uomtiles 任务文件`);s.value=!0;try{let n=await t(`/api/workspace/files`,{method:`POST`,headers:{"x-uomtiles-filename":encodeURIComponent(e.name),"content-type":`application/octet-stream`},body:e});return await u(),n}finally{s.value=!1}}async function f(e){s.value=!0;try{let n=await t(`/api/workspace/tasks`,{method:`POST`,body:{filename:e}});return await u(),o.value=n.filename,n}finally{s.value=!1}}async function p(){l.value&&(await t(`/api/workspace/fetch`,{method:`POST`,body:{filename:l.value.filename}}),await u())}async function m(e=l.value?.filename){await t(`/api/workspace/stop`,{method:`POST`,body:e?{filename:e}:{}}),await u()}async function h(e){s.value=!0;try{await t(`/api/workspace/${encodeURIComponent(e)}`,{method:`DELETE`}),o.value===e&&(o.value=null),await u()}finally{s.value=!1}}function g(e){o.value=e}return{files:a,selected:l,pending:s,ready:c,refresh:u,importFile:d,createTask:f,selectTask:g,start:p,stop:m,deleteTask:h,displayWorkspaceName:r,displayMapFileName:i}}export{a as n,i as t};
1
+ import{M as e}from"./C97TfNgP.js";import{ct as t}from"./P5kgsppB.js";import{t as n}from"./DmN-PKW1.js";function r(e){return e.replace(/^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-[a-f0-9]{8}-/i,``).replace(/\.uomtiles$/i,``)}function i(e){return e.replace(/^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-[a-f0-9]{8}-/i,``).replace(/\.(?:uomtiles|mbtiles|pmtiles)$/i,``)}function a(){let a=n(`workspace-files`,()=>[]),o=n(`workspace-task-filename`,()=>null),s=n(`workspace-pending`,()=>!1),c=n(`workspace-ready`,()=>!1),l=e(()=>a.value.find(e=>e.filename===o.value)||null);async function u(){try{let e=await t(`/api/workspace/files`);a.value=e,o.value&&!e.some(e=>e.filename===o.value)&&(o.value=null)}finally{c.value=!0}}async function d(e){if(!e.name.toLowerCase().endsWith(`.uomtiles`))throw Error(`工作区仅支持 .uomtiles 任务文件`);s.value=!0;try{let n=await t(`/api/workspace/files`,{method:`POST`,headers:{"x-uomtiles-filename":encodeURIComponent(e.name),"content-type":`application/octet-stream`},body:e});return await u(),n}finally{s.value=!1}}async function f(e){s.value=!0;try{let n=await t(`/api/workspace/tasks`,{method:`POST`,body:{filename:e}});return await u(),o.value=n.filename,n}finally{s.value=!1}}async function p(){l.value&&(await t(`/api/workspace/fetch`,{method:`POST`,body:{filename:l.value.filename}}),await u())}async function m(e=l.value?.filename){await t(`/api/workspace/stop`,{method:`POST`,body:e?{filename:e}:{}}),await u()}async function h(e){s.value=!0;try{await t(`/api/workspace/${encodeURIComponent(e)}`,{method:`DELETE`}),o.value===e&&(o.value=null),await u()}finally{s.value=!1}}function g(e){o.value=e}return{files:a,selected:l,pending:s,ready:c,refresh:u,importFile:d,createTask:f,selectTask:g,start:p,stop:m,deleteTask:h,displayWorkspaceName:r,displayMapFileName:i}}export{a as t};