uomtiles 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/1d1PDhA4.js +1 -0
  3. package/.output/public/_nuxt/3B2XYGg4.js +1 -0
  4. package/.output/public/_nuxt/981KwFWf.js +1 -0
  5. package/.output/public/_nuxt/B30dSvM4.js +1 -0
  6. package/.output/public/_nuxt/BN1Gp4Dm.js +1 -0
  7. package/.output/public/_nuxt/BQlj8Xoe.js +6 -0
  8. package/.output/public/_nuxt/BRkljK8J.js +1 -0
  9. package/.output/public/_nuxt/BSdHYVlE2.js +1 -0
  10. package/.output/public/_nuxt/B_MqTg2k2.js +1 -0
  11. package/.output/public/_nuxt/BiWblTbb2.js +64 -0
  12. package/.output/public/_nuxt/BrPwntMr.js +1 -0
  13. package/.output/public/_nuxt/BskybydR.js +1 -0
  14. package/.output/public/_nuxt/ByRlKR9F.js +1 -0
  15. package/.output/public/_nuxt/C0Zdl2EE2.js +1 -0
  16. package/.output/public/_nuxt/C4qlzA4o.js +1 -0
  17. package/.output/public/_nuxt/C7HxHbxA.js +1 -0
  18. package/.output/public/_nuxt/C97TfNgP.js +3 -0
  19. package/.output/public/_nuxt/CNs_Ozdc.js +1 -0
  20. package/.output/public/_nuxt/CPuhwLY1.js +1 -0
  21. package/.output/public/_nuxt/CVE291Pi.js +1 -0
  22. package/.output/public/_nuxt/C_0VY3Cv2.js +4 -0
  23. package/.output/public/_nuxt/Ce26t8_Y.js +1 -0
  24. package/.output/public/_nuxt/CfW544W5.js +1 -0
  25. package/.output/public/_nuxt/CgMd2Y5s.js +2 -0
  26. package/.output/public/_nuxt/CgdzV712.js +1 -0
  27. package/.output/public/_nuxt/D1wVNWS0.js +1 -0
  28. package/.output/public/_nuxt/DC3bhq63.js +1 -0
  29. package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
  30. package/.output/public/_nuxt/DL1MZZLI.js +1 -0
  31. package/.output/public/_nuxt/DXm-42Fi.js +1 -0
  32. package/.output/public/_nuxt/Djg3Kzfv.js +1 -0
  33. package/.output/public/_nuxt/DkcySee1.js +1 -0
  34. package/.output/public/_nuxt/DmN-PKW1.js +1 -0
  35. package/.output/public/_nuxt/DtFVCXI9.js +1 -0
  36. package/.output/public/_nuxt/Dz7VMlHR.js +1 -0
  37. package/.output/public/_nuxt/NL65vbjG2.js +1 -0
  38. package/.output/public/_nuxt/Oxy7pKSk.js +3 -0
  39. package/.output/public/_nuxt/Pik8or8N2.js +1 -0
  40. package/.output/public/_nuxt/XZ59tThl.js +1 -0
  41. package/.output/public/_nuxt/ZpWjFsgV.js +1 -0
  42. package/.output/public/_nuxt/builds/latest.json +1 -0
  43. package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +1 -0
  44. package/.output/public/_nuxt/dXz6dFgW2.js +1 -0
  45. package/.output/public/_nuxt/entry.P6tFNE31.css +1 -0
  46. package/.output/public/_nuxt/error-404.Biv0P6cJ.css +1 -0
  47. package/.output/public/_nuxt/error-500.8ok468rV.css +1 -0
  48. package/.output/public/_nuxt/j0MRD-c3.js +1 -0
  49. package/.output/public/_nuxt/local-pixel-diff.worker-C6RdZoCq.js +2 -0
  50. package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +6 -0
  51. package/.output/public/_nuxt/nearest-area.worker-iSLH0Y_s.js +2 -0
  52. package/.output/public/_nuxt/q7DkoVkj.js +828 -0
  53. package/.output/public/_nuxt/raster-tile.worker-BFlOgJig.js +2 -0
  54. package/.output/public/_nuxt/services._3nQizF8.css +1 -0
  55. package/.output/public/_nuxt/sql-wasm.DfANybxk.wasm +0 -0
  56. package/.output/public/_nuxt/tile-diff.worker-CvWWI_eu.js +1 -0
  57. package/.output/public/_nuxt/zZ1EGR7Y.js +1 -0
  58. package/.output/public/apple-touch-icon.png +0 -0
  59. package/.output/public/favicon.ico +0 -0
  60. package/.output/public/favicon.svg +8 -0
  61. package/.output/public/icon-192.png +0 -0
  62. package/.output/public/icon-512.png +0 -0
  63. package/.output/public/site.webmanifest +11 -0
  64. package/.output/server/chunks/_/config.mjs +208 -0
  65. package/.output/server/chunks/_/config.mjs.map +1 -0
  66. package/.output/server/chunks/_/data-directory.mjs +24 -0
  67. package/.output/server/chunks/_/data-directory.mjs.map +1 -0
  68. package/.output/server/chunks/_/error-500.mjs +20 -0
  69. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  70. package/.output/server/chunks/_/file-workspace.mjs +910 -0
  71. package/.output/server/chunks/_/file-workspace.mjs.map +1 -0
  72. package/.output/server/chunks/_/icons.mjs +6269 -0
  73. package/.output/server/chunks/_/icons.mjs.map +1 -0
  74. package/.output/server/chunks/_/map-service.mjs +233 -0
  75. package/.output/server/chunks/_/map-service.mjs.map +1 -0
  76. package/.output/server/chunks/_/missing-tile.mjs +104 -0
  77. package/.output/server/chunks/_/missing-tile.mjs.map +1 -0
  78. package/.output/server/chunks/_/pixel-diff.mjs +78 -0
  79. package/.output/server/chunks/_/pixel-diff.mjs.map +1 -0
  80. package/.output/server/chunks/_/uom-auth.mjs +334 -0
  81. package/.output/server/chunks/_/uom-auth.mjs.map +1 -0
  82. package/.output/server/chunks/_/uom-map.mjs +265 -0
  83. package/.output/server/chunks/_/uom-map.mjs.map +1 -0
  84. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs +5076 -0
  85. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +1 -0
  86. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +569 -0
  87. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +1 -0
  88. package/.output/server/chunks/build/Empty-CkW3mADt.mjs +359 -0
  89. package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +1 -0
  90. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs +207 -0
  91. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs.map +1 -0
  92. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs +278 -0
  93. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +1 -0
  94. package/.output/server/chunks/build/Input-BeNavYXb.mjs +592 -0
  95. package/.output/server/chunks/build/Input-BeNavYXb.mjs.map +1 -0
  96. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs +2003 -0
  97. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs.map +1 -0
  98. package/.output/server/chunks/build/Modal-DNZtVxca.mjs +1326 -0
  99. package/.output/server/chunks/build/Modal-DNZtVxca.mjs.map +1 -0
  100. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs +146 -0
  101. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +1 -0
  102. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs +1025 -0
  103. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs.map +1 -0
  104. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs +2066 -0
  105. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +1 -0
  106. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +379 -0
  107. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +1 -0
  108. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs +1087 -0
  109. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +1 -0
  110. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs +1345 -0
  111. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs.map +1 -0
  112. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs +7 -0
  113. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs.map +1 -0
  114. package/.output/server/chunks/build/advanced-D1onodoF.mjs +1430 -0
  115. package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +1 -0
  116. package/.output/server/chunks/build/compare-DmSAW8oA.mjs +1093 -0
  117. package/.output/server/chunks/build/compare-DmSAW8oA.mjs.map +1 -0
  118. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs +3217 -0
  119. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs.map +1 -0
  120. package/.output/server/chunks/build/details-CBMqXYyo.mjs +3714 -0
  121. package/.output/server/chunks/build/details-CBMqXYyo.mjs.map +1 -0
  122. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +86 -0
  123. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -0
  124. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs +9 -0
  125. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs.map +1 -0
  126. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +74 -0
  127. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -0
  128. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs +9 -0
  129. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs.map +1 -0
  130. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +1121 -0
  131. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -0
  132. package/.output/server/chunks/build/interval-BxUMpo78.mjs +411 -0
  133. package/.output/server/chunks/build/interval-BxUMpo78.mjs.map +1 -0
  134. package/.output/server/chunks/build/login-lbtjN0MV.mjs +642 -0
  135. package/.output/server/chunks/build/login-lbtjN0MV.mjs.map +1 -0
  136. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs +220 -0
  137. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +1 -0
  138. package/.output/server/chunks/build/services-DuJwjAB8.mjs +3005 -0
  139. package/.output/server/chunks/build/services-DuJwjAB8.mjs.map +1 -0
  140. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs +9 -0
  141. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs.map +1 -0
  142. package/.output/server/chunks/build/tasks-CyN9x492.mjs +915 -0
  143. package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +1 -0
  144. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs +87 -0
  145. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs.map +1 -0
  146. package/.output/server/chunks/nitro/nitro.mjs +6215 -0
  147. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  148. package/.output/server/chunks/routes/api/auth/captcha.post.mjs +21 -0
  149. package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -0
  150. package/.output/server/chunks/routes/api/auth/login.post.mjs +27 -0
  151. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -0
  152. package/.output/server/chunks/routes/api/auth/logout.post.mjs +22 -0
  153. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -0
  154. package/.output/server/chunks/routes/api/auth/map-token.post.mjs +22 -0
  155. package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -0
  156. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +31 -0
  157. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -0
  158. package/.output/server/chunks/routes/api/auth/status.get.mjs +21 -0
  159. package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -0
  160. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +44 -0
  161. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  162. package/.output/server/chunks/routes/api/map/live/status.get.mjs +32 -0
  163. package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -0
  164. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +48 -0
  165. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  166. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +46 -0
  167. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -0
  168. package/.output/server/chunks/routes/api/map-service/config.post.mjs +38 -0
  169. package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -0
  170. package/.output/server/chunks/routes/api/map-service/file.post.mjs +41 -0
  171. package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -0
  172. package/.output/server/chunks/routes/api/map-service/source.post.mjs +35 -0
  173. package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -0
  174. package/.output/server/chunks/routes/api/map-service/status.get.mjs +32 -0
  175. package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -0
  176. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +47 -0
  177. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -0
  178. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +38 -0
  179. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -0
  180. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +42 -0
  181. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -0
  182. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +48 -0
  183. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -0
  184. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +45 -0
  185. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -0
  186. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +32 -0
  187. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -0
  188. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +38 -0
  189. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -0
  190. package/.output/server/chunks/routes/api/workspace/compare.post.mjs +33 -0
  191. package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -0
  192. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +33 -0
  193. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -0
  194. package/.output/server/chunks/routes/api/workspace/files.get.mjs +27 -0
  195. package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -0
  196. package/.output/server/chunks/routes/api/workspace/files.post.mjs +38 -0
  197. package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -0
  198. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +32 -0
  199. package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -0
  200. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +36 -0
  201. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -0
  202. package/.output/server/chunks/routes/renderer.mjs +422 -0
  203. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  204. package/.output/server/chunks/routes/services/wms.get.mjs +54 -0
  205. package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -0
  206. package/.output/server/chunks/routes/services/wmts.get.mjs +54 -0
  207. package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -0
  208. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  209. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  210. package/.output/server/chunks/virtual/entry.mjs +18545 -0
  211. package/.output/server/chunks/virtual/entry.mjs.map +1 -0
  212. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  213. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  214. package/.output/server/chunks/virtual/styles.mjs +10 -0
  215. package/.output/server/chunks/virtual/styles.mjs.map +1 -0
  216. package/.output/server/index.mjs +12 -0
  217. package/.output/server/index.mjs.map +1 -0
  218. package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
  219. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  220. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  221. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  222. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  223. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  224. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  225. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  226. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  227. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  228. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  229. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  230. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  231. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  232. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  233. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  234. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  235. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  236. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  237. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  238. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  239. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  240. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  241. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  242. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  243. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  244. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  245. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  246. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  247. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  248. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  249. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  250. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  251. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  252. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  253. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  254. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  255. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  256. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  257. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  258. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  259. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  260. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  261. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  262. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  263. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  264. package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  265. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  266. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  267. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  268. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  269. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  270. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  271. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  272. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  273. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  274. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  275. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  276. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  277. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  278. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  279. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  280. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  281. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  282. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  283. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  284. package/.output/server/node_modules/@iconify/utils/package.json +119 -0
  285. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
  286. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  287. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
  288. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  289. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  290. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  291. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  292. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  293. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
  294. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  295. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
  296. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  297. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
  298. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  299. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
  300. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  301. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  302. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  303. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  304. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  305. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  306. package/.output/server/node_modules/consola/package.json +136 -0
  307. package/.output/server/node_modules/devalue/index.js +17 -0
  308. package/.output/server/node_modules/devalue/package.json +39 -0
  309. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  310. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  311. package/.output/server/node_modules/devalue/src/operations.js +193 -0
  312. package/.output/server/node_modules/devalue/src/parse.js +270 -0
  313. package/.output/server/node_modules/devalue/src/stringify.js +428 -0
  314. package/.output/server/node_modules/devalue/src/uneval.js +582 -0
  315. package/.output/server/node_modules/devalue/src/utils.js +185 -0
  316. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  317. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  318. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  319. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  320. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  321. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  322. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  323. package/.output/server/node_modules/entities/package.json +120 -0
  324. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  325. package/.output/server/node_modules/estree-walker/package.json +37 -0
  326. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  327. package/.output/server/node_modules/fflate/package.json +128 -0
  328. package/.output/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
  329. package/.output/server/node_modules/fnv1a-64/package.json +75 -0
  330. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  331. package/.output/server/node_modules/hookable/package.json +53 -0
  332. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  333. package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
  334. package/.output/server/node_modules/nostics/package.json +125 -0
  335. package/.output/server/node_modules/object-identity/index.js +60 -0
  336. package/.output/server/node_modules/object-identity/package.json +40 -0
  337. package/.output/server/node_modules/p-limit/index.js +104 -0
  338. package/.output/server/node_modules/p-limit/package.json +58 -0
  339. package/.output/server/node_modules/pmtiles/dist/esm/index.js +2 -0
  340. package/.output/server/node_modules/pmtiles/package.json +50 -0
  341. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  342. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  343. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  344. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  345. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  346. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  347. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  348. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  349. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  350. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  351. package/.output/server/node_modules/source-map-js/package.json +71 -0
  352. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  353. package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +1 -0
  354. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  355. package/.output/server/node_modules/tailwindcss/package.json +89 -0
  356. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  357. package/.output/server/node_modules/ufo/package.json +48 -0
  358. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  359. package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
  360. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  361. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  362. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  363. package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
  364. package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
  365. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  366. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  367. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  368. package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
  369. package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
  370. package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +585 -0
  371. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  372. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  373. package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +223 -0
  374. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  375. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  376. package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
  377. package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +196 -0
  378. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  379. package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
  380. package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +19 -0
  381. package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
  382. package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
  383. package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
  384. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  385. package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
  386. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  387. package/.output/server/node_modules/unhead/package.json +179 -0
  388. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  389. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  390. package/.output/server/node_modules/vue/index.js +7 -0
  391. package/.output/server/node_modules/vue/index.mjs +1 -0
  392. package/.output/server/node_modules/vue/package.json +112 -0
  393. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  394. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
  395. package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
  396. package/.output/server/node_modules/yocto-queue/index.js +90 -0
  397. package/.output/server/node_modules/yocto-queue/package.json +48 -0
  398. package/.output/server/node_modules/zod/index.js +4 -0
  399. package/.output/server/node_modules/zod/package.json +135 -0
  400. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  401. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  402. package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
  403. package/.output/server/node_modules/zod/v4/classic/errors.js +48 -0
  404. package/.output/server/node_modules/zod/v4/classic/external.js +20 -0
  405. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  406. package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
  407. package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
  408. package/.output/server/node_modules/zod/v4/classic/parse.js +15 -0
  409. package/.output/server/node_modules/zod/v4/classic/schemas.js +1395 -0
  410. package/.output/server/node_modules/zod/v4/core/api.js +1087 -0
  411. package/.output/server/node_modules/zod/v4/core/checks.js +575 -0
  412. package/.output/server/node_modules/zod/v4/core/core.js +78 -0
  413. package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
  414. package/.output/server/node_modules/zod/v4/core/errors.js +185 -0
  415. package/.output/server/node_modules/zod/v4/core/index.js +16 -0
  416. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  417. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  418. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  419. package/.output/server/node_modules/zod/v4/core/package.json +7 -0
  420. package/.output/server/node_modules/zod/v4/core/parse.js +93 -0
  421. package/.output/server/node_modules/zod/v4/core/regexes.js +139 -0
  422. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  423. package/.output/server/node_modules/zod/v4/core/schemas.js +2239 -0
  424. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +448 -0
  425. package/.output/server/node_modules/zod/v4/core/util.js +674 -0
  426. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  427. package/.output/server/node_modules/zod/v4/locales/ar.js +106 -0
  428. package/.output/server/node_modules/zod/v4/locales/az.js +105 -0
  429. package/.output/server/node_modules/zod/v4/locales/be.js +156 -0
  430. package/.output/server/node_modules/zod/v4/locales/bg.js +120 -0
  431. package/.output/server/node_modules/zod/v4/locales/ca.js +107 -0
  432. package/.output/server/node_modules/zod/v4/locales/cs.js +111 -0
  433. package/.output/server/node_modules/zod/v4/locales/da.js +115 -0
  434. package/.output/server/node_modules/zod/v4/locales/de.js +108 -0
  435. package/.output/server/node_modules/zod/v4/locales/el.js +109 -0
  436. package/.output/server/node_modules/zod/v4/locales/en.js +113 -0
  437. package/.output/server/node_modules/zod/v4/locales/eo.js +109 -0
  438. package/.output/server/node_modules/zod/v4/locales/es.js +132 -0
  439. package/.output/server/node_modules/zod/v4/locales/fa.js +114 -0
  440. package/.output/server/node_modules/zod/v4/locales/fi.js +112 -0
  441. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +107 -0
  442. package/.output/server/node_modules/zod/v4/locales/fr.js +125 -0
  443. package/.output/server/node_modules/zod/v4/locales/he.js +214 -0
  444. package/.output/server/node_modules/zod/v4/locales/hr.js +122 -0
  445. package/.output/server/node_modules/zod/v4/locales/hu.js +108 -0
  446. package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
  447. package/.output/server/node_modules/zod/v4/locales/id.js +106 -0
  448. package/.output/server/node_modules/zod/v4/locales/index.js +52 -0
  449. package/.output/server/node_modules/zod/v4/locales/is.js +109 -0
  450. package/.output/server/node_modules/zod/v4/locales/it.js +108 -0
  451. package/.output/server/node_modules/zod/v4/locales/ja.js +107 -0
  452. package/.output/server/node_modules/zod/v4/locales/ka.js +112 -0
  453. package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
  454. package/.output/server/node_modules/zod/v4/locales/km.js +110 -0
  455. package/.output/server/node_modules/zod/v4/locales/ko.js +111 -0
  456. package/.output/server/node_modules/zod/v4/locales/lt.js +203 -0
  457. package/.output/server/node_modules/zod/v4/locales/mk.js +109 -0
  458. package/.output/server/node_modules/zod/v4/locales/ms.js +107 -0
  459. package/.output/server/node_modules/zod/v4/locales/nl.js +110 -0
  460. package/.output/server/node_modules/zod/v4/locales/no.js +108 -0
  461. package/.output/server/node_modules/zod/v4/locales/ota.js +109 -0
  462. package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
  463. package/.output/server/node_modules/zod/v4/locales/pl.js +109 -0
  464. package/.output/server/node_modules/zod/v4/locales/ps.js +114 -0
  465. package/.output/server/node_modules/zod/v4/locales/pt.js +108 -0
  466. package/.output/server/node_modules/zod/v4/locales/ro.js +119 -0
  467. package/.output/server/node_modules/zod/v4/locales/ru.js +156 -0
  468. package/.output/server/node_modules/zod/v4/locales/sl.js +109 -0
  469. package/.output/server/node_modules/zod/v4/locales/sv.js +110 -0
  470. package/.output/server/node_modules/zod/v4/locales/ta.js +110 -0
  471. package/.output/server/node_modules/zod/v4/locales/th.js +110 -0
  472. package/.output/server/node_modules/zod/v4/locales/tr.js +105 -0
  473. package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
  474. package/.output/server/node_modules/zod/v4/locales/uk.js +108 -0
  475. package/.output/server/node_modules/zod/v4/locales/ur.js +110 -0
  476. package/.output/server/node_modules/zod/v4/locales/uz.js +110 -0
  477. package/.output/server/node_modules/zod/v4/locales/vi.js +108 -0
  478. package/.output/server/node_modules/zod/v4/locales/yo.js +107 -0
  479. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +109 -0
  480. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +107 -0
  481. package/.output/server/package.json +37 -0
  482. package/LICENSE +3 -0
  483. package/README.md +125 -0
  484. package/dist/src/bbox.js +55 -0
  485. package/dist/src/cli.js +255 -0
  486. package/dist/src/config.js +56 -0
  487. package/dist/src/core/fetch-process.js +19 -0
  488. package/dist/src/core/grid-renderer.js +149 -0
  489. package/dist/src/core/lease.js +103 -0
  490. package/dist/src/core/paths.js +13 -0
  491. package/dist/src/core/png.js +192 -0
  492. package/dist/src/core/raster-style.js +33 -0
  493. package/dist/src/core/uomtiles.js +307 -0
  494. package/dist/src/fetcher.js +208 -0
  495. package/dist/src/geographic-grid.js +162 -0
  496. package/dist/src/grid-crawl.js +478 -0
  497. package/dist/src/mask-image.js +16 -0
  498. package/dist/src/official-grid.js +51 -0
  499. package/dist/src/quality.js +30 -0
  500. package/dist/src/token.js +206 -0
  501. package/package.json +68 -0
  502. package/public/apple-touch-icon.png +0 -0
  503. package/public/favicon.ico +0 -0
  504. package/public/favicon.svg +8 -0
  505. package/public/icon-192.png +0 -0
  506. package/public/icon-512.png +0 -0
  507. package/public/site.webmanifest +11 -0
@@ -0,0 +1,1121 @@
1
+ import { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from 'vue';
2
+
3
+ //#region node_modules/.pnpm/@tanstack+virtual-core@3.17.8/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
4
+ function createLazyMeasurementsView(count, flat, getItemKey) {
5
+ const cache = new Array(count);
6
+ return new Proxy(cache, { get(target, prop, receiver) {
7
+ if (typeof prop === "string") {
8
+ const c = prop.charCodeAt(0);
9
+ if (c >= 48 && c <= 57) {
10
+ const i = +prop;
11
+ if (Number.isInteger(i) && i >= 0 && i < count) {
12
+ let v = target[i];
13
+ if (!v) {
14
+ const s = flat[i * 2];
15
+ v = target[i] = {
16
+ index: i,
17
+ key: getItemKey(i),
18
+ start: s,
19
+ size: flat[i * 2 + 1],
20
+ end: s + flat[i * 2 + 1],
21
+ lane: 0
22
+ };
23
+ }
24
+ return v;
25
+ }
26
+ }
27
+ if (prop === "length") return count;
28
+ }
29
+ return Reflect.get(target, prop, receiver);
30
+ } });
31
+ }
32
+ //#endregion
33
+ //#region node_modules/.pnpm/@tanstack+virtual-core@3.17.8/node_modules/@tanstack/virtual-core/dist/esm/utils.js
34
+ function memo(getDeps, fn, opts) {
35
+ let deps = opts.initialDeps ?? [];
36
+ let result;
37
+ let isInitial = true;
38
+ function memoizedFunction() {
39
+ const newDeps = getDeps();
40
+ if (!(newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep))) return result;
41
+ deps = newDeps;
42
+ result = fn(...newDeps);
43
+ if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) opts.onChange(result);
44
+ isInitial = false;
45
+ return result;
46
+ }
47
+ memoizedFunction.updateDeps = (newDeps) => {
48
+ deps = newDeps;
49
+ };
50
+ return memoizedFunction;
51
+ }
52
+ function notUndefined(value, msg) {
53
+ if (value === void 0) throw new Error(`Unexpected undefined${""}`);
54
+ else return value;
55
+ }
56
+ var approxEqual = (a, b) => Math.abs(a - b) < 1.01;
57
+ var debounce = (targetWindow, fn, ms) => {
58
+ let timeoutId;
59
+ return Object.assign(function(...args) {
60
+ targetWindow.clearTimeout(timeoutId);
61
+ timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);
62
+ }, { cancel: () => {
63
+ targetWindow.clearTimeout(timeoutId);
64
+ } });
65
+ };
66
+ //#endregion
67
+ //#region node_modules/.pnpm/@tanstack+virtual-core@3.17.8/node_modules/@tanstack/virtual-core/dist/esm/index.js
68
+ var _isIOSResult;
69
+ var isIOSWebKit = () => {
70
+ if (_isIOSResult !== void 0) return _isIOSResult;
71
+ return _isIOSResult = false;
72
+ };
73
+ var getRect = (element) => {
74
+ const { offsetWidth, offsetHeight } = element;
75
+ return {
76
+ width: offsetWidth,
77
+ height: offsetHeight
78
+ };
79
+ };
80
+ var defaultKeyExtractor = (index) => index;
81
+ var defaultRangeExtractor = (range) => {
82
+ const start = Math.max(range.startIndex - range.overscan, 0);
83
+ const len = Math.min(range.endIndex + range.overscan, range.count - 1) - start + 1;
84
+ const arr = new Array(len);
85
+ for (let i = 0; i < len; i++) arr[i] = start + i;
86
+ return arr;
87
+ };
88
+ var observeElementRect = (instance, cb) => {
89
+ const element = instance.scrollElement;
90
+ if (!element) return;
91
+ const targetWindow = instance.targetWindow;
92
+ if (!targetWindow) return;
93
+ const handler = (rect) => {
94
+ const { width, height } = rect;
95
+ cb({
96
+ width: Math.round(width),
97
+ height: Math.round(height)
98
+ });
99
+ };
100
+ handler(getRect(element));
101
+ if (!targetWindow.ResizeObserver) return () => {};
102
+ const observer = new targetWindow.ResizeObserver((entries) => {
103
+ const run = () => {
104
+ const entry = entries[0];
105
+ if (entry == null ? void 0 : entry.borderBoxSize) {
106
+ const box = entry.borderBoxSize[0];
107
+ if (box) {
108
+ handler({
109
+ width: box.inlineSize,
110
+ height: box.blockSize
111
+ });
112
+ return;
113
+ }
114
+ }
115
+ handler(getRect(element));
116
+ };
117
+ instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
118
+ });
119
+ observer.observe(element, { box: "border-box" });
120
+ return () => {
121
+ observer.unobserve(element);
122
+ };
123
+ };
124
+ var addEventListenerOptions = { passive: true };
125
+ var supportsScrollend = true;
126
+ var observeOffset = (instance, cb, readOffset) => {
127
+ const element = instance.scrollElement;
128
+ if (!element) return;
129
+ const targetWindow = instance.targetWindow;
130
+ if (!targetWindow) return;
131
+ const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;
132
+ let offset = 0;
133
+ const fallback = registerScrollendEvent ? null : debounce(targetWindow, () => cb(offset, false), instance.options.isScrollingResetDelay);
134
+ const createHandler = (isScrolling) => () => {
135
+ offset = readOffset(element);
136
+ fallback?.();
137
+ cb(offset, isScrolling);
138
+ };
139
+ const handler = createHandler(true);
140
+ const endHandler = createHandler(false);
141
+ element.addEventListener("scroll", handler, addEventListenerOptions);
142
+ if (registerScrollendEvent) element.addEventListener("scrollend", endHandler, addEventListenerOptions);
143
+ return () => {
144
+ element.removeEventListener("scroll", handler);
145
+ if (registerScrollendEvent) element.removeEventListener("scrollend", endHandler);
146
+ fallback?.cancel();
147
+ };
148
+ };
149
+ var observeElementOffset = (instance, cb) => observeOffset(instance, cb, (el) => {
150
+ const { horizontal, isRtl } = instance.options;
151
+ return horizontal ? el.scrollLeft * (isRtl && -1 || 1) : el.scrollTop;
152
+ });
153
+ var measureElement = (element, entry, instance) => {
154
+ if (instance.options.useCachedMeasurements) {
155
+ const index = instance.indexFromElement(element);
156
+ const key = instance.options.getItemKey(index);
157
+ return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);
158
+ }
159
+ if (entry == null ? void 0 : entry.borderBoxSize) {
160
+ const box = entry.borderBoxSize[0];
161
+ if (box) return Math.round(box[instance.options.horizontal ? "inlineSize" : "blockSize"]);
162
+ }
163
+ if (!entry) {
164
+ const index = instance.indexFromElement(element);
165
+ const key = instance.options.getItemKey(index);
166
+ const cachedSize = instance.itemSizeCache.get(key);
167
+ if (cachedSize !== void 0) return cachedSize;
168
+ }
169
+ return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
170
+ };
171
+ var scrollWithAdjustments = (offset, { adjustments = 0, behavior }, instance) => {
172
+ var _a, _b;
173
+ (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null || _b.call(_a, {
174
+ [instance.options.horizontal ? "left" : "top"]: offset + adjustments,
175
+ behavior
176
+ });
177
+ };
178
+ var elementScroll = scrollWithAdjustments;
179
+ var Virtualizer = class {
180
+ constructor(opts) {
181
+ this.unsubs = [];
182
+ this.scrollElement = null;
183
+ this.targetWindow = null;
184
+ this.isScrolling = false;
185
+ this.scrollState = null;
186
+ this.measurementsCache = [];
187
+ this._flatMeasurements = null;
188
+ this.itemSizeCache = /* @__PURE__ */ new Map();
189
+ this.itemSizeCacheVersion = 0;
190
+ this.laneAssignments = /* @__PURE__ */ new Map();
191
+ this.pendingMin = null;
192
+ this.prevLanes = void 0;
193
+ this.lanesChangedFlag = false;
194
+ this.lanesSettling = false;
195
+ this.pendingScrollAnchor = null;
196
+ this.scrollRect = null;
197
+ this.scrollOffset = null;
198
+ this.scrollDirection = null;
199
+ this.scrollAdjustments = 0;
200
+ this._iosDeferredAdjustment = 0;
201
+ this._iosTouching = false;
202
+ this._iosJustTouchEnded = false;
203
+ this._iosTouchEndTimerId = null;
204
+ this._intendedScrollOffset = null;
205
+ this.elementsCache = /* @__PURE__ */ new Map();
206
+ this.now = () => {
207
+ var _a, _b, _c;
208
+ return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();
209
+ };
210
+ this.observer = /* @__PURE__ */ (() => {
211
+ let _ro = null;
212
+ const get = () => {
213
+ if (_ro) return _ro;
214
+ if (!this.targetWindow || !this.targetWindow.ResizeObserver) return null;
215
+ return _ro = new this.targetWindow.ResizeObserver((entries) => {
216
+ entries.forEach((entry) => {
217
+ const run = () => {
218
+ const node = entry.target;
219
+ const index = this.indexFromElement(node);
220
+ if (!node.isConnected) {
221
+ this.observer.unobserve(node);
222
+ for (const [cacheKey, cachedNode] of this.elementsCache) if (cachedNode === node) {
223
+ this.elementsCache.delete(cacheKey);
224
+ break;
225
+ }
226
+ return;
227
+ }
228
+ if (!this.isIndexInRange(index)) return;
229
+ if (this.shouldMeasureDuringScroll(index)) this.resizeItem(index, this.options.measureElement(node, entry, this));
230
+ };
231
+ this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
232
+ });
233
+ });
234
+ };
235
+ return {
236
+ disconnect: () => {
237
+ var _a;
238
+ (_a = get()) == null || _a.disconnect();
239
+ _ro = null;
240
+ },
241
+ observe: (target) => {
242
+ var _a;
243
+ return (_a = get()) == null ? void 0 : _a.observe(target, { box: "border-box" });
244
+ },
245
+ unobserve: (target) => {
246
+ var _a;
247
+ return (_a = get()) == null ? void 0 : _a.unobserve(target);
248
+ }
249
+ };
250
+ })();
251
+ this.range = null;
252
+ this.setOptions = (opts2) => {
253
+ var _a, _b;
254
+ const merged = {
255
+ debug: false,
256
+ initialOffset: 0,
257
+ overscan: 1,
258
+ paddingStart: 0,
259
+ paddingEnd: 0,
260
+ scrollPaddingStart: 0,
261
+ scrollPaddingEnd: 0,
262
+ horizontal: false,
263
+ getItemKey: defaultKeyExtractor,
264
+ rangeExtractor: defaultRangeExtractor,
265
+ onChange: () => {},
266
+ measureElement,
267
+ initialRect: {
268
+ width: 0,
269
+ height: 0
270
+ },
271
+ scrollMargin: 0,
272
+ gap: 0,
273
+ indexAttribute: "data-index",
274
+ initialMeasurementsCache: [],
275
+ lanes: 1,
276
+ anchorTo: "start",
277
+ followOnAppend: false,
278
+ scrollEndThreshold: 1,
279
+ isScrollingResetDelay: 150,
280
+ enabled: true,
281
+ isRtl: false,
282
+ useScrollendEvent: false,
283
+ useAnimationFrameWithResizeObserver: false,
284
+ laneAssignmentMode: "estimate",
285
+ useCachedMeasurements: false
286
+ };
287
+ for (const key in opts2) {
288
+ const v = opts2[key];
289
+ if (v !== void 0) merged[key] = v;
290
+ }
291
+ const prevOptions = this.options;
292
+ let anchor = null;
293
+ let followOnAppend = null;
294
+ let edgeKeysChanged = false;
295
+ if (prevOptions !== void 0 && prevOptions.enabled && merged.enabled && merged.anchorTo === "end" && this.scrollElement !== null) {
296
+ const prevCount = prevOptions.count;
297
+ const nextCount = merged.count;
298
+ const measurements = this.getMeasurements();
299
+ const prevFirstKey = prevCount > 0 ? ((_a = measurements[0]) == null ? void 0 : _a.key) ?? prevOptions.getItemKey(0) : null;
300
+ const prevLastKey = prevCount > 0 ? ((_b = measurements[prevCount - 1]) == null ? void 0 : _b.key) ?? prevOptions.getItemKey(prevCount - 1) : null;
301
+ if (nextCount !== prevCount || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey)) {
302
+ edgeKeysChanged = true;
303
+ const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;
304
+ if (item) anchor = [item.key, this.getScrollOffset() - item.start];
305
+ const behavior = merged.followOnAppend === true ? "auto" : merged.followOnAppend || null;
306
+ if (behavior && nextCount > prevCount && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) followOnAppend = behavior;
307
+ }
308
+ }
309
+ this.options = merged;
310
+ if (edgeKeysChanged) {
311
+ this.pendingMin = 0;
312
+ this.itemSizeCacheVersion++;
313
+ }
314
+ let anchorResolved = false;
315
+ let anchorDelta = 0;
316
+ if (anchor && this.scrollOffset !== null) {
317
+ const [anchorKey, anchorOffset] = anchor;
318
+ const newMeasurements = this.getMeasurements();
319
+ const { count, getItemKey } = this.options;
320
+ let idx = 0;
321
+ while (idx < count && getItemKey(idx) !== anchorKey) idx++;
322
+ if (idx < count) {
323
+ const anchorItem = newMeasurements[idx];
324
+ if (anchorItem) {
325
+ const newOffset = Math.max(0, anchorItem.start + anchorOffset);
326
+ if (newOffset !== this.scrollOffset) {
327
+ anchorDelta = newOffset - this.scrollOffset;
328
+ this.scrollOffset = newOffset;
329
+ anchorResolved = true;
330
+ }
331
+ }
332
+ }
333
+ }
334
+ if (anchorResolved || followOnAppend) this.pendingScrollAnchor = [
335
+ anchorResolved ? anchor[0] : null,
336
+ anchorResolved ? anchor[1] : 0,
337
+ followOnAppend,
338
+ anchorDelta
339
+ ];
340
+ };
341
+ this.notify = (sync) => {
342
+ var _a, _b;
343
+ (_b = (_a = this.options).onChange) == null || _b.call(_a, this, sync);
344
+ };
345
+ this.maybeNotify = memo(() => {
346
+ this.calculateRange();
347
+ return [
348
+ this.isScrolling,
349
+ this.range ? this.range.startIndex : null,
350
+ this.range ? this.range.endIndex : null
351
+ ];
352
+ }, (isScrolling) => {
353
+ this.notify(isScrolling);
354
+ }, {
355
+ key: false,
356
+ debug: () => this.options.debug,
357
+ initialDeps: [
358
+ this.isScrolling,
359
+ this.range ? this.range.startIndex : null,
360
+ this.range ? this.range.endIndex : null
361
+ ]
362
+ });
363
+ this.cleanup = () => {
364
+ this.unsubs.filter(Boolean).forEach((d) => d());
365
+ this.unsubs = [];
366
+ this.observer.disconnect();
367
+ if (this.rafId != null && this.targetWindow) {
368
+ this.targetWindow.cancelAnimationFrame(this.rafId);
369
+ this.rafId = null;
370
+ }
371
+ this.scrollState = null;
372
+ this.isScrolling = false;
373
+ this.scrollDirection = null;
374
+ this._iosDeferredAdjustment = 0;
375
+ this._iosTouching = false;
376
+ this._iosJustTouchEnded = false;
377
+ this.scrollElement = null;
378
+ this.targetWindow = null;
379
+ };
380
+ this._didMount = () => {
381
+ return () => {
382
+ this.cleanup();
383
+ };
384
+ };
385
+ this._willUpdate = () => {
386
+ var _a;
387
+ const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
388
+ if (this.scrollElement !== scrollElement) {
389
+ this.cleanup();
390
+ if (!scrollElement) {
391
+ this.maybeNotify();
392
+ return;
393
+ }
394
+ this.scrollElement = scrollElement;
395
+ if (this.scrollElement && "ownerDocument" in this.scrollElement) this.targetWindow = this.scrollElement.ownerDocument.defaultView;
396
+ else this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;
397
+ this.elementsCache.forEach((cached) => {
398
+ this.observer.observe(cached);
399
+ });
400
+ this.unsubs.push(this.options.observeElementRect(this, (rect) => {
401
+ this.scrollRect = rect;
402
+ this.maybeNotify();
403
+ }));
404
+ this.unsubs.push(this.options.observeElementOffset(this, (offset, isScrolling) => {
405
+ if (isScrolling && this._intendedScrollOffset === null && offset === this.scrollOffset) return;
406
+ if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) offset = this._intendedScrollOffset;
407
+ this._intendedScrollOffset = null;
408
+ this.scrollAdjustments = 0;
409
+ const prevOffset = this.getScrollOffset();
410
+ this.scrollDirection = isScrolling ? prevOffset === offset ? this.scrollDirection : prevOffset < offset ? "forward" : "backward" : null;
411
+ this.scrollOffset = offset;
412
+ this.isScrolling = isScrolling;
413
+ this._flushIosDeferredIfReady();
414
+ if (this.scrollState) this.scheduleScrollReconcile();
415
+ this.maybeNotify();
416
+ }));
417
+ if ("addEventListener" in this.scrollElement) {
418
+ const scrollEl = this.scrollElement;
419
+ const onTouchStart = () => {
420
+ this._iosTouching = true;
421
+ this._iosJustTouchEnded = false;
422
+ if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
423
+ this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
424
+ this._iosTouchEndTimerId = null;
425
+ }
426
+ };
427
+ const onTouchEnd = () => {
428
+ this._iosTouching = false;
429
+ if (!isIOSWebKit() || this.targetWindow == null) return;
430
+ this._iosJustTouchEnded = true;
431
+ this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
432
+ this._iosJustTouchEnded = false;
433
+ this._iosTouchEndTimerId = null;
434
+ this._flushIosDeferredIfReady();
435
+ }, 150);
436
+ };
437
+ scrollEl.addEventListener("touchstart", onTouchStart, addEventListenerOptions);
438
+ scrollEl.addEventListener("touchend", onTouchEnd, addEventListenerOptions);
439
+ this.unsubs.push(() => {
440
+ scrollEl.removeEventListener("touchstart", onTouchStart);
441
+ scrollEl.removeEventListener("touchend", onTouchEnd);
442
+ if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
443
+ this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
444
+ this._iosTouchEndTimerId = null;
445
+ }
446
+ });
447
+ }
448
+ this._scrollToOffset(this.getScrollOffset(), {
449
+ adjustments: void 0,
450
+ behavior: void 0
451
+ });
452
+ }
453
+ const anchor = this.pendingScrollAnchor;
454
+ this.pendingScrollAnchor = null;
455
+ if (anchor && this.scrollElement && this.options.enabled) {
456
+ const [key, _offset, followOnAppend, anchorDelta] = anchor;
457
+ if (key !== null && !followOnAppend) {
458
+ if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
459
+ if (anchorDelta !== 0) this._iosDeferredAdjustment += anchorDelta;
460
+ } else this._scrollToOffset(this.getScrollOffset(), {
461
+ adjustments: void 0,
462
+ behavior: void 0
463
+ });
464
+ }
465
+ if (followOnAppend) this.scrollToEnd({ behavior: followOnAppend });
466
+ }
467
+ };
468
+ this._flushIosDeferredIfReady = () => {
469
+ if (this._iosDeferredAdjustment === 0) return;
470
+ if (this.isScrolling) return;
471
+ if (this._iosTouching) return;
472
+ if (this._iosJustTouchEnded) return;
473
+ const cur = this.getScrollOffset();
474
+ const max = this.getMaxScrollOffset();
475
+ if (cur < 0 || cur > max) return;
476
+ if (this._iosDeferredAdjustment < 0 && cur >= max - 1) {
477
+ this._iosDeferredAdjustment = 0;
478
+ return;
479
+ }
480
+ const delta = this._iosDeferredAdjustment;
481
+ this._iosDeferredAdjustment = 0;
482
+ this._scrollToOffset(cur, {
483
+ adjustments: this.scrollAdjustments += delta,
484
+ behavior: void 0
485
+ });
486
+ };
487
+ this.rafId = null;
488
+ this.getSize = () => {
489
+ if (!this.options.enabled) {
490
+ this.scrollRect = null;
491
+ return 0;
492
+ }
493
+ this.scrollRect = this.scrollRect ?? this.options.initialRect;
494
+ return this.scrollRect[this.options.horizontal ? "width" : "height"];
495
+ };
496
+ this.getScrollOffset = () => {
497
+ if (!this.options.enabled) {
498
+ this.scrollOffset = null;
499
+ return 0;
500
+ }
501
+ this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
502
+ return this.scrollOffset;
503
+ };
504
+ this.getMeasurementOptions = memo(() => [
505
+ this.options.count,
506
+ this.options.paddingStart,
507
+ this.options.scrollMargin,
508
+ this.options.getItemKey,
509
+ this.options.enabled,
510
+ this.options.lanes,
511
+ this.options.laneAssignmentMode,
512
+ this.options.gap
513
+ ], (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode, gap) => {
514
+ if (this.prevLanes !== void 0 && this.prevLanes !== lanes) this.lanesChangedFlag = true;
515
+ this.prevLanes = lanes;
516
+ this.pendingMin = null;
517
+ return {
518
+ count,
519
+ paddingStart,
520
+ scrollMargin,
521
+ getItemKey,
522
+ enabled,
523
+ lanes,
524
+ laneAssignmentMode,
525
+ gap
526
+ };
527
+ }, { key: false });
528
+ this.isIndexInRange = (index) => index >= 0 && index < this.options.count;
529
+ this.getMeasurements = memo(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode, gap }, _itemSizeCacheVersion) => {
530
+ const itemSizeCache = this.itemSizeCache;
531
+ if (!enabled) {
532
+ this.measurementsCache = [];
533
+ this.itemSizeCache.clear();
534
+ this.laneAssignments.clear();
535
+ return [];
536
+ }
537
+ if (this.laneAssignments.size > count) {
538
+ for (const index of this.laneAssignments.keys()) if (index >= count) this.laneAssignments.delete(index);
539
+ }
540
+ if (this.lanesChangedFlag) {
541
+ this.lanesChangedFlag = false;
542
+ this.lanesSettling = true;
543
+ this.measurementsCache = [];
544
+ this.itemSizeCache.clear();
545
+ this.laneAssignments.clear();
546
+ this.pendingMin = null;
547
+ }
548
+ if (this.measurementsCache.length === 0 && !this.lanesSettling) {
549
+ this.measurementsCache = this.options.initialMeasurementsCache;
550
+ this.measurementsCache.forEach((item) => {
551
+ this.itemSizeCache.set(item.key, item.size);
552
+ });
553
+ }
554
+ const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;
555
+ this.pendingMin = null;
556
+ if (this.lanesSettling && this.measurementsCache.length === count) this.lanesSettling = false;
557
+ if (lanes === 1) {
558
+ const need = count * 2;
559
+ let flat = this._flatMeasurements;
560
+ if (!flat || flat.length < need) {
561
+ const next = new Float64Array(need);
562
+ if (flat && min > 0) next.set(flat.subarray(0, min * 2));
563
+ flat = next;
564
+ this._flatMeasurements = flat;
565
+ }
566
+ let runningStart;
567
+ if (min === 0) runningStart = paddingStart + scrollMargin;
568
+ else {
569
+ const prevIdx = min - 1;
570
+ runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;
571
+ }
572
+ for (let i = min; i < count; i++) {
573
+ const key = getItemKey(i);
574
+ const measuredSize = itemSizeCache.get(key);
575
+ const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
576
+ flat[i * 2] = runningStart;
577
+ flat[i * 2 + 1] = size;
578
+ runningStart += size + gap;
579
+ }
580
+ const view = createLazyMeasurementsView(count, flat, getItemKey);
581
+ this.measurementsCache = view;
582
+ return view;
583
+ }
584
+ const measurements = this.measurementsCache.slice(0, min);
585
+ const laneLastIndex = new Array(lanes).fill(void 0);
586
+ const laneEnds = new Float64Array(lanes);
587
+ let filledLanes = 0;
588
+ for (let m = 0; m < min; m++) {
589
+ const item = measurements[m];
590
+ if (item) {
591
+ if (laneLastIndex[item.lane] === void 0) filledLanes++;
592
+ laneLastIndex[item.lane] = m;
593
+ laneEnds[item.lane] = item.end;
594
+ }
595
+ }
596
+ for (let i = min; i < count; i++) {
597
+ const key = getItemKey(i);
598
+ const cachedLane = this.laneAssignments.get(i);
599
+ let lane;
600
+ let start;
601
+ const shouldCacheLane = laneAssignmentMode === "estimate" || itemSizeCache.has(key);
602
+ if (cachedLane !== void 0 && this.options.lanes > 1) {
603
+ lane = cachedLane;
604
+ const prevIndex = laneLastIndex[lane];
605
+ const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;
606
+ start = prevInLane ? prevInLane.end + gap : paddingStart + scrollMargin;
607
+ } else if (filledLanes === lanes) {
608
+ let bestLane = 0;
609
+ let bestEnd = laneEnds[0];
610
+ let bestIdx = laneLastIndex[0];
611
+ for (let l = 1; l < lanes; l++) {
612
+ const e = laneEnds[l];
613
+ if (e < bestEnd || e === bestEnd && laneLastIndex[l] < bestIdx) {
614
+ bestLane = l;
615
+ bestEnd = e;
616
+ bestIdx = laneLastIndex[l];
617
+ }
618
+ }
619
+ lane = bestLane;
620
+ start = bestEnd + gap;
621
+ if (shouldCacheLane) this.laneAssignments.set(i, lane);
622
+ } else {
623
+ lane = i % this.options.lanes;
624
+ start = paddingStart + scrollMargin;
625
+ if (shouldCacheLane) this.laneAssignments.set(i, lane);
626
+ }
627
+ const measuredSize = itemSizeCache.get(key);
628
+ const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
629
+ const end = start + size;
630
+ measurements[i] = {
631
+ index: i,
632
+ start,
633
+ size,
634
+ end,
635
+ key,
636
+ lane
637
+ };
638
+ if (laneLastIndex[lane] === void 0) filledLanes++;
639
+ laneLastIndex[lane] = i;
640
+ laneEnds[lane] = end;
641
+ }
642
+ this.measurementsCache = measurements;
643
+ return measurements;
644
+ }, {
645
+ key: false,
646
+ debug: () => this.options.debug
647
+ });
648
+ this.calculateRange = memo(() => [
649
+ this.getMeasurements(),
650
+ this.getSize(),
651
+ this.getScrollOffset(),
652
+ this.options.lanes
653
+ ], (measurements, outerSize, scrollOffset, lanes) => {
654
+ if (measurements.length === 0 || outerSize === 0) {
655
+ this.range = null;
656
+ return null;
657
+ }
658
+ this.range = calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null);
659
+ return this.range;
660
+ }, {
661
+ key: false,
662
+ debug: () => this.options.debug
663
+ });
664
+ this.getVirtualIndexes = memo(() => {
665
+ let startIndex = null;
666
+ let endIndex = null;
667
+ const range = this.calculateRange();
668
+ if (range) {
669
+ startIndex = range.startIndex;
670
+ endIndex = range.endIndex;
671
+ }
672
+ this.maybeNotify.updateDeps([
673
+ this.isScrolling,
674
+ startIndex,
675
+ endIndex
676
+ ]);
677
+ return [
678
+ this.options.rangeExtractor,
679
+ this.options.overscan,
680
+ this.options.count,
681
+ startIndex,
682
+ endIndex
683
+ ];
684
+ }, (rangeExtractor, overscan, count, startIndex, endIndex) => {
685
+ return startIndex === null || endIndex === null ? [] : rangeExtractor({
686
+ startIndex,
687
+ endIndex,
688
+ overscan,
689
+ count
690
+ });
691
+ }, {
692
+ key: false,
693
+ debug: () => this.options.debug
694
+ });
695
+ this.indexFromElement = (node) => {
696
+ const attributeName = this.options.indexAttribute;
697
+ const indexStr = node.getAttribute(attributeName);
698
+ if (!indexStr) {
699
+ console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`);
700
+ return -1;
701
+ }
702
+ return parseInt(indexStr, 10);
703
+ };
704
+ this.shouldMeasureDuringScroll = (index) => {
705
+ var _a;
706
+ if (!this.scrollState || this.scrollState.behavior !== "smooth") return true;
707
+ const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);
708
+ if (scrollIndex !== void 0 && this.range) {
709
+ const bufferSize = Math.max(this.options.overscan, Math.ceil((this.range.endIndex - this.range.startIndex) / 2));
710
+ const minIndex = Math.max(0, scrollIndex - bufferSize);
711
+ const maxIndex = Math.min(this.options.count - 1, scrollIndex + bufferSize);
712
+ return index >= minIndex && index <= maxIndex;
713
+ }
714
+ return true;
715
+ };
716
+ this.measureElement = (node) => {
717
+ if (!node) {
718
+ this.elementsCache.forEach((cached, key2) => {
719
+ if (!cached.isConnected) {
720
+ this.observer.unobserve(cached);
721
+ this.elementsCache.delete(key2);
722
+ }
723
+ });
724
+ return;
725
+ }
726
+ const index = this.indexFromElement(node);
727
+ if (!this.isIndexInRange(index)) return;
728
+ const key = this.options.getItemKey(index);
729
+ const prevNode = this.elementsCache.get(key);
730
+ if (prevNode !== node) {
731
+ if (prevNode) this.observer.unobserve(prevNode);
732
+ this.observer.observe(node);
733
+ this.elementsCache.set(key, node);
734
+ }
735
+ if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) this.resizeItem(index, this.options.measureElement(node, void 0, this));
736
+ };
737
+ this.resizeItem = (index, size) => {
738
+ var _a, _b;
739
+ if (!this.isIndexInRange(index)) return;
740
+ let cachedSize;
741
+ let itemStart;
742
+ let key;
743
+ const flat = this._flatMeasurements;
744
+ if (this.options.lanes === 1 && flat !== null) {
745
+ key = this.options.getItemKey(index);
746
+ itemStart = flat[index * 2];
747
+ cachedSize = flat[index * 2 + 1];
748
+ } else {
749
+ const item = this.measurementsCache[index];
750
+ if (!item) return;
751
+ key = item.key;
752
+ itemStart = item.start;
753
+ cachedSize = item.size;
754
+ }
755
+ const itemSize = this.itemSizeCache.get(key) ?? cachedSize;
756
+ const delta = size - itemSize;
757
+ if (delta !== 0) {
758
+ const wasAtEnd = this.options.anchorTo === "end" && ((_a = this.scrollState) == null ? void 0 : _a.behavior) !== "smooth" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;
759
+ const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;
760
+ const scrollOffsetWithAdj = this.getScrollOffset() + this.scrollAdjustments;
761
+ const defaultShouldAdjust = !this.itemSizeCache.has(key) ? itemStart < scrollOffsetWithAdj : itemStart + itemSize <= scrollOffsetWithAdj && this.scrollDirection !== "backward";
762
+ const shouldAdjustScroll = ((_b = this.scrollState) == null ? void 0 : _b.behavior) !== "smooth" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[index] ?? {
763
+ index,
764
+ key,
765
+ start: itemStart,
766
+ size: cachedSize,
767
+ end: itemStart + cachedSize,
768
+ lane: 0
769
+ }, delta, this) : defaultShouldAdjust);
770
+ if (this.pendingMin === null || index < this.pendingMin) this.pendingMin = index;
771
+ this.itemSizeCache.set(key, size);
772
+ this.itemSizeCacheVersion++;
773
+ let adjustedSync = false;
774
+ if (wasAtEnd) adjustedSync = this.applyScrollAdjustment(this.getTotalSize() - prevTotalSize);
775
+ else if (shouldAdjustScroll) adjustedSync = this.applyScrollAdjustment(delta);
776
+ this.notify(adjustedSync);
777
+ }
778
+ };
779
+ this.getVirtualItems = memo(() => [this.getVirtualIndexes(), this.getMeasurements()], (indexes, measurements) => {
780
+ const virtualItems = [];
781
+ for (let k = 0, len = indexes.length; k < len; k++) {
782
+ const measurement = measurements[indexes[k]];
783
+ virtualItems.push(measurement);
784
+ }
785
+ return virtualItems;
786
+ }, {
787
+ key: false,
788
+ debug: () => this.options.debug
789
+ });
790
+ this.getVirtualItemForOffset = (offset) => {
791
+ const measurements = this.getMeasurements();
792
+ if (measurements.length === 0) return;
793
+ const flat = this._flatMeasurements;
794
+ const useFlat = this.options.lanes === 1 && flat != null;
795
+ return notUndefined(measurements[findNearestBinarySearch(0, measurements.length - 1, useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start, offset)]);
796
+ };
797
+ this.getMaxScrollOffset = () => {
798
+ if (!this.scrollElement) return 0;
799
+ if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
800
+ else {
801
+ const doc = this.scrollElement.document.documentElement;
802
+ return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;
803
+ }
804
+ };
805
+ this.getVirtualDistanceFromEnd = () => {
806
+ return Math.max(this.getTotalSize() - this.getSize() - this.getScrollOffset(), 0);
807
+ };
808
+ this.getDistanceFromEnd = () => {
809
+ return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);
810
+ };
811
+ this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {
812
+ return this.getDistanceFromEnd() <= threshold;
813
+ };
814
+ this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {
815
+ if (!this.scrollElement) return 0;
816
+ const size = this.getSize();
817
+ const scrollOffset = this.getScrollOffset();
818
+ if (align === "auto") align = toOffset >= scrollOffset + size ? "end" : "start";
819
+ if (align === "center") toOffset += (itemSize - size) / 2;
820
+ else if (align === "end") toOffset -= size;
821
+ const maxOffset = this.getMaxScrollOffset();
822
+ return Math.max(Math.min(maxOffset, toOffset), 0);
823
+ };
824
+ this.getOffsetForIndex = (index, align = "auto") => {
825
+ index = Math.max(0, Math.min(index, this.options.count - 1));
826
+ const size = this.getSize();
827
+ const scrollOffset = this.getScrollOffset();
828
+ const item = this.measurementsCache[index];
829
+ if (!item) return;
830
+ if (align === "auto") {
831
+ if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) align = "end";
832
+ else if (item.start <= scrollOffset + this.options.scrollPaddingStart) align = "start";
833
+ else return [scrollOffset, align];
834
+ }
835
+ if (align === "end" && index === this.options.count - 1) return [this.getMaxScrollOffset(), align];
836
+ const toOffset = align === "end" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;
837
+ return [this.getOffsetForAlignment(toOffset, align, item.size), align];
838
+ };
839
+ this.scrollToOffset = (toOffset, { align = "start", behavior = "auto" } = {}) => {
840
+ this._iosDeferredAdjustment = 0;
841
+ const offset = this.getOffsetForAlignment(toOffset, align);
842
+ const now = this.now();
843
+ this.scrollState = {
844
+ index: null,
845
+ align,
846
+ behavior,
847
+ startedAt: now,
848
+ lastTargetOffset: offset,
849
+ stableFrames: 0
850
+ };
851
+ this._scrollToOffset(offset, {
852
+ adjustments: void 0,
853
+ behavior
854
+ });
855
+ this.scheduleScrollReconcile();
856
+ };
857
+ this.scrollToIndex = (index, { align: initialAlign = "auto", behavior = "auto" } = {}) => {
858
+ this._iosDeferredAdjustment = 0;
859
+ index = Math.max(0, Math.min(index, this.options.count - 1));
860
+ const offsetInfo = this.getOffsetForIndex(index, initialAlign);
861
+ if (!offsetInfo) return;
862
+ const [offset, align] = offsetInfo;
863
+ const now = this.now();
864
+ this.scrollState = {
865
+ index,
866
+ align,
867
+ behavior,
868
+ startedAt: now,
869
+ lastTargetOffset: offset,
870
+ stableFrames: 0
871
+ };
872
+ this._scrollToOffset(offset, {
873
+ adjustments: void 0,
874
+ behavior
875
+ });
876
+ this.scheduleScrollReconcile();
877
+ };
878
+ this.scrollBy = (delta, { behavior = "auto" } = {}) => {
879
+ const offset = this.getScrollOffset() + delta;
880
+ const now = this.now();
881
+ this.scrollState = {
882
+ index: null,
883
+ align: "start",
884
+ behavior,
885
+ startedAt: now,
886
+ lastTargetOffset: offset,
887
+ stableFrames: 0
888
+ };
889
+ this._scrollToOffset(offset, {
890
+ adjustments: void 0,
891
+ behavior
892
+ });
893
+ this.scheduleScrollReconcile();
894
+ };
895
+ this.scrollToEnd = ({ behavior = "auto" } = {}) => {
896
+ if (this.options.count > 0) {
897
+ this.scrollToIndex(this.options.count - 1, {
898
+ align: "end",
899
+ behavior
900
+ });
901
+ return;
902
+ }
903
+ this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), { behavior });
904
+ };
905
+ this.getTotalSize = () => {
906
+ var _a;
907
+ const measurements = this.getMeasurements();
908
+ let end;
909
+ if (measurements.length === 0) end = this.options.paddingStart;
910
+ else if (this.options.lanes === 1) {
911
+ const lastIdx = measurements.length - 1;
912
+ const flat = this._flatMeasurements;
913
+ if (flat != null) end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];
914
+ else end = ((_a = measurements[lastIdx]) == null ? void 0 : _a.end) ?? 0;
915
+ } else {
916
+ const endByLane = Array(this.options.lanes).fill(null);
917
+ let endIndex = measurements.length - 1;
918
+ while (endIndex >= 0 && endByLane.some((val) => val === null)) {
919
+ const item = measurements[endIndex];
920
+ if (endByLane[item.lane] === null) endByLane[item.lane] = item.end;
921
+ endIndex--;
922
+ }
923
+ end = Math.max(...endByLane.filter((val) => val !== null));
924
+ }
925
+ return Math.max(end - this.options.scrollMargin + this.options.paddingEnd, 0);
926
+ };
927
+ this.takeSnapshot = () => {
928
+ const snapshot = [];
929
+ if (this.itemSizeCache.size === 0) return snapshot;
930
+ const m = this.getMeasurements();
931
+ for (const item of m) if (item && this.itemSizeCache.has(item.key)) snapshot.push({
932
+ index: item.index,
933
+ key: item.key,
934
+ start: item.start,
935
+ size: item.size,
936
+ end: item.end,
937
+ lane: item.lane
938
+ });
939
+ return snapshot;
940
+ };
941
+ this._scrollToOffset = (offset, { adjustments, behavior }) => {
942
+ this._intendedScrollOffset = offset + (adjustments ?? 0);
943
+ this.options.scrollToFn(offset, {
944
+ behavior,
945
+ adjustments
946
+ }, this);
947
+ };
948
+ this.measure = () => {
949
+ this.pendingMin = null;
950
+ this.itemSizeCache.clear();
951
+ this.laneAssignments.clear();
952
+ this.itemSizeCacheVersion++;
953
+ this.notify(false);
954
+ };
955
+ this.setOptions(opts);
956
+ }
957
+ applyScrollAdjustment(delta, behavior) {
958
+ if (delta === 0) return false;
959
+ if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
960
+ this._iosDeferredAdjustment += delta;
961
+ return false;
962
+ } else {
963
+ this._scrollToOffset(this.getScrollOffset(), {
964
+ adjustments: this.scrollAdjustments += delta,
965
+ behavior
966
+ });
967
+ if (this.scrollOffset !== null) {
968
+ this.scrollOffset += this.scrollAdjustments;
969
+ if (this.scrollOffset < 0) this.scrollOffset = 0;
970
+ this.scrollAdjustments = 0;
971
+ }
972
+ return true;
973
+ }
974
+ }
975
+ scheduleScrollReconcile() {
976
+ if (!this.targetWindow) {
977
+ this.scrollState = null;
978
+ return;
979
+ }
980
+ if (this.rafId != null) return;
981
+ this.rafId = this.targetWindow.requestAnimationFrame(() => {
982
+ this.rafId = null;
983
+ this.reconcileScroll();
984
+ });
985
+ }
986
+ reconcileScroll() {
987
+ if (!this.scrollState) return;
988
+ if (!this.scrollElement) return;
989
+ if (this.now() - this.scrollState.startedAt > 5e3) {
990
+ this.scrollState = null;
991
+ return;
992
+ }
993
+ const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;
994
+ const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;
995
+ const STABLE_FRAMES = 1;
996
+ const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;
997
+ if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {
998
+ this.scrollState.stableFrames++;
999
+ if (this.scrollState.stableFrames >= STABLE_FRAMES) {
1000
+ if (this.getScrollOffset() !== targetOffset) this._scrollToOffset(targetOffset, {
1001
+ adjustments: void 0,
1002
+ behavior: "auto"
1003
+ });
1004
+ this.scrollState = null;
1005
+ return;
1006
+ }
1007
+ } else {
1008
+ this.scrollState.stableFrames = 0;
1009
+ if (targetChanged) {
1010
+ const viewport = this.getSize() || 600;
1011
+ const distance = Math.abs(targetOffset - this.getScrollOffset());
1012
+ const keepSmooth = this.scrollState.behavior === "smooth" && distance > viewport;
1013
+ this.scrollState.lastTargetOffset = targetOffset;
1014
+ if (!keepSmooth) this.scrollState.behavior = "auto";
1015
+ this._scrollToOffset(targetOffset, {
1016
+ adjustments: void 0,
1017
+ behavior: keepSmooth ? "smooth" : "auto"
1018
+ });
1019
+ }
1020
+ }
1021
+ this.scheduleScrollReconcile();
1022
+ }
1023
+ };
1024
+ var findNearestBinarySearch = (low, high, getCurrentValue, value) => {
1025
+ while (low <= high) {
1026
+ const middle = (low + high) / 2 | 0;
1027
+ const currentValue = getCurrentValue(middle);
1028
+ if (currentValue < value) low = middle + 1;
1029
+ else if (currentValue > value) high = middle - 1;
1030
+ else return middle;
1031
+ }
1032
+ if (low > 0) return low - 1;
1033
+ else return 0;
1034
+ };
1035
+ function findNearestBinarySearchFlat(flat, high, value) {
1036
+ let low = 0;
1037
+ while (low <= high) {
1038
+ const middle = (low + high) / 2 | 0;
1039
+ const currentValue = flat[middle * 2];
1040
+ if (currentValue < value) low = middle + 1;
1041
+ else if (currentValue > value) high = middle - 1;
1042
+ else return middle;
1043
+ }
1044
+ return low > 0 ? low - 1 : 0;
1045
+ }
1046
+ function calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, flat) {
1047
+ const lastIndex = measurements.length - 1;
1048
+ if (measurements.length <= lanes) return {
1049
+ startIndex: 0,
1050
+ endIndex: lastIndex
1051
+ };
1052
+ if (lanes === 1 && flat !== null) {
1053
+ const startIndex2 = findNearestBinarySearchFlat(flat, lastIndex, scrollOffset);
1054
+ let endIndex2 = startIndex2;
1055
+ const limit = scrollOffset + outerSize;
1056
+ while (endIndex2 < lastIndex && flat[endIndex2 * 2] + flat[endIndex2 * 2 + 1] < limit) endIndex2++;
1057
+ return {
1058
+ startIndex: startIndex2,
1059
+ endIndex: endIndex2
1060
+ };
1061
+ }
1062
+ const getStart = (index) => measurements[index].start;
1063
+ let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);
1064
+ let endIndex = startIndex;
1065
+ if (lanes === 1) while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) endIndex++;
1066
+ else if (lanes > 1) {
1067
+ const endPerLane = Array(lanes).fill(0);
1068
+ while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {
1069
+ const item = measurements[endIndex];
1070
+ endPerLane[item.lane] = item.end;
1071
+ endIndex++;
1072
+ }
1073
+ const startPerLane = Array(lanes).fill(scrollOffset + outerSize);
1074
+ while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {
1075
+ const item = measurements[startIndex];
1076
+ startPerLane[item.lane] = item.start;
1077
+ startIndex--;
1078
+ }
1079
+ startIndex = Math.max(0, startIndex - startIndex % lanes);
1080
+ endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));
1081
+ }
1082
+ return {
1083
+ startIndex,
1084
+ endIndex
1085
+ };
1086
+ }
1087
+ //#endregion
1088
+ //#region node_modules/.pnpm/@tanstack+vue-virtual@3.13.36_vue@3.5.41_typescript@6.0.3_/node_modules/@tanstack/vue-virtual/dist/esm/index.js
1089
+ function useVirtualizerBase(options) {
1090
+ const virtualizer = new Virtualizer(unref(options));
1091
+ const state = shallowRef(virtualizer);
1092
+ const cleanup = virtualizer._didMount();
1093
+ watch(() => unref(options).getScrollElement(), (el) => {
1094
+ if (el) virtualizer._willUpdate();
1095
+ }, { immediate: true });
1096
+ watch(() => unref(options), (options2) => {
1097
+ virtualizer.setOptions({
1098
+ ...options2,
1099
+ onChange: (instance, sync) => {
1100
+ var _a;
1101
+ triggerRef(state);
1102
+ (_a = options2.onChange) == null || _a.call(options2, instance, sync);
1103
+ }
1104
+ });
1105
+ virtualizer._willUpdate();
1106
+ triggerRef(state);
1107
+ }, { immediate: true });
1108
+ onScopeDispose(cleanup);
1109
+ return state;
1110
+ }
1111
+ function useVirtualizer(options) {
1112
+ return useVirtualizerBase(computed(() => ({
1113
+ observeElementRect,
1114
+ observeElementOffset,
1115
+ scrollToFn: elementScroll,
1116
+ ...unref(options)
1117
+ })));
1118
+ }
1119
+
1120
+ export { useVirtualizer as u };
1121
+ //# sourceMappingURL=esm-Dp2lJXbp.mjs.map