uomtiles 0.1.2 → 0.1.3

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 (303) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/7KYNy7kZ.js +1 -0
  3. package/.output/public/_nuxt/7Rgc2iDI2.js +1 -0
  4. package/.output/public/_nuxt/BA52uD81.js +1 -0
  5. package/.output/public/_nuxt/{CU486JdV2.js → BHSn2vP72.js} +2 -2
  6. package/.output/public/_nuxt/BRsHq3Fz2.js +1 -0
  7. package/.output/public/_nuxt/Bh2Uv1S7.js +1 -0
  8. package/.output/public/_nuxt/BiRI-vq-.js +1 -0
  9. package/.output/public/_nuxt/Bpc1HTfh.js +1 -0
  10. package/.output/public/_nuxt/C-b4mqsD.js +1 -0
  11. package/.output/public/_nuxt/C5Y76DD6.js +1 -0
  12. package/.output/public/_nuxt/CD84FXNW.js +1 -0
  13. package/.output/public/_nuxt/CGkIG2vL2.js +1 -0
  14. package/.output/public/_nuxt/CM9IbYJz.js +1 -0
  15. package/.output/public/_nuxt/CUJ4QmLF.js +1 -0
  16. package/.output/public/_nuxt/CUQ3MZqI.js +1 -0
  17. package/.output/public/_nuxt/CVwoxklV.js +1 -0
  18. package/.output/public/_nuxt/CeHZqNQ0.js +1 -0
  19. package/.output/public/_nuxt/CkfS_Wbu.js +3 -0
  20. package/.output/public/_nuxt/CoPjdBwX.js +1 -0
  21. package/.output/public/_nuxt/CxkDmpVY.js +1 -0
  22. package/.output/public/_nuxt/CzRdWh7s2.js +1 -0
  23. package/.output/public/_nuxt/D-IOtyQX.js +1 -0
  24. package/.output/public/_nuxt/D3Us7gX72.js +1 -0
  25. package/.output/public/_nuxt/{DaQqwE3R.js → D8GHPYwQ.js} +44 -44
  26. package/.output/public/_nuxt/DLIy3f3M.js +1 -0
  27. package/.output/public/_nuxt/{CovBj6WN.js → DQ8r1OSk.js} +1 -1
  28. package/.output/public/_nuxt/D_9SjQFe.js +1 -0
  29. package/.output/public/_nuxt/D_Ggu6R_2.js +1 -0
  30. package/.output/public/_nuxt/{Q79ec-Ro.js → DnVJUY7B.js} +1 -1
  31. package/.output/public/_nuxt/{Bd1EvHmY.js → DuGgjt-h2.js} +1 -1
  32. package/.output/public/_nuxt/GEOST6As.js +1 -0
  33. package/.output/public/_nuxt/{DpIPeY5m.js → GqgcWtrL.js} +1 -1
  34. package/.output/public/_nuxt/{0hm88Oke.js → Hbp_Okvs.js} +1 -1
  35. package/.output/public/_nuxt/JdUwgqKv.js +1 -0
  36. package/.output/public/_nuxt/KttxEAyP2.js +1 -0
  37. package/.output/public/_nuxt/L0GXeO1Y2.js +1 -0
  38. package/.output/public/_nuxt/builds/latest.json +1 -1
  39. package/.output/public/_nuxt/builds/meta/ad8f3148-5aa4-4a0f-8e7a-e55147c5de1a.json +1 -0
  40. package/.output/public/_nuxt/entry.U-KS0GEu.css +1 -0
  41. package/.output/public/_nuxt/sMWyPZfC2.js +1 -0
  42. package/.output/public/_nuxt/zUWhKXtw2.js +1 -0
  43. package/.output/server/chunks/_/antigravity-nfz.mjs +629 -0
  44. package/.output/server/chunks/_/antigravity-nfz.mjs.map +1 -0
  45. package/.output/server/chunks/_/config.mjs +1 -1
  46. package/.output/server/chunks/_/file-workspace.mjs +1 -1
  47. package/.output/server/chunks/_/map-layer-update-manager.mjs +770 -0
  48. package/.output/server/chunks/_/map-layer-update-manager.mjs.map +1 -0
  49. package/.output/server/chunks/_/map-service.mjs +1 -1
  50. package/.output/server/chunks/_/uom-auth.mjs +1 -1
  51. package/.output/server/chunks/build/{CompletedTaskSelect-CKTpyHS3.mjs → CompletedTaskSelect-Ba03kTs9.mjs} +6 -7
  52. package/.output/server/chunks/build/{CompletedTaskSelect-CKTpyHS3.mjs.map → CompletedTaskSelect-Ba03kTs9.mjs.map} +1 -1
  53. package/.output/server/chunks/build/{Empty-BGIn09cL.mjs → Empty-CKvANuoV.mjs} +4 -103
  54. package/.output/server/chunks/build/Empty-CKvANuoV.mjs.map +1 -0
  55. package/.output/server/chunks/build/{FormField-DnJWfrKE.mjs → FormField-BJHVyy1m.mjs} +4 -35
  56. package/.output/server/chunks/build/FormField-BJHVyy1m.mjs.map +1 -0
  57. package/.output/server/chunks/build/{Input-AdlINKtJ.mjs → Input-DnAric-z.mjs} +1 -1
  58. package/.output/server/chunks/build/{Input-AdlINKtJ.mjs.map → Input-DnAric-z.mjs.map} +1 -1
  59. package/.output/server/chunks/build/MapLayerControl-DpNmYvcU.mjs +5720 -0
  60. package/.output/server/chunks/build/MapLayerControl-DpNmYvcU.mjs.map +1 -0
  61. package/.output/server/chunks/build/{Modal-CozaqIp1.mjs → Modal-BLhN9Eg2.mjs} +4 -18
  62. package/.output/server/chunks/build/{Modal-CozaqIp1.mjs.map → Modal-BLhN9Eg2.mjs.map} +1 -1
  63. package/.output/server/chunks/build/{OnlineMap-cFSicmkV.mjs → OnlineMap-B-sCfHkC.mjs} +6 -3
  64. package/.output/server/chunks/build/OnlineMap-B-sCfHkC.mjs.map +1 -0
  65. package/.output/server/chunks/build/{Pagination-GvNCxmOW.mjs → Pagination-CUzoLc_-.mjs} +1 -1
  66. package/.output/server/chunks/build/{Pagination-GvNCxmOW.mjs.map → Pagination-CUzoLc_-.mjs.map} +1 -1
  67. package/.output/server/chunks/build/Skeleton-CHp-GjOx.mjs +59 -0
  68. package/.output/server/chunks/build/Skeleton-CHp-GjOx.mjs.map +1 -0
  69. package/.output/server/chunks/build/{Slider-zQx1c7hB.mjs → Slider-CrIUK3pl.mjs} +5 -5
  70. package/.output/server/chunks/build/{Slider-zQx1c7hB.mjs.map → Slider-CrIUK3pl.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{MapBaseLayerTabs-CRl5Zwlr.mjs → Tabs-cdLsZZoL.mjs} +429 -931
  72. package/.output/server/chunks/build/Tabs-cdLsZZoL.mjs.map +1 -0
  73. package/.output/server/chunks/build/{Tooltip-DNUdH4oF.mjs → Tooltip-DExIlyhu.mjs} +4 -195
  74. package/.output/server/chunks/build/Tooltip-DExIlyhu.mjs.map +1 -0
  75. package/.output/server/chunks/build/{advanced-5ZGMUBqC.mjs → advanced-DaSpS8Px.mjs} +31 -34
  76. package/.output/server/chunks/build/advanced-DaSpS8Px.mjs.map +1 -0
  77. package/.output/server/chunks/build/{compare-CtgF4Anj.mjs → compare-DaE10Dhp.mjs} +56 -37
  78. package/.output/server/chunks/build/compare-DaE10Dhp.mjs.map +1 -0
  79. package/.output/server/chunks/build/cookie-CziAmOf1.mjs +175 -0
  80. package/.output/server/chunks/build/cookie-CziAmOf1.mjs.map +1 -0
  81. package/.output/server/chunks/build/{dashboard-GneN-WPG.mjs → dashboard-Dq8mphss.mjs} +12 -6
  82. package/.output/server/chunks/build/{dashboard-GneN-WPG.mjs.map → dashboard-Dq8mphss.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{details-CgufnL1d.mjs → details-DCNvSBgn.mjs} +5 -4
  84. package/.output/server/chunks/build/{details-CgufnL1d.mjs.map → details-DCNvSBgn.mjs.map} +1 -1
  85. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +1 -1
  86. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +1 -1
  87. package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs +104 -0
  88. package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs.map +1 -0
  89. package/.output/server/chunks/build/{interval-9B2MrM2e.mjs → interval-i5OZnTaK.mjs} +2 -2
  90. package/.output/server/chunks/build/{interval-9B2MrM2e.mjs.map → interval-i5OZnTaK.mjs.map} +1 -1
  91. package/.output/server/chunks/build/layers-50nqoWES.mjs +553 -0
  92. package/.output/server/chunks/build/layers-50nqoWES.mjs.map +1 -0
  93. package/.output/server/chunks/build/{login-Cf5EiCE4.mjs → login-BHSHtO-R.mjs} +6 -5
  94. package/.output/server/chunks/build/{login-Cf5EiCE4.mjs.map → login-BHSHtO-R.mjs.map} +1 -1
  95. package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs +86 -0
  96. package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs.map +1 -0
  97. package/.output/server/chunks/build/{DashboardSidebarToggle-CUI9NSow.mjs → overlay-BS4_B29H.mjs} +411 -4
  98. package/.output/server/chunks/build/overlay-BS4_B29H.mjs.map +1 -0
  99. package/.output/server/chunks/build/pages-5yYRS5nX.mjs +37 -0
  100. package/.output/server/chunks/build/pages-5yYRS5nX.mjs.map +1 -0
  101. package/.output/server/chunks/build/{pages-0c5sp_lv.mjs → pages-DfOPr0fC.mjs} +21 -21
  102. package/.output/server/chunks/build/pages-DfOPr0fC.mjs.map +1 -0
  103. package/.output/server/chunks/build/{services-BB49kSpd.mjs → services-DWlDpsbi.mjs} +45 -41
  104. package/.output/server/chunks/build/{services-BB49kSpd.mjs.map → services-DWlDpsbi.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{tasks-BRcMLuRW.mjs → tasks-4b6D39Uy.mjs} +44 -100
  106. package/.output/server/chunks/build/{tasks-BRcMLuRW.mjs.map → tasks-4b6D39Uy.mjs.map} +1 -1
  107. package/.output/server/chunks/build/{tasks-Aa8PwjVL.mjs → tasks-BPPx2UMG.mjs} +10 -6
  108. package/.output/server/chunks/build/tasks-BPPx2UMG.mjs.map +1 -0
  109. package/.output/server/chunks/nitro/nitro.mjs +303 -244
  110. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs +29 -0
  111. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs.map +1 -0
  112. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs +31 -0
  113. package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs.map +1 -0
  114. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs +39 -0
  115. package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs.map +1 -0
  116. package/.output/server/chunks/routes/api/map/layers/status.get.mjs +60 -0
  117. package/.output/server/chunks/routes/api/map/layers/status.get.mjs.map +1 -0
  118. package/.output/server/chunks/routes/api/map/live/status.get.mjs +1 -1
  119. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +1 -1
  120. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +1 -1
  121. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +1 -1
  123. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +1 -1
  124. package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +1 -1
  125. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +1 -1
  126. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +1 -1
  127. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +1 -1
  128. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +1 -1
  129. package/.output/server/chunks/routes/api/workspace/files.post.mjs +1 -1
  130. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +1 -1
  131. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +2 -2
  132. package/.output/server/chunks/routes/renderer.mjs +3 -3
  133. package/.output/server/chunks/routes/services/wms.get.mjs +1 -1
  134. package/.output/server/chunks/routes/services/wmts.get.mjs +1 -1
  135. package/.output/server/chunks/virtual/entry.mjs +320 -443
  136. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  137. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  138. package/.output/server/chunks/virtual/styles.mjs +1 -1
  139. package/.output/server/node_modules/undici/index.js +234 -0
  140. package/.output/server/node_modules/undici/lib/api/abort-signal.js +59 -0
  141. package/.output/server/node_modules/undici/lib/api/api-connect.js +110 -0
  142. package/.output/server/node_modules/undici/lib/api/api-pipeline.js +252 -0
  143. package/.output/server/node_modules/undici/lib/api/api-request.js +214 -0
  144. package/.output/server/node_modules/undici/lib/api/api-stream.js +209 -0
  145. package/.output/server/node_modules/undici/lib/api/api-upgrade.js +111 -0
  146. package/.output/server/node_modules/undici/lib/api/index.js +7 -0
  147. package/.output/server/node_modules/undici/lib/api/readable.js +580 -0
  148. package/.output/server/node_modules/undici/lib/cache/memory-cache-store.js +279 -0
  149. package/.output/server/node_modules/undici/lib/cache/sqlite-cache-store.js +467 -0
  150. package/.output/server/node_modules/undici/lib/core/connect.js +153 -0
  151. package/.output/server/node_modules/undici/lib/core/constants.js +143 -0
  152. package/.output/server/node_modules/undici/lib/core/diagnostics.js +227 -0
  153. package/.output/server/node_modules/undici/lib/core/errors.js +477 -0
  154. package/.output/server/node_modules/undici/lib/core/request.js +464 -0
  155. package/.output/server/node_modules/undici/lib/core/socks5-client.js +422 -0
  156. package/.output/server/node_modules/undici/lib/core/socks5-utils.js +212 -0
  157. package/.output/server/node_modules/undici/lib/core/symbols.js +75 -0
  158. package/.output/server/node_modules/undici/lib/core/tree.js +160 -0
  159. package/.output/server/node_modules/undici/lib/core/util.js +992 -0
  160. package/.output/server/node_modules/undici/lib/dispatcher/agent.js +158 -0
  161. package/.output/server/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  162. package/.output/server/node_modules/undici/lib/dispatcher/client-h1.js +1731 -0
  163. package/.output/server/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  164. package/.output/server/node_modules/undici/lib/dispatcher/client.js +664 -0
  165. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  166. package/.output/server/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  167. package/.output/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  168. package/.output/server/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  169. package/.output/server/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  170. package/.output/server/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  171. package/.output/server/node_modules/undici/lib/dispatcher/pool.js +118 -0
  172. package/.output/server/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
  173. package/.output/server/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  174. package/.output/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  175. package/.output/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +260 -0
  176. package/.output/server/node_modules/undici/lib/encoding/index.js +33 -0
  177. package/.output/server/node_modules/undici/lib/global.js +59 -0
  178. package/.output/server/node_modules/undici/lib/handler/cache-handler.js +760 -0
  179. package/.output/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  180. package/.output/server/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  181. package/.output/server/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  182. package/.output/server/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  183. package/.output/server/node_modules/undici/lib/handler/retry-handler.js +418 -0
  184. package/.output/server/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
  185. package/.output/server/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  186. package/.output/server/node_modules/undici/lib/interceptor/cache.js +602 -0
  187. package/.output/server/node_modules/undici/lib/interceptor/decompress.js +259 -0
  188. package/.output/server/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  189. package/.output/server/node_modules/undici/lib/interceptor/dns.js +571 -0
  190. package/.output/server/node_modules/undici/lib/interceptor/dump.js +112 -0
  191. package/.output/server/node_modules/undici/lib/interceptor/redirect.js +21 -0
  192. package/.output/server/node_modules/undici/lib/interceptor/response-error.js +95 -0
  193. package/.output/server/node_modules/undici/lib/interceptor/retry.js +19 -0
  194. package/.output/server/node_modules/undici/lib/llhttp/constants.js +531 -0
  195. package/.output/server/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  196. package/.output/server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  197. package/.output/server/node_modules/undici/lib/llhttp/utils.js +12 -0
  198. package/.output/server/node_modules/undici/lib/mock/mock-agent.js +232 -0
  199. package/.output/server/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  200. package/.output/server/node_modules/undici/lib/mock/mock-client.js +68 -0
  201. package/.output/server/node_modules/undici/lib/mock/mock-errors.js +29 -0
  202. package/.output/server/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  203. package/.output/server/node_modules/undici/lib/mock/mock-pool.js +68 -0
  204. package/.output/server/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  205. package/.output/server/node_modules/undici/lib/mock/mock-utils.js +486 -0
  206. package/.output/server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  207. package/.output/server/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  208. package/.output/server/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  209. package/.output/server/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  210. package/.output/server/node_modules/undici/lib/util/cache.js +676 -0
  211. package/.output/server/node_modules/undici/lib/util/date.js +670 -0
  212. package/.output/server/node_modules/undici/lib/util/promise.js +28 -0
  213. package/.output/server/node_modules/undici/lib/util/runtime-features.js +124 -0
  214. package/.output/server/node_modules/undici/lib/util/stats.js +32 -0
  215. package/.output/server/node_modules/undici/lib/util/timers.js +425 -0
  216. package/.output/server/node_modules/undici/lib/web/cache/cache.js +864 -0
  217. package/.output/server/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  218. package/.output/server/node_modules/undici/lib/web/cache/util.js +45 -0
  219. package/.output/server/node_modules/undici/lib/web/cookies/constants.js +12 -0
  220. package/.output/server/node_modules/undici/lib/web/cookies/index.js +199 -0
  221. package/.output/server/node_modules/undici/lib/web/cookies/parse.js +314 -0
  222. package/.output/server/node_modules/undici/lib/web/cookies/util.js +352 -0
  223. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  224. package/.output/server/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  225. package/.output/server/node_modules/undici/lib/web/eventsource/util.js +29 -0
  226. package/.output/server/node_modules/undici/lib/web/fetch/body.js +509 -0
  227. package/.output/server/node_modules/undici/lib/web/fetch/constants.js +131 -0
  228. package/.output/server/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  229. package/.output/server/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  230. package/.output/server/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  231. package/.output/server/node_modules/undici/lib/web/fetch/global.js +40 -0
  232. package/.output/server/node_modules/undici/lib/web/fetch/headers.js +719 -0
  233. package/.output/server/node_modules/undici/lib/web/fetch/index.js +2413 -0
  234. package/.output/server/node_modules/undici/lib/web/fetch/request.js +1115 -0
  235. package/.output/server/node_modules/undici/lib/web/fetch/response.js +641 -0
  236. package/.output/server/node_modules/undici/lib/web/fetch/util.js +1522 -0
  237. package/.output/server/node_modules/undici/lib/web/infra/index.js +229 -0
  238. package/.output/server/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  239. package/.output/server/node_modules/undici/lib/web/webidl/index.js +1006 -0
  240. package/.output/server/node_modules/undici/lib/web/websocket/connection.js +329 -0
  241. package/.output/server/node_modules/undici/lib/web/websocket/constants.js +126 -0
  242. package/.output/server/node_modules/undici/lib/web/websocket/events.js +331 -0
  243. package/.output/server/node_modules/undici/lib/web/websocket/frame.js +133 -0
  244. package/.output/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  245. package/.output/server/node_modules/undici/lib/web/websocket/receiver.js +507 -0
  246. package/.output/server/node_modules/undici/lib/web/websocket/sender.js +109 -0
  247. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  248. package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +498 -0
  249. package/.output/server/node_modules/undici/lib/web/websocket/util.js +347 -0
  250. package/.output/server/node_modules/undici/lib/web/websocket/websocket.js +758 -0
  251. package/.output/server/node_modules/undici/package.json +152 -0
  252. package/.output/server/package.json +2 -1
  253. package/LICENSE +201 -2
  254. package/README.md +17 -4
  255. package/dist/package.json +3 -2
  256. package/dist/shared/antigravity-schema.js +45 -0
  257. package/dist/shared/dji-grid.js +62 -0
  258. package/dist/shared/types/map-layers.js +2 -0
  259. package/dist/src/cli.js +63 -5
  260. package/dist/src/core/dji-snapshot.js +135 -0
  261. package/dist/src/core/map-layer-paths.js +11 -0
  262. package/dist/src/map-layer-update.js +646 -0
  263. package/package.json +3 -2
  264. package/.output/public/_nuxt/BNfSclJ4.js +0 -1
  265. package/.output/public/_nuxt/BYzlinOr2.js +0 -1
  266. package/.output/public/_nuxt/Be4dNlar.js +0 -1
  267. package/.output/public/_nuxt/C7fHMLd7.js +0 -1
  268. package/.output/public/_nuxt/CNs_Ozdc.js +0 -1
  269. package/.output/public/_nuxt/CQ8inUdm.js +0 -1
  270. package/.output/public/_nuxt/Cc_JfSB1.js +0 -1
  271. package/.output/public/_nuxt/CyZDc0eO2.js +0 -1
  272. package/.output/public/_nuxt/CzFefJH0.js +0 -1
  273. package/.output/public/_nuxt/D-t0hXHB.js +0 -1
  274. package/.output/public/_nuxt/D3Pl7yw22.js +0 -1
  275. package/.output/public/_nuxt/D4gbGuiW.js +0 -1
  276. package/.output/public/_nuxt/DDp9lK3g.js +0 -1
  277. package/.output/public/_nuxt/DIIXHC50.js +0 -1
  278. package/.output/public/_nuxt/DWFUvzz0.js +0 -1
  279. package/.output/public/_nuxt/D_VoD6-f.js +0 -1
  280. package/.output/public/_nuxt/DfXX-x_z.js +0 -1
  281. package/.output/public/_nuxt/Dgyf2aNY.js +0 -1
  282. package/.output/public/_nuxt/GM5myUL22.js +0 -1
  283. package/.output/public/_nuxt/IC4wc76W.js +0 -1
  284. package/.output/public/_nuxt/IfL46N3Z.js +0 -1
  285. package/.output/public/_nuxt/KEU2l6zJ.js +0 -3
  286. package/.output/public/_nuxt/SEETjfdJ.js +0 -1
  287. package/.output/public/_nuxt/builds/meta/2c4adba2-91b5-44e4-91d3-50a61695207b.json +0 -1
  288. package/.output/public/_nuxt/entry.CZ_dkjcs.css +0 -1
  289. package/.output/public/_nuxt/nGp0t_eD.js +0 -1
  290. package/.output/server/chunks/build/Alert-DHVVSgdD.mjs +0 -1074
  291. package/.output/server/chunks/build/Alert-DHVVSgdD.mjs.map +0 -1
  292. package/.output/server/chunks/build/DashboardSidebarToggle-CUI9NSow.mjs.map +0 -1
  293. package/.output/server/chunks/build/Empty-BGIn09cL.mjs.map +0 -1
  294. package/.output/server/chunks/build/FocusScope-DNZVMnza.mjs +0 -207
  295. package/.output/server/chunks/build/FocusScope-DNZVMnza.mjs.map +0 -1
  296. package/.output/server/chunks/build/FormField-DnJWfrKE.mjs.map +0 -1
  297. package/.output/server/chunks/build/MapBaseLayerTabs-CRl5Zwlr.mjs.map +0 -1
  298. package/.output/server/chunks/build/OnlineMap-cFSicmkV.mjs.map +0 -1
  299. package/.output/server/chunks/build/Tooltip-DNUdH4oF.mjs.map +0 -1
  300. package/.output/server/chunks/build/advanced-5ZGMUBqC.mjs.map +0 -1
  301. package/.output/server/chunks/build/compare-CtgF4Anj.mjs.map +0 -1
  302. package/.output/server/chunks/build/pages-0c5sp_lv.mjs.map +0 -1
  303. package/.output/server/chunks/build/tasks-Aa8PwjVL.mjs.map +0 -1
@@ -1,41 +1,96 @@
1
- import { d as useComponentProps, f as useAppConfig, t as tv, g as useForwardProps, r as reactivePick, o as get, _ as _sfc_main$5, p as _sfc_main$3$1, l as createReusableTemplate, P as Primitive, j as useFieldGroup, k as useComponentIcons, v as useForwardExpose, w as useVModel, K as useResizeObserver, z as Presence_default, L as useFetch, A as createContext, B as useCollection, M as useMounted, H as getActiveElement } from '../virtual/entry.mjs';
2
- import { f as useDashboard, g as useResizable, _ as _sfc_main$1$1, i as _sfc_main$4, a as useDirection, u as useId$1 } from './DashboardSidebarToggle-CUI9NSow.mjs';
3
- import { useId, toRef, computed, mergeProps, unref, useSlots, ref, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, createVNode, Fragment, renderList, defineComponent, toRefs, shallowRef, watch, watchPostEffect, withKeys, withModifiers, normalizeStyle, useModel, withAsyncContext, watchEffect, mergeModels, nextTick, useSSRContext } from 'vue';
4
- import { ssrRenderAttrs, ssrRenderSlot, ssrRenderClass, ssrRenderComponent, ssrRenderList, ssrInterpolate } from 'vue/server-renderer';
1
+ import { d as useComponentProps, e as useLocale, f as useAppConfig, t as tv, P as Primitive, g as useForwardProps, r as reactivePick, o as get, _ as _sfc_main$5, p as _sfc_main$3, b as _sfc_main$2, Q as useScroll, v as useForwardExpose, w as useVModel, R as useResizeObserver, z as Presence_default, A as createContext, S as useMounted, G as refAutoReset, H as getActiveElement } from '../virtual/entry.mjs';
2
+ import { a as useDirection, u as useId$1 } from './overlay-BS4_B29H.mjs';
3
+ import { e as _sfc_main$4, R as RovingFocusGroup_default, f as RovingFocusItem_default } from './MapLayerControl-DpNmYvcU.mjs';
4
+ import { u as useVirtualizer } from './esm-Dp2lJXbp.mjs';
5
+ import { computed, useTemplateRef, toRef, watch, unref, mergeProps, withCtx, openBlock, createBlock, Fragment, renderList, renderSlot, useSlots, ref, createCommentVNode, createTextVNode, toDisplayString, createVNode, defineComponent, toValue, toRefs, shallowRef, watchPostEffect, withKeys, withModifiers, normalizeStyle, nextTick, useSSRContext } from 'vue';
6
+ import { D as defu } from '../nitro/nitro.mjs';
7
+ import { ssrRenderComponent, ssrRenderClass, ssrRenderStyle, ssrRenderList, ssrRenderAttr, ssrRenderSlot, ssrInterpolate, ssrRenderAttrs } from 'vue/server-renderer';
5
8
 
6
- //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/RovingFocus/utils.js
7
- var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
8
- var EVENT_OPTIONS = {
9
- bubbles: false,
10
- cancelable: true
11
- };
12
- var MAP_KEY_TO_FOCUS_INTENT = {
13
- ArrowLeft: "prev",
14
- ArrowUp: "prev",
15
- ArrowRight: "next",
16
- ArrowDown: "next",
17
- PageUp: "first",
18
- Home: "first",
19
- PageDown: "last",
20
- End: "last"
21
- };
22
- function getDirectionAwareKey(key, dir) {
23
- if (dir !== "rtl") return key;
24
- return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
9
+ //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/shared/useComposing.js
10
+ function useComposing(onEnd) {
11
+ const isComposing = ref(false);
12
+ function handleCompositionStart() {
13
+ isComposing.value = true;
14
+ }
15
+ function handleCompositionEnd(event) {
16
+ nextTick(() => {
17
+ isComposing.value = false;
18
+ onEnd?.(event);
19
+ });
20
+ }
21
+ return {
22
+ isComposing,
23
+ handleCompositionStart,
24
+ handleCompositionEnd
25
+ };
25
26
  }
26
- function getFocusIntent(event, orientation, dir) {
27
- const key = getDirectionAwareKey(event.key, dir);
28
- if (orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) return void 0;
29
- if (orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)) return void 0;
30
- return MAP_KEY_TO_FOCUS_INTENT[key];
27
+ //#endregion
28
+ //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/shared/useKbd.js
29
+ function useKbd() {
30
+ return {
31
+ ALT: "Alt",
32
+ ARROW_DOWN: "ArrowDown",
33
+ ARROW_LEFT: "ArrowLeft",
34
+ ARROW_RIGHT: "ArrowRight",
35
+ ARROW_UP: "ArrowUp",
36
+ BACKSPACE: "Backspace",
37
+ CAPS_LOCK: "CapsLock",
38
+ CONTROL: "Control",
39
+ DELETE: "Delete",
40
+ END: "End",
41
+ ENTER: "Enter",
42
+ ESCAPE: "Escape",
43
+ F1: "F1",
44
+ F10: "F10",
45
+ F11: "F11",
46
+ F12: "F12",
47
+ F2: "F2",
48
+ F3: "F3",
49
+ F4: "F4",
50
+ F5: "F5",
51
+ F6: "F6",
52
+ F7: "F7",
53
+ F8: "F8",
54
+ F9: "F9",
55
+ HOME: "Home",
56
+ META: "Meta",
57
+ PAGE_DOWN: "PageDown",
58
+ PAGE_UP: "PageUp",
59
+ SHIFT: "Shift",
60
+ SPACE: " ",
61
+ TAB: "Tab",
62
+ CTRL: "Control",
63
+ ASTERISK: "*",
64
+ SPACE_CODE: "Space"
65
+ };
31
66
  }
32
- function focusFirst(candidates, preventScroll = false) {
33
- const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();
34
- for (const candidate of candidates) {
35
- if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
36
- candidate.focus({ preventScroll });
37
- if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;
38
- }
67
+ //#endregion
68
+ //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/shared/useTypeahead.js
69
+ function useTypeahead(callback) {
70
+ const search = refAutoReset("", 1e3);
71
+ const handleTypeaheadSearch = (key, items) => {
72
+ search.value = search.value + key;
73
+ {
74
+ const currentItem = getActiveElement();
75
+ const itemsWithTextValue = items.map((item) => ({
76
+ ...item,
77
+ textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? ""
78
+ }));
79
+ const currentMatch = itemsWithTextValue.find((item) => item.ref === currentItem);
80
+ const nextMatch = getNextMatch(itemsWithTextValue.map((item) => item.textValue), search.value, currentMatch?.textValue);
81
+ const newItem = itemsWithTextValue.find((item) => item.textValue === nextMatch);
82
+ if (newItem) newItem.ref.focus();
83
+ return newItem?.ref;
84
+ }
85
+ };
86
+ const resetTypeahead = () => {
87
+ search.value = "";
88
+ };
89
+ return {
90
+ search,
91
+ handleTypeaheadSearch,
92
+ resetTypeahead
93
+ };
39
94
  }
40
95
  /**
41
96
  * Wraps an array around itself at a given start index
@@ -44,227 +99,31 @@ function focusFirst(candidates, preventScroll = false) {
44
99
  function wrapArray(array, startIndex) {
45
100
  return array.map((_, index) => array[(startIndex + index) % array.length]);
46
101
  }
47
- //#endregion
48
- //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/RovingFocus/RovingFocusGroup.js
49
- var [injectRovingFocusGroupContext, provideRovingFocusGroupContext] = /*#__PURE__*/ createContext("RovingFocusGroup");
50
- var RovingFocusGroup_default = /* @__PURE__ */ defineComponent({
51
- __name: "RovingFocusGroup",
52
- props: {
53
- orientation: {
54
- type: String,
55
- required: false,
56
- default: void 0
57
- },
58
- dir: {
59
- type: String,
60
- required: false
61
- },
62
- loop: {
63
- type: Boolean,
64
- required: false,
65
- default: false
66
- },
67
- currentTabStopId: {
68
- type: [String, null],
69
- required: false
70
- },
71
- defaultCurrentTabStopId: {
72
- type: String,
73
- required: false
74
- },
75
- preventScrollOnEntryFocus: {
76
- type: Boolean,
77
- required: false,
78
- default: false
79
- },
80
- asChild: {
81
- type: Boolean,
82
- required: false
83
- },
84
- as: {
85
- type: null,
86
- required: false
87
- }
88
- },
89
- emits: ["entryFocus", "update:currentTabStopId"],
90
- setup(__props, { expose: __expose, emit: __emit }) {
91
- const props = __props;
92
- const emits = __emit;
93
- const { loop, orientation, dir: propDir } = toRefs(props);
94
- const dir = useDirection(propDir);
95
- const currentTabStopId = useVModel(props, "currentTabStopId", emits, {
96
- defaultValue: props.defaultCurrentTabStopId,
97
- passive: props.currentTabStopId === void 0
98
- });
99
- const isTabbingBackOut = ref(false);
100
- const isClickFocus = ref(false);
101
- const focusableItemsCount = ref(0);
102
- const { getItems, CollectionSlot } = useCollection({ isProvider: true });
103
- function handleFocus(event) {
104
- const isKeyboardFocus = !isClickFocus.value;
105
- if (event.currentTarget && event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut.value) {
106
- const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
107
- event.currentTarget.dispatchEvent(entryFocusEvent);
108
- emits("entryFocus", entryFocusEvent);
109
- if (!entryFocusEvent.defaultPrevented) {
110
- const items = getItems().map((i) => i.ref).filter((i) => i.dataset.disabled !== "");
111
- focusFirst([
112
- items.find((item) => item.getAttribute("data-active") === ""),
113
- items.find((item) => item.getAttribute("data-highlighted") === ""),
114
- items.find((item) => item.id === currentTabStopId.value),
115
- ...items
116
- ].filter(Boolean), props.preventScrollOnEntryFocus);
117
- }
118
- }
119
- isClickFocus.value = false;
120
- }
121
- function handleMouseUp() {
122
- setTimeout(() => {
123
- isClickFocus.value = false;
124
- }, 1);
125
- }
126
- __expose({ getItems });
127
- provideRovingFocusGroupContext({
128
- loop,
129
- dir,
130
- orientation,
131
- currentTabStopId,
132
- onItemFocus: (tabStopId) => {
133
- currentTabStopId.value = tabStopId;
134
- },
135
- onItemShiftTab: () => {
136
- isTabbingBackOut.value = true;
137
- },
138
- onFocusableItemAdd: () => {
139
- focusableItemsCount.value++;
140
- },
141
- onFocusableItemRemove: () => {
142
- focusableItemsCount.value--;
143
- }
144
- });
145
- return (_ctx, _cache) => {
146
- return openBlock(), createBlock(unref(CollectionSlot), null, {
147
- default: withCtx(() => [createVNode(unref(Primitive), {
148
- tabindex: isTabbingBackOut.value || focusableItemsCount.value === 0 ? -1 : 0,
149
- "data-orientation": unref(orientation),
150
- as: _ctx.as,
151
- "as-child": _ctx.asChild,
152
- dir: unref(dir),
153
- style: { "outline": "none" },
154
- onMousedown: _cache[0] || (_cache[0] = ($event) => isClickFocus.value = true),
155
- onMouseup: handleMouseUp,
156
- onFocus: handleFocus,
157
- onBlur: _cache[1] || (_cache[1] = ($event) => isTabbingBackOut.value = false)
158
- }, {
159
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
160
- _: 3
161
- }, 8, [
162
- "tabindex",
163
- "data-orientation",
164
- "as",
165
- "as-child",
166
- "dir"
167
- ])]),
168
- _: 3
169
- });
170
- };
171
- }
172
- });
173
- //#endregion
174
- //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/RovingFocus/RovingFocusItem.js
175
- var RovingFocusItem_default = /* @__PURE__ */ defineComponent({
176
- __name: "RovingFocusItem",
177
- props: {
178
- tabStopId: {
179
- type: String,
180
- required: false
181
- },
182
- focusable: {
183
- type: Boolean,
184
- required: false,
185
- default: true
186
- },
187
- active: {
188
- type: Boolean,
189
- required: false
190
- },
191
- allowShiftKey: {
192
- type: Boolean,
193
- required: false
194
- },
195
- asChild: {
196
- type: Boolean,
197
- required: false
198
- },
199
- as: {
200
- type: null,
201
- required: false,
202
- default: "span"
203
- }
204
- },
205
- setup(__props) {
206
- const props = __props;
207
- const context = injectRovingFocusGroupContext();
208
- const randomId = useId$1();
209
- const id = computed(() => props.tabStopId || randomId);
210
- const isCurrentTabStop = computed(() => context.currentTabStopId.value === id.value);
211
- const { getItems, CollectionItem } = useCollection();
212
- watch(() => props.focusable, (newVal, oldVal) => {
213
- if (newVal === oldVal) return;
214
- if (newVal) context.onFocusableItemAdd();
215
- else context.onFocusableItemRemove();
216
- });
217
- function handleKeydown(event) {
218
- if (event.key === "Tab" && event.shiftKey) {
219
- context.onItemShiftTab();
220
- return;
221
- }
222
- if (event.target !== event.currentTarget) return;
223
- const focusIntent = getFocusIntent(event, context.orientation.value, context.dir.value);
224
- if (focusIntent !== void 0) {
225
- if (event.metaKey || event.ctrlKey || event.altKey || (props.allowShiftKey ? false : event.shiftKey)) return;
226
- event.preventDefault();
227
- let candidateNodes = [...getItems().map((i) => i.ref).filter((i) => i.dataset.disabled !== "")];
228
- if (focusIntent === "last") candidateNodes.reverse();
229
- else if (focusIntent === "prev" || focusIntent === "next") {
230
- if (focusIntent === "prev") candidateNodes.reverse();
231
- const currentIndex = candidateNodes.indexOf(event.currentTarget);
232
- candidateNodes = context.loop.value ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
233
- }
234
- nextTick(() => focusFirst(candidateNodes));
235
- }
236
- }
237
- return (_ctx, _cache) => {
238
- return openBlock(), createBlock(unref(CollectionItem), null, {
239
- default: withCtx(() => [createVNode(unref(Primitive), {
240
- tabindex: isCurrentTabStop.value ? 0 : -1,
241
- "data-orientation": unref(context).orientation.value,
242
- "data-active": _ctx.active ? "" : void 0,
243
- "data-disabled": !_ctx.focusable ? "" : void 0,
244
- as: _ctx.as,
245
- "as-child": _ctx.asChild,
246
- onMousedown: _cache[0] || (_cache[0] = (event) => {
247
- if (!_ctx.focusable) event.preventDefault();
248
- else unref(context).onItemFocus(id.value);
249
- }),
250
- onFocus: _cache[1] || (_cache[1] = ($event) => unref(context).onItemFocus(id.value)),
251
- onKeydown: handleKeydown
252
- }, {
253
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
254
- _: 3
255
- }, 8, [
256
- "tabindex",
257
- "data-orientation",
258
- "data-active",
259
- "data-disabled",
260
- "as",
261
- "as-child"
262
- ])]),
263
- _: 3
264
- });
265
- };
266
- }
267
- });
102
+ /**
103
+ * This is the "meat" of the typeahead matching logic. It takes in all the values,
104
+ * the search and the current match, and returns the next match (or `undefined`).
105
+ *
106
+ * We normalize the search because if a user has repeatedly pressed a character,
107
+ * we want the exact same behavior as if we only had that one character
108
+ * (ie. cycle through options starting with that character)
109
+ *
110
+ * We also reorder the values by wrapping the array around the current match.
111
+ * This is so we always look forward from the current match, and picking the first
112
+ * match will always be the correct one.
113
+ *
114
+ * Finally, if the normalized search is exactly one character, we exclude the
115
+ * current match from the values because otherwise it would be the first to match always
116
+ * and focus would never move. This is as opposed to the regular case, where we
117
+ * don't want focus to move if the current match still matches.
118
+ */
119
+ function getNextMatch(values, search, currentMatch) {
120
+ const normalizedSearch = search.length > 1 && Array.from(search).every((char) => char === search[0]) ? search[0] : search;
121
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
122
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
123
+ if (normalizedSearch.length === 1) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
124
+ const nextMatch = wrappedValues.find((value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
125
+ return nextMatch !== currentMatch ? nextMatch : void 0;
126
+ }
268
127
  //#endregion
269
128
  //#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Tabs/TabsRoot.js
270
129
  var [injectTabsRootContext, provideTabsRootContext] = /*#__PURE__*/ createContext("TabsRoot");
@@ -628,159 +487,142 @@ var TabsTrigger_default = /* @__PURE__ */ defineComponent({
628
487
  }
629
488
  });
630
489
  //#endregion
631
- //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Fdashboard-panel.ts
632
- var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fdashboard_panel_default = {
633
- "slots": {
634
- "root": "relative flex flex-col min-w-0 min-h-svh lg:not-last:border-e lg:not-last:border-default shrink-0",
635
- "body": "flex flex-col gap-4 sm:gap-6 flex-1 overflow-y-auto p-4 sm:p-6",
636
- "handle": ""
637
- },
638
- "variants": { "size": {
639
- "true": { "root": "w-full lg:w-(--width)" },
640
- "false": { "root": "flex-1" }
641
- } }
642
- };
643
- //#endregion
644
- //#region node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/DashboardPanel.vue
645
- var _sfc_main$3 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
646
- __name: "UDashboardPanel",
490
+ //#region app/components/FileDropZone.vue?vue&type=script&setup=true&lang.ts
491
+ var FileDropZone_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
492
+ __name: "FileDropZone",
647
493
  __ssrInlineRender: true,
648
494
  props: {
649
- class: {
650
- type: null,
651
- required: false
652
- },
653
- ui: {
654
- type: Object,
655
- required: false
656
- },
657
- id: {
658
- type: String,
659
- required: false
660
- },
661
- minSize: {
662
- type: Number,
663
- required: false,
664
- default: 15
665
- },
666
- maxSize: {
667
- type: Number,
668
- required: false
669
- },
670
- defaultSize: {
671
- type: Number,
672
- required: false
673
- },
674
- resizable: {
495
+ accept: {},
496
+ title: {},
497
+ description: {},
498
+ fileName: {},
499
+ pending: {
675
500
  type: Boolean,
676
- required: false,
677
501
  default: false
678
502
  }
679
503
  },
680
- setup(__props) {
681
- const props = useComponentProps("dashboardPanel", __props);
682
- const appConfig = useAppConfig();
683
- const dashboardContext = useDashboard({
684
- storageKey: "dashboard",
685
- unit: "%"
686
- });
687
- const id = `${dashboardContext.storageKey}-panel-${props.id || useId()}`;
688
- const { el, size, isDragging, onMouseDown, onTouchStart, onDoubleClick } = useResizable(id, toRef(() => ({
689
- ...dashboardContext,
690
- ...props
691
- })));
692
- const ui = computed(() => tv({
693
- extend: virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fdashboard_panel_default,
694
- ...appConfig.ui?.dashboardPanel || {}
695
- })({ size: !!size.value }));
504
+ emits: ["select"],
505
+ setup(__props, { emit: __emit }) {
506
+ useTemplateRef("input");
507
+ const dragging = ref(false);
696
508
  return (_ctx, _push, _parent, _attrs) => {
697
- _push(`<!--[--><div${ssrRenderAttrs(mergeProps({
698
- id,
699
- ref_key: "el",
700
- ref: el,
701
- "data-slot": "root"
702
- }, _ctx.$attrs, {
703
- "data-dragging": unref(isDragging),
704
- class: ui.value.root({ class: [unref(props).ui?.root, unref(props).class] }),
705
- style: [unref(size) ? { "--width": `${unref(size)}${unref(dashboardContext).unit}` } : void 0]
706
- }))}>`);
707
- ssrRenderSlot(_ctx.$slots, "default", {}, () => {
708
- ssrRenderSlot(_ctx.$slots, "header", {}, null, _push, _parent);
709
- _push(`<div data-slot="body" class="${ssrRenderClass(ui.value.body({ class: unref(props).ui?.body }))}">`);
710
- ssrRenderSlot(_ctx.$slots, "body", {}, null, _push, _parent);
711
- _push(`</div>`);
712
- ssrRenderSlot(_ctx.$slots, "footer", {}, null, _push, _parent);
713
- }, _push, _parent);
509
+ const _component_UIcon = _sfc_main$5;
510
+ const _component_UButton = _sfc_main$2;
511
+ _push(`<div${ssrRenderAttrs(mergeProps({
512
+ class: ["group flex min-h-28 cursor-pointer items-center gap-4 border border-dashed px-4 py-4 transition-colors focus-within:outline-2 focus-within:outline-primary", unref(dragging) ? "border-primary bg-primary/5" : "border-default hover:border-accented hover:bg-elevated/60"],
513
+ role: "button",
514
+ tabindex: "0"
515
+ }, _attrs))}><input type="file"${ssrRenderAttr("accept", __props.accept)} class="sr-only"><span class="grid size-10 shrink-0 place-items-center bg-muted text-muted group-hover:text-default">`);
516
+ _push(ssrRenderComponent(_component_UIcon, {
517
+ name: __props.pending ? "i-lucide-loader-circle" : __props.fileName ? "i-lucide-file-check-2" : "i-lucide-file-up",
518
+ class: ["size-5", __props.pending ? "animate-spin" : ""]
519
+ }, null, _parent));
520
+ _push(`</span><div class="min-w-0 flex-1"><p class="truncate text-sm font-medium text-highlighted">${ssrInterpolate(__props.fileName || __props.title)}</p>`);
521
+ if (__props.pending || __props.fileName || __props.description) _push(`<p class="mt-1 text-xs text-muted">${ssrInterpolate(__props.pending ? "正在读取文件" : __props.fileName ? "点击或拖入文件以替换" : __props.description)}</p>`);
522
+ else _push(`<!---->`);
523
+ _push(`</div>`);
524
+ _push(ssrRenderComponent(_component_UButton, {
525
+ type: "button",
526
+ icon: "i-lucide-folder-open",
527
+ label: "选择文件",
528
+ color: "neutral",
529
+ variant: "outline",
530
+ loading: __props.pending,
531
+ tabindex: "-1"
532
+ }, null, _parent));
714
533
  _push(`</div>`);
715
- ssrRenderSlot(_ctx.$slots, "resize-handle", {
716
- onMouseDown: unref(onMouseDown),
717
- onTouchStart: unref(onTouchStart),
718
- onDoubleClick: unref(onDoubleClick)
719
- }, () => {
720
- if (unref(props).resizable) _push(ssrRenderComponent(_sfc_main$1$1, {
721
- "aria-controls": id,
722
- "data-slot": "handle",
723
- class: ui.value.handle({ class: unref(props).ui?.handle }),
724
- onMousedown: unref(onMouseDown),
725
- onTouchstart: unref(onTouchStart),
726
- onDblclick: unref(onDoubleClick)
727
- }, null, _parent));
728
- else _push(`<!---->`);
729
- }, _push, _parent);
730
- _push(`<!--]-->`);
731
534
  };
732
535
  }
733
536
  });
734
- var _sfc_setup$4 = _sfc_main$3.setup;
735
- _sfc_main$3.setup = (props, ctx) => {
537
+ //#endregion
538
+ //#region app/components/FileDropZone.vue
539
+ var _sfc_setup$2 = FileDropZone_vue_vue_type_script_setup_true_lang_default.setup;
540
+ FileDropZone_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
736
541
  const ssrContext = useSSRContext();
737
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/DashboardPanel.vue");
738
- return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
542
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/FileDropZone.vue");
543
+ return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
739
544
  };
545
+ var FileDropZone_default = Object.assign(FileDropZone_vue_vue_type_script_setup_true_lang_default, { __name: "FileDropZone" });
740
546
  //#endregion
741
- //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Fdashboard-navbar.ts
742
- var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fdashboard_navbar_default = {
547
+ //#region node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/composables/useScrollShadow.js
548
+ function useScrollShadow(element, options = {}) {
549
+ const { arrivedState } = useScroll(element);
550
+ return {
551
+ style: computed(() => {
552
+ const el = toValue(element);
553
+ const orientation = toValue(options.orientation) ?? "vertical";
554
+ const [startKey, endKey] = orientation === "horizontal" ? ["left", "right"] : ["top", "bottom"];
555
+ const showStart = !arrivedState[startKey];
556
+ const showEnd = !arrivedState[endKey];
557
+ if (!showStart && !showEnd) return void 0;
558
+ if (!(el ? orientation === "horizontal" ? el.scrollWidth > el.clientWidth : el.scrollHeight > el.clientHeight : false)) return void 0;
559
+ const size = `${toValue(options.size) ?? 24}px`;
560
+ const angle = orientation === "horizontal" ? "90deg" : "180deg";
561
+ if (showStart && showEnd) return { maskImage: `linear-gradient(${angle}, transparent, #000 ${size}, #000 calc(100% - ${size}), transparent)` };
562
+ if (showStart) return { maskImage: `linear-gradient(${angle}, transparent, #000 ${size})` };
563
+ return { maskImage: `linear-gradient(${angle}, #000, #000 calc(100% - ${size}), transparent)` };
564
+ }),
565
+ isOverflowing: computed(() => {
566
+ arrivedState.top, arrivedState.bottom, arrivedState.left, arrivedState.right;
567
+ const el = toValue(element);
568
+ if (!el) return false;
569
+ return (toValue(options.orientation) ?? "vertical") === "horizontal" ? el.scrollWidth > el.clientWidth : el.scrollHeight > el.clientHeight;
570
+ }),
571
+ arrivedState
572
+ };
573
+ }
574
+ //#endregion
575
+ //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Fscroll-area.ts
576
+ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fscroll_area_default = {
743
577
  "slots": {
744
- "root": "h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5",
745
- "left": "flex items-center gap-1.5 min-w-0",
746
- "icon": "shrink-0 size-5 self-center me-1.5",
747
- "title": "flex items-center gap-1.5 font-semibold text-highlighted truncate",
748
- "center": "hidden lg:flex",
749
- "right": "flex items-center shrink-0 gap-1.5",
750
- "toggle": ""
578
+ "root": "relative outline-primary/25 focus-visible:outline-3",
579
+ "viewport": "relative flex",
580
+ "item": ""
751
581
  },
752
- "variants": { "toggleSide": {
753
- "left": { "toggle": "" },
754
- "right": { "toggle": "" }
755
- } }
582
+ "variants": {
583
+ "orientation": {
584
+ "vertical": {
585
+ "root": "overflow-y-auto overflow-x-hidden",
586
+ "viewport": "flex-col",
587
+ "item": ""
588
+ },
589
+ "horizontal": {
590
+ "root": "overflow-x-auto overflow-y-hidden",
591
+ "viewport": "flex-row",
592
+ "item": ""
593
+ }
594
+ },
595
+ "externalScroll": { "true": { "root": "overflow-visible" } }
596
+ }
756
597
  };
757
598
  //#endregion
758
- //#region node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/DashboardNavbar.vue
759
- var _sfc_main$2 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
760
- __name: "UDashboardNavbar",
599
+ //#region node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/ScrollArea.vue
600
+ var _sfc_main$1 = {
601
+ __name: "UScrollArea",
761
602
  __ssrInlineRender: true,
762
603
  props: {
763
604
  as: {
764
605
  type: null,
765
606
  required: false
766
607
  },
767
- icon: {
608
+ orientation: {
768
609
  type: null,
769
- required: false
610
+ required: false,
611
+ default: "vertical"
770
612
  },
771
- title: {
772
- type: String,
613
+ items: {
614
+ type: Array,
773
615
  required: false
774
616
  },
775
- toggle: {
617
+ virtualize: {
776
618
  type: [Boolean, Object],
777
619
  required: false,
778
- default: true
620
+ default: false
779
621
  },
780
- toggleSide: {
781
- type: String,
622
+ shadow: {
623
+ type: [Boolean, Object],
782
624
  required: false,
783
- default: "left"
625
+ default: false
784
626
  },
785
627
  class: {
786
628
  type: null,
@@ -791,524 +633,229 @@ var _sfc_main$2 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
791
633
  required: false
792
634
  }
793
635
  },
794
- setup(__props) {
636
+ emits: ["scroll"],
637
+ setup(__props, { expose: __expose, emit: __emit }) {
795
638
  const _props = __props;
796
- const slots = useSlots();
797
- const props = useComponentProps("dashboardNavbar", _props);
639
+ const emits = __emit;
640
+ const props = useComponentProps("scrollArea", _props);
641
+ const { dir } = useLocale();
798
642
  const appConfig = useAppConfig();
799
- const dashboardContext = useDashboard({});
800
- const [DefineToggleTemplate, ReuseToggleTemplate] = createReusableTemplate();
643
+ const isExternalScroll = computed(() => typeof props.virtualize === "object" && !!props.virtualize.getScrollElement);
801
644
  const ui = computed(() => tv({
802
- extend: virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fdashboard_navbar_default,
803
- ...appConfig.ui?.dashboardNavbar || {}
804
- })());
805
- return (_ctx, _push, _parent, _attrs) => {
806
- _push(`<!--[-->`);
807
- _push(ssrRenderComponent(unref(DefineToggleTemplate), null, {
808
- default: withCtx((_, _push, _parent, _scopeId) => {
809
- if (_push) ssrRenderSlot(_ctx.$slots, "toggle", {
810
- ...unref(dashboardContext),
811
- ui: ui.value
812
- }, () => {
813
- if (unref(props).toggle) _push(ssrRenderComponent(_sfc_main$4, mergeProps(typeof unref(props).toggle === "object" ? unref(props).toggle : {}, {
814
- side: unref(props).toggleSide,
815
- "data-slot": "toggle",
816
- class: ui.value.toggle({
817
- class: unref(props).ui?.toggle,
818
- toggleSide: unref(props).toggleSide
819
- })
820
- }), null, _parent, _scopeId));
821
- else _push(`<!---->`);
822
- }, _push, _parent, _scopeId);
823
- else return [renderSlot(_ctx.$slots, "toggle", {
824
- ...unref(dashboardContext),
825
- ui: ui.value
826
- }, () => [unref(props).toggle ? (openBlock(), createBlock(_sfc_main$4, mergeProps({ key: 0 }, typeof unref(props).toggle === "object" ? unref(props).toggle : {}, {
827
- side: unref(props).toggleSide,
828
- "data-slot": "toggle",
829
- class: ui.value.toggle({
830
- class: unref(props).ui?.toggle,
831
- toggleSide: unref(props).toggleSide
832
- })
833
- }), null, 16, ["side", "class"])) : createCommentVNode("", true)])];
834
- }),
835
- _: 3
836
- }, _parent));
837
- _push(ssrRenderComponent(unref(Primitive), mergeProps({
838
- as: unref(props).as,
839
- "data-slot": "root"
840
- }, _ctx.$attrs, { class: ui.value.root({ class: [unref(props).ui?.root, unref(props).class] }) }), {
841
- default: withCtx((_, _push, _parent, _scopeId) => {
842
- if (_push) {
843
- _push(`<div data-slot="left" class="${ssrRenderClass(ui.value.left({ class: unref(props).ui?.left }))}"${_scopeId}>`);
844
- if (unref(props).toggleSide === "left") _push(ssrRenderComponent(unref(ReuseToggleTemplate), null, null, _parent, _scopeId));
845
- else _push(`<!---->`);
846
- ssrRenderSlot(_ctx.$slots, "left", unref(dashboardContext), () => {
847
- ssrRenderSlot(_ctx.$slots, "leading", {
848
- ...unref(dashboardContext),
849
- ui: ui.value
850
- }, () => {
851
- if (unref(props).icon) _push(ssrRenderComponent(_sfc_main$5, {
852
- name: unref(props).icon,
853
- "data-slot": "icon",
854
- class: ui.value.icon({ class: unref(props).ui?.icon })
855
- }, null, _parent, _scopeId));
856
- else _push(`<!---->`);
857
- }, _push, _parent, _scopeId);
858
- _push(`<h1 data-slot="title" class="${ssrRenderClass(ui.value.title({ class: unref(props).ui?.title }))}"${_scopeId}>`);
859
- ssrRenderSlot(_ctx.$slots, "title", {}, () => {
860
- _push(`${ssrInterpolate(unref(props).title)}`);
861
- }, _push, _parent, _scopeId);
862
- _push(`</h1>`);
863
- ssrRenderSlot(_ctx.$slots, "trailing", {
864
- ...unref(dashboardContext),
865
- ui: ui.value
866
- }, null, _push, _parent, _scopeId);
867
- }, _push, _parent, _scopeId);
868
- _push(`</div>`);
869
- if (!!slots.default) {
870
- _push(`<div data-slot="center" class="${ssrRenderClass(ui.value.center({ class: unref(props).ui?.center }))}"${_scopeId}>`);
871
- ssrRenderSlot(_ctx.$slots, "default", unref(dashboardContext), null, _push, _parent, _scopeId);
872
- _push(`</div>`);
873
- } else _push(`<!---->`);
874
- _push(`<div data-slot="right" class="${ssrRenderClass(ui.value.right({ class: unref(props).ui?.right }))}"${_scopeId}>`);
875
- ssrRenderSlot(_ctx.$slots, "right", unref(dashboardContext), null, _push, _parent, _scopeId);
876
- if (unref(props).toggleSide === "right") _push(ssrRenderComponent(unref(ReuseToggleTemplate), null, null, _parent, _scopeId));
877
- else _push(`<!---->`);
878
- _push(`</div>`);
879
- } else return [
880
- createVNode("div", {
881
- "data-slot": "left",
882
- class: ui.value.left({ class: unref(props).ui?.left })
883
- }, [unref(props).toggleSide === "left" ? (openBlock(), createBlock(unref(ReuseToggleTemplate), { key: 0 })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "left", unref(dashboardContext), () => [
884
- renderSlot(_ctx.$slots, "leading", {
885
- ...unref(dashboardContext),
886
- ui: ui.value
887
- }, () => [unref(props).icon ? (openBlock(), createBlock(_sfc_main$5, {
888
- key: 0,
889
- name: unref(props).icon,
890
- "data-slot": "icon",
891
- class: ui.value.icon({ class: unref(props).ui?.icon })
892
- }, null, 8, ["name", "class"])) : createCommentVNode("", true)]),
893
- createVNode("h1", {
894
- "data-slot": "title",
895
- class: ui.value.title({ class: unref(props).ui?.title })
896
- }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(unref(props).title), 1)])], 2),
897
- renderSlot(_ctx.$slots, "trailing", {
898
- ...unref(dashboardContext),
899
- ui: ui.value
900
- })
901
- ])], 2),
902
- !!slots.default ? (openBlock(), createBlock("div", {
903
- key: 0,
904
- "data-slot": "center",
905
- class: ui.value.center({ class: unref(props).ui?.center })
906
- }, [renderSlot(_ctx.$slots, "default", unref(dashboardContext))], 2)) : createCommentVNode("", true),
907
- createVNode("div", {
908
- "data-slot": "right",
909
- class: ui.value.right({ class: unref(props).ui?.right })
910
- }, [renderSlot(_ctx.$slots, "right", unref(dashboardContext)), unref(props).toggleSide === "right" ? (openBlock(), createBlock(unref(ReuseToggleTemplate), { key: 0 })) : createCommentVNode("", true)], 2)
911
- ];
912
- }),
913
- _: 3
914
- }, _parent));
915
- _push(`<!--]-->`);
916
- };
917
- }
918
- });
919
- var _sfc_setup$3 = _sfc_main$2.setup;
920
- _sfc_main$2.setup = (props, ctx) => {
921
- const ssrContext = useSSRContext();
922
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/DashboardNavbar.vue");
923
- return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
924
- };
925
- //#endregion
926
- //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Fbadge.ts
927
- var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fbadge_default = {
928
- "slots": {
929
- "base": "font-medium inline-flex items-center",
930
- "label": "truncate",
931
- "leadingIcon": "shrink-0",
932
- "leadingAvatar": "shrink-0",
933
- "leadingAvatarSize": "",
934
- "trailingIcon": "shrink-0"
935
- },
936
- "variants": {
937
- "fieldGroup": {
938
- "horizontal": "not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",
939
- "vertical": "not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"
940
- },
941
- "color": {
942
- "primary": "",
943
- "secondary": "",
944
- "success": "",
945
- "info": "",
946
- "warning": "",
947
- "error": "",
948
- "neutral": ""
949
- },
950
- "variant": {
951
- "solid": "",
952
- "outline": "",
953
- "soft": "",
954
- "subtle": ""
955
- },
956
- "size": {
957
- "xs": {
958
- "base": "text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm",
959
- "leadingIcon": "size-3",
960
- "leadingAvatarSize": "3xs",
961
- "trailingIcon": "size-3"
645
+ extend: virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fscroll_area_default,
646
+ ...appConfig.ui?.scrollArea || {}
647
+ })({
648
+ orientation: props.orientation,
649
+ externalScroll: isExternalScroll.value
650
+ }));
651
+ const rootRef = useTemplateRef("rootRef");
652
+ const scrollShadowStyle = props.shadow ? useScrollShadow(computed(() => rootRef.value?.$el), {
653
+ orientation: () => props.orientation ?? "vertical",
654
+ size: typeof props.shadow === "object" ? props.shadow.size : void 0
655
+ }).style : void 0;
656
+ const isRtl = computed(() => dir.value === "rtl");
657
+ const isHorizontal = computed(() => props.orientation === "horizontal");
658
+ const isVertical = computed(() => !isHorizontal.value);
659
+ const getScrollElement = () => (isExternalScroll.value ? virtualizerProps.value.getScrollElement?.() : rootRef.value?.$el) ?? null;
660
+ const virtualizerProps = toRef(() => {
661
+ const options = typeof props.virtualize === "boolean" ? {} : props.virtualize;
662
+ return defu(options, {
663
+ estimateSize: 100,
664
+ overscan: 12,
665
+ gap: 0,
666
+ paddingStart: 0,
667
+ paddingEnd: 0,
668
+ scrollMargin: 0
669
+ });
670
+ });
671
+ const lanes = computed(() => {
672
+ const value = virtualizerProps.value.lanes;
673
+ return typeof value === "number" ? value : void 0;
674
+ });
675
+ const skipMeasurement = computed(() => {
676
+ return typeof props.virtualize === "object" && props.virtualize.skipMeasurement === true;
677
+ });
678
+ const virtualizer = !!props.virtualize && useVirtualizer({
679
+ ...virtualizerProps.value,
680
+ get overscan() {
681
+ return virtualizerProps.value.overscan;
962
682
  },
963
- "sm": {
964
- "base": "text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm",
965
- "leadingIcon": "size-3",
966
- "leadingAvatarSize": "3xs",
967
- "trailingIcon": "size-3"
683
+ get gap() {
684
+ return virtualizerProps.value.gap;
968
685
  },
969
- "md": {
970
- "base": "text-xs px-2 py-1 gap-1 rounded-md",
971
- "leadingIcon": "size-4",
972
- "leadingAvatarSize": "3xs",
973
- "trailingIcon": "size-4"
686
+ get paddingStart() {
687
+ return virtualizerProps.value.paddingStart;
974
688
  },
975
- "lg": {
976
- "base": "text-sm px-2 py-1 gap-1.5 rounded-md",
977
- "leadingIcon": "size-5",
978
- "leadingAvatarSize": "2xs",
979
- "trailingIcon": "size-5"
689
+ get paddingEnd() {
690
+ return virtualizerProps.value.paddingEnd;
980
691
  },
981
- "xl": {
982
- "base": "text-base px-2.5 py-1 gap-1.5 rounded-md",
983
- "leadingIcon": "size-6",
984
- "leadingAvatarSize": "2xs",
985
- "trailingIcon": "size-6"
692
+ get scrollMargin() {
693
+ return virtualizerProps.value.scrollMargin;
694
+ },
695
+ get lanes() {
696
+ return lanes.value;
697
+ },
698
+ get isRtl() {
699
+ return isRtl.value;
700
+ },
701
+ get count() {
702
+ return props.items?.length || 0;
703
+ },
704
+ getScrollElement,
705
+ get horizontal() {
706
+ return isHorizontal.value;
707
+ },
708
+ estimateSize: (index) => {
709
+ const estimate = virtualizerProps.value.estimateSize;
710
+ return typeof estimate === "function" ? estimate(index) : estimate;
986
711
  }
987
- },
988
- "square": { "true": "" }
989
- },
990
- "compoundVariants": [
991
- {
992
- "color": "primary",
993
- "variant": "solid",
994
- "class": "bg-primary text-inverted"
995
- },
996
- {
997
- "color": "secondary",
998
- "variant": "solid",
999
- "class": "bg-secondary text-inverted"
1000
- },
1001
- {
1002
- "color": "success",
1003
- "variant": "solid",
1004
- "class": "bg-success text-inverted"
1005
- },
1006
- {
1007
- "color": "info",
1008
- "variant": "solid",
1009
- "class": "bg-info text-inverted"
1010
- },
1011
- {
1012
- "color": "warning",
1013
- "variant": "solid",
1014
- "class": "bg-warning text-inverted"
1015
- },
1016
- {
1017
- "color": "error",
1018
- "variant": "solid",
1019
- "class": "bg-error text-inverted"
1020
- },
1021
- {
1022
- "color": "primary",
1023
- "variant": "outline",
1024
- "class": "text-primary ring ring-inset ring-primary/50"
1025
- },
1026
- {
1027
- "color": "secondary",
1028
- "variant": "outline",
1029
- "class": "text-secondary ring ring-inset ring-secondary/50"
1030
- },
1031
- {
1032
- "color": "success",
1033
- "variant": "outline",
1034
- "class": "text-success ring ring-inset ring-success/50"
1035
- },
1036
- {
1037
- "color": "info",
1038
- "variant": "outline",
1039
- "class": "text-info ring ring-inset ring-info/50"
1040
- },
1041
- {
1042
- "color": "warning",
1043
- "variant": "outline",
1044
- "class": "text-warning ring ring-inset ring-warning/50"
1045
- },
1046
- {
1047
- "color": "error",
1048
- "variant": "outline",
1049
- "class": "text-error ring ring-inset ring-error/50"
1050
- },
1051
- {
1052
- "color": "primary",
1053
- "variant": "soft",
1054
- "class": "bg-primary/10 text-primary"
1055
- },
1056
- {
1057
- "color": "secondary",
1058
- "variant": "soft",
1059
- "class": "bg-secondary/10 text-secondary"
1060
- },
1061
- {
1062
- "color": "success",
1063
- "variant": "soft",
1064
- "class": "bg-success/10 text-success"
1065
- },
1066
- {
1067
- "color": "info",
1068
- "variant": "soft",
1069
- "class": "bg-info/10 text-info"
1070
- },
1071
- {
1072
- "color": "warning",
1073
- "variant": "soft",
1074
- "class": "bg-warning/10 text-warning"
1075
- },
1076
- {
1077
- "color": "error",
1078
- "variant": "soft",
1079
- "class": "bg-error/10 text-error"
1080
- },
1081
- {
1082
- "color": "primary",
1083
- "variant": "subtle",
1084
- "class": "bg-primary/10 text-primary ring ring-inset ring-primary/25"
1085
- },
1086
- {
1087
- "color": "secondary",
1088
- "variant": "subtle",
1089
- "class": "bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"
1090
- },
1091
- {
1092
- "color": "success",
1093
- "variant": "subtle",
1094
- "class": "bg-success/10 text-success ring ring-inset ring-success/25"
1095
- },
1096
- {
1097
- "color": "info",
1098
- "variant": "subtle",
1099
- "class": "bg-info/10 text-info ring ring-inset ring-info/25"
1100
- },
1101
- {
1102
- "color": "warning",
1103
- "variant": "subtle",
1104
- "class": "bg-warning/10 text-warning ring ring-inset ring-warning/25"
1105
- },
1106
- {
1107
- "color": "error",
1108
- "variant": "subtle",
1109
- "class": "bg-error/10 text-error ring ring-inset ring-error/25"
1110
- },
1111
- {
1112
- "color": "neutral",
1113
- "variant": "solid",
1114
- "class": "text-inverted bg-inverted"
1115
- },
1116
- {
1117
- "color": "neutral",
1118
- "variant": "outline",
1119
- "class": "ring ring-inset ring-accented text-default bg-default"
1120
- },
1121
- {
1122
- "color": "neutral",
1123
- "variant": "soft",
1124
- "class": "text-default bg-elevated"
1125
- },
1126
- {
1127
- "color": "neutral",
1128
- "variant": "subtle",
1129
- "class": "ring ring-inset ring-accented text-default bg-elevated"
1130
- },
1131
- {
1132
- "size": "xs",
1133
- "square": true,
1134
- "class": "p-0.5"
1135
- },
1136
- {
1137
- "size": "sm",
1138
- "square": true,
1139
- "class": "p-1"
1140
- },
1141
- {
1142
- "size": "md",
1143
- "square": true,
1144
- "class": "p-1"
1145
- },
1146
- {
1147
- "size": "lg",
1148
- "square": true,
1149
- "class": "p-1"
1150
- },
1151
- {
1152
- "size": "xl",
1153
- "square": true,
1154
- "class": "p-1"
712
+ });
713
+ const virtualItems = computed(() => virtualizer ? virtualizer.value.getVirtualItems() : []);
714
+ const totalSize = computed(() => virtualizer ? virtualizer.value.getTotalSize() : 0);
715
+ const virtualViewportStyle = computed(() => ({
716
+ position: "relative",
717
+ inlineSize: isHorizontal.value ? `${totalSize.value}px` : "100%",
718
+ blockSize: isVertical.value ? `${totalSize.value}px` : "100%"
719
+ }));
720
+ function getVirtualItemStyle(virtualItem) {
721
+ const hasLanes = lanes.value !== void 0 && lanes.value > 1;
722
+ const lane = virtualItem.lane;
723
+ const gap = virtualizerProps.value.gap ?? 0;
724
+ const offset = virtualItem.start - virtualizerProps.value.scrollMargin;
725
+ const laneSize = hasLanes ? `calc((100% - ${(lanes.value - 1) * gap}px) / ${lanes.value})` : "100%";
726
+ const lanePosition = hasLanes && lane !== void 0 ? `calc(${lane} * ((100% - ${(lanes.value - 1) * gap}px) / ${lanes.value} + ${gap}px))` : 0;
727
+ return {
728
+ position: "absolute",
729
+ insetBlockStart: isHorizontal.value && hasLanes ? lanePosition : 0,
730
+ insetInlineStart: isVertical.value && hasLanes ? lanePosition : 0,
731
+ blockSize: isHorizontal.value ? hasLanes ? laneSize : "100%" : void 0,
732
+ inlineSize: isVertical.value ? hasLanes ? laneSize : "100%" : void 0,
733
+ transform: isHorizontal.value ? `translateX(${isRtl.value ? -offset : offset}px)` : `translateY(${offset}px)`
734
+ };
1155
735
  }
1156
- ],
1157
- "defaultVariants": {
1158
- "color": "primary",
1159
- "variant": "solid",
1160
- "size": "md"
1161
- }
1162
- };
1163
- //#endregion
1164
- //#region node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/Badge.vue
1165
- var _sfc_main$1 = {
1166
- __name: "UBadge",
1167
- __ssrInlineRender: true,
1168
- props: {
1169
- as: {
1170
- type: null,
1171
- required: false,
1172
- default: "span"
1173
- },
1174
- label: {
1175
- type: [String, Number],
1176
- required: false
1177
- },
1178
- color: {
1179
- type: null,
1180
- required: false
1181
- },
1182
- variant: {
1183
- type: null,
1184
- required: false
1185
- },
1186
- size: {
1187
- type: null,
1188
- required: false
1189
- },
1190
- square: {
1191
- type: Boolean,
1192
- required: false
1193
- },
1194
- class: {
1195
- type: null,
1196
- required: false
1197
- },
1198
- ui: {
1199
- type: Object,
1200
- required: false
1201
- },
1202
- icon: {
1203
- type: null,
1204
- required: false
1205
- },
1206
- avatar: {
1207
- type: Object,
1208
- required: false
1209
- },
1210
- leading: {
1211
- type: Boolean,
1212
- required: false
1213
- },
1214
- leadingIcon: {
1215
- type: null,
1216
- required: false
1217
- },
1218
- trailing: {
1219
- type: Boolean,
1220
- required: false
1221
- },
1222
- trailingIcon: {
1223
- type: null,
1224
- required: false
736
+ let resizeObserver = null;
737
+ let rafId = null;
738
+ watch(getScrollElement, (el) => {
739
+ resizeObserver?.disconnect();
740
+ resizeObserver = null;
741
+ if (!virtualizer || !el) return;
742
+ resizeObserver = new ResizeObserver(() => {
743
+ if (rafId !== null) return;
744
+ rafId = requestAnimationFrame(() => {
745
+ rafId = null;
746
+ virtualizer.value.measure();
747
+ });
748
+ });
749
+ resizeObserver.observe(el);
750
+ }, { immediate: true });
751
+ function measureElement(el) {
752
+ if (el && virtualizer && !skipMeasurement.value) {
753
+ const element = el instanceof Element ? el : el.$el;
754
+ virtualizer.value.measureElement(element);
755
+ }
1225
756
  }
1226
- },
1227
- setup(__props) {
1228
- const _props = __props;
1229
- const slots = useSlots();
1230
- const props = useComponentProps("badge", _props);
1231
- const appConfig = useAppConfig();
1232
- const { orientation, size: fieldGroupSize } = useFieldGroup(_props);
1233
- const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(props);
1234
- const ui = computed(() => tv({
1235
- extend: virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fbadge_default,
1236
- ...appConfig.ui?.badge || {}
1237
- })({
1238
- color: props.color,
1239
- variant: props.variant,
1240
- size: fieldGroupSize.value ?? props.size,
1241
- square: props.square || !slots.default && !props.label,
1242
- fieldGroup: orientation.value
1243
- }));
757
+ watch(() => virtualizer ? virtualizer.value.isScrolling : false, (isScrolling) => emits("scroll", isScrolling));
758
+ function getItemKey(item, index) {
759
+ if (virtualizerProps.value.getItemKey) return virtualizerProps.value.getItemKey(index);
760
+ if (item && typeof item === "object" && "id" in item) return item.id;
761
+ return index;
762
+ }
763
+ __expose({
764
+ get $el() {
765
+ return rootRef.value?.$el;
766
+ },
767
+ virtualizer: virtualizer || void 0
768
+ });
1244
769
  return (_ctx, _push, _parent, _attrs) => {
1245
770
  _push(ssrRenderComponent(unref(Primitive), mergeProps({
771
+ ref_key: "rootRef",
772
+ ref: rootRef,
1246
773
  as: unref(props).as,
1247
- "data-slot": "base",
1248
- class: ui.value.base({ class: [unref(props).ui?.base, unref(props).class] })
774
+ "data-slot": "root",
775
+ "data-orientation": unref(props).orientation,
776
+ class: ui.value.root({ class: [unref(props).ui?.root, unref(props).class] }),
777
+ style: unref(scrollShadowStyle)
1249
778
  }, _attrs), {
1250
779
  default: withCtx((_, _push, _parent, _scopeId) => {
1251
780
  if (_push) {
1252
- ssrRenderSlot(_ctx.$slots, "leading", { ui: ui.value }, () => {
1253
- if (unref(isLeading) && unref(leadingIconName)) _push(ssrRenderComponent(_sfc_main$5, {
1254
- name: unref(leadingIconName),
1255
- "data-slot": "leadingIcon",
1256
- class: ui.value.leadingIcon({ class: unref(props).ui?.leadingIcon })
1257
- }, null, _parent, _scopeId));
1258
- else if (!!unref(props).avatar) _push(ssrRenderComponent(_sfc_main$3$1, mergeProps({ size: unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize() }, unref(props).avatar, {
1259
- "data-slot": "leadingAvatar",
1260
- class: ui.value.leadingAvatar({ class: unref(props).ui?.leadingAvatar })
1261
- }), null, _parent, _scopeId));
1262
- else _push(`<!---->`);
1263
- }, _push, _parent, _scopeId);
1264
- ssrRenderSlot(_ctx.$slots, "default", { ui: ui.value }, () => {
1265
- if (unref(props).label !== void 0 && unref(props).label !== null) _push(`<span data-slot="label" class="${ssrRenderClass(ui.value.label({ class: unref(props).ui?.label }))}"${_scopeId}>${ssrInterpolate(unref(props).label)}</span>`);
1266
- else _push(`<!---->`);
1267
- }, _push, _parent, _scopeId);
1268
- ssrRenderSlot(_ctx.$slots, "trailing", { ui: ui.value }, () => {
1269
- if (unref(isTrailing) && unref(trailingIconName)) _push(ssrRenderComponent(_sfc_main$5, {
1270
- name: unref(trailingIconName),
1271
- "data-slot": "trailingIcon",
1272
- class: ui.value.trailingIcon({ class: unref(props).ui?.trailingIcon })
1273
- }, null, _parent, _scopeId));
1274
- else _push(`<!---->`);
1275
- }, _push, _parent, _scopeId);
1276
- } else return [
1277
- renderSlot(_ctx.$slots, "leading", { ui: ui.value }, () => [unref(isLeading) && unref(leadingIconName) ? (openBlock(), createBlock(_sfc_main$5, {
1278
- key: 0,
1279
- name: unref(leadingIconName),
1280
- "data-slot": "leadingIcon",
1281
- class: ui.value.leadingIcon({ class: unref(props).ui?.leadingIcon })
1282
- }, null, 8, ["name", "class"])) : !!unref(props).avatar ? (openBlock(), createBlock(_sfc_main$3$1, mergeProps({
1283
- key: 1,
1284
- size: unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize()
1285
- }, unref(props).avatar, {
1286
- "data-slot": "leadingAvatar",
1287
- class: ui.value.leadingAvatar({ class: unref(props).ui?.leadingAvatar })
1288
- }), null, 16, ["size", "class"])) : createCommentVNode("", true)]),
1289
- renderSlot(_ctx.$slots, "default", { ui: ui.value }, () => [unref(props).label !== void 0 && unref(props).label !== null ? (openBlock(), createBlock("span", {
1290
- key: 0,
1291
- "data-slot": "label",
1292
- class: ui.value.label({ class: unref(props).ui?.label })
1293
- }, toDisplayString(unref(props).label), 3)) : createCommentVNode("", true)]),
1294
- renderSlot(_ctx.$slots, "trailing", { ui: ui.value }, () => [unref(isTrailing) && unref(trailingIconName) ? (openBlock(), createBlock(_sfc_main$5, {
1295
- key: 0,
1296
- name: unref(trailingIconName),
1297
- "data-slot": "trailingIcon",
1298
- class: ui.value.trailingIcon({ class: unref(props).ui?.trailingIcon })
1299
- }, null, 8, ["name", "class"])) : createCommentVNode("", true)])
1300
- ];
781
+ if (unref(virtualizer)) {
782
+ _push(`<div data-slot="viewport" class="${ssrRenderClass(ui.value.viewport({ class: unref(props).ui?.viewport }))}" style="${ssrRenderStyle(virtualViewportStyle.value)}"${_scopeId}><!--[-->`);
783
+ ssrRenderList(virtualItems.value, (virtualItem) => {
784
+ _push(`<div${ssrRenderAttr("data-index", virtualItem.index)} data-slot="item" class="${ssrRenderClass(ui.value.item({ class: unref(props).ui?.item }))}" style="${ssrRenderStyle(getVirtualItemStyle(virtualItem))}"${_scopeId}>`);
785
+ ssrRenderSlot(_ctx.$slots, "default", {
786
+ item: unref(props).items?.[virtualItem.index],
787
+ index: virtualItem.index,
788
+ virtualItem
789
+ }, null, _push, _parent, _scopeId);
790
+ _push(`</div>`);
791
+ });
792
+ _push(`<!--]--></div>`);
793
+ } else {
794
+ _push(`<div data-slot="viewport" class="${ssrRenderClass(ui.value.viewport({ class: unref(props).ui?.viewport }))}"${_scopeId}>`);
795
+ if (unref(props).items) {
796
+ _push(`<!--[-->`);
797
+ ssrRenderList(unref(props).items, (item, index) => {
798
+ _push(`<div data-slot="item" class="${ssrRenderClass(ui.value.item({ class: unref(props).ui?.item }))}"${_scopeId}>`);
799
+ ssrRenderSlot(_ctx.$slots, "default", {
800
+ item,
801
+ index
802
+ }, null, _push, _parent, _scopeId);
803
+ _push(`</div>`);
804
+ });
805
+ _push(`<!--]-->`);
806
+ } else ssrRenderSlot(_ctx.$slots, "default", {
807
+ item: {},
808
+ index: 0
809
+ }, null, _push, _parent, _scopeId);
810
+ _push(`</div>`);
811
+ }
812
+ } else return [unref(virtualizer) ? (openBlock(), createBlock("div", {
813
+ key: 0,
814
+ "data-slot": "viewport",
815
+ class: ui.value.viewport({ class: unref(props).ui?.viewport }),
816
+ style: virtualViewportStyle.value
817
+ }, [(openBlock(true), createBlock(Fragment, null, renderList(virtualItems.value, (virtualItem) => {
818
+ return openBlock(), createBlock("div", {
819
+ key: String(virtualItem.key),
820
+ ref_for: true,
821
+ ref: measureElement,
822
+ "data-index": virtualItem.index,
823
+ "data-slot": "item",
824
+ class: ui.value.item({ class: unref(props).ui?.item }),
825
+ style: getVirtualItemStyle(virtualItem)
826
+ }, [renderSlot(_ctx.$slots, "default", {
827
+ item: unref(props).items?.[virtualItem.index],
828
+ index: virtualItem.index,
829
+ virtualItem
830
+ })], 14, ["data-index"]);
831
+ }), 128))], 6)) : (openBlock(), createBlock("div", {
832
+ key: 1,
833
+ "data-slot": "viewport",
834
+ class: ui.value.viewport({ class: unref(props).ui?.viewport })
835
+ }, [unref(props).items ? (openBlock(true), createBlock(Fragment, { key: 0 }, renderList(unref(props).items, (item, index) => {
836
+ return openBlock(), createBlock("div", {
837
+ key: getItemKey(item, index),
838
+ "data-slot": "item",
839
+ class: ui.value.item({ class: unref(props).ui?.item })
840
+ }, [renderSlot(_ctx.$slots, "default", {
841
+ item,
842
+ index
843
+ })], 2);
844
+ }), 128)) : renderSlot(_ctx.$slots, "default", {
845
+ item: {},
846
+ index: 0
847
+ }, void 0, void 0, 1)], 2))];
1301
848
  }),
1302
849
  _: 3
1303
850
  }, _parent));
1304
851
  };
1305
852
  }
1306
853
  };
1307
- var _sfc_setup$2 = _sfc_main$1.setup;
854
+ var _sfc_setup$1 = _sfc_main$1.setup;
1308
855
  _sfc_main$1.setup = (props, ctx) => {
1309
856
  const ssrContext = useSSRContext();
1310
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/Badge.vue");
1311
- return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
857
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/ScrollArea.vue");
858
+ return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
1312
859
  };
1313
860
  //#endregion
1314
861
  //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Ftabs.ts
@@ -1680,7 +1227,7 @@ var _sfc_main = {
1680
1227
  "data-slot": "leadingIcon",
1681
1228
  class: ui.value.leadingIcon({ class: [unref(props).ui?.leadingIcon, item.ui?.leadingIcon] })
1682
1229
  }, null, _parent, _scopeId));
1683
- else if (item.avatar) _push(ssrRenderComponent(_sfc_main$3$1, mergeProps({ size: item.ui?.leadingAvatarSize || unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize() }, { ref_for: true }, item.avatar, {
1230
+ else if (item.avatar) _push(ssrRenderComponent(_sfc_main$3, mergeProps({ size: item.ui?.leadingAvatarSize || unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize() }, { ref_for: true }, item.avatar, {
1684
1231
  "data-slot": "leadingAvatar",
1685
1232
  class: ui.value.leadingAvatar({ class: [unref(props).ui?.leadingAvatar, item.ui?.leadingAvatar] })
1686
1233
  }), null, _parent, _scopeId));
@@ -1701,7 +1248,7 @@ var _sfc_main = {
1701
1248
  index,
1702
1249
  ui: ui.value
1703
1250
  }, () => {
1704
- if (item.badge || item.badge === 0) _push(ssrRenderComponent(_sfc_main$1, mergeProps({
1251
+ if (item.badge || item.badge === 0) _push(ssrRenderComponent(_sfc_main$4, mergeProps({
1705
1252
  color: "neutral",
1706
1253
  variant: "outline",
1707
1254
  size: item.ui?.trailingBadgeSize || unref(props).ui?.trailingBadgeSize || ui.value.trailingBadgeSize()
@@ -1721,7 +1268,7 @@ var _sfc_main = {
1721
1268
  name: item.icon,
1722
1269
  "data-slot": "leadingIcon",
1723
1270
  class: ui.value.leadingIcon({ class: [unref(props).ui?.leadingIcon, item.ui?.leadingIcon] })
1724
- }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3$1, mergeProps({
1271
+ }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3, mergeProps({
1725
1272
  key: 1,
1726
1273
  size: item.ui?.leadingAvatarSize || unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize()
1727
1274
  }, { ref_for: true }, item.avatar, {
@@ -1740,7 +1287,7 @@ var _sfc_main = {
1740
1287
  item,
1741
1288
  index,
1742
1289
  ui: ui.value
1743
- }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
1290
+ }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$4, mergeProps({
1744
1291
  key: 0,
1745
1292
  color: "neutral",
1746
1293
  variant: "outline",
@@ -1782,7 +1329,7 @@ var _sfc_main = {
1782
1329
  name: item.icon,
1783
1330
  "data-slot": "leadingIcon",
1784
1331
  class: ui.value.leadingIcon({ class: [unref(props).ui?.leadingIcon, item.ui?.leadingIcon] })
1785
- }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3$1, mergeProps({
1332
+ }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3, mergeProps({
1786
1333
  key: 1,
1787
1334
  size: item.ui?.leadingAvatarSize || unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize()
1788
1335
  }, { ref_for: true }, item.avatar, {
@@ -1801,7 +1348,7 @@ var _sfc_main = {
1801
1348
  item,
1802
1349
  index,
1803
1350
  ui: ui.value
1804
- }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
1351
+ }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$4, mergeProps({
1805
1352
  key: 0,
1806
1353
  color: "neutral",
1807
1354
  variant: "outline",
@@ -1885,7 +1432,7 @@ var _sfc_main = {
1885
1432
  name: item.icon,
1886
1433
  "data-slot": "leadingIcon",
1887
1434
  class: ui.value.leadingIcon({ class: [unref(props).ui?.leadingIcon, item.ui?.leadingIcon] })
1888
- }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3$1, mergeProps({
1435
+ }, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3, mergeProps({
1889
1436
  key: 1,
1890
1437
  size: item.ui?.leadingAvatarSize || unref(props).ui?.leadingAvatarSize || ui.value.leadingAvatarSize()
1891
1438
  }, { ref_for: true }, item.avatar, {
@@ -1904,7 +1451,7 @@ var _sfc_main = {
1904
1451
  item,
1905
1452
  index,
1906
1453
  ui: ui.value
1907
- }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
1454
+ }, () => [item.badge || item.badge === 0 ? (openBlock(), createBlock(_sfc_main$4, mergeProps({
1908
1455
  key: 0,
1909
1456
  color: "neutral",
1910
1457
  variant: "outline",
@@ -1949,61 +1496,12 @@ var _sfc_main = {
1949
1496
  };
1950
1497
  }
1951
1498
  };
1952
- var _sfc_setup$1 = _sfc_main.setup;
1499
+ var _sfc_setup = _sfc_main.setup;
1953
1500
  _sfc_main.setup = (props, ctx) => {
1954
1501
  const ssrContext = useSSRContext();
1955
1502
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e299f0a9b209424c2a6c150f5a1a8167/node_modules/@nuxt/ui/dist/runtime/components/Tabs.vue");
1956
- return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
1957
- };
1958
- //#endregion
1959
- //#region app/components/MapBaseLayerTabs.vue?vue&type=script&setup=true&lang.ts
1960
- var MapBaseLayerTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
1961
- __name: "MapBaseLayerTabs",
1962
- __ssrInlineRender: true,
1963
- props: /*@__PURE__*/ mergeModels({ items: {} }, {
1964
- "modelValue": { required: true },
1965
- "modelModifiers": {}
1966
- }),
1967
- emits: ["update:modelValue"],
1968
- async setup(__props) {
1969
- let __temp, __restore;
1970
- const model = useModel(__props, "modelValue");
1971
- const props = __props;
1972
- const { data: baseMapStatus } = ([__temp, __restore] = withAsyncContext(() => useFetch("/api/map/base/status", { key: "base-map-status" }, "$9T3tZR3eQ2")), __temp = await __temp, __restore(), __temp);
1973
- const defaultItems = computed(() => [{
1974
- label: "天地图",
1975
- value: "tianditu",
1976
- icon: "i-lucide-map",
1977
- disabled: !baseMapStatus.value?.tiandituConfigured
1978
- }, {
1979
- label: "OSM",
1980
- value: "osm",
1981
- icon: "i-lucide-earth"
1982
- }]);
1983
- watchEffect(() => {
1984
- if (!props.items && baseMapStatus.value && !baseMapStatus.value.tiandituConfigured && model.value === "tianditu") model.value = "osm";
1985
- });
1986
- return (_ctx, _push, _parent, _attrs) => {
1987
- _push(ssrRenderComponent(_sfc_main, mergeProps({
1988
- modelValue: model.value,
1989
- "onUpdate:modelValue": ($event) => model.value = $event,
1990
- items: props.items || unref(defaultItems),
1991
- content: false,
1992
- size: "sm",
1993
- class: "w-[12rem]"
1994
- }, _attrs), null, _parent));
1995
- };
1996
- }
1997
- });
1998
- //#endregion
1999
- //#region app/components/MapBaseLayerTabs.vue
2000
- var _sfc_setup = MapBaseLayerTabs_vue_vue_type_script_setup_true_lang_default.setup;
2001
- MapBaseLayerTabs_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
2002
- const ssrContext = useSSRContext();
2003
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/MapBaseLayerTabs.vue");
2004
1503
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
2005
1504
  };
2006
- var MapBaseLayerTabs_default = Object.assign(MapBaseLayerTabs_vue_vue_type_script_setup_true_lang_default, { __name: "MapBaseLayerTabs" });
2007
1505
 
2008
- export { MapBaseLayerTabs_default as M, _sfc_main$3 as _, _sfc_main as a, _sfc_main$2 as b, MAP_KEY_TO_FOCUS_INTENT as c, _sfc_main$1 as d, getFocusIntent as g };
2009
- //# sourceMappingURL=MapBaseLayerTabs-CRl5Zwlr.mjs.map
1506
+ export { FileDropZone_default as F, _sfc_main$1 as _, _sfc_main as a, useTypeahead as b, useKbd as c, getNextMatch as g, useComposing as u };
1507
+ //# sourceMappingURL=Tabs-cdLsZZoL.mjs.map