allyhub 0.2.0 → 0.4.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 (653) hide show
  1. package/dist/cli-version.js +2 -0
  2. package/dist/commands/add.js +5 -5
  3. package/dist/commands/auth.js +4 -4
  4. package/dist/commands/cloud-tools.js +9 -10
  5. package/dist/commands/dev.js +2 -2
  6. package/dist/commands/doctor.js +4 -4
  7. package/dist/commands/frames/piece.js +1 -1
  8. package/dist/commands/frames.js +6 -6
  9. package/dist/commands/index.js +1 -1
  10. package/dist/commands/inspect/contrast.js +1 -1
  11. package/dist/commands/inspect/layout.js +1 -1
  12. package/dist/commands/model.js +1 -1
  13. package/dist/commands/orgs.js +2 -2
  14. package/dist/commands/render.js +2 -2
  15. package/dist/commands/sheet.js +2 -2
  16. package/dist/commands/skills.js +3 -3
  17. package/dist/commands/slides.js +3 -0
  18. package/dist/main.js +7 -7
  19. package/dist/text/facts-text.js +5 -5
  20. package/dist/text/format.js +2 -2
  21. package/dist/works.js +1 -1
  22. package/editor-web/assets/browser-B31cR_c2.js +105 -0
  23. package/editor-web/assets/dist-6TNEuNMX.js +4 -0
  24. package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
  25. package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
  26. package/editor-web/assets/dist-D2GccKEJ.js +1 -0
  27. package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
  28. package/editor-web/assets/dist-fs4ONrUV.js +32 -0
  29. package/editor-web/assets/index-CAcsAZ9u.js +70 -0
  30. package/editor-web/assets/index-DlcJckhO.css +2 -0
  31. package/editor-web/assets/list-D2v7U8K8.js +1 -0
  32. package/editor-web/assets/react-D0RmGe2w.js +101 -0
  33. package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
  34. package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
  35. package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
  36. package/editor-web/index.html +4 -4
  37. package/node_modules/@allyhub-next/audio/package.json +1 -1
  38. package/node_modules/@allyhub-next/browser/package.json +1 -1
  39. package/node_modules/@allyhub-next/build/dist/data.js +1 -1
  40. package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
  41. package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
  42. package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
  43. package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
  44. package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
  45. package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
  46. package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
  47. package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
  48. package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
  49. package/node_modules/@allyhub-next/build/dist/types.js +3 -3
  50. package/node_modules/@allyhub-next/build/package.json +1 -1
  51. package/node_modules/@allyhub-next/check/dist/check.js +3 -3
  52. package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
  53. package/node_modules/@allyhub-next/check/package.json +1 -1
  54. package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
  55. package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
  56. package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
  57. package/node_modules/@allyhub-next/cloud/package.json +1 -1
  58. package/node_modules/@allyhub-next/components/package.json +1 -1
  59. package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
  60. package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
  61. package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
  62. package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
  63. package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
  64. package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
  65. package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
  66. package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
  67. package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
  68. package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
  69. package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
  70. package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
  71. package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
  72. package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
  73. package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
  74. package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
  75. package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
  76. package/node_modules/@allyhub-next/dev-server/package.json +1 -1
  77. package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
  78. package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
  79. package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
  80. package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
  81. package/node_modules/@allyhub-next/doc/package.json +5 -1
  82. package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
  83. package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
  84. package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
  85. package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
  86. package/node_modules/@allyhub-next/export/dist/export.d.ts +17 -5
  87. package/node_modules/@allyhub-next/export/dist/export.js +2 -2
  88. package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
  89. package/node_modules/@allyhub-next/export/dist/index.js +1 -1
  90. package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
  91. package/node_modules/@allyhub-next/export/dist/names.js +1 -1
  92. package/node_modules/@allyhub-next/export/package.json +1 -1
  93. package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
  94. package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
  95. package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
  96. package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
  97. package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
  98. package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
  99. package/node_modules/@allyhub-next/formats/dist/items.d.ts +26 -0
  100. package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
  101. package/node_modules/@allyhub-next/formats/dist/layout.d.ts +2 -0
  102. package/node_modules/@allyhub-next/formats/dist/layout.js +1 -1
  103. package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
  104. package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
  105. package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
  106. package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
  107. package/node_modules/@allyhub-next/formats/package.json +1 -1
  108. package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
  109. package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
  110. package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
  111. package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
  112. package/node_modules/@allyhub-next/measure/package.json +1 -1
  113. package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
  114. package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
  115. package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
  116. package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
  117. package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
  118. package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
  119. package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
  120. package/node_modules/@allyhub-next/media/dist/local.js +1 -1
  121. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
  122. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
  123. package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
  124. package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
  125. package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
  126. package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
  127. package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
  128. package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
  129. package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
  130. package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
  131. package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
  132. package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
  133. package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
  134. package/node_modules/@allyhub-next/media/package.json +1 -1
  135. package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
  136. package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
  137. package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
  138. package/node_modules/@allyhub-next/model/dist/build.js +2 -1
  139. package/node_modules/@allyhub-next/model/dist/report.d.ts +1 -1
  140. package/node_modules/@allyhub-next/model/package.json +1 -1
  141. package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
  142. package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
  143. package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
  144. package/node_modules/@allyhub-next/project/dist/page.js +2 -2
  145. package/node_modules/@allyhub-next/project/dist/session.js +1 -1
  146. package/node_modules/@allyhub-next/project/package.json +1 -1
  147. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +1 -62
  148. package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
  149. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +17 -17
  150. package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
  151. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +1 -5
  152. package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
  153. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +13 -26
  154. package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
  155. package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
  156. package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
  157. package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
  158. package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
  159. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +4 -2
  160. package/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
  161. package/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
  162. package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
  163. package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
  164. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +38 -0
  165. package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
  166. package/node_modules/@allyhub-next/protocol/package.json +1 -1
  167. package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
  168. package/node_modules/@allyhub-next/registry/package.json +1 -1
  169. package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
  170. package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
  171. package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
  172. package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
  173. package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
  174. package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
  175. package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
  176. package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
  177. package/node_modules/@allyhub-next/render/dist/render.js +2 -2
  178. package/node_modules/@allyhub-next/render/package.json +1 -1
  179. package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
  180. package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
  181. package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
  182. package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
  183. package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
  184. package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
  185. package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
  186. package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
  187. package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
  188. package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
  189. package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
  190. package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
  191. package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
  192. package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
  193. package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
  194. package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
  195. package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
  196. package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
  197. package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
  198. package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
  199. package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
  200. package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
  201. package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
  202. package/node_modules/@allyhub-next/runtime/package.json +5 -6
  203. package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
  204. package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
  205. package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
  206. package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
  207. package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
  208. package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
  209. package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
  210. package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
  211. package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
  212. package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
  213. package/node_modules/@allyhub-next/runtimes/package.json +5 -1
  214. package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
  215. package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
  216. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
  217. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
  218. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
  219. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
  220. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
  221. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
  222. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
  223. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
  224. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
  225. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
  226. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
  227. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
  228. package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
  229. package/node_modules/@allyhub-next/scaffold/dist/index.js +5 -5
  230. package/node_modules/@allyhub-next/scaffold/package.json +1 -1
  231. package/node_modules/@allyhub-next/scenery/package.json +1 -1
  232. package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +3 -2
  233. package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
  234. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.d.ts +32 -0
  235. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.js +3 -0
  236. package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
  237. package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
  238. package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
  239. package/node_modules/@allyhub-next/sheet/package.json +1 -1
  240. package/node_modules/@allyhub-next/site/dist/media.js +2 -2
  241. package/node_modules/@allyhub-next/site/package.json +1 -1
  242. package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
  243. package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
  244. package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
  245. package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
  246. package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
  247. package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
  248. package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
  249. package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
  250. package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
  251. package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
  252. package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
  253. package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
  254. package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
  255. package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
  256. package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
  257. package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
  258. package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
  259. package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
  260. package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
  261. package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
  262. package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
  263. package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
  264. package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
  265. package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
  266. package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
  267. package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
  268. package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
  269. package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
  270. package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
  271. package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
  272. package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
  273. package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
  274. package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
  275. package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
  276. package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
  277. package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
  278. package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
  279. package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
  280. package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
  281. package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
  282. package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
  283. package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
  284. package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
  285. package/node_modules/@allyhub-next/slides-core/package.json +14 -0
  286. package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
  287. package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
  288. package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
  289. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
  290. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
  291. package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
  292. package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
  293. package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
  294. package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
  295. package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
  296. package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
  297. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
  298. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
  299. package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
  300. package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
  301. package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
  302. package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
  303. package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
  304. package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
  305. package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
  306. package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
  307. package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
  308. package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
  309. package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
  310. package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
  311. package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
  312. package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
  313. package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
  314. package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
  315. package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
  316. package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
  317. package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
  318. package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
  319. package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
  320. package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
  321. package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
  322. package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
  323. package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
  324. package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
  325. package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
  326. package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
  327. package/node_modules/@allyhub-next/stage/package.json +1 -1
  328. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
  329. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
  330. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
  331. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
  332. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
  333. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
  334. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
  335. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
  336. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
  337. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
  338. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
  339. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
  340. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
  341. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
  342. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
  343. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
  344. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
  345. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
  346. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
  347. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
  348. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
  349. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
  350. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
  351. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
  352. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
  353. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
  354. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
  355. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
  356. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
  357. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
  358. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
  359. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
  360. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
  361. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
  362. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
  363. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
  364. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
  365. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
  366. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
  367. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
  368. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
  369. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
  370. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
  371. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
  372. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
  373. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
  374. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
  375. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
  376. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
  377. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
  378. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
  379. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
  380. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
  381. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
  382. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
  383. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
  384. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
  385. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
  386. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
  387. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
  388. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
  389. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
  390. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
  391. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
  392. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
  393. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
  394. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
  395. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
  396. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
  397. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
  398. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
  399. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
  400. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
  401. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
  402. package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
  403. package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
  404. package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
  405. package/node_modules/@allyhub-next/stage-page/package.json +14 -0
  406. package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
  407. package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
  408. package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
  409. package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
  410. package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
  411. package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
  412. package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
  413. package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
  414. package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
  415. package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
  416. package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
  417. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +9 -1
  418. package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
  419. package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
  420. package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
  421. package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
  422. package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
  423. package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
  424. package/node_modules/@allyhub-next/video-core/package.json +1 -1
  425. package/package.json +48 -41
  426. package/dist/commands/mcp-app.js +0 -3
  427. package/dist/commands/mcp-docs.js +0 -2
  428. package/dist/commands/mcp.js +0 -2
  429. package/editor-app/view.html +0 -128
  430. package/editor-web/assets/chevron-left-D1vfOP5S.js +0 -1
  431. package/editor-web/assets/chevron-up-BMNXDEBs.js +0 -1
  432. package/editor-web/assets/dist-B4VKfY-H.js +0 -136
  433. package/editor-web/assets/dist-BIEloJVS.js +0 -8
  434. package/editor-web/assets/dist-BcInw4os.js +0 -232
  435. package/editor-web/assets/dist-Coblfc3T.js +0 -1
  436. package/editor-web/assets/floating-ui.react-dom-DSyn5TRd.js +0 -1
  437. package/editor-web/assets/index-BSFR4plz.css +0 -2
  438. package/editor-web/assets/index-Dc8FX_sp.js +0 -56
  439. package/editor-web/assets/react-Bo429Bov.js +0 -61
  440. package/editor-web/assets/undo-2-CWgOKQ3L.js +0 -1
  441. package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
  442. package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
  443. package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
  444. package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
  445. package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
  446. package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
  447. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
  448. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
  449. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
  450. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
  451. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
  452. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
  453. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
  454. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
  455. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
  456. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
  457. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
  458. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
  459. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
  460. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
  461. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
  462. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
  463. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
  464. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
  465. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
  466. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
  467. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
  468. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
  469. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
  470. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
  471. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
  472. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
  473. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
  474. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
  475. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
  476. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
  477. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
  478. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
  479. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
  480. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
  481. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
  482. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
  483. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
  484. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
  485. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
  486. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
  487. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
  488. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
  489. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
  490. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
  491. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
  492. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
  493. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
  494. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
  495. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
  496. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
  497. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
  498. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
  499. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
  500. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
  501. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
  502. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
  503. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
  504. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
  505. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
  506. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
  507. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
  508. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
  509. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
  510. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
  511. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
  512. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
  513. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
  514. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
  515. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
  516. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
  517. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
  518. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
  519. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
  520. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
  521. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
  522. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
  523. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
  524. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
  525. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
  526. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
  527. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
  528. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
  529. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
  530. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
  531. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
  532. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
  533. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
  534. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
  535. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
  536. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
  537. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
  538. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
  539. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
  540. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
  541. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
  542. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
  543. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
  544. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
  545. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
  546. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
  547. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
  548. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
  549. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
  550. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
  551. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
  552. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
  553. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
  554. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
  555. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
  556. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
  557. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
  558. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
  559. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
  560. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
  561. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
  562. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
  563. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
  564. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
  565. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
  566. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
  567. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
  568. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
  569. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
  570. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
  571. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
  572. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
  573. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
  574. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
  575. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
  576. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
  577. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
  578. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
  579. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
  580. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
  581. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
  582. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
  583. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
  584. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
  585. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
  586. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
  587. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
  588. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
  589. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
  590. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
  591. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
  592. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
  593. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
  594. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
  595. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
  596. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
  597. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
  598. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
  599. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
  600. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
  601. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
  602. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
  603. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
  604. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
  605. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
  606. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
  607. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
  608. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
  609. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
  610. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
  611. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
  612. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
  613. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
  614. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
  615. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
  616. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
  617. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
  618. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
  619. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
  620. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
  621. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
  622. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
  623. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
  624. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
  625. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
  626. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
  627. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
  628. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
  629. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
  630. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
  631. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
  632. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
  633. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
  634. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
  635. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
  636. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
  637. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
  638. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
  639. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
  640. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
  641. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
  642. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
  643. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
  644. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
  645. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
  646. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
  647. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
  648. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
  649. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
  650. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
  651. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
  652. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
  653. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
@@ -0,0 +1,32 @@
1
+ import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{$t as t,At as n,Et as r,Ft as i,Gt as a,Kt as o,Lt as s,Mt as c,Ot as l,Wt as u,a as d,en as f,jt as p,kt as m,n as h,r as g,s as _}from"./react-D0RmGe2w.js";import{g as v,h as ee,i as y,m as b,n as x,p as S,r as C,t as w,y as T}from"./dist-Cpt0p8bX.js";import{a as te,c as E,i as D,l as ne,n as O,o as k,r as re,s as ie,t as A,u as ae}from"./browser-B31cR_c2.js";import{n as oe,r as se,t as ce}from"./undo-2-Ecr7-Obc.js";import{t as le}from"./list-D2v7U8K8.js";import{C as j,D as ue,a as de,c as fe,d as pe,f as me,h as he,i as M,l as ge,m as _e,n as ve,o as ye,p as N,r as be,s as P,u as xe,x as Se}from"./index-CAcsAZ9u.js";var Ce=l(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),we=l(`arrow-left-to-line`,[[`path`,{d:`M3 19V5`,key:`rwsyhb`}],[`path`,{d:`m13 6-6 6 6 6`,key:`1yhaz7`}],[`path`,{d:`M7 12h14`,key:`uoisry`}]]),Te=l(`arrow-right-to-line`,[[`path`,{d:`M17 12H3`,key:`8awo09`}],[`path`,{d:`m11 18 6-6-6-6`,key:`8c2y43`}],[`path`,{d:`M21 5v14`,key:`nzette`}]]),Ee=l(`arrow-up-narrow-wide`,[[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}],[`path`,{d:`M11 16h7`,key:`uosisv`}],[`path`,{d:`M11 20h10`,key:`jvxblo`}]]),F=l(`at-sign`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]),De=l(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),I=l(`circle-chevron-down`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 10-4 4-4-4`,key:`894hmk`}]]),Oe=l(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),L=l(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),ke=l(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),Ae=l(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),je=l(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Me=l(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Ne=l(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),Pe=l(`image-off`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),Fe=l(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),Ie=l(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),Le=l(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Re=l(`paintbrush`,[[`path`,{d:`m14.622 17.897-10.68-2.913`,key:`vj2p1u`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`,key:`18tc5c`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`,key:`ytzfxy`}]]),ze=l(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Be=l(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ve=l(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),He=l(`replace`,[[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Ue=l(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),R=l(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),We=l(`square-check`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ge=l(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),z=e(f(),1),B=m();function Ke(e,t=`,`){let n=e.startsWith(``),r=[],i=[],a=0,o=0,s=+!!n,c=1,l=e.length;for(;s<l;){let n=s,u=c,d=[],f=``,p=!1,m=!1,h=!1;for(;s<l;){let i=e.charAt(s);if(p){if(i===`"`){if(e.charAt(s+1)===`"`){f+=`"`,s+=2;continue}p=!1,s+=1;continue}i===`
2
+ `&&(c+=1),f+=i,s+=1}else if(i===`"`&&f===``&&!m)p=!0,m=!0,s+=1;else if(i===t)d.push(f),f=``,m=!1,s+=1;else{if(i===`\r`||i===`
3
+ `){let t=s;i===`\r`&&e.charAt(s+1)===`
4
+ `?(a+=1,s+=2):(i===`
5
+ `&&(o+=1),s+=1),c+=1,d.push(f),r.push({fields:d,start:n,end:t,line:u}),h=!0;break}f+=i,s+=1}}h||(p&&i.push({line:u,message:`a quoted field is never closed: a " is missing`}),d.push(f),r.push({fields:d,start:n,end:l,line:u}))}let u=e.charAt(l-1);return{source:e,records:r,dialect:{delimiter:t,newline:a>o?`\r
6
+ `:`
7
+ `,bom:n,finalNewline:l>+!!n&&(u===`
8
+ `||u===`\r`)},problems:i}}function V(e,t=`,`){return e.includes(t)||e.includes(`"`)||e.includes(`
9
+ `)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e}function qe(e,t=`,`){return e.length===1&&e[0]===``?`""`:e.map(e=>V(e,t)).join(t)}function H(e){return e.map(e=>qe(e,` `)).join(`
10
+ `)}function Je(e){return Ke(e,` `).records.map(e=>e.fields)}var Ye={type:`text`};[...new Set(Object.values({text:[`is`,`is-not`,`contains`,`not-contains`,`starts-with`,`ends-with`,`empty`,`not-empty`],number:[`=`,`!=`,`<`,`<=`,`>`,`>=`,`between`,`empty`,`not-empty`],select:[`is`,`is-not`,`in`,`not-in`,`empty`,`not-empty`],"multi-select":[`has`,`has-any`,`has-all`,`has-none`,`empty`,`not-empty`],date:[`on`,`before`,`after`,`on-or-before`,`on-or-after`,`between`,`empty`,`not-empty`],checkbox:[`is`],url:[`is`,`is-not`,`contains`,`not-contains`,`starts-with`,`ends-with`,`empty`,`not-empty`],email:[`is`,`is-not`,`contains`,`not-contains`,`starts-with`,`ends-with`,`empty`,`not-empty`],phone:[`is`,`is-not`,`contains`,`not-contains`,`starts-with`,`ends-with`,`empty`,`not-empty`],file:[`empty`,`not-empty`,`contains`]}).flat())];var U=e=>`all`in e||`any`in e,W=(e,t)=>e.columns[t]??Ye;function Xe(e){let t=e+1,n=``;for(;t>0;){let e=(t-1)%26;n=String.fromCharCode(65+e)+n,t=Math.floor((t-1)/26)}return n}function Ze(e,t=e){let n=`${Xe(Math.min(e.column,t.column))}${String(Math.min(e.row,t.row)+1)}`,r=`${Xe(Math.max(e.column,t.column))}${String(Math.max(e.row,t.row)+1)}`;return n===r?n:`${n}:${r}`}function Qe(e){let t=Ke(e),n=[...t.problems],[r,...i]=t.records,a=r?r.fields.map(e=>e.trim()):[];if(r){let e=new Map;a.forEach((t,i)=>{if(t===``){n.push({line:r.line,message:`column ${String(i+1)} has no name in the header`});return}let a=e.get(t);a===void 0?e.set(t,i):n.push({line:r.line,message:`"${t}" names columns ${String(a+1)} and ${String(i+1)}: each column needs a name of its own`})})}let o=a.length,s=[],c=[];for(let e of i){let t=e.fields,r=t.length===1&&t[0]===``;!r&&t.length>o&&t.slice(o).some(e=>e!==``)&&n.push({line:e.line,message:`this row has ${String(t.length)} fields, more than the header's ${String(o)}`});let i=r?[]:t.slice(0,o);for(;i.length<o;)i.push(``);s.push(i),c.push(e.line)}return{data:{columns:a,rows:s},csv:t,problems:n,lines:c}}function $e(e,t){if(e.columns.length!==t.columns.length||e.rows.length!==t.rows.length||e.columns.some((e,n)=>e!==t.columns[n]))return!1;for(let n=0;n<e.rows.length;n++){let r=e.rows[n]??[],i=t.rows[n]??[];for(let t=0;t<e.columns.length;t++)if((r[t]??``)!==(i[t]??``))return!1}return!0}function et(e,t){let n=[];return{problems:n,at(r,i){let a=r.length===0?e.contents:e.getIn(r,!0),o=(typeof a==`object`&&a&&`range`in a&&Array.isArray(a.range)?a.range:void 0)?.[0];n.push({path:r.join(`.`),...o===void 0?{}:{line:t.linePos(o).line},message:i})}}}function G(e){let t=new O,n=A(e,{lineCounter:t,prettyErrors:!1}),r=n.errors.map(e=>({path:``,line:t.linePos(e.pos[0]).line,message:`not YAML: ${e.message.split(`
11
+ `)[0]??``}`}));if(r.length>0)return{value:{},doc:n,lines:t,problems:r};let i=n.toJS()??{};return!D(n.contents)&&n.contents!==null?(r.push({path:``,line:1,message:`should be a map of fields`}),{value:{},doc:n,lines:t,problems:r}):{value:i,doc:n,lines:t,problems:r}}var K=e=>typeof e==`object`&&!!e&&!Array.isArray(e),tt=e=>Array.isArray(e)?`a list`:e===null?`nothing`:typeof e==`object`?`a map`:JSON.stringify(e);function q(e,t,n,r){for(let i of Object.keys(t))n.includes(i)||e.at([...r,i],`${i} is not a field here (${n.join(`, `)})`)}var J=e=>typeof e==`number`&&Number.isFinite(e)&&e>0;function nt(e,t,n){if(t===`plain`||t===`percent`||t===`currency`)return{style:t,thousands:!0};if(!K(t)){e.at(n,`should be plain, percent, currency or a map, not ${tt(t)}`);return}q(e,t,[`style`,`decimals`,`currency`,`thousands`],n);let r=t.style??(t.currency===void 0?`plain`:`currency`);if(r!==`plain`&&r!==`percent`&&r!==`currency`){e.at([...n,`style`],`should be plain, percent or currency`);return}let i={style:r,thousands:t.thousands!==!1},a=t.decimals;a!==void 0&&(typeof a==`number`&&Number.isInteger(a)&&a>=0&&a<=10?i.decimals=a:e.at([...n,`decimals`],`should be a whole number from 0 to 10`));let o=t.currency;return o!==void 0&&(typeof o==`string`&&/^[A-Za-z]{3}$/.test(o)?i.currency=o.toUpperCase():e.at([...n,`currency`],`should be a three-letter currency code: USD, EUR, CNY`)),t.thousands!==void 0&&typeof t.thousands!=`boolean`&&e.at([...n,`thousands`],`should be true or false`),i}function rt(e,t,n){if(t===`iso`||t===`short`||t===`long`)return{style:t,time:!0};if(!K(t)){e.at(n,`should be iso, short, long or a map, not ${tt(t)}`);return}q(e,t,[`style`,`time`],n);let r=t.style??`short`;if(r!==`iso`&&r!==`short`&&r!==`long`)e.at([...n,`style`],`should be iso, short or long`);else return t.time!==void 0&&typeof t.time!=`boolean`&&e.at([...n,`time`],`should be true or false`),{style:r,time:t.time!==!1}}function it(e,t,n,r){if(!Array.isArray(t))return e.at(n,`should be a list of options`),[];let i=[],a=new Set;return t.forEach((t,s)=>{let c=[...n,s],l;if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)l={name:String(t)};else if(K(t)){q(e,t,[`name`,`color`],c);let n=t.name;if(typeof n!=`string`&&typeof n!=`number`){e.at(c,`an option needs a name`);return}l={name:String(n)};let r=t.color;r!==void 0&&(o.includes(r)?l.color=r:e.at([...c,`color`],`should be one of ${o.join(`, `)}`))}else{e.at(c,`an option is a name, or a map with a name and a color`);return}l.name=l.name.trim(),l.name===``?e.at(c,`an option's name cannot be empty`):(l.name.includes(r)&&e.at(c,`"${l.name}" has the separator ${JSON.stringify(r)} in it`),a.has(l.name)?e.at(c,`"${l.name}" is an option twice`):(a.add(l.name),i.push(l)))}),i}function at(e,t,n){if(t==null)return{type:`text`};if(typeof t==`string`){if(a.includes(t)){let e=t;return e===`select`||e===`multi-select`?{type:e,options:[]}:{type:e}}return e.at(n,`${t} is not a type (${a.join(`, `)})`),{type:`text`}}if(!K(t))return e.at(n,`should be a map of the column's fields, not ${tt(t)}`),{type:`text`};q(e,t,[`type`,`options`,`separator`,`format`,`width`,`height`,`wrap`],n);let r=t.type??`text`,i=`text`;a.includes(r)?i=r:e.at([...n,`type`],`${tt(r)} is not a type (${a.join(`, `)})`);let o={type:i},s=t.separator;s!==void 0&&(i!==`multi-select`&&i!==`file`?e.at([...n,`separator`],`only a multi-select or a file column has a separator`):typeof s==`string`&&s.length>0&&s.trim()!==``&&!s.includes(`"`)?o.separator=s:e.at([...n,`separator`],`should be a character or a few, not empty, not a quote`)),t.options===void 0?(i===`select`||i===`multi-select`)&&(o.options=[]):i===`select`||i===`multi-select`?o.options=it(e,t.options,[...n,`options`],o.separator??`;`):e.at([...n,`options`],`only a select or a multi-select column has options`);let c=t.format;if(c!==void 0){if(i===`number`){let t=nt(e,c,[...n,`format`]);t&&(o.number=t)}else if(i===`date`){let t=rt(e,c,[...n,`format`]);t&&(o.date=t)}else e.at([...n,`format`],`only a number or a date column has a format`)}let l=t.width;l!==void 0&&(J(l)?o.width=Math.round(l):e.at([...n,`width`],`should be a width in px`));let u=t.height;u!==void 0&&(i===`file`?J(u)?o.height=Math.round(u):e.at([...n,`height`],`should be a height in px`):e.at([...n,`height`],`only a file column has a height`));let d=t.wrap;return d!==void 0&&(typeof d==`boolean`?o.wrap=d:e.at([...n,`wrap`],`should be true or false`)),o}function ot(e){let{spec:t,value:n,r}=st(e);if(r.problems.length===0){let e=u(`sheet`,n);if(!e.ok)for(let t of e.problems)r.at(t.path===``?[]:t.path.split(`.`),t.message)}return{spec:t,problems:r.problems}}function st(e){let{value:t,doc:n,lines:r,problems:i}=G(e),a=et(n,r);a.problems.push(...i);let o={columns:{}};if(!K(t))return{spec:o,value:t,r:a};q(a,t,[`title`,`key`,`primary`,`columns`],[]);let s=t.title;s!==void 0&&(typeof s==`string`||typeof s==`number`?o.title=String(s):a.at([`title`],`should be text`));let c=t.key;c!==void 0&&(typeof c==`string`&&c.trim()!==``?o.key=c:a.at([`key`],`should be a column's name`));let l=t.primary;l!==void 0&&(typeof l==`string`&&l.trim()!==``?o.primary=l:a.at([`primary`],`should be a column's name`));let u=t.columns;if(u!=null){if(!K(u))a.at([`columns`],`should be a map from a column's name to what it is`);else for(let[e,t]of Object.entries(u))o.columns[e]=at(a,t,[`columns`,e])}return{spec:o,value:t,r:a}}var ct=/^-?(\d+\.?\d*|\.\d+)(e[+-]?\d+)?$/i,lt=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3})\d*)?)?(Z|[+-]\d{2}:?\d{2})?)?$/,ut=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Y=e=>e.trim()===``;function dt(e){let t=e.trim();if(!ct.test(t))return;let n=Number(t);return Number.isFinite(n)?n:void 0}function ft(e){let t=lt.exec(e.trim());if(!t)return;let[,n,r,i,a,o,s,c,l]=t,u=Number(n),d=Number(r),f=Number(i);if(d<1||d>12||f<1||f>new Date(Date.UTC(u,d,0)).getUTCDate())return;let p=a===void 0?0:Number(a),m=o===void 0?0:Number(o),h=s===void 0?0:Number(s);if(p>23||m>59||h>59)return;let g=Date.UTC(u,d-1,f,p,m,h,c===void 0?0:Number(c.padEnd(3,`0`)));if(l!==void 0&&l!==`Z`){let e=l.startsWith(`-`)?-1:1,t=l.slice(1).replace(`:`,``);g-=e*(Number(t.slice(0,2))*60+Number(t.slice(2)))*6e4}return{ms:g,time:a!==void 0}}function pt(e){let t=e.trim().toLowerCase();return t===`true`||t!==`false`&&void 0}function mt(e,t=`;`){return e.split(t).map(e=>e.trim()).filter(e=>e!==``)}var ht=(e,t=`;`)=>e.join(t);function gt(e,t){if(!Y(t))switch(e.type){case`number`:return dt(t)===void 0?`is not a number (write digits with a point for decimals and no thousands separator: 1234.5)`:void 0;case`date`:return ft(t)===void 0?`is not a date (write 2026-10-14, or 2026-10-14T09:30)`:void 0;case`checkbox`:return pt(t)===void 0?`is not true or false`:void 0;case`select`:{let n=(e.options??[]).map(e=>e.name);return n.includes(t.trim())?void 0:`is not one of its options (${n.join(`, `)||`none`})`}case`multi-select`:{let n=new Set((e.options??[]).map(e=>e.name)),r=mt(t,e.separator).filter(e=>!n.has(e));return r.length===0?void 0:`has ${r.map(e=>`"${e}"`).join(`, `)}, not among its options (${[...n].join(`, `)||`none`})`}case`email`:return ut.test(t.trim())?void 0:`is not an email address`;case`url`:return/\s/.test(t.trim())?`is not an address: it has a space in it`:void 0;case`text`:case`phone`:case`file`:return}}function _t(e,t){let n=t.trim();if(n!==``){if(e.type===`email`)return`mailto:${n}`;if(e.type===`phone`)return`tel:${n.replace(/[^\d+]/g,``)}`;if(e.type===`url`)return/^[a-z][a-z0-9+.-]*:/i.test(n)?n:`https://${n}`}}var vt=new Map;function X(e,t,n){let r=JSON.stringify([e,t,n]),i=vt.get(r);if(i)return i;let a=e?.style??`plain`,o={useGrouping:e?.thousands??!0,...n===void 0?{maximumFractionDigits:6}:{minimumFractionDigits:n,maximumFractionDigits:n}},s;try{s=a===`currency`?new Intl.NumberFormat(t,{...o,style:`currency`,currency:e?.currency??`USD`}):a===`percent`?new Intl.NumberFormat(t,{...o,style:`percent`}):new Intl.NumberFormat(t,o)}catch{s=new Intl.NumberFormat(`en`,o)}return vt.set(r,s),s}function yt(e,t,n=`en`){return X(t,n,t?.decimals).format(e)}var bt=new Map;function xt(e,t,n=`en`){let r=t?.style??`short`,i=e.time&&(t?.time??!0);if(r===`iso`){let t=new Date(e.ms).toISOString();return i?`${t.slice(0,10)} ${t.slice(11,16)}`:t.slice(0,10)}let a=`${r}|${String(i)}|${n}`,o=bt.get(a);if(!o){let e={timeZone:`UTC`,...r===`long`?{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}:{year:`numeric`,month:`short`,day:`numeric`},...i?{hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}:{}};try{o=new Intl.DateTimeFormat(n,e)}catch{o=new Intl.DateTimeFormat(`en`,e)}bt.set(a,o)}return o.format(new Date(e.ms))}function St(e,t,n=`en`){if(Y(t))return``;switch(e.type){case`number`:{let r=dt(t);return r===void 0?t:yt(r,e.number,n)}case`date`:{let r=ft(t);return r===void 0?t:xt(r,e.date,n)}case`checkbox`:return pt(t)===!0?`✓`:pt(t)===!1?``:t;case`multi-select`:return mt(t,e.separator).join(`, `);default:return t}}var Ct=new Intl.Collator(`en`,{numeric:!0,sensitivity:`base`});function wt(e,t=!1){let n=Tt(e),r=Et(t);return(e,t)=>r(n(e),n(t))}function Tt(e){let t=new Map((e.options??[]).map((e,t)=>[e.name,t]));return n=>{if(Y(n))return[3,0];switch(e.type){case`number`:{let e=dt(n);return e===void 0?[2,n]:[0,e]}case`date`:{let e=ft(n);return e===void 0?[2,n]:[0,e.ms]}case`checkbox`:{let e=pt(n);return e===void 0?[2,n]:[0,+!!e]}case`select`:{let e=t.get(n.trim());return e===void 0?[2,n]:[0,e]}case`multi-select`:{let r=t.get(mt(n,e.separator)[0]??``);return r===void 0?[2,n]:[0,r]}default:return[0,n]}}}function Et(e=!1){let t=e?-1:1;return([e,n],[r,i])=>e===r?e===3?0:typeof n==`number`&&typeof i==`number`?t*(n-i):t*Ct.compare(String(n),String(i)):e-r}function Dt(e,t){let n=t.trim().replace(/^\.\//,``);if(n===``||/^[a-z][a-z0-9+.-]*:/i.test(n)||n.startsWith(`/`))return[];let r=e=>{let t=[];for(let n of e.split(`/`))if(n!==``&&n!==`.`){if(n===`..`){if(t.length===0)return;t.pop()}else t.push(n)}return t.join(`/`)};return[r(`${e}/${n}`),r(n)].filter((e,t,n)=>e!==void 0&&n.indexOf(e)===t)}var Ot=(e,t)=>{let n=e.length===1&&e[0]===``,r=[];for(let i=0;i<t;i++)r.push(n?``:e[i]??``);return r.join(`\0`)},kt=(e,t,n)=>{if(!e)return!1;for(let r=0;r<n;r++)if((e[r]??``)!==(t[r]??``))return!1;return!0},At=64;function jt(e,t,n){let r=n??Qe(e.source).data,{dialect:i,records:a,source:o}=e;if($e(r,t))return e;let s=t.columns.length;if(s===0&&t.rows.length===0)return{source:i.bom?``:``,records:[],dialect:i,problems:[]};let c=e=>{let t=a[e+1];if(t&&!(t.fields.length>s&&t.fields.slice(s).some(e=>e!==``)))return o.slice(t.start,t.end)},l=new Uint8Array(r.rows.length),u=new Map;r.rows.forEach((e,t)=>u.set(e,t));let d,f=0,p=e=>{d||(d=new Map,r.rows.forEach((e,t)=>{if(l[t])return;let n=Ot(e,s),r=d?.get(n);r?r.push(t):d?.set(n,[t])}));let t=d.get(Ot(e,s));for(;t&&t.length>0;){let e=t.shift();if(e!==void 0&&!l[e])return e}},m=[],h=a[0],g=h?.fields.length===s&&h.fields.every((e,n)=>e.trim()===t.columns[n]);m.push(g?o.slice(h.start,h.end):qe(t.columns,i.delimiter)),t.rows.forEach((e,t)=>{let a=u.get(e);a!==void 0&&l[a]&&(a=void 0),a===void 0&&!l[t]&&kt(r.rows[t],e,s)&&(a=t),a===void 0&&(f+=1,(n===void 0||f>At)&&(a=p(e)));let o=a===void 0?void 0:c(a);if(a!==void 0&&o!==void 0){l[a]=1,m.push(o);return}let d=e.slice(0,s);for(;d.length<s;)d.push(``);m.push(qe(d,i.delimiter))});let _=m[m.length-1],v=i.finalNewline||_===``,ee=i.bom?``:``,y=[],b=ee.length,x=1;return m.forEach((e,n)=>{let r=n===0?t.columns:t.rows[n-1]??[];y.push({fields:r,start:b,end:b+e.length,line:x});for(let t=e.indexOf(`
12
+ `);t>=0;t=e.indexOf(`
13
+ `,t+1))x+=1;x+=1,b+=e.length+i.newline.length}),{source:`${ee}${m.join(i.newline)}${v?i.newline:``}`,records:y,dialect:{...i,finalNewline:v},problems:[]}}var Mt=e=>te(e.key)?String(e.key.value):void 0,Nt=(e,t)=>{let n=(e,t)=>{if(k(e)){for(let r of e.items)n(r,t+1);e.flow=e.items.every(e=>te(e)||D(e)&&e.items.every(e=>te(e.value)))}else if(D(e)){for(let r of e.items)n(r.value,t+1);e.flow=t>0||e.items.length<=4&&e.items.every(e=>te(e.value)||(k(e.value)||D(e.value))&&e.value.flow===!0)}};n(e,0),(D(t)||k(t))&&(D(e)||k(e))&&(e.flow=t.flow??!1)};function Pt(e){return new re({[e]:0}).toString().replace(/: 0\n$/,``)}function Ft(e,t,n,r,i){let a=new re({[e]:t}),o=a.contents.items[0];return o?.value&&r(o.value,i),a.toString({lineWidth:0,flowCollectionPadding:!0}).replace(/\n$/,``).replace(/\[ ([^[\]{}"'\n]*) \]/g,`[$1]`).replace(/\[ \{/g,`[{`).replace(/\} \]/g,`}]`).split(`
14
+ `).map((e,t)=>t===0||e===``?e:` `.repeat(n)+e).join(`
15
+ `)}var It=(e,t)=>e.lastIndexOf(`
16
+ `,t-1)+1,Lt=(e,t)=>{let n=e.indexOf(`
17
+ `,t);return n<0?e.length:n+1};function Rt(e,t,n,r){let i=A(e??``),a=i.errors.length>0||!(D(i.contents)||i.contents===null)?new re({}):i;if(n===void 0)a.deleteIn(t);else{let e=a.createNode(n);r(e,a.getIn(t,!0)),a.setIn(t,e)}let o=a.toString({lineWidth:0,flowCollectionPadding:!0});return o===`{}
18
+ `?``:o}var zt=e=>JSON.stringify(A(e).toJS()??{});function Bt(e,t,n,r=Nt){let i=e??``,a=A(i);if(a.errors.length>0||!(D(a.contents)||a.contents===null))return Rt(e,t,n,r);let o=a.contents;for(let[a,s]of t.slice(0,-1).entries()){if(o?.flow)return Rt(e,t,n,r);let c=o?.items.find(e=>Mt(e)===s);if(!c){if(n===void 0)return i;let o=n;for(let e of[...t.slice(a+1)].reverse())o={[e]:o};return Bt(e,t.slice(0,a+1),o,e=>{let n=(e,i)=>{if(D(e)){e.flow=!1;for(let o of e.items)i+1<t.length-a-1?n(o.value,i+1):o.value&&r(o.value,void 0)}};n(e,0)})}if(!D(c.value))return Rt(e,t,n,r);o=c.value}if(o?.flow)return Rt(e,t,n,r);let s=t[t.length-1]??``,c=o?.items.find(e=>Mt(e)===s),l=c?.key,u=c?.value??void 0,d=(o?.items[0]?.key)?.range?.[0],f=d===void 0?2*(t.length-1):d-It(i,d);if(D(u)&&!u.flow&&typeof n==`object`&&n&&!Array.isArray(n)){let e=n,a=u.toJSON()??{},o=i;for(let n of new Set([...Object.keys(a),...Object.keys(e)]))JSON.stringify(a[n])!==JSON.stringify(e[n])&&(o=Bt(o,[...t,n],e[n],r));return o}let p;if(c&&l?.range){let e=l.range[0],t=u?.range?u.range[1]:l.range[1];if(n===void 0)p=i.slice(0,It(i,e))+i.slice(Lt(i,t-1));else{let a=i.charAt(t-1)===`
19
+ `?`
20
+ `:``;p=i.slice(0,e)+Ft(s,n,f,r,u)+a+i.slice(t)}}else{if(n===void 0)return i;let e=Ft(s,n,f,r,void 0),t=o?.items[o.items.length-1],a=(t?.value??t?.key)?.range?.[1];if(a===void 0)p=`${i}${i===``||i.endsWith(`
21
+ `)?``:`
22
+ `}${` `.repeat(f)}${e}\n`;else{let t=i.charAt(a-1)===`
23
+ `?a:Lt(i,a),n=t>0&&i.charAt(t-1)!==`
24
+ `?`
25
+ `:``;p=`${i.slice(0,t)}${n}${` `.repeat(f)}${e}\n${i.slice(t)}`}}let m=Rt(e,t,n,r);return A(p).errors.length>0||zt(p)!==zt(m)?m:p}function Vt(e){return e.decimals===void 0&&e.currency===void 0&&e.thousands?e.style:{...e.style===`plain`?{}:{style:e.style},...e.currency===void 0?{}:{currency:e.currency},...e.decimals===void 0?{}:{decimals:e.decimals},...e.thousands?{}:{thousands:!1}}}function Ht(e){let t={type:e.type,...e.options===void 0||e.type!==`select`&&e.type!==`multi-select`?{}:{options:e.options.map(e=>e.color===void 0?e.name:{name:e.name,color:e.color})},...e.separator===void 0||e.type!==`multi-select`&&e.type!==`file`?{}:{separator:e.separator},...e.type===`number`&&e.number?{format:Vt(e.number)}:{},...e.type===`date`&&e.date?{format:e.date.time?e.date.style:{style:e.date.style,time:!1}}:{},...e.width===void 0?{}:{width:e.width},...e.height===void 0||e.type!==`file`?{}:{height:e.height},...e.wrap===void 0?{}:{wrap:e.wrap}};return Object.keys(t).length===1?e.type:t}function Ut(e,t,n){let r=Bt(e,[`columns`,t],n===void 0?void 0:Ht(n)),i=A(r),a=i.errors.length===0?i.getIn([`columns`],!0):void 0;return n===void 0&&D(a)&&a.items.length===0&&(r=Bt(r,[`columns`],void 0)),r}function Wt(e,t,n){let r=e??``,i=A(r),a=r,o=i.errors.length===0?i.getIn([`columns`],!0):void 0;if(D(o)){let e=o.items.find(e=>Mt(e)===t)?.key?.range;e&&(a=r.slice(0,e[0])+Pt(n)+r.slice(e[1]))}return A(a).get(`key`)===t&&(a=Bt(a,[`key`],n)),A(a).get(`primary`)===t&&(a=Bt(a,[`primary`],n)),a}function Gt(e,t,n){return Bt(e,[t],n===void 0||n===``?void 0:n)}var Kt=e=>e.trim().toLocaleLowerCase(),qt=e=>typeof e==`string`?ft(e)?.ms:void 0,Jt=e=>Math.floor(e/864e5)*864e5;function Yt(e,t,n){let{op:r}=t,i=t.value;if(r===`empty`)return Y(n);if(r===`not-empty`)return!Y(n);switch(e.type){case`number`:{let e=dt(n);if(e===void 0)return r===`!=`;if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let t=Number(i[0]),n=Number(i[1]);return e>=Math.min(t,n)&&e<=Math.max(t,n)}let t=Number(i);if(!Number.isFinite(t))return!1;switch(r){case`=`:return e===t;case`!=`:return e!==t;case`<`:return e<t;case`<=`:return e<=t;case`>`:return e>t;case`>=`:return e>=t;default:return!1}}case`date`:{let e=ft(n);if(!e)return!1;let t=Jt(e.ms);if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let e=qt(i[0]),n=qt(i[1]);return e===void 0||n===void 0?!1:t>=Jt(Math.min(e,n))&&t<=Jt(Math.max(e,n))}let a=qt(i);if(a===void 0)return!1;let o=Jt(a);switch(r){case`on`:return t===o;case`before`:return t<o;case`after`:return t>o;case`on-or-before`:return t<=o;case`on-or-after`:return t>=o;default:return!1}}case`checkbox`:return(pt(n)??!1)===(typeof i==`boolean`?i:pt(String(i))??!0);case`select`:{let e=n.trim();return r===`in`||r===`not-in`?(Array.isArray(i)?i.map(String):[String(i)]).includes(e)===(r===`in`):r===`is`?e===String(i):r===`is-not`&&e!==String(i)}case`multi-select`:{let t=new Set(mt(n,e.separator)),a=Array.isArray(i)?i.map(String):[String(i)];switch(r){case`has`:return a.every(e=>t.has(e));case`has-any`:return a.some(e=>t.has(e));case`has-all`:return a.every(e=>t.has(e));case`has-none`:return!a.some(e=>t.has(e));default:return!1}}default:{let e=Kt(n),t=Kt(String(i??``));switch(r){case`is`:return e===t;case`is-not`:return e!==t;case`contains`:return e.includes(t);case`not-contains`:return!e.includes(t);case`starts-with`:return e.startsWith(t);case`ends-with`:return e.endsWith(t);default:return!1}}}}function Xt(e){if(e.op===`empty`||e.op===`not-empty`)return!1;let t=e.value;return t===void 0||t===``?!0:Array.isArray(t)?t.length===0||t.every(e=>e===``):!1}function Zt(e,t,n,r){if(U(n))return`all`in n?n.all.every(n=>Zt(e,t,n,r)):n.any.length===0||n.any.some(n=>Zt(e,t,n,r));if(Xt(n))return!0;let i=e.columns.indexOf(n.column);return i<0?!1:Yt(W(t,n.column),n,r[i]??``)}function Qt(e,t,n){let r=n.filter;return $t(e,t,e.rows.map((e,t)=>t).filter(n=>r===void 0||Zt(e,t,r,e.rows[n]??[])),n.sort??[])}function $t(e,t,n,r){let i=r.map(t=>({at:e.columns.indexOf(t.column),k:t})).filter(e=>e.at>=0).map(({at:r,k:i})=>{let a=Tt(W(t,i.column)),o=[];for(let t of n)o[t]=a(e.rows[t]?.[r]??``);return{values:o,cmp:Et(i.desc===!0)}});if(i.length===0)return[...n];let a=[3,0];return[...n].sort((e,t)=>{for(let{values:n,cmp:r}of i){let i=r(n[e]??a,n[t]??a);if(i!==0)return i}return e-t})}function en(e,t){return t.columns?t.columns.filter(t=>e.columns.includes(t)):[...e.columns]}function tn(e,t){if(t.primary!==void 0&&e.includes(t.primary))return t.primary;let n=e.filter(e=>e!==t.key);return n.find(e=>W(t,e).type===`text`)??n[0]??e[0]}var nn=e=>`sheet.look:${e}`;function rn(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function an(e){let t={};return e.columns&&(t.columns=e.columns),e.widths&&Object.keys(e.widths).length>0&&(t.widths=e.widths),e.freeze&&(t.freeze=e.freeze),e.wrap?.length&&(t.wrap=e.wrap),e.sort?.length&&(t.sort=e.sort),e.filter&&(t.filter=e.filter),t}var on=(e,t)=>JSON.stringify(an(e))===JSON.stringify(an(t));function sn(e,t,n){let r=e=>U(e)?sn(e,t,n):e.column===t?{...e,column:n}:e;return`all`in e?{all:e.all.map(r)}:{any:e.any.map(r)}}function cn(e,t,n){if(!JSON.stringify(e).includes(JSON.stringify(t)))return e;let r=e=>e===t?n:e,i={...e};return e.columns&&(i.columns=e.columns.map(r)),e.widths&&(i.widths=Object.fromEntries(Object.entries(e.widths).map(([e,t])=>[r(e),t]))),e.wrap&&(i.wrap=e.wrap.map(r)),e.sort&&(i.sort=e.sort.map(e=>({...e,column:r(e.column)}))),e.filter&&(i.filter=sn(e.filter,t,n)),i}function ln(e){let t=(`all`in e?e.all:e.any).flatMap(e=>{if(U(e)){let t=ln(e);return t?[t]:[]}return Xt(e)?[]:[e]});if(t.length!==0)return`all`in e?{all:t}:{any:t}}function un(e){if(!e.filter)return e;let t=ln(e.filter),n=dn(e);return t?{...n,filter:t}:n}function dn(e){let t={...e};return delete t.filter,t}var fn=e=>new Date(Math.floor(e/864e5)*864e5).toISOString().slice(0,10);function pn(e,t,n,r){if(Y(n))return[{key:`∅`,label:``,condition:{column:e,op:`empty`}}];let i=n.trim();switch(t.type){case`number`:{let n=dt(i);return n===void 0?[]:[{key:`n:${String(n)}`,label:St(t,i,r),condition:{column:e,op:`=`,value:n}}]}case`date`:{let n=ft(i);if(!n)return[];let a=fn(n.ms);return[{key:`d:${a}`,label:St({...t,date:{style:t.date?.style??`short`,time:!1}},a,r),condition:{column:e,op:`on`,value:a}}]}case`checkbox`:{let t=pt(i)??!1;return[{key:`b:${String(t)}`,label:String(t),condition:{column:e,op:`is`,value:t}}]}case`multi-select`:return mt(i,t.separator).map(t=>({key:`m:${t}`,label:t,condition:{column:e,op:`has-any`,value:[t]}}));case`select`:return[{key:`s:${i}`,label:i,condition:{column:e,op:`is`,value:i}}];case`file`:return[{key:`f:any`,label:``,condition:{column:e,op:`not-empty`}}];default:return[{key:`t:${i.toLocaleLowerCase()}`,label:i,condition:{column:e,op:`is`,value:i}}]}}function mn(e,t){let n=t.value;if(t.op===`empty`)return`∅`;if(t.op===`not-empty`&&e.type===`file`)return`f:any`;switch(e.type){case`number`:return t.op===`=`&&typeof n==`number`?`n:${String(n)}`:void 0;case`date`:return t.op===`on`&&typeof n==`string`?`d:${n}`:void 0;case`checkbox`:return t.op===`is`&&typeof n==`boolean`?`b:${String(n)}`:void 0;case`multi-select`:return t.op===`has-any`&&Array.isArray(n)&&n.length===1?`m:${String(n[0])}`:void 0;case`select`:return t.op===`is`&&typeof n==`string`?`s:${n}`:void 0;case`file`:return;default:return t.op===`is`&&typeof n==`string`?`t:${n.trim().toLocaleLowerCase()}`:void 0}}function hn(e,t,n,r){let i=new Map;for(let a of n)for(let n of pn(e,t,a,r)){let e=i.get(n.key);e?e.count++:i.set(n.key,{...n,count:1,raw:a.trim()})}let a=wt(t.type===`multi-select`?{type:`text`}:t);return[...i.values()].sort((e,n)=>e.key===`∅`?1:n.key===`∅`?-1:t.type===`multi-select`?e.label.localeCompare(n.label,r):a(e.raw,n.raw)).map(e=>{let t={...e};return delete t.raw,t})}var gn=e=>e===void 0?[]:`all`in e?e.all:[e];function _n(e,t,n){if(!U(e)||!(`any`in e)||e.any.length===0)return;let r=new Set;for(let i of e.any){if(U(i)||i.column!==t)return;let e=mn(n,i);if(e===void 0)return;r.add(e)}return r}function vn(e,t,n){for(let r of gn(e.filter)){let e=_n(r,t,n);if(e)return e}}function yn(e,t,n,r){let i=gn(e.filter).filter(e=>_n(e,t,n)===void 0),a=r===void 0?i:[...i,{any:r.map(e=>e.condition)}],o=dn(e);return a.length===0?o:{...o,filter:{all:a}}}function bn(e){let t=new Set,n=e=>{U(e)?(`all`in e?e.all:e.any).forEach(n):t.add(e.column)};return gn(e.filter).forEach(n),t}var xn=[`text`,`number`,`currency`,`percent`,`date`,`checkbox`,`list`,`file`];function Sn(e){switch(e.type){case`text`:return`text`;case`number`:{let t=e.number?.style??`plain`;return t===`plain`?`number`:t}case`date`:return`date`;case`checkbox`:return`checkbox`;case`select`:return`list`;case`file`:return`file`;default:return}}function Cn(e,t,n){let r={type:t===`currency`||t===`percent`?`number`:t===`list`?`select`:t};if(t===`number`||t===`currency`||t===`percent`){let n=e.type===`number`?e.number:void 0,i=t===`number`?`plain`:t;(i!==`plain`||n!==void 0)&&(r.number={...n??{thousands:!0},style:i},i!==`currency`&&Reflect.deleteProperty(r.number,`currency`))}if(t===`date`&&e.date&&(r.date=e.date),t===`list`){let t=[...e.options??[]],i=new Set(t.map(e=>e.name));for(let r of n){let n=e.type===`multi-select`?mt(r,e.separator):[r.trim()];for(let e of n)if(!(e===``||i.has(e))){if(t.length>=200)break;i.add(e),t.push({name:e})}}r.options=t}return t===`file`&&e.type===`file`&&(e.separator!==void 0&&(r.separator=e.separator),e.height!==void 0&&(r.height=e.height)),e.width!==void 0&&(r.width=e.width),e.wrap!==void 0&&(r.wrap=e.wrap),r}var wn=/\.(png|jpe?g|gif|webp|avif|svg)$/i;function Tn(e,t){return mt(t,e.separator)}function En(e){return e.slice(e.lastIndexOf(`/`)+1)}function Dn(e,t,n){let r=n;for(let n of t){let t=W(e,n);t.type===`file`&&t.height!==void 0&&(r=Math.max(r,t.height+10))}return r}function On(e,t){let n=[];for(let r of t)Tn(e,r.value).forEach((e,t)=>{n.push({path:e,row:r.id,title:r.title,at:t})});return n}var kn=400;function An(e,t,n,r=`en`,i={}){let a=i.min??88,o=i.max??320,s={},c=e.rows.slice(0,kn);return e.columns.forEach((e,i)=>{let l=W(t,e),u=n(e)+76+(t.key===e?18:0);for(let e of c){let t=e[i]??``;if(Y(t))continue;let a;switch(l.type){case`checkbox`:a=40;break;case`select`:a=n(t.trim())+12+18;break;case`multi-select`:a=mt(t,l.separator).reduce((e,t)=>e+n(t)+12+4,0)+18;break;case`url`:case`email`:case`phone`:a=n(t.trim())+18+18;break;case`file`:a=mt(t,l.separator).reduce((e,t)=>e+4+(wn.test(t)?Math.round((l.height??24)*1.6):n(t.slice(t.lastIndexOf(`/`)+1))+29),0)+18;break;default:a=n(St(l,t,r))+18}if(a>u&&(u=a),u>=o)break}s[e]=Math.round(Math.min(o,Math.max(a,u)))}),s}var jn=(e,t=2)=>String(e).padStart(t,`0`),Mn=(e,t,n)=>`${jn(e,4)}-${jn(t)}-${jn(n)}`;function Nn(e,t,n=0){let r=(new Date(Date.UTC(e,t-1,1)).getUTCDay()-n+7)%7,i=new Date(Date.UTC(e,t,0)).getUTCDate(),a=[],o=Math.ceil((r+i)/7)*7;for(let n=0;n<o;n++){let i=new Date(Date.UTC(e,t-1,1-r+n)),o={day:Mn(i.getUTCFullYear(),i.getUTCMonth()+1,i.getUTCDate()),inMonth:i.getUTCMonth()===t-1};n%7==0&&a.push([]),a[a.length-1]?.push(o)}return a}var Pn=new Set([`zh-cn`,`es`,`fr`,`de`,`it`,`ru`,`tr`,`vi`]);function Fn(e){return+!!Pn.has(c(e))}function In(e,t){let n=e.year*12+(e.month-1)+t;return{year:Math.floor(n/12),month:n%12+1}}function Ln(e,t){let n=e.trim();return/^\d{4}-\d{2}-\d{2}/.test(n)&&ft(n)!==void 0?`${t}${n.slice(10)}`:t}function Rn(e=new Date){return Mn(e.getFullYear(),e.getMonth()+1,e.getDate())}var zn=[`jan`,`feb`,`mar`,`apr`,`may`,`jun`,`jul`,`aug`,`sep`,`oct`,`nov`,`dec`],Bn={today:0,tomorrow:1,yesterday:-1,今天:0,明天:1,昨天:-1};function Vn(e,t){let n=new Date(Date.parse(`${e}T00:00:00Z`)+t*864e5);return Mn(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate())}function Hn(e){let t={...Bn},n=new Set,r=new Intl.RelativeTimeFormat(e,{numeric:`auto`});for(let e of[-1,0,1]){let i=r.format(e,`day`).toLowerCase();i in t&&t[i]!==e?n.add(i):t[i]=e}for(let e of n)Reflect.deleteProperty(t,e);return t}function Un(e){let t=new Map;zn.forEach((e,n)=>t.set(e,n+1));for(let n of[`long`,`short`]){let r=new Intl.DateTimeFormat(e,{month:n,timeZone:`UTC`});for(let e=0;e<12;e++){let n=r.format(Date.UTC(2026,e,15)).toLowerCase().replace(/\.$/u,``);/^\d+$/u.test(n)||t.set(n,e+1)}}return t}function Wn(e){let t=new Intl.DateTimeFormat(e,{timeZone:`UTC`}).formatToParts(Date.UTC(2026,9,14)).map(e=>e.type);return t.indexOf(`day`)<t.indexOf(`month`)}function Gn(e,t,n=`en`){let r=e.trim();if(r===``)return;if(ft(r)!==void 0)return r;let i=/\s+(\d{1,2}):(\d{2})$/.exec(r),a=i?r.slice(0,i.index):r,o=i?`T${(i[1]??``).padStart(2,`0`)}:${i[2]??``}`:``,s=(e,t,n)=>{let r=`${Mn(e,t,n)}${o}`;return ft(r)===void 0?void 0:r},c=Hn(n)[a.toLowerCase()];if(c!==void 0){let e=Vn(t,c);return s(Number(e.slice(0,4)),Number(e.slice(5,7)),Number(e.slice(8,10)))}let l=/^(\d{4})[/.\-年](\d{1,2})[/.\-月](\d{1,2})日?$/.exec(a);if(l||(l=/^(\d{4})\s*년\s*(\d{1,2})\s*월\s*(\d{1,2})\s*일?$/u.exec(a),l))return s(Number(l[1]),Number(l[2]),Number(l[3]));if(l=/^(\d{1,2})[/.-](\d{1,2})[/.-](\d{4})$/.exec(a),l)return Wn(n)?s(Number(l[3]),Number(l[2]),Number(l[1])):s(Number(l[3]),Number(l[1]),Number(l[2]));let u=Un(n),d=e=>{let t=(e??``).toLowerCase().replace(/\.$/u,``);return u.get(t)??u.get(t.slice(0,3))??0};if(l=/^(\p{L}+)\.?\s+(\d{1,2}),?\s+(\d{4})$/u.exec(a),l&&d(l[1])>0)return s(Number(l[3]),d(l[1]),Number(l[2]));if(l=/^(\d{1,2})\.?\s+(?:de\s+)?(\p{L}+)\.?,?\s+(?:de\s+)?(\d{4})$/u.exec(a),l&&d(l[2])>0)return s(Number(l[3]),d(l[2]),Number(l[1]))}var Kn=8;function qn(e){let t=e.closest(`.sheet-grid`);if(!t)return new DOMRect(0,0,window.innerWidth,window.innerHeight);let n=t.getBoundingClientRect(),r=t.querySelector(`.sheet-footer`),i=r?r.getBoundingClientRect().top:n.bottom;return new DOMRect(n.left,n.top,n.width,i-n.top)}function Jn(e,t,n=!0){(0,z.useLayoutEffect)(()=>{let t=e.current;if(!t||!n)return;t.style.transform=``;let r=t.getBoundingClientRect(),i=qn(t),a=0,o=0;if(r.right>i.right-Kn&&(a=Math.max(i.left+Kn-r.left,i.right-Kn-r.right)),r.bottom>i.bottom-Kn){let e=(t.closest(`.sheet-cell`)??t.parentElement)?.getBoundingClientRect(),n=e?r.height-e.height:r.height;o=r.top-n>=i.top+Kn?-n:Math.max(i.top+Kn-r.top,i.bottom-Kn-r.bottom)}(a!==0||o!==0)&&(t.style.transform=`translate(${String(a)}px, ${String(o)}px)`)},[e,t,n])}function Yn(){let e=t=>{window.removeEventListener(`pointerup`,e,!0),t.button===2&&(t.preventDefault(),t.stopPropagation())};window.addEventListener(`pointerup`,e,!0)}var Xn=e=>/^\d{4}-\d{2}-\d{2}[T ](\d{2}:\d{2})/.exec(e.trim())?.[1];function Zn(e,t){let n=e.trim(),r=n.slice(0,10),i=/(Z|[+-]\d{2}:?\d{2})$/.exec(n)?.[1]??``;return t===void 0?r:`${r}T${t}${i}`}function Qn({value:e,initial:t,strings:n,onCommit:i,onCancel:a,inline:o,locale:s}){let c=Rn(),[l,u]=(0,z.useState)(t??e),[d,f]=(0,z.useState)(!1),p=Gn(l,c,s),m=p?.slice(0,10),[h,g]=(0,z.useState)(()=>{let e=m??c;return{year:Number(e.slice(0,4)),month:Number(e.slice(5,7))}}),_=(0,z.useRef)(null),v=(0,z.useRef)(null);Jn(_,d,!o),(0,z.useLayoutEffect)(()=>{let e=v.current;e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let ee=Fn(s),y=Nn(h.year,h.month,ee),x=(0,z.useMemo)(()=>{let e=new Intl.DateTimeFormat(s??`en`,{weekday:`narrow`,timeZone:`UTC`});return(y[0]??[]).map(t=>e.format(Date.parse(`${t.day}T00:00:00Z`)))},[s,y]),S=new Intl.DateTimeFormat(s??`en`,{year:`numeric`,month:`long`,timeZone:`UTC`}).format(Date.UTC(h.year,h.month-1,1)),C=t=>Ln(p??e,t),w=e=>{g({year:Number(e.slice(0,4)),month:Number(e.slice(5,7))})},T=e=>{l.trim()===``?i(``,e):p===void 0?(f(!0),v.current?.focus()):i(p,e)},te=e=>{let t=C(Vn(m??c,e));u(t),f(!1),w(t.slice(0,10))},E=e=>{e.nativeEvent.isComposing||(e.stopPropagation(),e.key===`Escape`?(e.preventDefault(),a()):e.key===`Enter`?(e.preventDefault(),T(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),T(e.shiftKey?`shift-tab`:`tab`)):e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),te((e.key===`ArrowDown`?1:-1)*(e.shiftKey?7:1))):(e.key===`PageDown`||e.key===`PageUp`)&&(e.preventDefault(),g(t=>In(t,e.key===`PageDown`?1:-1))))},D=p===void 0?void 0:Xn(p),ne=e=>{e.preventDefault()};return(0,B.jsxs)(`div`,{ref:_,className:`sheet-editor sheet-date`,"data-inline":o?``:void 0,"data-wrong":d?``:void 0,"data-testid":`sheet-date-editor`,children:[(0,B.jsx)(`input`,{ref:v,className:`sheet-date-field`,value:l,placeholder:n.date.placeholder,"aria-label":n.types.date,"aria-invalid":d,spellCheck:!1,onChange:e=>{u(e.target.value),f(!1);let t=Gn(e.target.value,c,s);t&&w(t.slice(0,10))},onKeyDown:E,onBlur:e=>{_.current?.contains(e.relatedTarget)||(l.trim()===``?i(``,`click`):p===void 0?a():i(p,`click`))}}),d&&(0,B.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:n.cell.notDate}),(0,B.jsxs)(`div`,{className:`sheet-date-month`,onMouseDown:ne,children:[(0,B.jsx)(`span`,{className:`sheet-date-title`,children:S}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.previousMonth,onClick:()=>{g(e=>In(e,-1))},children:(0,B.jsx)(b,{size:14,"aria-hidden":!0})}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.nextMonth,onClick:()=>{g(e=>In(e,1))},children:(0,B.jsx)(ue,{size:14,"aria-hidden":!0})})]}),(0,B.jsxs)(`div`,{className:`sheet-date-days`,role:`grid`,"aria-label":S,onMouseDown:ne,children:[(0,B.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:x.map((e,t)=>(0,B.jsx)(`span`,{className:`sheet-date-weekday`,role:`columnheader`,children:e},t))}),y.map(e=>(0,B.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:e.map(e=>(0,B.jsx)(`button`,{type:`button`,role:`gridcell`,tabIndex:-1,className:`sheet-date-day`,"aria-selected":e.day===m,"data-out":e.inMonth?void 0:``,"data-today":e.day===c?``:void 0,"data-day":e.day,onClick:()=>{i(C(e.day),`click`)},children:Number(e.day.slice(8))},e.day))},e[0]?.day))]}),(0,B.jsxs)(`div`,{className:`sheet-date-foot`,onMouseDown:ne,children:[(0,B.jsx)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{i(C(c),`click`)},children:n.date.today}),p!==void 0&&(D===void 0?(0,B.jsxs)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{u(Zn(p,`09:00`))},children:[(0,B.jsx)(L,{size:12,"aria-hidden":!0}),n.date.addTime]}):(0,B.jsxs)(`span`,{className:`sheet-date-time`,children:[(0,B.jsx)(L,{size:12,"aria-hidden":!0}),(0,B.jsx)(`input`,{type:`time`,"aria-label":n.date.time,value:D,onMouseDown:e=>{e.stopPropagation()},onChange:e=>{e.target.value!==``&&u(Zn(p,e.target.value))},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),T(`enter`)):e.key===`Escape`&&(e.preventDefault(),a())}}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.removeTime,onClick:()=>{u(Zn(p,void 0))},children:(0,B.jsx)(r,{size:12,"aria-hidden":!0})})]})),(0,B.jsx)(`button`,{type:`button`,className:`sheet-date-action`,"data-quiet":``,tabIndex:-1,onClick:()=>{i(``,`click`)},children:n.date.clear})]})]})}var $n=e(t(),1),er=350,tr=320;function nr(e,t,n){return Dt(e,t).map(n)}function rr({path:e,height:t,dir:n,fileUrl:r,strings:i,onOpen:a}){let o=nr(n,e,r),[s,c]=(0,z.useState)(0),[l,u]=(0,z.useState)(),d=(0,z.useRef)(void 0),f=(0,z.useRef)(null),p=o[s];return(0,z.useEffect)(()=>()=>{window.clearTimeout(d.current)},[]),p===null?(0,B.jsx)(`span`,{className:`sheet-pic`,style:{height:t},"aria-hidden":!0}):p===void 0?(0,B.jsxs)(`span`,{className:`sheet-pic`,"data-missing":``,style:{height:t},title:`${e}: ${i.files.notFound}`,children:[(0,B.jsx)(Pe,{size:Math.min(14,t-6),"aria-hidden":!0}),t>=40&&(0,B.jsx)(`span`,{children:i.files.notFound})]}):(0,B.jsxs)(`button`,{ref:f,type:`button`,className:`sheet-pic`,style:{height:t},title:En(e),"aria-label":En(e),tabIndex:-1,onClick:e=>{e.stopPropagation(),window.clearTimeout(d.current),u(void 0),a?.()},onPointerEnter:()=>{t>=tr/2||(window.clearTimeout(d.current),d.current=window.setTimeout(()=>{let e=f.current?.getBoundingClientRect();e&&u(e)},er))},onPointerLeave:()=>{window.clearTimeout(d.current),u(void 0)},children:[(0,B.jsx)(`img`,{src:p,alt:``,loading:`lazy`,draggable:!1,onError:()=>{c(e=>e+1)}}),l&&(0,$n.createPortal)((0,B.jsx)(`span`,{className:`sheet-pic-preview`,role:`presentation`,style:ir(l),children:(0,B.jsx)(`img`,{src:p,alt:``})}),document.body)]})}function ir(e){let t=Math.max(8,Math.min(e.left,window.innerWidth-344));return window.innerHeight-e.bottom>344?{left:t,top:e.bottom+6}:{left:t,bottom:window.innerHeight-e.top+6}}function ar({column:e,value:t,strings:n,dir:r,fileUrl:i,height:a,onOpen:o}){let s=Tn(e,t),c=a??e.height??24,l=s.length===1,u=(0,z.useRef)(null),[d,f]=(0,z.useState)(0);return(0,z.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{let t=0;for(let n of e.children){let r=n;r.dataset.more===void 0&&r.offsetLeft+r.offsetWidth>e.clientWidth+1&&t++}f(t)});t.observe(e);for(let n of e.children)t.observe(n);return()=>{t.disconnect()}},[t,c]),(0,B.jsxs)(`span`,{ref:u,className:`sheet-files`,title:s.join(`
26
+ `),children:[s.map((e,t)=>wn.test(e)&&i?(0,B.jsx)(rr,{path:e,height:c,dir:r??``,fileUrl:i,strings:n,...o?{onOpen:()=>{o(t)}}:{}},`${e}-${String(t)}`):(0,B.jsxs)(`span`,{className:`sheet-file`,"data-only":l?``:void 0,children:[(0,B.jsx)(j,{size:13,"aria-hidden":!0}),(0,B.jsx)(`span`,{className:`sheet-file-name`,children:En(e)})]},`${e}-${String(t)}`)),d>0&&(0,B.jsxs)(`span`,{className:`sheet-files-more`,"data-more":``,children:[`+`,d]})]})}function or({files:e,at:t,dir:n,fileUrl:i,strings:a,readOnly:o,onStep:s,onRemove:c,onClose:l}){let u=e[t],[d,f]=(0,z.useState)(0),[p,m]=(0,z.useState)(t);if(p!==t&&(m(t),f(0)),!u)return null;let h=nr(n,u.path,i)[d],g=wn.test(u.path),_=n=>{e.length>1&&s((t+n+e.length)%e.length)};return(0,B.jsx)(pe,{open:!0,onOpenChange:e=>{e||l()},children:(0,B.jsxs)(me,{className:`sheet-viewer`,showCloseButton:!1,"data-testid":`sheet-viewer`,tabIndex:-1,onOpenAutoFocus:e=>{e.preventDefault(),e.currentTarget?.focus()},onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),_(-1)):e.key===`ArrowRight`&&(e.preventDefault(),_(1))},children:[(0,B.jsxs)(`header`,{className:`sheet-viewer-bar`,children:[(0,B.jsxs)(`span`,{className:`sheet-viewer-names`,children:[(0,B.jsx)(he,{className:`sheet-viewer-name`,children:En(u.path)}),(0,B.jsxs)(`span`,{className:`sheet-viewer-row`,children:[u.title,e.length>1&&(0,B.jsx)(`span`,{className:`sheet-viewer-count`,children:a.files.of(t+1,e.length)})]})]}),typeof h==`string`&&(0,B.jsxs)(`a`,{className:`sheet-viewer-action`,href:h,target:`_blank`,rel:`noreferrer noopener`,children:[(0,B.jsx)(Ae,{size:14,"aria-hidden":!0}),a.files.open]}),!o&&(0,B.jsx)(`button`,{type:`button`,className:`sheet-viewer-action`,"data-testid":`sheet-viewer-remove`,onClick:()=>{c(u)},children:a.files.remove}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":a.files.close,title:a.files.close,onClick:l,children:(0,B.jsx)(r,{size:16,"aria-hidden":!0})})]}),(0,B.jsxs)(`div`,{className:`sheet-viewer-stage`,children:[e.length>1&&(0,B.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`left`,"aria-label":a.files.previous,title:a.files.previous,onClick:()=>{_(-1)},children:(0,B.jsx)(b,{size:20,"aria-hidden":!0})}),h===null?null:g&&h!==void 0?(0,B.jsx)(`img`,{className:`sheet-viewer-picture`,src:h,alt:En(u.path),onError:()=>{f(e=>e+1)}}):(0,B.jsxs)(`span`,{className:`sheet-viewer-file`,"data-missing":h===void 0?``:void 0,children:[h===void 0?(0,B.jsx)(Pe,{size:40,"aria-hidden":!0}):(0,B.jsx)(j,{size:40,"aria-hidden":!0}),(0,B.jsx)(`span`,{children:h===void 0?a.files.notFound:u.path})]}),e.length>1&&(0,B.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`right`,"aria-label":a.files.next,title:a.files.next,onClick:()=>{_(1)},children:(0,B.jsx)(ue,{size:20,"aria-hidden":!0})})]})]})})}function sr({name:e,option:t}){return(0,B.jsx)(`span`,{className:`sheet-chip`,"data-color":t?.color??`gray`,"data-unknown":t?void 0:``,children:e})}function cr({column:e,value:t,locale:n,strings:r,fileUrl:i,dir:a,height:o,onToggle:s,onOpen:c}){if(Y(t))return e.type===`checkbox`?(0,B.jsx)(`button`,{type:`button`,className:`sheet-check`,"aria-checked":!1,role:`checkbox`,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s}):null;let l=gt(e,t);if(l!==void 0)return(0,B.jsx)(`span`,{className:`sheet-value`,"data-wrong":``,title:`“${t}” ${l}`,children:t});switch(e.type){case`checkbox`:{let e=pt(t)===!0;return(0,B.jsx)(`button`,{type:`button`,className:`sheet-check`,role:`checkbox`,"aria-checked":e,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s,children:e&&(0,B.jsx)(v,{size:12,strokeWidth:3,"aria-hidden":!0})})}case`select`:{let n=e.options?.find(e=>e.name===t.trim());return(0,B.jsx)(sr,{name:t.trim(),...n?{option:n}:{}})}case`multi-select`:return(0,B.jsx)(`span`,{className:`sheet-chips`,children:mt(t,e.separator).map((t,n)=>{let r=e.options?.find(e=>e.name===t);return(0,B.jsx)(sr,{name:t,...r?{option:r}:{}},`${t}-${String(n)}`)})});case`url`:case`email`:case`phone`:{let n=_t(e,t);return(0,B.jsxs)(`span`,{className:`sheet-link`,children:[(0,B.jsx)(`span`,{className:`sheet-link-text`,children:t}),n&&(0,B.jsx)(`a`,{className:`sheet-link-open`,href:n,target:`_blank`,rel:`noreferrer noopener`,title:r.cell.open,"aria-label":r.cell.open,onMouseDown:e=>{e.stopPropagation()},children:(0,B.jsx)(Ae,{size:12,"aria-hidden":!0})})]})}case`file`:return(0,B.jsx)(ar,{column:e,value:t,strings:r,...a===void 0?{}:{dir:a},...i?{fileUrl:i}:{},...o===void 0?{}:{height:o},...c?{onOpen:c}:{}});default:return(0,B.jsx)(`span`,{className:`sheet-value`,children:St(e,t,n)})}}function lr(e,t,n){if(!Y(t))switch(e.type){case`number`:return dt(t)===void 0?n.cell.notNumber:void 0;case`date`:return ft(t)===void 0?n.cell.notDate:void 0;case`email`:return gt(e,t)===void 0?void 0:n.cell.notEmail;case`url`:return gt(e,t)===void 0?void 0:n.cell.notUrl;default:return}}function ur(e){let{column:t}=e;return t.type===`select`||t.type===`multi-select`?(0,B.jsx)(fr,{...e}):t.type===`date`?(0,B.jsx)(Qn,{...e}):(0,B.jsx)(dr,{...e})}function dr({column:e,value:t,initial:n,strings:r,onCommit:i,onCancel:a,inline:o}){let[s,c]=(0,z.useState)(n??t),[l,u]=(0,z.useState)(),d=(0,z.useRef)(null),f=(0,z.useRef)(null),p=e.type===`text`;Jn(f,l,!o),(0,z.useLayoutEffect)(()=>{let e=d.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),(0,z.useLayoutEffect)(()=>{let e=d.current;e&&p&&(e.style.height=`auto`,e.style.height=`${String(e.scrollHeight)}px`)},[s,p]);let m=t=>{let n=e.type===`text`?s:s.trim(),a=lr(e,n,r);a===void 0?i(n,t):(u(a),d.current?.focus())},h=e=>{e.nativeEvent.isComposing||(e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),a()):e.key===`Enter`&&!(p&&(e.shiftKey||e.altKey))?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-tab`:`tab`)):e.stopPropagation())},g=e.type===`number`?`1234.5`:void 0;return(0,B.jsxs)(`div`,{ref:f,className:`sheet-editor`,"data-inline":o?``:void 0,"data-wrong":l?``:void 0,children:[(0,B.jsx)(`textarea`,{ref:d,className:`sheet-editor-input`,"data-type":e.type,rows:1,value:s,spellCheck:e.type===`text`,...g?{placeholder:g}:{},onChange:e=>{c(e.target.value),u(void 0)},onKeyDown:h,onBlur:t=>{if(o||f.current?.contains(t.relatedTarget))return;let n=e.type===`text`?s:s.trim();lr(e,n,r)===void 0?i(n,`click`):a()},"aria-invalid":l!==void 0}),l&&(0,B.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:l})]})}function fr({column:e,value:t,initial:n,strings:i,onCommit:a,onCancel:o,onAddOption:s,inline:c}){let l=e.type===`multi-select`,u=(0,z.useMemo)(()=>e.options??[],[e.options]),[d,f]=(0,z.useState)(()=>l?mt(t,e.separator):t.trim()===``?[]:[t.trim()]),[p,m]=(0,z.useState)(n??``),[h,g]=(0,z.useState)(0),_=(0,z.useRef)(null),ee=(0,z.useRef)(null);(0,z.useEffect)(()=>{_.current?.focus()},[]);let y=p.trim().toLowerCase(),b=u.filter(e=>e.name.toLowerCase().includes(y)),x=u.some(e=>e.name.toLowerCase()===y),S=y!==``&&!x&&s!==void 0&&!p.includes(e.separator??`;`),C=b.length+ +!!S;Jn(ee,C,!c);let w=(t,n)=>{a(l?ht(t,e.separator):t[0]??``,n)},T=(e,t)=>{if(l){let t=d.includes(e)?d.filter(t=>t!==e):[...d,e];f(t),m(``),c&&w(t,`click`)}else w([e],t)},te=e=>{let t=p.trim();s?.(t),T(t,e)};return(0,B.jsxs)(`div`,{ref:ee,className:`sheet-editor sheet-options`,"data-inline":c?``:void 0,children:[(0,B.jsxs)(`div`,{className:`sheet-options-field`,children:[d.map(e=>{let t=u.find(t=>t.name===e);return(0,B.jsxs)(`span`,{className:`sheet-options-chosen`,children:[(0,B.jsx)(sr,{name:e,...t?{option:t}:{}}),(0,B.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`${i.cell.clear} ${e}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let t=d.filter(t=>t!==e);f(t),(!l||c)&&w(t,`click`)},children:(0,B.jsx)(r,{size:11,"aria-hidden":!0})})]},e)}),(0,B.jsx)(`input`,{ref:_,className:`sheet-options-input`,value:p,placeholder:d.length===0?i.column.addOption:``,onChange:e=>{m(e.target.value),g(0)},onKeyDown:n=>{if(!n.nativeEvent.isComposing){if(n.stopPropagation(),n.key===`Escape`)n.preventDefault(),l&&d.join(`\0`)!==mt(t,e.separator).join(`\0`)?w(d,`click`):o();else if(n.key===`ArrowDown`)n.preventDefault(),g(e=>Math.min(C-1,e+1));else if(n.key===`ArrowUp`)n.preventDefault(),g(e=>Math.max(0,e-1));else if(n.key===`Enter`){if(n.preventDefault(),y===``&&l){w(d,n.shiftKey?`shift-enter`:`enter`);return}let e=b[h];e?T(e.name,n.shiftKey?`shift-enter`:`enter`):S?te(n.shiftKey?`shift-enter`:`enter`):y===``&&!l&&w([],`enter`)}else n.key===`Tab`?(n.preventDefault(),w(d,n.shiftKey?`shift-tab`:`tab`)):n.key===`Backspace`&&p===``&&d.length>0&&(n.preventDefault(),f(d.slice(0,-1)))}},onBlur:()=>{!c&&l?w(d,`click`):c||o()}})]}),(0,B.jsxs)(`ul`,{className:`sheet-options-list`,role:`listbox`,"aria-multiselectable":l,children:[b.map((e,t)=>(0,B.jsxs)(`li`,{role:`option`,"aria-selected":d.includes(e.name),"data-active":t===h?``:void 0,onMouseDown:e=>{e.preventDefault()},onMouseEnter:()=>{g(t)},onClick:()=>{T(e.name,`click`)},children:[(0,B.jsx)(sr,{name:e.name,option:e}),d.includes(e.name)&&(0,B.jsx)(v,{size:13,"aria-hidden":!0,className:`sheet-options-tick`})]},e.name)),S&&(0,B.jsxs)(`li`,{role:`option`,"aria-selected":!1,"data-active":h===b.length?``:void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{te(`click`)},children:[(0,B.jsx)(Se,{size:13,"aria-hidden":!0}),(0,B.jsx)(`span`,{children:i.column.newOption(p.trim())})]})]})]})}function pr({column:e,canHide:t,strings:n,actions:r,open:i,onOpenChange:a}){let o=n.column,s=Sn(e);return(0,B.jsxs)(ve,{modal:!1,open:i,onOpenChange:a,children:[(0,B.jsx)(xe,{asChild:!0,children:(0,B.jsx)(`span`,{className:`sheet-head-anchor`,"aria-hidden":!0})}),(0,B.jsxs)(be,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-column-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[(0,B.jsxs)(M,{onSelect:r.rename,children:[(0,B.jsx)(Be,{"aria-hidden":!0}),o.rename]}),(0,B.jsxs)(P,{children:[(0,B.jsxs)(ge,{"data-testid":`sheet-format`,children:[(0,B.jsx)(Re,{"aria-hidden":!0}),o.format]}),(0,B.jsxs)(fe,{className:`sheet-menu`,children:[s===void 0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(M,{disabled:!0,className:`sheet-menu-note`,children:[(0,B.jsx)(v,{"aria-hidden":!0}),n.types[e.type]]}),(0,B.jsx)(de,{})]}),xn.map(e=>(0,B.jsxs)(M,{"data-testid":`sheet-format-${e}`,onSelect:()=>{e!==s&&r.format(e)},children:[e===s?(0,B.jsx)(v,{"aria-hidden":!0}):(0,B.jsx)(`span`,{className:`sheet-menu-blank`,"aria-hidden":!0}),o.formats[e]]},e))]})]}),(0,B.jsx)(de,{}),(0,B.jsxs)(M,{onSelect:()=>{r.insert(`left`)},children:[(0,B.jsx)(we,{"aria-hidden":!0}),o.insertLeft]}),(0,B.jsxs)(M,{onSelect:()=>{r.insert(`right`)},children:[(0,B.jsx)(Te,{"aria-hidden":!0}),o.insertRight]}),t&&(0,B.jsxs)(M,{onSelect:r.hide,children:[(0,B.jsx)(E,{"aria-hidden":!0}),o.hide]}),(0,B.jsx)(de,{}),(0,B.jsxs)(M,{variant:`destructive`,onSelect:r.remove,children:[(0,B.jsx)(oe,{"aria-hidden":!0}),o.remove]})]})]})}function mr(e,t){let n=t.auto;return e.key===`∅`?n.blanks:e.key===`b:true`?n.checked:e.key===`b:false`?n.unchecked:e.key===`f:any`?n.hasFile:e.label}function hr(e,t){let n=e.options?.find(e=>e.name===t);return n?{option:n}:{}}var gr=1e3;function _r({name:e,column:t,values:n,ticked:r,sort:i,strings:a,locale:o,trigger:s,onSort:c,onTicked:l}){let u=a.auto,[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)([]),[h,g]=(0,z.useState)(new Set),[v,ee]=(0,z.useState)(``),b=t.type===`number`?`number`:t.type===`date`?`date`:t.type===`select`||t.type===`multi-select`?`options`:`text`,S=b===`options`,w=(0,z.useMemo)(()=>{let e=v.trim().toLocaleLowerCase(o);return e===``?p:p.filter(t=>mr(t,a).toLocaleLowerCase(o).includes(e))},[p,v,a,o]),T=w.length>0&&w.every(e=>h.has(e.key)),te=w.some(e=>h.has(e.key)),E=()=>{f(!1)};return(0,B.jsxs)(x,{open:d,onOpenChange:e=>{if(e){let e=n();m(e),g(new Set(r??e.map(e=>e.key))),ee(``)}f(e)},children:[(0,B.jsx)(y,{asChild:!0,children:s}),(0,B.jsxs)(C,{align:`start`,className:`sheet-pop sheet-autofilter`,"data-testid":`sheet-autofilter`,"aria-label":u.button(e),onKeyDown:e=>{e.stopPropagation()},children:[(0,B.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`asc`?``:void 0,"data-testid":`sheet-sort-asc`,onClick:()=>{c(!1),E()},children:[(0,B.jsx)(Ee,{size:14,"aria-hidden":!0}),u.sortAsc[b]]}),(0,B.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`desc`?``:void 0,"data-testid":`sheet-sort-desc`,onClick:()=>{c(!0),E()},children:[(0,B.jsx)(Ce,{size:14,"aria-hidden":!0}),u.sortDesc[b]]}),(0,B.jsx)(`div`,{className:`sheet-auto-rule`,role:`separator`}),(0,B.jsxs)(`label`,{className:`sheet-auto-search`,children:[(0,B.jsx)(R,{size:13,"aria-hidden":!0}),(0,B.jsx)(`input`,{value:v,placeholder:u.search,"aria-label":u.search,"data-testid":`sheet-autofilter-search`,onChange:e=>{ee(e.target.value)}})]}),(0,B.jsxs)(`div`,{className:`sheet-auto-list`,role:`group`,"aria-label":e,children:[w.length>0&&(0,B.jsxs)(`label`,{className:`sheet-auto-row`,"data-all":``,children:[(0,B.jsx)(`input`,{type:`checkbox`,checked:T,ref:e=>{e&&(e.indeterminate=!T&&te)},onChange:()=>{g(e=>{let t=new Set(e);for(let e of w)T?t.delete(e.key):t.add(e.key);return t})}}),(0,B.jsx)(`span`,{className:`sheet-auto-label`,children:v.trim()===``?u.selectAll:u.selectFound})]}),w.slice(0,gr).map(e=>(0,B.jsxs)(`label`,{className:`sheet-auto-row`,children:[(0,B.jsx)(`input`,{type:`checkbox`,checked:h.has(e.key),onChange:()=>{g(t=>{let n=new Set(t);return n.has(e.key)?n.delete(e.key):n.add(e.key),n})}}),(0,B.jsx)(`span`,{className:`sheet-auto-label`,"data-quiet":e.key===`∅`?``:void 0,children:S&&e.key!==`∅`?(0,B.jsx)(sr,{name:e.label,...hr(t,e.label)}):mr(e,a)}),(0,B.jsx)(`span`,{className:`sheet-auto-count`,children:e.count})]},e.key)),w.length>gr&&(0,B.jsx)(`p`,{className:`sheet-auto-more`,children:u.more(w.length-gr)}),w.length===0&&(0,B.jsx)(`p`,{className:`sheet-auto-more`,children:u.none})]}),(0,B.jsxs)(`div`,{className:`sheet-auto-foot`,children:[r!==void 0&&(0,B.jsx)(_,{variant:`ghost`,size:`xs`,"data-testid":`sheet-autofilter-clear`,onClick:()=>{l(void 0),E()},children:u.clear}),(0,B.jsx)(`span`,{className:`sheet-auto-gap`}),(0,B.jsx)(_,{variant:`ghost`,size:`xs`,onClick:E,children:a.column.cancel}),(0,B.jsx)(_,{size:`xs`,"data-testid":`sheet-autofilter-ok`,disabled:h.size===0,onClick:()=>{let e=p.filter(e=>h.has(e.key));l(e.length===p.length?void 0:e),E()},children:u.ok})]})]})]})}function vr(e,t,n){let r=n.initialDeps??[],i;function a(){var a;let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
27
+ font-size: .6rem;
28
+ font-weight: bold;
29
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return(a=n?.onChange)==null||a.call(n,i),i}return a.updateDeps=e=>{r=e},a}function yr(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var br=(e,t)=>Math.abs(e-t)<1.01,xr=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Sr=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Cr=e=>e,wr=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},Tr=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Sr(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Sr(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Er={passive:!0},Dr=typeof window>`u`||`onscrollend`in window,Or=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&Dr?()=>void 0:xr(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);c(),n.addEventListener(`scroll`,s,Er);let l=e.options.useScrollendEvent&&Dr;return l&&n.addEventListener(`scrollend`,c,Er),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},kr=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Ar=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},jr=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Cr,rangeExtractor:wr,onChange:()=>{},measureElement:kr,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=vr(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=vr(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,t,n,r,i)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i}),{key:!1}),this.getMeasurements=vr(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i},a)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let o=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let s=this.measurementsCache.slice(0,o);for(let i=o;i<e;i++){let e=r(i),o=this.options.lanes===1?s[i-1]:this.getFurthestMeasurement(s,i),c=o?o.end+this.options.gap:t+n,l=a.get(e),u=typeof l==`number`?l:this.options.estimateSize(i),d=c+u,f=o?o.lane:i%this.options.lanes;s[i]={index:i,start:c,size:u,end:d,key:e,lane:f}}return this.measurementsCache=s,s},{key:!1,debug:()=>this.options.debug}),this.calculateRange=vr(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?Nr({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=vr(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(n,r,this))&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.measureElement=e=>{e?this._measureElement(e,void 0):this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))})},this.getVirtualItems=vr(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return yr(t[Mr(0,t.length-1,e=>yr(t[e]).start,e)])},this.getOffsetForAlignment=(e,t,n=0)=>{let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getTotalSize()+this.options.scrollMargin-r;return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`){if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t]}let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1));let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);n?br(n[0],t)||a(o):console.warn(`Failed to get offset for index:`,e)})},a=t=>{this.targetWindow&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(e)}},Mr=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Nr({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=Mr(0,i,a,n),s=o;if(r===1)for(;s<i&&e[s].end<n+t;)s++;else if(r>1){let a=Array(r).fill(0);for(;s<i&&a.some(e=>e<n+t);){let t=e[s];a[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var Pr=typeof document<`u`?z.useLayoutEffect:z.useEffect;function Fr(e){let t=z.useReducer(()=>({}),{})[1],n={...e,onChange:(n,r)=>{var i;r?(0,$n.flushSync)(t):t(),(i=e.onChange)==null||i.call(e,n,r)}},[r]=z.useState(()=>new jr(n));return r.setOptions(n),Pr(()=>r._didMount(),[]),Pr(()=>r._willUpdate()),r}function Ir(e){return Fr({observeElementRect:Tr,observeElementOffset:Or,scrollToFn:Ar,...e})}function Lr(e,t){return typeof e==`function`?e(t):e}function Rr(e,t){return n=>{t.setState(t=>({...t,[e]:Lr(n,t[e])}))}}function zr(e){return e instanceof Function}function Br(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function Vr(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function Z(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
30
+ font-size: .6rem;
31
+ font-weight: bold;
32
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function Q(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function Hr(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:Z(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),Q(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function Ur(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:Z(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],Q(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:Z(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},Q(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var Wr=`debugHeaders`;function Gr(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var Kr={createTable:e=>{e.getHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return qr(t,[...a,...s,...o],e)},Q(e.options,Wr,`getHeaderGroups`)),e.getCenterHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),qr(t,n,e,`center`)),Q(e.options,Wr,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>qr(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),Q(e.options,Wr,`getLeftHeaderGroups`)),e.getRightHeaderGroups=Z(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>qr(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),Q(e.options,Wr,`getRightHeaderGroups`)),e.getFooterGroups=Z(()=>[e.getHeaderGroups()],e=>[...e].reverse(),Q(e.options,Wr,`getFooterGroups`)),e.getLeftFooterGroups=Z(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),Q(e.options,Wr,`getLeftFooterGroups`)),e.getCenterFooterGroups=Z(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),Q(e.options,Wr,`getCenterFooterGroups`)),e.getRightFooterGroups=Z(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),Q(e.options,Wr,`getRightFooterGroups`)),e.getFlatHeaders=Z(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,Wr,`getFlatHeaders`)),e.getLeftFlatHeaders=Z(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,Wr,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=Z(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,Wr,`getCenterFlatHeaders`)),e.getRightFlatHeaders=Z(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),Q(e.options,Wr,`getRightFlatHeaders`)),e.getCenterLeafHeaders=Z(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,Wr,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=Z(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,Wr,`getLeftLeafHeaders`)),e.getRightLeafHeaders=Z(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),Q(e.options,Wr,`getRightLeafHeaders`)),e.getLeafHeaders=Z(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),Q(e.options,Wr,`getLeafHeaders`))}};function qr(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=Gr(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>Gr(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var Jr=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>Vr(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:Z(()=>[e.getAllLeafColumns()],t=>t.map(t=>Hr(e,s,t,t.id)),Q(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:Z(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),Q(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},Yr={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},Xr=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!((i=e.getValue(t))!=null&&(i=i.toString())!=null&&(i=i.toLowerCase())!=null&&i.includes(a))};Xr.autoRemove=e=>oi(e);var Zr=(e,t,n)=>{var r;return!!((r=e.getValue(t))!=null&&(r=r.toString())!=null&&r.includes(n))};Zr.autoRemove=e=>oi(e);var Qr=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};Qr.autoRemove=e=>oi(e);var $r=(e,t,n)=>e.getValue(t)?.includes(n);$r.autoRemove=e=>oi(e);var ei=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});ei.autoRemove=e=>oi(e)||!(e!=null&&e.length);var ti=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));ti.autoRemove=e=>oi(e)||!(e!=null&&e.length);var ni=(e,t,n)=>e.getValue(t)===n;ni.autoRemove=e=>oi(e);var ri=(e,t,n)=>e.getValue(t)==n;ri.autoRemove=e=>oi(e);var ii=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};ii.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},ii.autoRemove=e=>oi(e)||oi(e[0])&&oi(e[1]);var ai={includesString:Xr,includesStringSensitive:Zr,equalsString:Qr,arrIncludes:$r,arrIncludesAll:ei,arrIncludesSome:ti,equals:ni,weakEquals:ri,inNumberRange:ii};function oi(e){return e==null||e===``}var si={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Rr(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?ai.includesString:typeof n==`number`?ai.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?ai.equals:Array.isArray(n)?ai.arrIncludes:ai.weakEquals},e.getFilterFn=()=>zr(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??ai[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=Lr(n,i?i.value:void 0);if(ci(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>Lr(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&ci(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function ci(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var li={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!Br(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},ui={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Rr(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return li.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return li.extent},e.getAggregationFn=()=>{if(!e)throw Error();return zr(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??li[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function di(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var fi={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Rr(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=Z(e=>[Ci(t,e)],t=>t.findIndex(t=>t.id===e.id),Q(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>Ci(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=Ci(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=Z(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return di(i,t,n)},Q(e.options,`debugTable`,`_getOrderColumnsFn`))}},pi=()=>({left:[],right:[]}),mi={getInitialState:e=>({columnPinning:pi(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Rr(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},Q(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),Q(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=Z(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),Q(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?pi():e.initialState?.columnPinning??pi()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),Q(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),Q(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=Z(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},Q(e.options,`debugColumns`,`getCenterLeafColumns`))}};function hi(e){return e||(typeof document<`u`?document:null)}var gi={size:150,minSize:20,maxSize:2**53-1},_i=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),vi={getDefaultColumnDef:()=>gi,getInitialState:e=>({columnSizing:{},columnSizingInfo:_i(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:Rr(`columnSizing`,e),onColumnSizingInfoChange:Rr(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??gi.minSize,n??e.columnDef.size??gi.size),e.columnDef.maxSize??gi.maxSize)},e.getStart=Z(e=>[e,Ci(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),Q(t.options,`debugColumns`,`getStart`)),e.getAfter=Z(e=>[e,Ci(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),Q(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),xi(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=xi(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=hi(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=bi()?{passive:!1}:!1;xi(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?_i():e.initialState.columnSizingInfo??_i())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},yi=null;function bi(){if(typeof yi==`boolean`)return yi;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return yi=e,yi}function xi(e){return e.type===`touchstart`}var Si={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Rr(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Z(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),Q(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=Z(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],Q(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>Z(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),Q(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function Ci(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var wi={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Ti={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Rr(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>ai.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return zr(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??ai[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Ei={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Rr(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0||!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Di=0,Oi=10,ki=()=>({pageIndex:Di,pageSize:Oi}),Ai={getInitialState:e=>({...e,pagination:{...ki(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Rr(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>Lr(t,e)),e.resetPagination=t=>{e.setPagination(t?ki():e.initialState.pagination??ki())},e.setPageIndex=t=>{e.setPagination(n=>{let r=Lr(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?Di:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??Di)},e.resetPageSize=t=>{var n;e.setPageSize(t?Oi:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??Oi)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,Lr(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=Lr(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=Z(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},Q(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1||n!==0&&t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},ji=()=>({top:[],bottom:[]}),Mi={getInitialState:e=>({rowPinning:ji(),...e}),getDefaultOptions:e=>({onRowPinningChange:Rr(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?ji():e.initialState?.rowPinning??ji()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),Q(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),Q(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=Z(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},Q(e.options,`debugRows`,`getCenterRows`))}},Ni={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Rr(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{Pi(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Fi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Fi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=Z(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Fi(e,n):{rows:[],flatRows:[],rowsById:{}},Q(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return Pi(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Ii(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Li(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Li(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},Pi=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>Pi(e,t.id,n,r,i))};function Fi(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Ii(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Ii(e,t){return t[e.id]??!1}function Li(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if((!a||i)&&(e.getCanSelect()&&(Ii(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Li(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var Ri=/([0-9]+)/gm,zi=(e,t,n)=>qi(Ki(e.getValue(n)).toLowerCase(),Ki(t.getValue(n)).toLowerCase()),Bi=(e,t,n)=>qi(Ki(e.getValue(n)),Ki(t.getValue(n))),Vi=(e,t,n)=>Gi(Ki(e.getValue(n)).toLowerCase(),Ki(t.getValue(n)).toLowerCase()),Hi=(e,t,n)=>Gi(Ki(e.getValue(n)),Ki(t.getValue(n))),Ui=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},Wi=(e,t,n)=>Gi(e.getValue(n),t.getValue(n));function Gi(e,t){return e===t?0:e>t?1:-1}function Ki(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function qi(e,t){let n=e.split(Ri).filter(Boolean),r=t.split(Ri).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1}else{if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}}return n.length-r.length}var Ji={alphanumeric:zi,alphanumericCaseSensitive:Bi,text:Vi,textCaseSensitive:Hi,datetime:Ui,basic:Wi},Yi=[Kr,Si,fi,mi,Yr,si,wi,Ti,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Rr(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return Ji.datetime;if(typeof n==`string`&&(r=!0,n.split(Ri).length>1))return Ji.alphanumeric}return r?Ji.text:Ji.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return zr(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??Ji[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},ui,Ei,Ai,Mi,Ni,vi];function Xi(e){let t=[...Yi,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{let t=Lr(e,n.options);n.options=i(t)},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:Z(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),Q(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:Z(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=Ur(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},Q(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:Z(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),Q(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:Z(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),Q(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:Z(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),Q(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function Zi(){return e=>Z(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=Jr(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},Q(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function Qi(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=z.useState(()=>({current:Xi(t)})),[r,i]=z.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}function $i(e,t=14){let n={size:t,"aria-hidden":!0,className:`sheet-type-icon`};switch(e){case`number`:return(0,B.jsx)(Ne,{...n});case`select`:return(0,B.jsx)(I,{...n});case`multi-select`:return(0,B.jsx)(le,{...n});case`date`:return(0,B.jsx)(De,{...n});case`checkbox`:return(0,B.jsx)(We,{...n});case`url`:return(0,B.jsx)(Ie,{...n});case`email`:return(0,B.jsx)(F,{...n});case`phone`:return(0,B.jsx)(Ve,{...n});case`file`:return(0,B.jsx)(ze,{...n});default:return(0,B.jsx)(ie,{...n})}}var ea=1,ta=()=>ea++,na=e=>({columns:[...e.columns],rows:e.rows.map(e=>({id:ta(),cells:e}))}),ra=e=>({columns:e.columns,rows:e.rows.map(e=>e.cells)}),ia=e=>new Map(e.rows.map((e,t)=>[e.id,t]));function aa(e,t){let n=[...e];for(let{row:e,after:r}of t){let t=r===null?0:n.findIndex(e=>e.id===r)+1;n.splice(t<=0&&r!==null?n.length:t,0,{id:e.id,cells:e.cells})}return n}function oa(e,t){let{table:n,texts:r}=e;switch(t.kind){case`cells`:{let e=ia(n),i=[...n.rows];for(let r of t.changes){let t=e.get(r.id),a=n.columns.indexOf(r.column);if(t===void 0||a<0)continue;let o=i[t];if(!o)continue;let s=[...o.cells];s[a]=r.after,i[t]={id:o.id,cells:s}}return{table:{columns:n.columns,rows:i},texts:r}}case`insert`:return{table:{columns:n.columns,rows:aa(n.rows,t.rows)},texts:r};case`remove`:{let e=new Set(t.rows.map(e=>e.row.id));return{table:{columns:n.columns,rows:n.rows.filter(t=>!e.has(t.id))},texts:r}}case`order`:{let e=new Map(n.rows.map(e=>[e.id,e])),i=[];for(let n of t.after){let t=e.get(n);t&&(i.push(t),e.delete(n))}return i.push(...e.values()),{table:{columns:n.columns,rows:i},texts:r}}case`insert-column`:{if(n.columns.includes(t.name))return e;let i=Math.max(0,Math.min(t.at,n.columns.length)),a=[...n.columns];return a.splice(i,0,t.name),{table:{columns:a,rows:n.rows.map(e=>{let n=[...e.cells];return n.splice(i,0,t.values.get(e.id)??``),{id:e.id,cells:n}})},texts:r}}case`remove-column`:{let i=n.columns.indexOf(t.name);return i<0?e:{table:{columns:n.columns.filter((e,t)=>t!==i),rows:n.rows.map(e=>({id:e.id,cells:e.cells.filter((e,t)=>t!==i)}))},texts:r}}case`rename-column`:{let i=n.columns.indexOf(t.from);if(i<0||n.columns.includes(t.to))return e;let a=[...n.columns];return a[i]=t.to,{table:{columns:a,rows:n.rows},texts:r}}case`move-column`:{let i=n.columns.indexOf(t.name);if(i<0)return e;let a=Math.max(0,Math.min(t.to,n.columns.length-1)),o=[...n.columns];return o.splice(i,1),o.splice(a,0,t.name),{table:{columns:o,rows:n.rows.map(e=>{let t=[...e.cells],[n]=t.splice(i,1);return t.splice(a,0,n??``),{id:e.id,cells:t}})},texts:r}}case`spec`:return{table:n,texts:{spec:t.after}};case`batch`:return t.edits.reduce(oa,e)}}function sa(e){switch(e.kind){case`cells`:return{kind:`cells`,changes:e.changes.map(e=>({...e,before:e.after,after:e.before}))};case`insert`:return{kind:`remove`,rows:e.rows};case`remove`:return{kind:`insert`,rows:e.rows};case`order`:return{kind:`order`,before:e.after,after:e.before};case`insert-column`:return{...e,kind:`remove-column`};case`remove-column`:return{...e,kind:`insert-column`};case`rename-column`:return{kind:`rename-column`,from:e.to,to:e.from};case`move-column`:return{kind:`move-column`,name:e.name,from:e.to,to:e.from};case`spec`:return{kind:`spec`,before:e.after,after:e.before};case`batch`:return{kind:`batch`,edits:[...e.edits].reverse().map(sa)}}}function ca(e){switch(e.kind){case`cells`:return e.changes.every(e=>e.before===e.after);case`insert`:case`remove`:return e.rows.length===0;case`order`:return e.before.length===e.after.length&&e.before.every((t,n)=>e.after[n]===t);case`rename-column`:return e.from===e.to;case`move-column`:return e.from===e.to;case`spec`:return e.before===e.after;case`batch`:return e.edits.every(ca);default:return!1}}function la(e,t){let n=null,r=[];for(let i of e.rows)t.has(i.id)&&r.push({row:i,after:n}),n=i.id;return{kind:`remove`,rows:r}}function ua(e,t){let n=t.map(t=>e.columns.indexOf(t));return e.rows.map(e=>n.map(t=>e.cells[t]??``).join(`\0`))}function da(e,t){let n={columns:[...t.columns],rows:t.rows.map(e=>({id:0,cells:e}))},r=e.columns.filter(e=>n.columns.includes(e)),a=ua(e,r),o=ua(n,r),s=i(a,o),c=[],l=new Set,u=r.map(t=>[e.columns.indexOf(t),n.columns.indexOf(t)]),d=(t,r)=>{if(u.length<=1)return!0;let i=e.rows[t]?.cells??[],a=n.rows[r]?.cells??[],o=u.filter(([e,t])=>(i[e]??``)===(a[t]??``)).length;return o>0&&o*2>=u.length},f=[],p=-1,m=-1;for(let[e,t]of[...s,[a.length,o.length]]){let n=m+1;for(let r=p+1;r<e;r++)for(let e=n;e<t;e++)if(d(r,e)){f.push([r,e]),n=e+1;break}e<a.length&&f.push([e,t]),p=e,m=t}for(let[t,i]of f){let a=e.rows[t],o=n.rows[i];if(a&&o){o.id=a.id,l.add(t);for(let t of r){let r=a.cells[e.columns.indexOf(t)]??``,i=o.cells[n.columns.indexOf(t)]??``;r!==i&&c.push({kind:`cell`,id:o.id,column:t,before:r,after:i})}}}for(let e of n.rows)e.id===0&&(e.id=ta(),c.push({kind:`row-added`,id:e.id}));let h=null;e.rows.forEach((t,n)=>{l.has(n)?h=t.id:c.push({kind:`row-removed`,row:t,after:h,columns:[...e.columns]})});for(let t of n.columns)e.columns.includes(t)||c.push({kind:`column-added`,name:t});return e.columns.forEach((t,r)=>{n.columns.includes(t)||c.push({kind:`column-removed`,name:t,at:r,values:new Map(e.rows.map(e=>[e.id,e.cells[r]??``]))})}),{table:n,changes:c}}function fa(e,t){switch(e.kind){case`cell`:{let n=t.rows.find(t=>t.id===e.id),r=t.columns.indexOf(e.column);return!n||r<0?void 0:{kind:`cells`,changes:[{id:e.id,column:e.column,before:n.cells[r]??``,after:e.before}]}}case`row-added`:return t.rows.some(t=>t.id===e.id)?la(t,new Set([e.id])):void 0;case`row-removed`:{let n=t.columns.map(t=>e.row.cells[e.columns.indexOf(t)]??``);return{kind:`insert`,rows:[{row:{id:e.row.id,cells:n},after:e.after}]}}case`column-added`:{let n=t.columns.indexOf(e.name);return n<0?void 0:{kind:`remove-column`,at:n,name:e.name,values:new Map(t.rows.map(e=>[e.id,e.cells[n]??``]))}}case`column-removed`:return{kind:`insert-column`,at:e.at,name:e.name,values:e.values}}}function pa(e,t){switch(e.kind){case`cells`:return t.kind===`cell`&&e.changes.some(e=>e.id===t.id&&e.column===t.column);case`remove`:return(t.kind===`cell`||t.kind===`row-added`)&&e.rows.some(e=>e.row.id===t.id);case`remove-column`:case`rename-column`:return t.kind===`cell`&&t.column===(`name`in e?e.name:e.from)||t.kind===`column-added`&&t.name===(`name`in e?e.name:e.from);case`batch`:return e.edits.some(e=>pa(e,t));default:return!1}}var ma=e=>({r0:Math.min(e.anchor.r,e.focus.r),r1:Math.max(e.anchor.r,e.focus.r),c0:Math.min(e.anchor.c,e.focus.c),c1:Math.max(e.anchor.c,e.focus.c)}),ha=(e,t,n)=>t>=e.r0&&t<=e.r1&&n>=e.c0&&n<=e.c1,ga=e=>({anchor:e,focus:e}),_a=(e,t,n)=>({r:Math.max(0,Math.min(e.r,t-1)),c:Math.max(0,Math.min(e.c,n-1))});function va(e,t,n){let{rows:r,cols:i}=n;if(r===0||i===0)return e;let{r:a,c:o}=e.focus;switch(t){case`up`:a=n.jump?0:a-1;break;case`down`:a=n.jump?r-1:a+1;break;case`left`:o=n.jump?0:o-1;break;case`right`:o=n.jump?i-1:o+1;break;case`home`:o=0,n.jump&&(a=0);break;case`end`:o=i-1,n.jump&&(a=r-1);break;case`top`:a=0;break;case`bottom`:a=r-1;break;case`page-up`:a-=n.page;break;case`page-down`:a+=n.page}let s=_a({r:a,c:o},r,i);return n.extend?{anchor:e.anchor,focus:s}:ga(s)}function ya(e,t,n,r){let i=ma(e);if(i.r0===i.r1&&i.c0===i.c1)return va(e,t===`next`?`right`:t===`previous`?`left`:t,{extend:!1,jump:!1,rows:n,cols:r,page:1});let{r:a,c:o}=e.focus,s=t===`next`||t===`previous`,c=t===`next`||t===`down`;return s?(o+=c?1:-1,o>i.c1?(o=i.c0,a=a>=i.r1?i.r0:a+1):o<i.c0&&(o=i.c1,a=a<=i.r0?i.r1:a-1)):(a+=c?1:-1,a>i.r1?(a=i.r0,o=o>=i.c1?i.c0:o+1):a<i.r0&&(a=i.r1,o=o<=i.c0?i.c1:o-1)),{anchor:e.anchor,focus:{r:a,c:o}}}function ba(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=t.columns.map(t=>e.columns.indexOf(t)),a=[];for(let e=n.r0;e<=n.r1;e++){let o=r.get(t.rows[e]??-1),s=[];for(let e=n.c0;e<=n.c1;e++)s.push(o?.cells[i[e]??-1]??``);a.push(s)}return H(a)}function xa(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=[];for(let a=n.r0;a<=n.r1;a++){let o=t.rows[a],s=o===void 0?void 0:r.get(o);if(s)for(let r=n.c0;r<=n.c1;r++){let n=t.columns[r];if(n===void 0)continue;let a=s.cells[e.columns.indexOf(n)]??``;a!==``&&i.push({id:s.id,column:n,before:a,after:``})}}return{kind:`cells`,changes:i}}function Sa(e,t){let n=e.type===`text`?t:t.trim();if(gt(e,n)===void 0)return n;if(e.type===`checkbox`){let e=n.toLowerCase();if([`yes`,`y`,`1`,`✓`,`x`,`checked`,`on`].includes(e))return`true`;if([`no`,`n`,`0`,``,`unchecked`,`off`].includes(e))return`false`}if(e.type===`number`){let e=n.endsWith(`%`),t=Number(n.replace(/[,\s$€£¥%]/g,``));if(n!==``&&Number.isFinite(t))return String(e?t/100:t)}}function Ca(e,t,n,r,i){let a=Je(i.replace(/\r?\n$/,``)),o=new Map,s=0,c=a.length===1&&(a[0]?.length??0)===1,l=c?r.r1-r.r0+1:a.length,u=c?r.c1-r.c0+1:Math.max(0,...a.map(e=>e.length)),d=new Map(e.rows.map(e=>[e.id,e])),f=[],p=[],m=(e,n)=>{let r=W(t,e);if(r.type===`select`||r.type===`multi-select`){let t=r.type===`select`?[n.trim()].filter(e=>e!==``):mt(n,r.separator),i=new Set((r.options??[]).map(e=>e.name));for(let n of t){if(i.has(n))continue;let t=o.get(e)??[];t.includes(n)||t.push(n),o.set(e,t)}return r.type===`select`?t[0]??``:ht(t,r.separator)}return Sa(r,n)};for(let t=0;t<l;t++){let i=a[c?0:t]??[],o=n.rows[r.r0+t],l=o===void 0?void 0:d.get(o);l||(l={id:ta(),cells:e.columns.map(()=>``)},p.push(l));for(let t=0;t<u;t++){let a=n.columns[r.c0+t];if(a===void 0)continue;let o=m(a,i[c?0:t]??``);if(o===void 0){s+=1;continue}let u=e.columns.indexOf(a);if(p.includes(l)){l.cells[u]=o;continue}let d=l.cells[u]??``;d!==o&&f.push({id:l.id,column:a,before:d,after:o})}}let h=e.rows[e.rows.length-1]?.id??null,g=[];if(f.length>0&&g.push({kind:`cells`,changes:f}),p.length>0){let e=h;g.push({kind:`insert`,rows:p.map(t=>{let n={row:t,after:e};return e=t.id,n})})}return{edit:g.length===1&&g[0]?g[0]:{kind:`batch`,edits:g},skipped:s,options:o}}function wa(e,t,n,r=1){let i=new Map(e.rows.map(e=>[e.id,e])),a=[],o=Math.max(1,Math.min(r,n.r1-n.r0+1));for(let r=n.c0;r<=n.c1;r++){let s=t.columns[r];if(s===void 0)continue;let c=e.columns.indexOf(s),l=[];for(let e=0;e<o;e++)l.push(i.get(t.rows[n.r0+e]??-1)?.cells[c]??``);for(let e=n.r0+o;e<=n.r1;e++){let r=i.get(t.rows[e]??-1);if(!r)continue;let u=l[(e-n.r0)%o]??``,d=r.cells[c]??``;d!==u&&a.push({id:r.id,column:s,before:d,after:u})}}return{kind:`cells`,changes:a}}var Ta=34,Ea=44;function Da(e){switch(e.type){case`checkbox`:return 96;case`number`:return 132;case`date`:return 150;case`select`:return 160;default:return 200}}var Oa=(e,t)=>`${String(e)}:${t}`;function ka(e,t,n,r){let i=[];return r?i.push(`inset 0 0 0 1px var(--sheet-focus)`):e&&ha(e,t,n)&&(e.r0!==e.r1||e.c0!==e.c1)&&(t===e.r0&&i.push(`inset 0 1px 0 0 var(--sheet-focus)`),t===e.r1&&i.push(`inset 0 -1px 0 0 var(--sheet-focus)`),n===e.c0&&i.push(`inset 1px 0 0 0 var(--sheet-focus)`),n===e.c1&&i.push(`inset -1px 0 0 0 var(--sheet-focus)`)),i.length?i.join(`,`):void 0}var Aa=(0,z.forwardRef)(function(e,t){let{spec:n,columns:r,widths:i,fit:a,freeze:o,wrap:s,items:c,rowItems:l,selection:u,editing:d,readOnly:f,found:p,current:m,agentCells:h,agentRows:g,away:_,sorted:v,strings:y,locale:b,on:x}=e,S=e.rowHeight??34,C=(0,z.useRef)(null),[w,T]=(0,z.useState)({}),te=Qi({data:[],columns:(0,z.useMemo)(()=>r.map(e=>({id:e,size:i[e]??W(n,e).width??a?.[e]??Da(W(n,e)),minSize:60,maxSize:1200})),[r,i,n,a]),getCoreRowModel:Zi(),columnResizeMode:`onChange`,state:{columnSizing:w},onColumnSizingChange:T}),E=te.getState().columnSizingInfo.isResizingColumn,D=(0,z.useRef)(!1);(0,z.useEffect)(()=>{let e=D.current;if(D.current=E,e&&!E){let t=w[e];t!==void 0&&x.resize(e,Math.round(t))}},[E,w,x]),(0,z.useEffect)(()=>{T({})},[i]);let O=r.map(e=>te.getColumn(e)?.getSize()??i[e]??a?.[e]??Da(W(n,e))),k=Math.min(o,r.length),re=[],ie=72;for(let e=0;e<k;e++)re.push(ie),ie+=O[e]??0;let A=ie-72,oe=r.slice(k),se=O.slice(k),ce=72+O.reduce((e,t)=>e+t,0)+Ea,le=s.size>0,j=Ir({count:c.length,getScrollElement:()=>C.current,estimateSize:()=>S,overscan:12,scrollMargin:34,getItemKey:e=>{let t=c[e];return t===void 0?e:`r:${String(t.row.id)}`},...le?{measureElement:e=>e.getBoundingClientRect().height}:{}}),ue=Ir({horizontal:!0,count:oe.length,getScrollElement:()=>C.current,estimateSize:e=>se[e]??180,overscan:3,scrollMargin:72+A}),de=se.join(`,`);(0,z.useEffect)(()=>{ue.measure()},[de,ue]),(0,z.useEffect)(()=>{j.measure()},[le,S,j]);let fe=j.getVirtualItems(),pe=ue.getVirtualItems(),me=pe[0],he=pe[pe.length-1],M=me?me.start-(72+A):0,ge=pe.map(e=>e.index),_e=he?se.slice(he.index+1).reduce((e,t)=>e+t,0):0;(0,z.useImperativeHandle)(t,()=>({reveal:e=>{let t=l[e.r];t!==void 0&&j.scrollToIndex(t,{align:`auto`});let n=C.current;if(!n||e.c<k)return;let r=72+O.slice(0,e.c).reduce((e,t)=>e+t,0),i=O[e.c]??0,a=n.scrollLeft+72+A,o=n.scrollLeft+n.clientWidth;r<a?n.scrollLeft=r-72-A:r+i>o&&(n.scrollLeft=r+i-n.clientWidth)},page:()=>Math.max(1,Math.floor(((C.current?.clientHeight??400)-34)/S)-1),focus:()=>{C.current?.focus({preventScroll:!0})},element:()=>C.current}),[l,j,k,O,A,S]);let[ve,ye]=(0,z.useState)(!1);(0,z.useEffect)(()=>{let e=C.current;if(!e)return;let t=()=>{ye(e.scrollLeft>0)};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]);let N=u?ma(u):void 0,be=u?.focus,P=(0,z.useRef)(void 0),[xe,Ce]=(0,z.useState)(),[we,Te]=(0,z.useState)(),[Ee,F]=(0,z.useState)(),[De,I]=(0,z.useState)(),Oe=(e,t)=>{let n=document.elementFromPoint(e,t)?.closest(`[data-cell]`);if(!n)return;let r=Number(n.dataset.r),i=Number(n.dataset.c);return Number.isFinite(r)&&Number.isFinite(i)?{r,c:i}:void 0},L=(0,z.useRef)(void 0),ke=(0,z.useRef)({x:0,y:0}),Ae=(0,z.useCallback)(()=>{let e=C.current;if(!e||!P.current){L.current=void 0;return}let t=e.getBoundingClientRect(),{x:n,y:r}=ke.current,i=r<t.top+34+24?-12:r>t.bottom-24?12:0,a=n<t.left+72+A+24?-12:n>t.right-24?12:0;if(a!==0||i!==0){e.scrollBy(a,i);let t=P.current;if(t.kind===`select`){let e=Oe(n-a*2,r-i*2);e&&x.select({anchor:t.anchor,focus:e})}}L.current=window.requestAnimationFrame(Ae)},[A,x]);(0,z.useEffect)(()=>{let e=e=>{let t=P.current;if(t){if(ke.current={x:e.clientX,y:e.clientY},L.current??=window.requestAnimationFrame(Ae),t.kind===`select`){let n=Oe(e.clientX,e.clientY);n&&x.select({anchor:t.anchor,focus:n})}else if(t.kind===`fill`){let n=Oe(e.clientX,e.clientY);n&&(t.to=Math.max(t.box.r1,n.r),F(t.to))}else if(t.kind===`column`){if(!t.moved&&Math.abs(e.clientX-t.startX)<5)return;t.moved=!0;let n=C.current?.querySelectorAll(`[data-head]`)??[],i=r.length;for(let t of n){let n=t.getBoundingClientRect(),r=Number(t.dataset.c);e.clientX<n.left+n.width/2&&(i=Math.min(i,r))}t.to=i,Ce(i)}else{if(!t.moved&&Math.abs(e.clientY-t.startY)<5)return;t.moved=!0;let n=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-row-id]`);if(!n)return;let r=Number(n.dataset.rowId),i=n.getBoundingClientRect(),a=e.clientY>i.top+i.height/2;if(Te({id:r,after:a}),!a)t.before=r;else{let e=c.findIndex(e=>e.row.id===r);t.before=c[e+1]?.row.id??null}}}},t=()=>{let e=P.current;if(P.current=void 0,L.current!==void 0&&window.cancelAnimationFrame(L.current),L.current=void 0,e){if(e.kind===`fill`&&e.to>e.box.r1&&x.fill(e.box,e.to),e.kind===`column`&&e.moved){let t=r.indexOf(e.name),n=e.to>t?e.to-1:e.to;n!==t&&x.moveColumn(e.name,n)}e.kind===`rows`&&e.moved&&!e.ids.includes(e.before??-1)&&x.moveRows(e.ids,e.before),F(void 0),Ce(void 0),Te(void 0)}};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),window.addEventListener(`pointercancel`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t),window.removeEventListener(`pointercancel`,t)}},[Ae,r,c,x]);let Ne=(e,t)=>{e.button===0&&(e.target.closest(`button, a, input, textarea, select, .sheet-editor`)||(e.preventDefault(),x.focusGrid(),e.shiftKey&&u?(x.select({anchor:u.anchor,focus:t}),P.current={kind:`select`,anchor:u.anchor}):(x.select({anchor:t,focus:t}),P.current={kind:`select`,anchor:t})))},Pe=e=>e<k?{width:O[e],left:re[e],position:`sticky`,zIndex:2}:{width:O[e]},Ie=(t,i)=>{let o=W(n,t),s=te.getHeaderGroups()[0]?.headers.find(e=>e.column.id===t),c=x.columnActions(t),d=e.sortedBy?.column===t?e.sortedBy.desc?`desc`:`asc`:void 0,p=e.filtered?.has(t)===!0;return(0,B.jsxs)(`div`,{role:`columnheader`,className:`sheet-head`,"data-head":``,"data-c":i,"data-type":o.type,"data-frozen":i<k?``:void 0,"data-last-frozen":i===k-1?``:void 0,"data-drop":xe===i?`before`:xe===i+1&&i===r.length-1?`after`:void 0,"data-selected":N&&N.c0<=i&&i<=N.c1?``:void 0,style:Pe(i),onPointerDown:e=>{e.currentTarget.contains(e.target)&&(e.button!==0||f||e.target.closest(`button, [data-resizer]`)||(P.current={kind:`column`,name:t,startX:e.clientX,moved:!1,to:i}))},onClick:e=>{if(!e.currentTarget.contains(e.target)||e.target.closest(`button, [data-resizer]`))return;let t=Math.max(0,l.length-1);e.shiftKey&&u?x.select({anchor:{r:0,c:u.anchor.c},focus:{r:t,c:i}}):x.select({anchor:{r:0,c:i},focus:{r:t,c:i}}),x.focusGrid()},onDoubleClick:e=>{e.currentTarget.contains(e.target)&&(e.target.closest(`button, [data-resizer]`)||f||c.rename())},onContextMenu:e=>{e.currentTarget.contains(e.target)&&(e.preventDefault(),!f&&(Yn(),I(t)))},children:[$i(o.type,13),e.renaming===t?(0,B.jsx)(ja,{name:t,taken:e.allColumns,strings:y,onDone:e=>{x.rename(t,e)}}):(0,B.jsx)(`span`,{className:`sheet-head-name`,title:t,children:t}),e.keyColumn===t&&(0,B.jsx)(`span`,{className:`sheet-head-key`,title:y.column.key,"aria-label":y.column.key,children:(0,B.jsx)(Fe,{size:12,"aria-hidden":!0})}),e.headerTool&&!f?e.headerTool(t,(0,B.jsx)(`button`,{type:`button`,"data-menu":``,className:`sheet-head-menu`,"data-on":d||p?``:void 0,"data-testid":`sheet-head-filter-${String(i)}`,"aria-label":y.auto.button(t),title:y.auto.button(t),children:p?(0,B.jsx)(je,{size:12,"aria-hidden":!0}):d===`desc`?(0,B.jsx)(ae,{size:13,"aria-hidden":!0}):d===`asc`?(0,B.jsx)(ne,{size:13,"aria-hidden":!0}):(0,B.jsx)(ee,{size:13,"aria-hidden":!0})})):null,(0,B.jsx)(pr,{open:De===t,onOpenChange:e=>{I(e?t:void 0)},column:o,canHide:r.length>1,strings:y,actions:c}),s&&(0,B.jsx)(`span`,{"data-resizer":``,className:`sheet-resizer`,"data-on":s.column.getIsResizing()?``:void 0,onPointerDown:e=>{e.stopPropagation(),s.getResizeHandler()(e.nativeEvent)},onMouseDown:e=>{e.stopPropagation()},onDoubleClick:()=>{x.resize(t,a?.[t]??Da(o))}})]},t)},Re=(t,r,i)=>{let a=W(n,r),o=e.allColumns.indexOf(r),c=t.row.cells[o]??``,l=Oa(t.row.id,r),u=be?.r===t.r&&be.c===i,g=d?.cell.r===t.r&&d.cell.c===i&&!f,v=N!==void 0&&ha(N,t.r,i),ee=Ee!==void 0&&N?.c0!==void 0&&i>=N.c0&&i<=N.c1&&t.r>N.r1&&t.r<=Ee,S=!f&&!d&&t.r===N?.r1&&i===N.c1,C=h.get(l);return(0,B.jsxs)(`div`,{id:`cell-${Ze({row:t.index,column:o})}`,role:`gridcell`,className:`sheet-cell`,"data-cell":``,"data-r":t.r,"data-c":i,"data-type":a.type,"data-frozen":i<k?``:void 0,"data-last-frozen":i===k-1?``:void 0,"data-wrap":s.has(r)?``:void 0,"data-sel":v&&!u?``:void 0,"data-fill":ee?``:void 0,"data-found":p.has(l)?m===l?`current`:``:void 0,"data-agent":C===void 0?void 0:_?.has(l)?`away`:``,"data-editing":g?``:void 0,"data-drop-file":e.dropping?.r===t.r&&e.dropping.c===i?``:void 0,"aria-selected":v,style:{...Pe(i),boxShadow:ka(N,t.r,i,u)},onPointerDown:e=>{Ne(e,{r:t.r,c:i})},onDoubleClick:()=>{!f&&a.type!==`checkbox`&&x.edit({r:t.r,c:i})},onContextMenu:e=>{x.contextMenu(e,{r:t.r,c:i})},children:[(0,B.jsx)(cr,{column:a,value:c,locale:b,strings:y,...e.fileUrl?{fileUrl:e.fileUrl}:{},...e.dir?{dir:e.dir}:{},...f?{}:{onToggle:()=>{x.toggle({r:t.r,c:i})}},onOpen:e=>{x.openFile({r:t.r,c:i},e)}}),g&&(0,B.jsx)(`div`,{className:`sheet-cell-edit`,"data-type":a.type,children:(0,B.jsx)(ur,{column:a,value:c,...d.initial===void 0?{}:{initial:d.initial},strings:y,locale:b,onCommit:x.commit,onCancel:x.cancel,onAddOption:e=>{x.addOption(r,e)}})}),S&&(0,B.jsx)(`span`,{className:`sheet-fill-handle`,onPointerDown:e=>{e.stopPropagation(),e.preventDefault(),P.current={kind:`fill`,box:N,to:N.r1}}})]},r)},ze=e=>{let t=N!==void 0&&N.r0<=e.r&&e.r<=N.r1&&N.c0===0&&N.c1===r.length-1;return(0,B.jsxs)(`div`,{className:`sheet-gutter`,"data-agent":g.has(e.row.id)?_?.has(`row:${String(e.row.id)}`)?`away`:``:void 0,"data-selected":t?``:void 0,onPointerDown:t=>{if(t.button!==0||t.target.closest(`button`))return;t.preventDefault(),x.focusGrid();let n=Math.max(0,r.length-1);t.shiftKey&&u?x.select({anchor:{r:u.anchor.r,c:0},focus:{r:e.r,c:n}}):x.select({anchor:{r:e.r,c:0},focus:{r:e.r,c:n}})},onContextMenu:t=>{x.contextMenu(t,{r:e.r,c:0})},children:[f||v?(0,B.jsx)(`span`,{className:`sheet-grip`,"data-off":``,"aria-hidden":!0}):(0,B.jsx)(`span`,{className:`sheet-grip`,"aria-hidden":!0,onPointerDown:n=>{n.stopPropagation(),n.preventDefault();let r=t?c.flatMap(e=>e.r>=N.r0&&e.r<=N.r1?[e.row.id]:[]):[e.row.id];P.current={kind:`rows`,ids:r,startY:n.clientY,moved:!1,before:e.row.id}},children:(0,B.jsx)(Me,{size:12})}),(0,B.jsx)(`span`,{className:`sheet-row-number`,title:e.index===e.r?void 0:y.row.inFile(e.index+1),children:e.r+1}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-expand`,"aria-label":y.row.expand,title:y.row.expand,onClick:()=>{x.expand(e.row.id)},children:(0,B.jsx)(Le,{size:11,"aria-hidden":!0})})]})},Be=e=>e>0?(0,B.jsx)(`div`,{className:`sheet-spacer`,style:{width:e},"aria-hidden":!0}):null;return(0,B.jsxs)(B.Fragment,{children:[ve&&k>0&&(0,B.jsx)(`div`,{className:`sheet-frozen-edge`,"aria-hidden":!0,style:{left:72+A,height:Math.min(34+c.length*S,C.current?.clientHeight??1/0)}}),(0,B.jsx)(`div`,{ref:C,className:`sheet-grid`,role:`grid`,"aria-rowcount":l.length,"aria-colcount":r.length,tabIndex:0,"data-testid":`sheet-grid`,onFocus:e=>{e.target===e.currentTarget&&x.focusGrid()},"data-dragging":P.current?``:void 0,children:(0,B.jsxs)(`div`,{className:`sheet-canvas`,style:{width:ce},children:[(0,B.jsxs)(`div`,{className:`sheet-header`,role:`row`,style:{height:34},children:[(0,B.jsx)(`div`,{className:`sheet-corner`,"aria-hidden":!0}),r.slice(0,k).map((e,t)=>Ie(e,t)),Be(M),ge.map(e=>Ie(oe[e]??``,e+k)),Be(_e),(0,B.jsx)(`button`,{type:`button`,className:`sheet-add-column`,"aria-label":y.column.add,title:y.column.add,disabled:f,onClick:x.addColumn,children:(0,B.jsx)(Se,{size:14,"aria-hidden":!0})})]}),(0,B.jsx)(`div`,{className:`sheet-body`,style:{height:j.getTotalSize()-0},children:fe.map(e=>{let t=c[e.index];if(!t)return null;let n=e.start-34;return(0,B.jsxs)(`div`,{role:`row`,"data-index":e.index,"data-row-id":t.row.id,"data-drop":we?.id===t.row.id?we.after?`after`:`before`:void 0,"data-editing":d?.cell.r===t.r?``:void 0,"data-added":g.has(t.row.id)?_?.has(`row:${String(t.row.id)}`)?`away`:``:void 0,ref:le?j.measureElement:void 0,className:`sheet-row`,style:{transform:`translateY(${String(n)}px)`,...le?{minHeight:S}:{height:S}},children:[ze(t),r.slice(0,k).map((e,n)=>Re(t,e,n)),Be(M),ge.map(e=>Re(t,oe[e]??``,e+k)),Be(_e)]},e.key)})}),!f&&(0,B.jsxs)(`button`,{type:`button`,className:`sheet-new-row`,style:{height:Ta},"data-testid":`sheet-new-row`,onClick:x.addRow,children:[(0,B.jsx)(Se,{size:14,"aria-hidden":!0}),y.row.newRow]}),e.empty]})})]})});function ja({name:e,taken:t,strings:n,onDone:r}){let[i,a]=(0,z.useState)(e),o=(0,z.useRef)(!1),s=i.trim(),c=s===``?n.column.empty:s!==e&&t.includes(s)?n.column.taken:void 0,l=t=>{o.current||(o.current=!0,r(t===void 0||t===e?void 0:t))};return(0,B.jsx)(`input`,{className:`sheet-head-input`,value:i,"aria-label":n.column.name,"aria-invalid":c!==void 0,title:c,"data-testid":`sheet-head-input`,spellCheck:!1,ref:e=>{e&&document.activeElement!==e&&!o.current&&(e.focus(),e.select())},onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.stopPropagation()},onDoubleClick:e=>{e.stopPropagation()},onChange:e=>{a(e.target.value)},onKeyDown:e=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),c===void 0&&l(s)):e.key===`Escape`&&(e.preventDefault(),l(void 0)))},onBlur:()=>{l(c===void 0?s:void 0)}})}var Ma=120;function Na({row:e,columns:t,allColumns:n,spec:i,number:a,total:o,title:s,readOnly:c,strings:l,locale:u,fileUrl:d,dir:f,onChange:p,onAddOption:m,onOpenFile:h,onAddFiles:g,onStep:_,onClose:v}){let[y,b]=(0,z.useState)(),x=[...t,...n.filter(e=>!t.includes(e))];return(0,B.jsxs)(`aside`,{className:`sheet-panel`,"aria-label":l.row.record,"data-testid":`sheet-record`,children:[(0,B.jsxs)(`header`,{className:`sheet-panel-head`,children:[(0,B.jsxs)(`span`,{className:`sheet-panel-titles`,children:[(0,B.jsx)(`span`,{className:`sheet-panel-title`,"data-empty":s.trim()===``?``:void 0,children:s.trim()===``?l.untitled:s}),(0,B.jsx)(`span`,{className:`sheet-panel-number`,children:l.row.of(a,o)})]}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.row.previous,onClick:()=>{_(-1)},children:(0,B.jsx)(S,{size:14,"aria-hidden":!0})}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.row.next,onClick:()=>{_(1)},children:(0,B.jsx)(ee,{size:14,"aria-hidden":!0})}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.row.close,onClick:v,children:(0,B.jsx)(r,{size:14,"aria-hidden":!0})})]}),(0,B.jsx)(`dl`,{className:`sheet-record`,children:x.map((r,a)=>{let o=W(i,r),s=e.cells[n.indexOf(r)]??``,_=y===r&&!c;return(0,B.jsxs)(`div`,{className:`sheet-record-field`,"data-hidden":t.includes(r)?void 0:``,"data-first-hidden":a===t.length&&a>0?``:void 0,"data-label":a===t.length&&a>0?l.row.hiddenFields:void 0,children:[(0,B.jsxs)(`dt`,{children:[$i(o.type,13),(0,B.jsx)(`span`,{children:r})]}),(0,B.jsxs)(`dd`,{"data-type":o.type,onClick:()=>{!c&&o.type!==`checkbox`&&b(r)},children:[_?(0,B.jsx)(ur,{column:o,value:s,strings:l,locale:u,inline:!0,onCommit:e=>{p(r,e),b(void 0)},onCancel:()=>{b(void 0)},onAddOption:e=>{m(r,e)}}):(0,B.jsx)(cr,{column:o,value:s,locale:u,strings:l,...d?{fileUrl:d}:{},...f?{dir:f}:{},...o.type===`file`?{height:Ma}:{},...h?{onOpen:e=>{h(r,e)}}:{},...c?{}:{onToggle:()=>{p(r,s.trim().toLowerCase()===`true`?`false`:`true`)}}}),!_&&s===``&&o.type!==`checkbox`&&!(o.type===`file`&&g)&&(0,B.jsx)(`span`,{className:`sheet-record-empty`,children:`—`}),!_&&o.type===`file`&&g&&(0,B.jsxs)(`button`,{type:`button`,className:`sheet-record-add`,onClick:e=>{e.stopPropagation(),g(r)},children:[(0,B.jsx)(ze,{size:13,"aria-hidden":!0}),l.files.add]})]})]},r)})})]})}function Pa(e,t,n=4){if(e.type!==`number`||e.number?.decimals!==void 0)return;let r=e.number?.style??`plain`;if(r===`currency`)return;let i=r===`percent`?100:1,a=10**n,o=0;for(let e of t){let t=dt(e);if(t===void 0)continue;let r=String(Math.round(t*i*a)/a),s=r.indexOf(`.`);if(!(s<0||r.includes(`e`))&&(o=Math.max(o,r.length-s-1),o>=n))return n}return o}function Fa(e,t){let n;return t.columns.forEach((r,i)=>{let a=W(e,r),o=Pa(a,t.rows.map(e=>e.cells[i]??``));o!==void 0&&(n??={...e.columns},n[r]={...a,number:{style:a.number?.style??`plain`,thousands:a.number?.thousands??!0,...a.number?.currency===void 0?{}:{currency:a.number.currency},decimals:o}})}),n?{...e,columns:n}:e}function Ia(e,t,n,r,i){if((r.r1-r.r0+1)*(r.c1-r.c0+1)>2e6)return;let a=new Map(e.rows.map(e=>[e.id,e])),o=0,s=0,c=0,l;for(let i=r.c0;i<=r.c1;i++){let u=n.columns[i];if(u===void 0)continue;let d=e.columns.indexOf(u),f=W(t,u);for(let e=r.r0;e<=r.r1;e++){let t=n.rows[e],r=t===void 0?``:a.get(t)?.cells[d]??``;if(Y(r)||(o++,f.type!==`number`))continue;let i=dt(r);i!==void 0&&(s++,c+=i,l=l===void 0||l===u?u:null)}}if(s===0||typeof l!=`string`)return{count:o,numbers:s};let u=W(t,l),d=e=>St(u,String(e),i),f=10**((u.number?.decimals??2)+(u.number?.style===`percent`?2:0));return{count:o,numbers:s,sum:d(c),average:d(Math.round(c/s*f)/f)}}function La({change:e,at:t,agent:n,spec:r,locale:i,strings:a,onEnter:o,onLeave:s,onKeep:c,onUndo:l}){let u=e.away?a.review.away:e.kind===`row-added`?a.review.added(n):a.review.changed(n);return(0,B.jsxs)(`div`,{className:`sheet-review-card`,role:`dialog`,"aria-label":u,"data-away":e.away?``:void 0,"data-testid":`sheet-review-card`,style:{left:t.left,top:t.top},onPointerEnter:o,onPointerLeave:s,onPointerDown:e=>{e.stopPropagation()},children:[(0,B.jsxs)(`p`,{className:`sheet-review-card-who`,children:[(0,B.jsx)(`span`,{className:`sheet-review-card-dot`,"aria-hidden":!0}),u]}),e.kind===`cell`&&(0,B.jsxs)(`p`,{className:`sheet-review-card-was`,children:[(0,B.jsx)(`span`,{children:a.review.was}),(0,B.jsx)(`del`,{children:e.before===``?a.review.empty:St(W(r,e.column),e.before,i)})]}),(0,B.jsxs)(`div`,{className:`sheet-review-card-actions`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:l,children:[(0,B.jsx)(ce,{size:13,"aria-hidden":!0}),a.review.undo]}),(0,B.jsxs)(`button`,{type:`button`,"data-keep":``,onClick:c,children:[(0,B.jsx)(v,{size:13,"aria-hidden":!0}),a.review.keep]})]})]})}var Ra=(e,t,n)=>[e>0?`${String(e)} ${e===1?`Zelle`:`Zellen`}`:``,t>0?`${String(t)} ${t===1?`Zeile`:`Zeilen`}`:``,n>0?`${String(n)} ${n===1?`Spalte`:`Spalten`}`:``].filter(e=>e!==``).join(`, `),za={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Wird geöffnet …`,unreadable:`Diese Tabelle kann gerade nicht bearbeitet werden: ihre Datei ist kein CSV, das eine Tabelle lesen kann. Hier ist, was nicht stimmt.`,readOnlyLarge:e=>`Diese Tabelle ist ${e} MB groß und wird hier nur angezeigt, nicht bearbeitet.`,untitled:`Ohne Titel`,saved:`Gesichert`,saving:`Wird gesichert …`,unsaved:`Nicht gesichert`,failed:`Nicht gesichert`,rows:(e,t)=>e===t?`${t.toLocaleString(`de`)} ${t===1?`Zeile`:`Zeilen`}`:`${e.toLocaleString(`de`)} von ${t.toLocaleString(`de`)} Zeilen`,find:`Suchen`,findPlaceholder:`In der Tabelle suchen`,matches:e=>e===1?`1 Treffer`:`${String(e)} Treffer`,types:{text:`Text`,number:`Zahl`,select:`Dropdownliste`,"multi-select":`Mehrfachauswahl`,date:`Datum`,checkbox:`Kontrollkästchen`,url:`Link`,email:`E-Mail`,phone:`Telefon`,file:`Datei`},auto:{button:e=>`${e} sortieren und filtern`,sortAsc:{text:`Von A bis Z sortieren`,number:`Nach Größe sortieren (aufsteigend)`,date:`Vom ältesten zum neuesten sortieren`,options:`In Reihenfolge der Optionen sortieren`},sortDesc:{text:`Von Z bis A sortieren`,number:`Nach Größe sortieren (absteigend)`,date:`Vom neuesten zum ältesten sortieren`,options:`In umgekehrter Reihenfolge der Optionen sortieren`},search:`Suchen`,selectAll:`(Alles auswählen)`,selectFound:`(Alle Suchergebnisse auswählen)`,blanks:`(Leere)`,checked:`Aktiviert`,unchecked:`Nicht aktiviert`,hasFile:`Mit Datei`,more:e=>`${e.toLocaleString(`de`)} weitere. Such danach, um sie zu finden.`,none:`Keine passenden Werte.`,clear:`Filter löschen`,ok:`OK`},look:{sorted:e=>`Sortiert nach ${e}`,filtered:e=>e.length===1?`Gefiltert nach ${e[0]??``}`:`Gefiltert nach ${String(e.length)} Spalten`,hidden:e=>e===1?`1 Spalte ausgeblendet`:`${String(e)} Spalten ausgeblendet`,clear:`Löschen`,note:`Nur du siehst diese Sortierung und diesen Filter.`},replace:{label:`Ersetzen`,with:`Ersetzen durch`,one:`Ersetzen`,all:`Alle ersetzen`,done:e=>`In ${String(e)} ${e===1?`Zelle`:`Zellen`} ersetzt.`},stats:{average:`Mittelwert`,count:`Anzahl`,sum:`Summe`},column:{name:`Spaltenname`,key:`Schlüsselspalte: Jede Zeile hat einen eigenen Wert`,add:`Spalte hinzufügen`,rename:`Umbenennen`,format:`Format`,formats:{text:`Text`,number:`Zahl`,currency:`Währung`,percent:`Prozent`,date:`Datum`,checkbox:`Kontrollkästchen`,list:`Dropdownliste`,file:`Anhang`},addOption:`Option hinzufügen`,newOption:e=>`„${e}“ hinzufügen`,confirm:`Löschen`,cancel:`Abbrechen`,hide:`Spalte ausblenden`,insertLeft:`Spalte links einfügen`,insertRight:`Spalte rechts einfügen`,remove:`Spalte löschen`,removeAsk:(e,t)=>`„${e}“ und ${t===1?`ihren`:`ihre`} ${t.toLocaleString(`de`)} ${t===1?`Wert`:`Werte`} löschen? Du kannst es widerrufen.`,taken:`Eine andere Spalte hat diesen Namen.`,empty:`Eine Spalte braucht einen Namen.`,newName:e=>e===1?`Spalte`:`Spalte ${String(e)}`},row:{numbered:e=>`Zeile ${String(e)}`,inFile:e=>`Zeile ${String(e)} in der Datei`,of:(e,t)=>`Zeile ${String(e)} von ${String(t)}`,hiddenFields:`Ausgeblendete Spalten`,insertAbove:`Zeile oberhalb einfügen`,insertBelow:`Zeile unterhalb einfügen`,remove:e=>e===1?`Zeile löschen`:`${String(e)} Zeilen löschen`,expand:`Zeile öffnen`,newRow:`Neue Zeile`,record:`Zeile`,previous:`Vorherige Zeile`,next:`Nächste Zeile`,close:`Schließen`},cell:{copy:`Kopieren`,cut:`Ausschneiden`,paste:`Einfügen`,clear:`Löschen`,clearContents:`Inhalte löschen`,notNumber:`Keine Zahl. Schreib Ziffern, mit Punkt für Dezimalstellen: 1234.5`,notDate:`Kein Datum. Schreib 2026-10-14 oder 2026-10-14T09:30`,notEmail:`Keine E-Mail-Adresse`,notUrl:`Eine Adresse enthält keine Leerzeichen`,open:`Öffnen`,left:e=>e===1?`1 Wert passte nicht in seine Spalte und wurde ausgelassen.`:`${String(e)} Werte passten nicht in ihre Spalten und wurden ausgelassen.`,pasteHint:`Mit ⌘V einfügen.`},files:{notFound:`Nicht gefunden`,insert:`Datei einfügen …`,add:`Datei hinzufügen`,adding:e=>e===1?`1 Datei wird hinzugefügt …`:`${String(e)} Dateien werden hinzugefügt …`,tooLarge:(e,t)=>`${e} ist größer als ${String(t)} MB und wurde nicht hinzugefügt.`,failed:e=>`${e} konnte nicht hinzugefügt werden.`,notHere:`Nur eine Anhangspalte enthält Dateien. Stell das Format der Spalte zuerst auf Anhang.`,remove:`Aus Zelle entfernen`,of:(e,t)=>`${String(e)} von ${String(t)}`,previous:`Vorherige Datei`,next:`Nächste Datei`,open:`In neuem Tab öffnen`,close:`Schließen`},review:{count:(e,t,n,r)=>`${e} hat ${Ra(t,n,r)} geändert`,keepAll:`Alle behalten`,undoAll:`Alle widerrufen`,keep:`Behalten`,undo:`Widerrufen`,was:`Vorher`,added:e=>`Hinzugefügt von ${e}`,changed:e=>`Geändert von ${e}`,away:`Geändert seit deinem letzten Blick`,countAway:(e,t,n)=>`Seit deinem letzten Blick: ${Ra(e,t,n)} geändert`,empty:`leer`,next:`Weiter`,previous:`Zurück`,position:(e,t)=>`${String(e)} von ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`Zelle wurde`:`Zellen wurden`} von euch beiden geändert: Deine Werte wurden behalten.`},date:{placeholder:`z. B. 2026-10-14`,today:`Heute`,previousMonth:`Vorheriger Monat`,nextMonth:`Nächster Monat`,clear:`Löschen`,addTime:`Uhrzeit hinzufügen`,removeTime:`Uhrzeit entfernen`,time:`Uhrzeit`},empty:{title:`Noch keine Zeilen`,addRow:`Zeile hinzufügen`,paste:`Zeilen einfügen`,pasteHint:`Kopiere Zeilen in Excel oder Google Sheets und drück dann hier ⌘V.`,importFile:`Datei importieren`,noMatch:`Keine Zeilen anzuzeigen`,noMatchBody:`Der Filter blendet alle Zeilen aus.`,clearFilter:`Filter löschen`}},Ba=(e,t,n)=>[e>0?`${String(e)} ${e===1?`cell`:`cells`}`:``,t>0?`${String(t)} ${t===1?`row`:`rows`}`:``,n>0?`${String(n)} ${n===1?`column`:`columns`}`:``].filter(e=>e!==``).join(`, `),Va={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Opening…`,unreadable:`This sheet cannot be edited right now: its file is not CSV a sheet can read. Here is what is wrong.`,readOnlyLarge:e=>`This sheet is ${e} MB: it is shown, not edited, here.`,untitled:`Untitled`,saved:`Saved`,saving:`Saving…`,unsaved:`Unsaved`,failed:`Not saved`,rows:(e,t)=>e===t?`${t.toLocaleString(`en`)} ${t===1?`row`:`rows`}`:`${e.toLocaleString(`en`)} of ${t.toLocaleString(`en`)} rows`,find:`Find`,findPlaceholder:`Find in the sheet`,matches:e=>e===1?`1 match`:`${String(e)} matches`,types:{text:`Text`,number:`Number`,select:`Dropdown list`,"multi-select":`List of several`,date:`Date`,checkbox:`Checkbox`,url:`Link`,email:`Email`,phone:`Phone`,file:`File`},auto:{button:e=>`Sort and filter ${e}`,sortAsc:{text:`Sort A to Z`,number:`Sort smallest to largest`,date:`Sort oldest to newest`,options:`Sort in option order`},sortDesc:{text:`Sort Z to A`,number:`Sort largest to smallest`,date:`Sort newest to oldest`,options:`Sort in reverse option order`},search:`Search`,selectAll:`(Select all)`,selectFound:`(Select all search results)`,blanks:`(Blanks)`,checked:`Checked`,unchecked:`Unchecked`,hasFile:`Has a file`,more:e=>`${e.toLocaleString(`en`)} more. Search to find them.`,none:`No values match.`,clear:`Clear filter`,ok:`OK`},look:{sorted:e=>`Sorted by ${e}`,filtered:e=>e.length===1?`Filtered by ${e[0]??``}`:`Filtered by ${String(e.length)} columns`,hidden:e=>e===1?`1 column hidden`:`${String(e)} columns hidden`,clear:`Clear`,note:`Only you see this sort and filter.`},replace:{label:`Replace`,with:`Replace with`,one:`Replace`,all:`Replace all`,done:e=>`Replaced in ${String(e)} ${e===1?`cell`:`cells`}.`},stats:{average:`Average`,count:`Count`,sum:`Sum`},column:{name:`Column name`,key:`Key column: each row's value is its own`,add:`Add a column`,rename:`Rename`,format:`Format`,formats:{text:`Text`,number:`Number`,currency:`Currency`,percent:`Percent`,date:`Date`,checkbox:`Checkbox`,list:`Dropdown list`,file:`Attachment`},addOption:`Add an option`,newOption:e=>`Add “${e}”`,confirm:`Delete`,cancel:`Cancel`,hide:`Hide column`,insertLeft:`Insert column left`,insertRight:`Insert column right`,remove:`Delete column`,removeAsk:(e,t)=>`Delete “${e}” and its ${t.toLocaleString(`en`)} ${t===1?`value`:`values`}? You can undo it.`,taken:`Another column has this name.`,empty:`A column needs a name.`,newName:e=>e===1?`Column`:`Column ${String(e)}`},row:{numbered:e=>`Row ${String(e)}`,inFile:e=>`Row ${String(e)} in the file`,of:(e,t)=>`Row ${String(e)} of ${String(t)}`,hiddenFields:`Hidden columns`,insertAbove:`Insert row above`,insertBelow:`Insert row below`,remove:e=>e===1?`Delete row`:`Delete ${String(e)} rows`,expand:`Open row`,newRow:`New row`,record:`Row`,previous:`Previous row`,next:`Next row`,close:`Close`},cell:{copy:`Copy`,cut:`Cut`,paste:`Paste`,clear:`Clear`,clearContents:`Clear contents`,notNumber:`Not a number. Write digits, with a point for decimals: 1234.5`,notDate:`Not a date. Write 2026-10-14, or 2026-10-14T09:30`,notEmail:`Not an email address`,notUrl:`An address has no spaces`,open:`Open`,left:e=>e===1?`1 value did not fit its column and was left out.`:`${String(e)} values did not fit their columns and were left out.`,pasteHint:`Use ⌘V to paste.`},files:{notFound:`Not found`,insert:`Insert file…`,add:`Add file`,adding:e=>e===1?`Adding 1 file…`:`Adding ${String(e)} files…`,tooLarge:(e,t)=>`${e} is over ${String(t)} MB and was not added.`,failed:e=>`${e} could not be added.`,notHere:`Only an attachment column holds files. Set the column's format to Attachment first.`,remove:`Remove from cell`,of:(e,t)=>`${String(e)} of ${String(t)}`,previous:`Previous file`,next:`Next file`,open:`Open in a new tab`,close:`Close`},review:{count:(e,t,n,r)=>`${e} changed ${Ba(t,n,r)}`,keepAll:`Keep all`,undoAll:`Undo all`,keep:`Keep`,undo:`Undo`,was:`Before`,added:e=>`Added by ${e}`,changed:e=>`Changed by ${e}`,away:`Changed since you last looked`,countAway:(e,t,n)=>`Since you last looked: ${Ba(e,t,n)} changed`,empty:`empty`,next:`Next`,previous:`Previous`,position:(e,t)=>`${String(e)} of ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`cell was`:`cells were`} changed by both of you: yours were kept.`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`Today`,previousMonth:`Previous month`,nextMonth:`Next month`,clear:`Clear`,addTime:`Add a time`,removeTime:`Remove the time`,time:`Time`},empty:{title:`No rows yet`,addRow:`Add a row`,paste:`Paste rows`,pasteHint:`Copy rows in Excel or Google Sheets, then press ⌘V here.`,importFile:`Import a file`,noMatch:`No rows to show`,noMatchBody:`The filter leaves every row out.`,clearFilter:`Clear the filter`}},Ha=(e,t,n)=>`${e.toLocaleString(`es`)} ${e===1?t:n}`,Ua=(e,t,n)=>[e>0?Ha(e,`celda`,`celdas`):``,t>0?Ha(t,`fila`,`filas`):``,n>0?Ha(n,`columna`,`columnas`):``].filter(e=>e!==``).join(`, `),Wa={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abriendo…`,unreadable:`Esta hoja no se puede editar ahora: su archivo no es un CSV que una hoja pueda leer. Esto es lo que falla.`,readOnlyLarge:e=>`Esta hoja ocupa ${e} MB: aquí se muestra, pero no se edita.`,untitled:`Sin título`,saved:`Guardado`,saving:`Guardando…`,unsaved:`Sin guardar`,failed:`No guardado`,rows:(e,t)=>e===t?Ha(t,`fila`,`filas`):`${e.toLocaleString(`es`)} de ${t.toLocaleString(`es`)} filas`,find:`Buscar`,findPlaceholder:`Buscar en la hoja`,matches:e=>Ha(e,`coincidencia`,`coincidencias`),types:{text:`Texto`,number:`Número`,select:`Lista desplegable`,"multi-select":`Selección múltiple`,date:`Fecha`,checkbox:`Casilla`,url:`Vínculo`,email:`Correo electrónico`,phone:`Teléfono`,file:`Archivo`},auto:{button:e=>`Ordenar y filtrar ${e}`,sortAsc:{text:`Ordenar de A a Z`,number:`Ordenar de menor a mayor`,date:`Ordenar de más antiguos a más recientes`,options:`Ordenar según las opciones`},sortDesc:{text:`Ordenar de Z a A`,number:`Ordenar de mayor a menor`,date:`Ordenar de más recientes a más antiguos`,options:`Ordenar según las opciones, al revés`},search:`Buscar`,selectAll:`(Seleccionar todo)`,selectFound:`(Seleccionar todos los resultados de la búsqueda)`,blanks:`(Vacías)`,checked:`Activada`,unchecked:`Desactivada`,hasFile:`Tiene un archivo`,more:e=>`${e.toLocaleString(`es`)} más. Busca para encontrarlos.`,none:`Ningún valor coincide.`,clear:`Borrar filtro`,ok:`Aceptar`},look:{sorted:e=>`Ordenado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} columnas`,hidden:e=>e===1?`1 columna oculta`:`${String(e)} columnas ocultas`,clear:`Borrar`,note:`Solo tú ves esta ordenación y este filtro.`},replace:{label:`Reemplazar`,with:`Reemplazar con`,one:`Reemplazar`,all:`Reemplazar todos`,done:e=>`Reemplazado en ${Ha(e,`celda`,`celdas`)}.`},stats:{average:`Promedio`,count:`Recuento`,sum:`Suma`},column:{name:`Nombre de la columna`,key:`Columna clave: el valor de cada fila es único`,add:`Añadir una columna`,rename:`Cambiar nombre`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moneda`,percent:`Porcentaje`,date:`Fecha`,checkbox:`Casilla`,list:`Lista desplegable`,file:`Archivo adjunto`},addOption:`Añadir una opción`,newOption:e=>`Añadir “${e}”`,confirm:`Eliminar`,cancel:`Cancelar`,hide:`Ocultar columna`,insertLeft:`Insertar columna a la izquierda`,insertRight:`Insertar columna a la derecha`,remove:`Eliminar columna`,removeAsk:(e,t)=>`¿Eliminar “${e}” y ${t===1?`su valor`:`sus ${t.toLocaleString(`es`)} valores`}? Puedes deshacerlo.`,taken:`Ya hay otra columna con este nombre.`,empty:`Una columna necesita un nombre.`,newName:e=>e===1?`Columna`:`Columna ${String(e)}`},row:{numbered:e=>`Fila ${String(e)}`,inFile:e=>`Fila ${String(e)} del archivo`,of:(e,t)=>`Fila ${String(e)} de ${String(t)}`,hiddenFields:`Columnas ocultas`,insertAbove:`Insertar fila arriba`,insertBelow:`Insertar fila debajo`,remove:e=>e===1?`Eliminar fila`:`Eliminar ${String(e)} filas`,expand:`Abrir fila`,newRow:`Nueva fila`,record:`Fila`,previous:`Fila anterior`,next:`Fila siguiente`,close:`Cerrar`},cell:{copy:`Copiar`,cut:`Cortar`,paste:`Pegar`,clear:`Borrar`,clearContents:`Borrar contenido`,notNumber:`No es un número. Escribe cifras, con un punto para los decimales: 1234.5`,notDate:`No es una fecha. Escribe 2026-10-14 o 2026-10-14T09:30`,notEmail:`No es una dirección de correo electrónico`,notUrl:`Una dirección no lleva espacios`,open:`Abrir`,left:e=>e===1?`1 valor no encajaba en su columna y se omitió.`:`${String(e)} valores no encajaban en sus columnas y se omitieron.`,pasteHint:`Usa ⌘V para pegar.`},files:{notFound:`No encontrado`,insert:`Insertar archivo…`,add:`Añadir archivo`,adding:e=>e===1?`Añadiendo 1 archivo…`:`Añadiendo ${String(e)} archivos…`,tooLarge:(e,t)=>`${e} supera los ${String(t)} MB y no se añadió.`,failed:e=>`No se pudo añadir ${e}.`,notHere:`Solo una columna de archivos adjuntos contiene archivos. Primero cambia el formato de la columna a Archivo adjunto.`,remove:`Quitar de la celda`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Archivo anterior`,next:`Archivo siguiente`,open:`Abrir en una pestaña nueva`,close:`Cerrar`},review:{count:(e,t,n,r)=>`${e} cambió ${Ua(t,n,r)}`,keepAll:`Conservar todo`,undoAll:`Deshacer todo`,keep:`Conservar`,undo:`Deshacer`,was:`Antes`,added:e=>`Añadido por ${e}`,changed:e=>`Cambiado por ${e}`,away:`Cambiado desde la última vez que lo viste`,countAway:(e,t,n)=>`Desde la última vez que lo viste: cambios en ${Ua(e,t,n)}`,empty:`vacío`,next:`Siguiente`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 celda tenía cambios de los dos: se conservó el tuyo.`:`${String(e)} celdas tenían cambios de los dos: se conservaron los tuyos.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoy`,previousMonth:`Mes anterior`,nextMonth:`Mes siguiente`,clear:`Borrar`,addTime:`Añadir una hora`,removeTime:`Quitar la hora`,time:`Hora`},empty:{title:`Aún no hay filas`,addRow:`Añadir una fila`,paste:`Pegar filas`,pasteHint:`Copia filas en Excel o Google Sheets y pulsa ⌘V aquí.`,importFile:`Importar un archivo`,noMatch:`No hay filas que mostrar`,noMatchBody:`El filtro deja fuera todas las filas.`,clearFilter:`Borrar el filtro`}},Ga=(e,t,n)=>`${e.toLocaleString(`fr`)} ${e<2?t:n}`,Ka=(e,t,n)=>[e>0?Ga(e,`cellule`,`cellules`):``,t>0?Ga(t,`ligne`,`lignes`):``,n>0?Ga(n,`colonne`,`colonnes`):``].filter(e=>e!==``).join(`, `),qa={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Ouverture…`,unreadable:`Cette feuille de calcul ne peut pas être modifiée pour l’instant\xA0: son fichier n’est pas un CSV lisible. Voici ce qui ne va pas.`,readOnlyLarge:e=>`Cette feuille de calcul fait ${e}\u00a0Mo\u00a0: elle est affichée ici, pas modifiée.`,untitled:`Sans titre`,saved:`Enregistré`,saving:`Enregistrement…`,unsaved:`Non enregistré`,failed:`Non enregistré`,rows:(e,t)=>e===t?Ga(t,`ligne`,`lignes`):`${e.toLocaleString(`fr`)} sur ${Ga(t,`ligne`,`lignes`)}`,find:`Rechercher`,findPlaceholder:`Rechercher dans la feuille`,matches:e=>Ga(e,`résultat`,`résultats`),types:{text:`Texte`,number:`Nombre`,select:`Liste déroulante`,"multi-select":`Liste à choix multiples`,date:`Date`,checkbox:`Case à cocher`,url:`Lien`,email:`E-mail`,phone:`Téléphone`,file:`Fichier`},auto:{button:e=>`Trier et filtrer ${e}`,sortAsc:{text:`Trier de A à Z`,number:`Trier du plus petit au plus grand`,date:`Trier du plus ancien au plus récent`,options:`Trier dans l’ordre des options`},sortDesc:{text:`Trier de Z à A`,number:`Trier du plus grand au plus petit`,date:`Trier du plus récent au plus ancien`,options:`Trier dans l’ordre inverse des options`},search:`Rechercher`,selectAll:`(Sélectionner tout)`,selectFound:`(Sélectionner tous les résultats de la recherche)`,blanks:`(Vides)`,checked:`Coché`,unchecked:`Non coché`,hasFile:`Contient un fichier`,more:e=>`${e.toLocaleString(`fr`)} de plus. Recherchez pour les trouver.`,none:`Aucune valeur ne correspond.`,clear:`Effacer le filtre`,ok:`OK`},look:{sorted:e=>`Trié par ${e}`,filtered:e=>e.length===1?`Filtré par ${e[0]??``}`:`Filtré par ${String(e.length)} colonnes`,hidden:e=>e<2?`${String(e)} colonne masquée`:`${String(e)} colonnes masquées`,clear:`Effacer`,note:`Vous seul voyez ce tri et ce filtre.`},replace:{label:`Remplacer`,with:`Remplacer par`,one:`Remplacer`,all:`Remplacer tout`,done:e=>`Remplacé dans ${Ga(e,`cellule`,`cellules`)}.`},stats:{average:`Moyenne`,count:`Nombre`,sum:`Somme`},column:{name:`Nom de la colonne`,key:`Colonne clé\xA0: chaque ligne y a sa propre valeur`,add:`Ajouter une colonne`,rename:`Renommer`,format:`Format`,formats:{text:`Texte`,number:`Nombre`,currency:`Monétaire`,percent:`Pourcentage`,date:`Date`,checkbox:`Case à cocher`,list:`Liste déroulante`,file:`Pièce jointe`},addOption:`Ajouter une option`,newOption:e=>`Ajouter «\u00a0${e}\u00a0»`,confirm:`Supprimer`,cancel:`Annuler`,hide:`Masquer la colonne`,insertLeft:`Insérer une colonne à gauche`,insertRight:`Insérer une colonne à droite`,remove:`Supprimer la colonne`,removeAsk:(e,t)=>`Supprimer «\u00a0${e}\u00a0» et ${t<2?`sa`:`ses`} ${Ga(t,`valeur`,`valeurs`)}\u00a0? Vous pourrez annuler.`,taken:`Une autre colonne porte ce nom.`,empty:`Une colonne doit avoir un nom.`,newName:e=>e===1?`Colonne`:`Colonne ${String(e)}`},row:{numbered:e=>`Ligne ${String(e)}`,inFile:e=>`Ligne ${String(e)} du fichier`,of:(e,t)=>`Ligne ${String(e)} sur ${String(t)}`,hiddenFields:`Colonnes masquées`,insertAbove:`Insérer une ligne au-dessus`,insertBelow:`Insérer une ligne en dessous`,remove:e=>e===1?`Supprimer la ligne`:`Supprimer ${String(e)} lignes`,expand:`Ouvrir la ligne`,newRow:`Nouvelle ligne`,record:`Ligne`,previous:`Ligne précédente`,next:`Ligne suivante`,close:`Fermer`},cell:{copy:`Copier`,cut:`Couper`,paste:`Coller`,clear:`Effacer`,clearContents:`Effacer le contenu`,notNumber:`Ce n’est pas un nombre. Écrivez des chiffres, avec un point pour les décimales\xA0: 1234.5`,notDate:`Ce n’est pas une date. Écrivez 2026-10-14, ou 2026-10-14T09:30`,notEmail:`Ce n’est pas une adresse e-mail`,notUrl:`Une adresse ne contient pas d’espaces`,open:`Ouvrir`,left:e=>e===1?`1 valeur ne convenait pas à sa colonne et a été laissée de côté.`:`${String(e)} valeurs ne convenaient pas à leur colonne et ont été laissées de côté.`,pasteHint:`Utilisez ⌘V pour coller.`},files:{notFound:`Introuvable`,insert:`Insérer un fichier…`,add:`Ajouter un fichier`,adding:e=>e===1?`Ajout d’un fichier…`:`Ajout de ${String(e)} fichiers…`,tooLarge:(e,t)=>`${e} dépasse ${String(t)}\u00a0Mo et n’a pas été ajouté.`,failed:e=>`${e} n’a pas pu être ajouté.`,notHere:`Seule une colonne de pièces jointes contient des fichiers. Choisissez d’abord le format Pièce jointe pour la colonne.`,remove:`Retirer de la cellule`,of:(e,t)=>`${String(e)} sur ${String(t)}`,previous:`Fichier précédent`,next:`Fichier suivant`,open:`Ouvrir dans un nouvel onglet`,close:`Fermer`},review:{count:(e,t,n,r)=>`${e} a modifié ${Ka(t,n,r)}`,keepAll:`Tout garder`,undoAll:`Tout annuler`,keep:`Garder`,undo:`Annuler`,was:`Avant`,added:e=>`Ajouté par ${e}`,changed:e=>`Modifié par ${e}`,away:`Modifié depuis votre dernière visite`,countAway:(e,t,n)=>`Depuis votre dernière visite\u00a0: ${Ka(e,t,n)} ${e+t+n<2?`modifiée`:`modifiées`}`,empty:`vide`,next:`Suivant`,previous:`Précédent`,position:(e,t)=>`${String(e)} sur ${String(t)}`,conflicts:e=>e<2?`${String(e)} cellule a été modifiée par vous deux\u00a0: votre version a été gardée.`:`${String(e)} cellules ont été modifiées par vous deux\u00a0: vos versions ont été gardées.`},date:{placeholder:`2026-10-14, 2026-10-14 09:30…`,today:`Aujourd’hui`,previousMonth:`Mois précédent`,nextMonth:`Mois suivant`,clear:`Effacer`,addTime:`Ajouter une heure`,removeTime:`Retirer l’heure`,time:`Heure`},empty:{title:`Aucune ligne pour l’instant`,addRow:`Ajouter une ligne`,paste:`Coller des lignes`,pasteHint:`Copiez des lignes dans Excel ou Google Sheets, puis appuyez sur ⌘V ici.`,importFile:`Importer un fichier`,noMatch:`Aucune ligne à afficher`,noMatchBody:`Le filtre exclut toutes les lignes.`,clearFilter:`Effacer le filtre`}},Ja=new Intl.PluralRules(`hi`),Ya=e=>Ja.select(e)===`one`,Xa=e=>e.toLocaleString(`hi`),Za=(e,t,n)=>[e>0?`${String(e)} सेल`:``,t>0?`${String(t)} ${Ya(t)?`पंक्ति`:`पंक्तियाँ`}`:``,n>0?`${String(n)} कॉलम`:``].filter(e=>e!==``).join(`, `),Qa={agent:`AllyHub`,agentInline:`AllyHub`,loading:`खुल रहा है…`,unreadable:`यह शीट अभी एडिट नहीं की जा सकती: इसकी फ़ाइल ऐसी CSV नहीं है जिसे शीट पढ़ सके। गड़बड़ी यह है।`,readOnlyLarge:e=>`यह शीट ${e} MB की है: यहाँ यह सिर्फ़ दिखाई जाती है, एडिट नहीं होती।`,untitled:`बिना शीर्षक`,saved:`सेव हो गया`,saving:`सेव हो रहा है…`,unsaved:`सेव नहीं हुआ`,failed:`सेव नहीं हो सका`,rows:(e,t)=>e===t?`${Xa(t)} ${Ya(t)?`पंक्ति`:`पंक्तियाँ`}`:`${Xa(t)} में से ${Xa(e)} पंक्तियाँ`,find:`ढूँढें`,findPlaceholder:`शीट में ढूँढें`,matches:e=>`${String(e)} मिलान`,types:{text:`टेक्स्ट`,number:`संख्या`,select:`ड्रॉपडाउन सूची`,"multi-select":`कई विकल्पों की सूची`,date:`तारीख`,checkbox:`चेकबॉक्स`,url:`लिंक`,email:`ईमेल`,phone:`फ़ोन`,file:`फ़ाइल`},auto:{button:e=>`${e} को सॉर्ट और फ़िल्टर करें`,sortAsc:{text:`A से Z तक सॉर्ट करें`,number:`सबसे छोटे से सबसे बड़े तक सॉर्ट करें`,date:`सबसे पुराने से सबसे नए तक सॉर्ट करें`,options:`विकल्पों के क्रम में सॉर्ट करें`},sortDesc:{text:`Z से A तक सॉर्ट करें`,number:`सबसे बड़े से सबसे छोटे तक सॉर्ट करें`,date:`सबसे नए से सबसे पुराने तक सॉर्ट करें`,options:`विकल्पों के उल्टे क्रम में सॉर्ट करें`},search:`खोजें`,selectAll:`(सभी चुनें)`,selectFound:`(खोज के सभी नतीजे चुनें)`,blanks:`(रिक्त)`,checked:`चेक किया हुआ`,unchecked:`चेक नहीं किया हुआ`,hasFile:`फ़ाइल है`,more:e=>`${Xa(e)} और। उन्हें पाने के लिए खोजें।`,none:`कोई मान मेल नहीं खाता।`,clear:`फ़िल्टर साफ़ करें`,ok:`ठीक है`},look:{sorted:e=>`${e} के हिसाब से सॉर्ट किया गया`,filtered:e=>e.length===1?`${e[0]??``} के हिसाब से फ़िल्टर किया गया`:`${String(e.length)} कॉलम के हिसाब से फ़िल्टर किया गया`,hidden:e=>`${String(e)} कॉलम छिपे हुए`,clear:`साफ़ करें`,note:`यह सॉर्ट और फ़िल्टर सिर्फ़ आपको दिखता है।`},replace:{label:`बदलें`,with:`इससे बदलें`,one:`बदलें`,all:`सभी बदलें`,done:e=>`${String(e)} सेल में बदला गया।`},stats:{average:`औसत`,count:`गिनती`,sum:`योग`},column:{name:`कॉलम का नाम`,key:`की कॉलम: हर पंक्ति का मान अलग होता है`,add:`कॉलम जोड़ें`,rename:`नाम बदलें`,format:`फ़ॉर्मेट`,formats:{text:`टेक्स्ट`,number:`संख्या`,currency:`मुद्रा`,percent:`प्रतिशत`,date:`तारीख`,checkbox:`चेकबॉक्स`,list:`ड्रॉपडाउन सूची`,file:`अटैचमेंट`},addOption:`विकल्प जोड़ें`,newOption:e=>`“${e}” जोड़ें`,confirm:`डिलीट करें`,cancel:`रद्द करें`,hide:`कॉलम छिपाएँ`,insertLeft:`बाईं ओर कॉलम डालें`,insertRight:`दाईं ओर कॉलम डालें`,remove:`कॉलम डिलीट करें`,removeAsk:(e,t)=>`“${e}” और उसके ${Xa(t)} मान डिलीट करें? आप इसे पहले जैसा कर सकते हैं।`,taken:`किसी दूसरे कॉलम का यही नाम है।`,empty:`कॉलम का नाम होना ज़रूरी है।`,newName:e=>e===1?`कॉलम`:`कॉलम ${String(e)}`},row:{numbered:e=>`पंक्ति ${String(e)}`,inFile:e=>`फ़ाइल में पंक्ति ${String(e)}`,of:(e,t)=>`पंक्ति ${String(e)} / ${String(t)}`,hiddenFields:`छिपे हुए कॉलम`,insertAbove:`ऊपर पंक्ति डालें`,insertBelow:`नीचे पंक्ति डालें`,remove:e=>e===1?`पंक्ति डिलीट करें`:`${String(e)} पंक्तियाँ डिलीट करें`,expand:`पंक्ति खोलें`,newRow:`नई पंक्ति`,record:`पंक्ति`,previous:`पिछली पंक्ति`,next:`अगली पंक्ति`,close:`बंद करें`},cell:{copy:`कॉपी करें`,cut:`कट करें`,paste:`पेस्ट करें`,clear:`साफ़ करें`,clearContents:`सामग्री साफ़ करें`,notNumber:`यह संख्या नहीं है। अंक लिखें, दशमलव के लिए पॉइंट के साथ: 1234.5`,notDate:`यह तारीख नहीं है। 2026-10-14 या 2026-10-14T09:30 लिखें`,notEmail:`यह ईमेल पता नहीं है`,notUrl:`पते में स्पेस नहीं होते`,open:`खोलें`,left:e=>e===1?`1 मान अपने कॉलम में फ़िट नहीं हुआ और छोड़ दिया गया।`:`${String(e)} मान अपने कॉलम में फ़िट नहीं हुए और छोड़ दिए गए।`,pasteHint:`पेस्ट करने के लिए ⌘V इस्तेमाल करें।`},files:{notFound:`नहीं मिली`,insert:`फ़ाइल डालें…`,add:`फ़ाइल जोड़ें`,adding:e=>e===1?`1 फ़ाइल जोड़ी जा रही है…`:`${String(e)} फ़ाइलें जोड़ी जा रही हैं…`,tooLarge:(e,t)=>`${e} ${String(t)} MB से बड़ी है, इसलिए जोड़ी नहीं गई।`,failed:e=>`${e} जोड़ी नहीं जा सकी।`,notHere:`फ़ाइलें सिर्फ़ अटैचमेंट कॉलम में रहती हैं। पहले कॉलम का फ़ॉर्मेट अटैचमेंट पर सेट करें।`,remove:`सेल से हटाएँ`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`पिछली फ़ाइल`,next:`अगली फ़ाइल`,open:`नए टैब में खोलें`,close:`बंद करें`},review:{count:(e,t,n,r)=>`${e} के बदलाव: ${Za(t,n,r)}`,keepAll:`सभी रखें`,undoAll:`सभी पहले जैसे करें`,keep:`रखें`,undo:`पहले जैसा करें`,was:`पहले`,added:e=>`${e} ने जोड़ा`,changed:e=>`${e} ने बदला`,away:`आपके पिछली बार देखने के बाद बदला गया`,countAway:(e,t,n)=>`आपके पिछली बार देखने के बाद बदला गया: ${Za(e,t,n)}`,empty:`खाली`,next:`अगला`,previous:`पिछला`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} सेल आप दोनों ने बदले: आपके बदलाव रखे गए।`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`आज`,previousMonth:`पिछला महीना`,nextMonth:`अगला महीना`,clear:`साफ़ करें`,addTime:`समय जोड़ें`,removeTime:`समय हटाएँ`,time:`समय`},empty:{title:`अभी कोई पंक्ति नहीं`,addRow:`पंक्ति जोड़ें`,paste:`पंक्तियाँ पेस्ट करें`,pasteHint:`Excel या Google Sheets में पंक्तियाँ कॉपी करें, फिर यहाँ ⌘V दबाएँ।`,importFile:`फ़ाइल इंपोर्ट करें`,noMatch:`दिखाने के लिए कोई पंक्ति नहीं`,noMatchBody:`फ़िल्टर हर पंक्ति को बाहर कर देता है।`,clearFilter:`फ़िल्टर साफ़ करें`}},$a=(e,t,n)=>`${e.toLocaleString(`it`)} ${e===1?t:n}`,eo=(e,t,n)=>[e>0?$a(e,`cella`,`celle`):``,t>0?$a(t,`riga`,`righe`):``,n>0?$a(n,`colonna`,`colonne`):``].filter(e=>e!==``).join(`, `),to={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Apertura…`,unreadable:`Al momento questo foglio non si può modificare: il suo file non è un CSV leggibile. Ecco cosa non va.`,readOnlyLarge:e=>`Questo foglio è di ${e} MB: qui si può vedere, ma non modificare.`,untitled:`Senza titolo`,saved:`Salvato`,saving:`Salvataggio…`,unsaved:`Non salvato`,failed:`Non salvato`,rows:(e,t)=>e===t?$a(t,`riga`,`righe`):`${e.toLocaleString(`it`)} di ${t.toLocaleString(`it`)} righe`,find:`Trova`,findPlaceholder:`Trova nel foglio`,matches:e=>e===1?`1 risultato`:`${String(e)} risultati`,types:{text:`Testo`,number:`Numero`,select:`Elenco a discesa`,"multi-select":`Selezione multipla`,date:`Data`,checkbox:`Casella di controllo`,url:`Link`,email:`Email`,phone:`Telefono`,file:`File`},auto:{button:e=>`Ordina e filtra ${e}`,sortAsc:{text:`Ordina dalla A alla Z`,number:`Ordina dal più piccolo al più grande`,date:`Ordina dal meno recente al più recente`,options:`Ordina secondo le opzioni`},sortDesc:{text:`Ordina dalla Z alla A`,number:`Ordina dal più grande al più piccolo`,date:`Ordina dal più recente al meno recente`,options:`Ordina secondo le opzioni, al contrario`},search:`Cerca`,selectAll:`(Seleziona tutto)`,selectFound:`(Seleziona tutti i risultati della ricerca)`,blanks:`(Vuote)`,checked:`Selezionata`,unchecked:`Non selezionata`,hasFile:`Con un file`,more:e=>`Altri ${e.toLocaleString(`it`)}. Usa la ricerca per trovarli.`,none:`Nessun valore corrispondente.`,clear:`Cancella filtro`,ok:`OK`},look:{sorted:e=>`Ordinato per ${e}`,filtered:e=>e.length===1?`Filtrato per ${e[0]??``}`:`Filtrato per ${String(e.length)} colonne`,hidden:e=>e===1?`1 colonna nascosta`:`${String(e)} colonne nascoste`,clear:`Cancella`,note:`Solo tu vedi questo ordinamento e questo filtro.`},replace:{label:`Sostituisci`,with:`Sostituisci con`,one:`Sostituisci`,all:`Sostituisci tutto`,done:e=>`Sostituito in ${$a(e,`cella`,`celle`)}.`},stats:{average:`Media`,count:`Conteggio`,sum:`Somma`},column:{name:`Nome della colonna`,key:`Colonna chiave: ogni riga ha un valore unico`,add:`Aggiungi una colonna`,rename:`Rinomina`,format:`Formato`,formats:{text:`Testo`,number:`Numero`,currency:`Valuta`,percent:`Percentuale`,date:`Data`,checkbox:`Casella di controllo`,list:`Elenco a discesa`,file:`Allegato`},addOption:`Aggiungi un'opzione`,newOption:e=>`Aggiungi “${e}”`,confirm:`Elimina`,cancel:`Annulla`,hide:`Nascondi colonna`,insertLeft:`Inserisci colonna a sinistra`,insertRight:`Inserisci colonna a destra`,remove:`Elimina colonna`,removeAsk:(e,t)=>`Eliminare “${e}” e ${t===1?`il suo valore`:`i suoi ${t.toLocaleString(`it`)} valori`}? Puoi annullare.`,taken:`Un'altra colonna ha già questo nome.`,empty:`Una colonna deve avere un nome.`,newName:e=>e===1?`Colonna`:`Colonna ${String(e)}`},row:{numbered:e=>`Riga ${String(e)}`,inFile:e=>`Riga ${String(e)} nel file`,of:(e,t)=>`Riga ${String(e)} di ${String(t)}`,hiddenFields:`Colonne nascoste`,insertAbove:`Inserisci riga sopra`,insertBelow:`Inserisci riga sotto`,remove:e=>e===1?`Elimina riga`:`Elimina ${String(e)} righe`,expand:`Apri riga`,newRow:`Nuova riga`,record:`Riga`,previous:`Riga precedente`,next:`Riga successiva`,close:`Chiudi`},cell:{copy:`Copia`,cut:`Taglia`,paste:`Incolla`,clear:`Cancella`,clearContents:`Cancella contenuto`,notNumber:`Non è un numero. Scrivi le cifre, con il punto per i decimali: 1234.5`,notDate:`Non è una data. Scrivi 2026-10-14 o 2026-10-14T09:30`,notEmail:`Non è un indirizzo email`,notUrl:`Un indirizzo non contiene spazi`,open:`Apri`,left:e=>e===1?`1 valore non era adatto alla sua colonna ed è stato escluso.`:`${String(e)} valori non erano adatti alle loro colonne e sono stati esclusi.`,pasteHint:`Usa ⌘V per incollare.`},files:{notFound:`Non trovato`,insert:`Inserisci file…`,add:`Aggiungi file`,adding:e=>e===1?`Aggiunta di 1 file…`:`Aggiunta di ${String(e)} file…`,tooLarge:(e,t)=>`${e} supera i ${String(t)} MB e non è stato aggiunto.`,failed:e=>`Impossibile aggiungere ${e}.`,notHere:`Solo una colonna di allegati contiene file. Imposta prima il formato della colonna su Allegato.`,remove:`Rimuovi dalla cella`,of:(e,t)=>`${String(e)} di ${String(t)}`,previous:`File precedente`,next:`File successivo`,open:`Apri in un nuovo pannello`,close:`Chiudi`},review:{count:(e,t,n,r)=>`${e} ha modificato ${eo(t,n,r)}`,keepAll:`Mantieni tutto`,undoAll:`Annulla tutto`,keep:`Mantieni`,undo:`Annulla`,was:`Prima`,added:e=>`Aggiunto da ${e}`,changed:e=>`Modificato da ${e}`,away:`Modificato dall'ultima volta che l'hai visto`,countAway:(e,t,n)=>`Dall'ultima volta che l'hai visto: modificate ${eo(e,t,n)}`,empty:`vuoto`,next:`Successivo`,previous:`Precedente`,position:(e,t)=>`${String(e)} di ${String(t)}`,conflicts:e=>e===1?`1 cella è stata modificata da entrambi: è stata mantenuta la tua versione.`:`${String(e)} celle sono state modificate da entrambi: è stata mantenuta la tua versione.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Oggi`,previousMonth:`Mese precedente`,nextMonth:`Mese successivo`,clear:`Cancella`,addTime:`Aggiungi un orario`,removeTime:`Rimuovi l'orario`,time:`Ora`},empty:{title:`Ancora nessuna riga`,addRow:`Aggiungi una riga`,paste:`Incolla righe`,pasteHint:`Copia le righe in Excel o Google Fogli, poi premi ⌘V qui.`,importFile:`Importa un file`,noMatch:`Nessuna riga da mostrare`,noMatchBody:`Il filtro esclude tutte le righe.`,clearFilter:`Cancella il filtro`}},no=/[\u3040-\u30ff\u3400-\u9fff\uf900-\ufaff]/u,ro=/[A-Za-z0-9]/;function io(...e){let t=``;for(let n of e){if(n===``)continue;let e=t.at(-1)??``,r=n[0]??``,i=no.test(e)&&ro.test(r)||ro.test(e)&&no.test(r);t+=(i?` `:``)+n}return t}var ao=(e,t,n)=>[e>0?`セル ${String(e)} 個`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),oo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`開いています…`,unreadable:`このシートは現在編集できません:ファイルが読み込める CSV になっていません。問題点は次のとおりです。`,readOnlyLarge:e=>`このシートは ${e} MB あるため、ここでは表示のみで編集はできません。`,untitled:`無題`,saved:`保存済み`,saving:`保存中…`,unsaved:`未保存`,failed:`保存できませんでした`,rows:(e,t)=>e===t?`${t.toLocaleString(`ja`)} 行`:`${e.toLocaleString(`ja`)} / ${t.toLocaleString(`ja`)} 行`,find:`検索`,findPlaceholder:`シート内を検索`,matches:e=>`${String(e)} 件`,types:{text:`文字列`,number:`数値`,select:`ドロップダウンリスト`,"multi-select":`複数選択リスト`,date:`日付`,checkbox:`チェックボックス`,url:`リンク`,email:`メール`,phone:`電話番号`,file:`ファイル`},auto:{button:e=>io(e,`の並べ替えとフィルター`),sortAsc:{text:`昇順で並べ替え(A → Z)`,number:`小さい順に並べ替え`,date:`古い順に並べ替え`,options:`選択肢の順に並べ替え`},sortDesc:{text:`降順で並べ替え(Z → A)`,number:`大きい順に並べ替え`,date:`新しい順に並べ替え`,options:`選択肢の逆順に並べ替え`},search:`検索`,selectAll:`(すべて選択)`,selectFound:`(検索結果をすべて選択)`,blanks:`(空白セル)`,checked:`チェックあり`,unchecked:`チェックなし`,hasFile:`ファイルあり`,more:e=>`ほか ${e.toLocaleString(`ja`)} 件。検索すると見つかります。`,none:`一致する値はありません。`,clear:`フィルターをクリア`,ok:`OK`},look:{sorted:e=>`「${e}」で並べ替え中`,filtered:e=>e.length===1?`「${e[0]??``}」でフィルター中`:`${String(e.length)} 列でフィルター中`,hidden:e=>`${String(e)} 列を非表示`,clear:`クリア`,note:`この並べ替えとフィルターはあなたにだけ表示されます。`},replace:{label:`置換`,with:`置換後の文字列`,one:`置換`,all:`すべて置換`,done:e=>`${String(e)} 個のセルで置換しました。`},stats:{average:`平均`,count:`データの個数`,sum:`合計`},column:{name:`列名`,key:`キー列:行ごとに値が重複しません`,add:`列を追加`,rename:`名前を変更`,format:`表示形式`,formats:{text:`文字列`,number:`数値`,currency:`通貨`,percent:`パーセンテージ`,date:`日付`,checkbox:`チェックボックス`,list:`ドロップダウンリスト`,file:`添付ファイル`},addOption:`選択肢を追加`,newOption:e=>`「${e}」を追加`,confirm:`削除`,cancel:`キャンセル`,hide:`列を非表示`,insertLeft:`左に列を挿入`,insertRight:`右に列を挿入`,remove:`列を削除`,removeAsk:(e,t)=>`「${e}」とその ${t.toLocaleString(`ja`)} 個の値を削除しますか?元に戻せます。`,taken:`同じ名前の列がすでにあります。`,empty:`列には名前が必要です。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`${String(e)} 行目`,inFile:e=>`ファイルの ${String(e)} 行目`,of:(e,t)=>`${String(e)} / ${String(t)} 行`,hiddenFields:`非表示の列`,insertAbove:`上に行を挿入`,insertBelow:`下に行を挿入`,remove:e=>e===1?`行を削除`:`${String(e)} 行を削除`,expand:`行を開く`,newRow:`新しい行`,record:`行`,previous:`前の行`,next:`次の行`,close:`閉じる`},cell:{copy:`コピー`,cut:`切り取り`,paste:`貼り付け`,clear:`クリア`,clearContents:`内容をクリア`,notNumber:`数値ではありません。数字で入力し、小数点にはピリオドを使ってください:1234.5`,notDate:`日付ではありません。2026-10-14 または 2026-10-14T09:30 の形式で入力してください`,notEmail:`メールアドレスではありません`,notUrl:`アドレスにスペースは使えません`,open:`開く`,left:e=>`${String(e)} 個の値が列の形式に合わないため、貼り付けませんでした。`,pasteHint:`⌘V で貼り付けてください。`},files:{notFound:`見つかりません`,insert:`ファイルを挿入…`,add:`ファイルを追加`,adding:e=>`${String(e)} 個のファイルを追加中…`,tooLarge:(e,t)=>`${e} は ${String(t)} MB を超えているため、追加しませんでした。`,failed:e=>`${e} を追加できませんでした。`,notHere:`ファイルを入れられるのは添付ファイルの列だけです。先に列の表示形式を「添付ファイル」にしてください。`,remove:`セルから削除`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`前のファイル`,next:`次のファイル`,open:`新しいタブで開く`,close:`閉じる`},review:{count:(e,t,n,r)=>io(e,`が${ao(t,n,r)}を変更しました`),keepAll:`すべて残す`,undoAll:`すべて元に戻す`,keep:`残す`,undo:`元に戻す`,was:`変更前`,added:e=>io(e,`が追加`),changed:e=>io(e,`が変更`),away:`前回の確認以降に変更`,countAway:(e,t,n)=>`前回の確認以降、${ao(e,t,n)}が変更されました`,empty:`空`,next:`次へ`,previous:`前へ`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} 個のセルが双方で変更されました。あなたの変更を残しています。`},date:{placeholder:`2026-10-14、2026年10月14日、today…`,today:`今日`,previousMonth:`前の月`,nextMonth:`次の月`,clear:`クリア`,addTime:`時刻を追加`,removeTime:`時刻を削除`,time:`時刻`},empty:{title:`まだ行がありません`,addRow:`行を追加`,paste:`行を貼り付け`,pasteHint:`Excel や Google スプレッドシートで行をコピーし、ここで ⌘V を押してください。`,importFile:`ファイルを読み込む`,noMatch:`表示する行がありません`,noMatchBody:`フィルターですべての行が除外されています。`,clearFilter:`フィルターをクリア`}},so=(e,t,n)=>[e>0?`셀 ${String(e)}개`:``,t>0?`행 ${String(t)}개`:``,n>0?`열 ${String(n)}개`:``].filter(e=>e!==``).join(`, `),co=e=>{let t=e.replace(/[^\p{L}\p{N}]+$/u,``),n=t.charCodeAt(t.length-1);return`${e}${(n>=44032&&n<=55203?(n-44032)%28!=0:/\d$/u.test(t)?/[013678]$/u.test(t):/(ng|[lmnkpt])$/iu.test(t))?`이`:`가`}`},lo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`여는 중…`,unreadable:`지금은 이 시트를 편집할 수 없습니다. 파일이 시트에서 읽을 수 있는 CSV가 아닙니다. 문제는 다음과 같습니다.`,readOnlyLarge:e=>`이 시트는 ${e} MB라서 여기서는 보기만 할 수 있고 편집할 수 없습니다.`,untitled:`제목 없음`,saved:`저장됨`,saving:`저장 중…`,unsaved:`저장 안 됨`,failed:`저장하지 못함`,rows:(e,t)=>e===t?`${t.toLocaleString(`ko`)}행`:`${t.toLocaleString(`ko`)}행 중 ${e.toLocaleString(`ko`)}행`,find:`찾기`,findPlaceholder:`시트에서 찾기`,matches:e=>`${String(e)}개 일치`,types:{text:`텍스트`,number:`숫자`,select:`드롭다운 목록`,"multi-select":`다중 선택 목록`,date:`날짜`,checkbox:`확인란`,url:`링크`,email:`이메일`,phone:`전화번호`,file:`파일`},auto:{button:e=>`${e} 정렬 및 필터`,sortAsc:{text:`텍스트 오름차순 정렬`,number:`숫자 오름차순 정렬`,date:`오래된 날짜순 정렬`,options:`옵션 순서대로 정렬`},sortDesc:{text:`텍스트 내림차순 정렬`,number:`숫자 내림차순 정렬`,date:`최근 날짜순 정렬`,options:`옵션 역순으로 정렬`},search:`검색`,selectAll:`(모두 선택)`,selectFound:`(검색 결과 모두 선택)`,blanks:`(필드 값 없음)`,checked:`선택됨`,unchecked:`선택 안 됨`,hasFile:`파일 있음`,more:e=>`${e.toLocaleString(`ko`)}개 더 있습니다. 검색하여 찾으세요.`,none:`일치하는 값이 없습니다.`,clear:`필터 해제`,ok:`확인`},look:{sorted:e=>`${e} 기준 정렬됨`,filtered:e=>e.length===1?`${e[0]??``} 기준 필터링됨`:`열 ${String(e.length)}개 기준 필터링됨`,hidden:e=>`열 ${String(e)}개 숨김`,clear:`해제`,note:`이 정렬과 필터는 나에게만 보입니다.`},replace:{label:`바꾸기`,with:`바꿀 내용`,one:`바꾸기`,all:`모두 바꾸기`,done:e=>`셀 ${String(e)}개에서 바꿨습니다.`},stats:{average:`평균`,count:`개수`,sum:`합계`},column:{name:`열 이름`,key:`키 열: 행마다 고유한 값을 가집니다`,add:`열 추가`,rename:`이름 바꾸기`,format:`서식`,formats:{text:`텍스트`,number:`숫자`,currency:`통화`,percent:`백분율`,date:`날짜`,checkbox:`확인란`,list:`드롭다운 목록`,file:`첨부 파일`},addOption:`옵션 추가`,newOption:e=>`“${e}” 추가`,confirm:`삭제`,cancel:`취소`,hide:`열 숨기기`,insertLeft:`왼쪽에 열 삽입`,insertRight:`오른쪽에 열 삽입`,remove:`열 삭제`,removeAsk:(e,t)=>`“${e}” 열과 그 값 ${t.toLocaleString(`ko`)}개를 삭제할까요? 실행 취소할 수 있습니다.`,taken:`같은 이름의 열이 이미 있습니다.`,empty:`열 이름을 입력하세요.`,newName:e=>e===1?`열`:`열 ${String(e)}`},row:{numbered:e=>`${String(e)}행`,inFile:e=>`파일의 ${String(e)}행`,of:(e,t)=>`${String(t)}행 중 ${String(e)}행`,hiddenFields:`숨긴 열`,insertAbove:`위에 행 삽입`,insertBelow:`아래에 행 삽입`,remove:e=>e===1?`행 삭제`:`행 ${String(e)}개 삭제`,expand:`행 열기`,newRow:`새 행`,record:`행`,previous:`이전 행`,next:`다음 행`,close:`닫기`},cell:{copy:`복사`,cut:`잘라내기`,paste:`붙여넣기`,clear:`지우기`,clearContents:`내용 지우기`,notNumber:`숫자가 아닙니다. 숫자로 쓰고 소수는 점을 사용하세요: 1234.5`,notDate:`날짜가 아닙니다. 2026-10-14 또는 2026-10-14T09:30 형식으로 쓰세요`,notEmail:`이메일 주소가 아닙니다`,notUrl:`주소에는 공백을 쓸 수 없습니다`,open:`열기`,left:e=>`값 ${String(e)}개가 열에 맞지 않아 제외되었습니다.`,pasteHint:`붙여넣으려면 ⌘V를 사용하세요.`},files:{notFound:`찾을 수 없음`,insert:`파일 삽입…`,add:`파일 추가`,adding:e=>`파일 ${String(e)}개 추가 중…`,tooLarge:(e,t)=>`${e} 파일이 ${String(t)} MB를 넘어 추가하지 않았습니다.`,failed:e=>`${e} 파일을 추가하지 못했습니다.`,notHere:`첨부 파일 열에만 파일을 넣을 수 있습니다. 먼저 열 서식을 첨부 파일로 설정하세요.`,remove:`셀에서 제거`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`이전 파일`,next:`다음 파일`,open:`새 탭에서 열기`,close:`닫기`},review:{count:(e,t,n,r)=>`${co(e)} 변경함: ${so(t,n,r)}`,keepAll:`모두 유지`,undoAll:`모두 실행 취소`,keep:`유지`,undo:`실행 취소`,was:`이전`,added:e=>`${co(e)} 추가함`,changed:e=>`${co(e)} 변경함`,away:`마지막으로 본 뒤 변경됨`,countAway:(e,t,n)=>`마지막으로 본 뒤 변경됨: ${so(e,t,n)}`,empty:`비어 있음`,next:`다음`,previous:`이전`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`셀 ${String(e)}개를 양쪽에서 모두 바꿨습니다. 내 변경 사항을 유지했습니다.`},date:{placeholder:`2026-10-14, 2026.10.14, today…`,today:`오늘`,previousMonth:`이전 달`,nextMonth:`다음 달`,clear:`지우기`,addTime:`시간 추가`,removeTime:`시간 제거`,time:`시간`},empty:{title:`아직 행이 없습니다`,addRow:`행 추가`,paste:`행 붙여넣기`,pasteHint:`Excel이나 Google Sheets에서 행을 복사한 뒤 여기서 ⌘V를 누르세요.`,importFile:`파일 가져오기`,noMatch:`표시할 행이 없습니다`,noMatchBody:`필터 때문에 모든 행이 제외되었습니다.`,clearFilter:`필터 해제`}},uo=(e,t,n)=>[e>0?`${String(e)} ${e===1?`célula`:`células`}`:``,t>0?`${String(t)} ${t===1?`linha`:`linhas`}`:``,n>0?`${String(n)} ${n===1?`coluna`:`colunas`}`:``].filter(e=>e!==``).join(`, `),fo=e=>e.toLocaleString(`pt-BR`),po={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abrindo…`,unreadable:`Não é possível editar esta planilha agora: o arquivo dela não é um CSV que uma planilha consiga ler. Veja o que está errado.`,readOnlyLarge:e=>`Esta planilha tem ${e} MB: aqui ela é mostrada, não editada.`,untitled:`Sem título`,saved:`Salvo`,saving:`Salvando…`,unsaved:`Não salvo`,failed:`Não foi salvo`,rows:(e,t)=>e===t?`${fo(t)} ${t===1?`linha`:`linhas`}`:`${fo(e)} de ${fo(t)} linhas`,find:`Localizar`,findPlaceholder:`Localizar na planilha`,matches:e=>e===1?`1 resultado`:`${String(e)} resultados`,types:{text:`Texto`,number:`Número`,select:`Lista suspensa`,"multi-select":`Seleção múltipla`,date:`Data`,checkbox:`Caixa de seleção`,url:`Link`,email:`Email`,phone:`Telefone`,file:`Arquivo`},auto:{button:e=>`Classificar e filtrar ${e}`,sortAsc:{text:`Classificar de A a Z`,number:`Classificar do menor para o maior`,date:`Classificar do mais antigo para o mais novo`,options:`Classificar na ordem das opções`},sortDesc:{text:`Classificar de Z a A`,number:`Classificar do maior para o menor`,date:`Classificar do mais novo para o mais antigo`,options:`Classificar na ordem inversa das opções`},search:`Pesquisar`,selectAll:`(Selecionar tudo)`,selectFound:`(Selecionar todos os resultados da pesquisa)`,blanks:`(Vazias)`,checked:`Marcada`,unchecked:`Desmarcada`,hasFile:`Tem arquivo`,more:e=>`Mais ${fo(e)}. Pesquise para encontrá-los.`,none:`Nenhum valor corresponde.`,clear:`Limpar filtro`,ok:`OK`},look:{sorted:e=>`Classificado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} colunas`,hidden:e=>e===1?`1 coluna oculta`:`${String(e)} colunas ocultas`,clear:`Limpar`,note:`Só você vê esta classificação e este filtro.`},replace:{label:`Substituir`,with:`Substituir por`,one:`Substituir`,all:`Substituir tudo`,done:e=>`Substituído em ${String(e)} ${e===1?`célula`:`células`}.`},stats:{average:`Média`,count:`Contagem`,sum:`Soma`},column:{name:`Nome da coluna`,key:`Coluna-chave: o valor de cada linha é único`,add:`Adicionar uma coluna`,rename:`Renomear`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moeda`,percent:`Porcentagem`,date:`Data`,checkbox:`Caixa de seleção`,list:`Lista suspensa`,file:`Anexo`},addOption:`Adicionar uma opção`,newOption:e=>`Adicionar “${e}”`,confirm:`Excluir`,cancel:`Cancelar`,hide:`Ocultar coluna`,insertLeft:`Inserir coluna à esquerda`,insertRight:`Inserir coluna à direita`,remove:`Excluir coluna`,removeAsk:(e,t)=>`Excluir “${e}” e ${t===1?`seu valor`:`seus ${fo(t)} valores`}? Você pode desfazer.`,taken:`Outra coluna já tem este nome.`,empty:`Uma coluna precisa de um nome.`,newName:e=>e===1?`Coluna`:`Coluna ${String(e)}`},row:{numbered:e=>`Linha ${String(e)}`,inFile:e=>`Linha ${String(e)} no arquivo`,of:(e,t)=>`Linha ${String(e)} de ${String(t)}`,hiddenFields:`Colunas ocultas`,insertAbove:`Inserir linha acima`,insertBelow:`Inserir linha abaixo`,remove:e=>e===1?`Excluir linha`:`Excluir ${String(e)} linhas`,expand:`Abrir linha`,newRow:`Nova linha`,record:`Linha`,previous:`Linha anterior`,next:`Próxima linha`,close:`Fechar`},cell:{copy:`Copiar`,cut:`Recortar`,paste:`Colar`,clear:`Limpar`,clearContents:`Limpar conteúdo`,notNumber:`Não é um número. Escreva algarismos, com ponto para decimais: 1234.5`,notDate:`Não é uma data. Escreva 2026-10-14 ou 2026-10-14T09:30`,notEmail:`Não é um endereço de email`,notUrl:`Um endereço não tem espaços`,open:`Abrir`,left:e=>e===1?`1 valor não cabia na coluna e ficou de fora.`:`${String(e)} valores não cabiam nas colunas e ficaram de fora.`,pasteHint:`Use ⌘V para colar.`},files:{notFound:`Não encontrado`,insert:`Inserir arquivo…`,add:`Adicionar arquivo`,adding:e=>e===1?`Adicionando 1 arquivo…`:`Adicionando ${String(e)} arquivos…`,tooLarge:(e,t)=>`${e} tem mais de ${String(t)} MB e não foi adicionado.`,failed:e=>`Não foi possível adicionar ${e}.`,notHere:`Só uma coluna de anexos guarda arquivos. Primeiro defina o formato da coluna como Anexo.`,remove:`Remover da célula`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Arquivo anterior`,next:`Próximo arquivo`,open:`Abrir em uma nova aba`,close:`Fechar`},review:{count:(e,t,n,r)=>`O ${e} alterou ${uo(t,n,r)}`,keepAll:`Manter tudo`,undoAll:`Desfazer tudo`,keep:`Manter`,undo:`Desfazer`,was:`Antes`,added:e=>`Adicionado pelo ${e}`,changed:e=>`Alterado pelo ${e}`,away:`Alterado desde a última vez que você olhou`,countAway:(e,t,n)=>`Desde a última vez que você olhou: alterações em ${uo(e,t,n)}`,empty:`vazio`,next:`Próxima`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 célula foi alterada por vocês dois: a sua versão foi mantida.`:`${String(e)} células foram alteradas por vocês dois: as suas versões foram mantidas.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoje`,previousMonth:`Mês anterior`,nextMonth:`Próximo mês`,clear:`Limpar`,addTime:`Adicionar um horário`,removeTime:`Remover o horário`,time:`Horário`},empty:{title:`Nenhuma linha ainda`,addRow:`Adicionar uma linha`,paste:`Colar linhas`,pasteHint:`Copie linhas no Excel ou no Planilhas Google e pressione ⌘V aqui.`,importFile:`Importar um arquivo`,noMatch:`Nenhuma linha para mostrar`,noMatchBody:`O filtro deixa todas as linhas de fora.`,clearFilter:`Limpar o filtro`}},mo=new Intl.PluralRules(`ru`),ho=(e,t,n,r)=>{let i=mo.select(e);return i===`one`?t:i===`many`?r:n},go=(e,t,n,r)=>`${e.toLocaleString(`ru`)} ${ho(e,t,n,r)}`,_o=(e,t,n)=>[e>0?go(e,`ячейка`,`ячейки`,`ячеек`):``,t>0?go(t,`строка`,`строки`,`строк`):``,n>0?go(n,`столбец`,`столбца`,`столбцов`):``].filter(e=>e!==``).join(`, `),vo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Открытие…`,unreadable:`Сейчас эту таблицу нельзя редактировать: её файл не является CSV, который может прочитать таблица. Вот что не так.`,readOnlyLarge:e=>`Размер таблицы — ${e} MB: здесь её можно только просматривать.`,untitled:`Без названия`,saved:`Сохранено`,saving:`Сохранение…`,unsaved:`Не сохранено`,failed:`Не сохранено`,rows:(e,t)=>e===t?go(t,`строка`,`строки`,`строк`):`${e.toLocaleString(`ru`)} из ${go(t,`строки`,`строк`,`строк`)}`,find:`Найти`,findPlaceholder:`Найти в таблице`,matches:e=>go(e,`совпадение`,`совпадения`,`совпадений`),types:{text:`Текст`,number:`Число`,select:`Раскрывающийся список`,"multi-select":`Список с несколькими значениями`,date:`Дата`,checkbox:`Флажок`,url:`Ссылка`,email:`Эл. почта`,phone:`Телефон`,file:`Файл`},auto:{button:e=>`Сортировка и фильтр: ${e}`,sortAsc:{text:`Сортировка от А до Я`,number:`Сортировка от минимального к максимальному`,date:`Сортировка от старых к новым`,options:`Сортировка в порядке вариантов`},sortDesc:{text:`Сортировка от Я до А`,number:`Сортировка от максимального к минимальному`,date:`Сортировка от новых к старым`,options:`Сортировка в обратном порядке вариантов`},search:`Поиск`,selectAll:`(Выделить все)`,selectFound:`(Выделить все результаты поиска)`,blanks:`(Пустые)`,checked:`Отмечено`,unchecked:`Не отмечено`,hasFile:`Есть файл`,more:e=>`Ещё ${e.toLocaleString(`ru`)}. Воспользуйтесь поиском.`,none:`Нет подходящих значений.`,clear:`Удалить фильтр`,ok:`ОК`},look:{sorted:e=>`Сортировка: ${e}`,filtered:e=>e.length===1?`Фильтр: ${e[0]??``}`:`Фильтр по ${go(e.length,`столбцу`,`столбцам`,`столбцам`)}`,hidden:e=>`Скрыто: ${go(e,`столбец`,`столбца`,`столбцов`)}`,clear:`Сбросить`,note:`Эту сортировку и фильтр видите только вы.`},replace:{label:`Заменить`,with:`Заменить на`,one:`Заменить`,all:`Заменить все`,done:e=>`Заменено в ${go(e,`ячейке`,`ячейках`,`ячейках`)}.`},stats:{average:`Среднее`,count:`Количество`,sum:`Сумма`},column:{name:`Имя столбца`,key:`Ключевой столбец: значение в каждой строке своё`,add:`Добавить столбец`,rename:`Переименовать`,format:`Формат`,formats:{text:`Текст`,number:`Число`,currency:`Валюта`,percent:`Процент`,date:`Дата`,checkbox:`Флажок`,list:`Раскрывающийся список`,file:`Вложение`},addOption:`Добавить вариант`,newOption:e=>`Добавить «${e}»`,confirm:`Удалить`,cancel:`Отменить`,hide:`Скрыть столбец`,insertLeft:`Вставить столбец слева`,insertRight:`Вставить столбец справа`,remove:`Удалить столбец`,removeAsk:(e,t)=>`Удалить «${e}» и ${t===1?`его значение`:`его ${go(t,`значение`,`значения`,`значений`)}`}? Это можно отменить.`,taken:`Столбец с таким именем уже есть.`,empty:`У столбца должно быть имя.`,newName:e=>e===1?`Столбец`:`Столбец ${String(e)}`},row:{numbered:e=>`Строка ${String(e)}`,inFile:e=>`Строка ${String(e)} в файле`,of:(e,t)=>`Строка ${String(e)} из ${String(t)}`,hiddenFields:`Скрытые столбцы`,insertAbove:`Вставить строку выше`,insertBelow:`Вставить строку ниже`,remove:e=>e===1?`Удалить строку`:`Удалить ${go(e,`строку`,`строки`,`строк`)}`,expand:`Открыть строку`,newRow:`Новая строка`,record:`Строка`,previous:`Предыдущая строка`,next:`Следующая строка`,close:`Закрыть`},cell:{copy:`Скопировать`,cut:`Вырезать`,paste:`Вставить`,clear:`Очистить`,clearContents:`Очистить содержимое`,notNumber:`Это не число. Пишите цифры, дробную часть — через точку: 1234.5`,notDate:`Это не дата. Пишите 2026-10-14 или 2026-10-14T09:30`,notEmail:`Это не адрес электронной почты`,notUrl:`В адресе не может быть пробелов`,open:`Открыть`,left:e=>e===1?`1 значение не подошло к своему столбцу и не вставлено.`:`${go(e,`значение`,`значения`,`значений`)} не подошли к своим столбцам и не вставлены.`,pasteHint:`Чтобы вставить, нажмите ⌘V.`},files:{notFound:`Не найден`,insert:`Вставить файл…`,add:`Добавить файл`,adding:e=>`Добавление: ${go(e,`файл`,`файла`,`файлов`)}…`,tooLarge:(e,t)=>`${e} больше ${String(t)} MB и не добавлен.`,failed:e=>`Не удалось добавить ${e}.`,notHere:`Файлы можно хранить только в столбце вложений. Сначала задайте столбцу формат «Вложение».`,remove:`Удалить из ячейки`,of:(e,t)=>`${String(e)} из ${String(t)}`,previous:`Предыдущий файл`,next:`Следующий файл`,open:`Открыть в новой вкладке`,close:`Закрыть`},review:{count:(e,t,n,r)=>`${e} изменил: ${_o(t,n,r)}`,keepAll:`Оставить все`,undoAll:`Отменить все`,keep:`Оставить`,undo:`Отменить`,was:`Было`,added:e=>`Добавил ${e}`,changed:e=>`Изменил ${e}`,away:`Изменено с вашего последнего просмотра`,countAway:(e,t,n)=>`С вашего последнего просмотра изменено: ${_o(e,t,n)}`,empty:`пусто`,next:`Следующее`,previous:`Предыдущее`,position:(e,t)=>`${String(e)} из ${String(t)}`,conflicts:e=>`${e===1?`1 ячейку`:go(e,`ячейку`,`ячейки`,`ячеек`)} изменили вы оба: оставлены ваши значения.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Сегодня`,previousMonth:`Предыдущий месяц`,nextMonth:`Следующий месяц`,clear:`Очистить`,addTime:`Добавить время`,removeTime:`Убрать время`,time:`Время`},empty:{title:`Строк пока нет`,addRow:`Добавить строку`,paste:`Вставить строки`,pasteHint:`Скопируйте строки в Excel или Google Таблицах и нажмите здесь ⌘V.`,importFile:`Импортировать файл`,noMatch:`Нет строк для показа`,noMatchBody:`Фильтр скрывает все строки.`,clearFilter:`Удалить фильтр`}},yo=(e,t,n)=>[e>0?`${String(e)} เซลล์`:``,t>0?`${String(t)} แถว`:``,n>0?`${String(n)} คอลัมน์`:``].filter(e=>e!==``).join(`, `),bo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`กำลังเปิด…`,unreadable:`ยังแก้ไขชีตนี้ไม่ได้ในตอนนี้ เพราะไฟล์ไม่ใช่ CSV ที่ชีตอ่านได้ ปัญหามีดังนี้`,readOnlyLarge:e=>`ชีตนี้มีขนาด ${e} MB จึงแสดงได้อย่างเดียว แก้ไขที่นี่ไม่ได้`,untitled:`ไม่มีชื่อ`,saved:`บันทึกแล้ว`,saving:`กำลังบันทึก…`,unsaved:`ยังไม่ได้บันทึก`,failed:`บันทึกไม่สำเร็จ`,rows:(e,t)=>e===t?`${t.toLocaleString(`th`)} แถว`:`${e.toLocaleString(`th`)} จาก ${t.toLocaleString(`th`)} แถว`,find:`ค้นหา`,findPlaceholder:`ค้นหาในชีต`,matches:e=>`ตรงกัน ${String(e)} รายการ`,types:{text:`ข้อความ`,number:`ตัวเลข`,select:`รายการดรอปดาวน์`,"multi-select":`รายการหลายค่า`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,url:`ลิงก์`,email:`อีเมล`,phone:`โทรศัพท์`,file:`ไฟล์`},auto:{button:e=>`เรียงลำดับและกรอง ${e}`,sortAsc:{text:`เรียงลำดับจาก A ถึง Z`,number:`เรียงลำดับจากน้อยที่สุดไปหามากที่สุด`,date:`เรียงลำดับจากเก่าที่สุดไปหาใหม่ที่สุด`,options:`เรียงลำดับตามตัวเลือก`},sortDesc:{text:`เรียงลำดับจาก Z ถึง A`,number:`เรียงลำดับจากมากที่สุดไปหาน้อยที่สุด`,date:`เรียงลำดับจากใหม่ที่สุดไปหาเก่าที่สุด`,options:`เรียงลำดับย้อนกลับตามตัวเลือก`},search:`ค้นหา`,selectAll:`(เลือกทั้งหมด)`,selectFound:`(เลือกผลการค้นหาทั้งหมด)`,blanks:`(ช่องว่าง)`,checked:`เลือกแล้ว`,unchecked:`ไม่ได้เลือก`,hasFile:`มีไฟล์`,more:e=>`อีก ${e.toLocaleString(`th`)} รายการ ค้นหาเพื่อดู`,none:`ไม่มีค่าที่ตรงกัน`,clear:`ล้างตัวกรอง`,ok:`ตกลง`},look:{sorted:e=>`เรียงลำดับตาม ${e}`,filtered:e=>e.length===1?`กรองตาม ${e[0]??``}`:`กรองตาม ${String(e.length)} คอลัมน์`,hidden:e=>`ซ่อน ${String(e)} คอลัมน์`,clear:`ล้าง`,note:`การเรียงลำดับและการกรองนี้เห็นเฉพาะคุณ`},replace:{label:`แทนที่`,with:`แทนที่ด้วย`,one:`แทนที่`,all:`แทนที่ทั้งหมด`,done:e=>`แทนที่แล้วใน ${String(e)} เซลล์`},stats:{average:`ค่าเฉลี่ย`,count:`จำนวนนับ`,sum:`ผลรวม`},column:{name:`ชื่อคอลัมน์`,key:`คอลัมน์คีย์: ค่าในแต่ละแถวต้องไม่ซ้ำกัน`,add:`เพิ่มคอลัมน์`,rename:`เปลี่ยนชื่อ`,format:`รูปแบบ`,formats:{text:`ข้อความ`,number:`ตัวเลข`,currency:`สกุลเงิน`,percent:`เปอร์เซ็นต์`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,list:`รายการดรอปดาวน์`,file:`ไฟล์แนบ`},addOption:`เพิ่มตัวเลือก`,newOption:e=>`เพิ่ม “${e}”`,confirm:`ลบ`,cancel:`ยกเลิก`,hide:`ซ่อนคอลัมน์`,insertLeft:`แทรกคอลัมน์ทางซ้าย`,insertRight:`แทรกคอลัมน์ทางขวา`,remove:`ลบคอลัมน์`,removeAsk:(e,t)=>`ลบ “${e}” และค่าทั้ง ${t.toLocaleString(`th`)} ค่าหรือไม่ คุณเลิกทำได้`,taken:`มีคอลัมน์อื่นใช้ชื่อนี้แล้ว`,empty:`คอลัมน์ต้องมีชื่อ`,newName:e=>e===1?`คอลัมน์`:`คอลัมน์ ${String(e)}`},row:{numbered:e=>`แถว ${String(e)}`,inFile:e=>`แถว ${String(e)} ในไฟล์`,of:(e,t)=>`แถว ${String(e)} จาก ${String(t)}`,hiddenFields:`คอลัมน์ที่ซ่อน`,insertAbove:`แทรกแถวด้านบน`,insertBelow:`แทรกแถวด้านล่าง`,remove:e=>e===1?`ลบแถว`:`ลบ ${String(e)} แถว`,expand:`เปิดแถว`,newRow:`แถวใหม่`,record:`แถว`,previous:`แถวก่อนหน้า`,next:`แถวถัดไป`,close:`ปิด`},cell:{copy:`คัดลอก`,cut:`ตัด`,paste:`วาง`,clear:`ล้าง`,clearContents:`ล้างเนื้อหา`,notNumber:`ไม่ใช่ตัวเลข ใช้ตัวเลขและจุดทศนิยม เช่น 1234.5`,notDate:`ไม่ใช่วันที่ ใช้รูปแบบ 2026-10-14 หรือ 2026-10-14T09:30`,notEmail:`ไม่ใช่ที่อยู่อีเมล`,notUrl:`ที่อยู่ต้องไม่มีช่องว่าง`,open:`เปิด`,left:e=>`${String(e)} ค่าไม่ตรงกับคอลัมน์ จึงไม่ได้ใส่`,pasteHint:`ใช้ ⌘V เพื่อวาง`},files:{notFound:`ไม่พบไฟล์`,insert:`แทรกไฟล์…`,add:`เพิ่มไฟล์`,adding:e=>`กำลังเพิ่ม ${String(e)} ไฟล์…`,tooLarge:(e,t)=>`${e} มีขนาดเกิน ${String(t)} MB จึงไม่ได้เพิ่ม`,failed:e=>`เพิ่ม ${e} ไม่สำเร็จ`,notHere:`เฉพาะคอลัมน์ไฟล์แนบเท่านั้นที่เก็บไฟล์ได้ ตั้งรูปแบบของคอลัมน์เป็นไฟล์แนบก่อน`,remove:`เอาออกจากเซลล์`,of:(e,t)=>`${String(e)} จาก ${String(t)}`,previous:`ไฟล์ก่อนหน้า`,next:`ไฟล์ถัดไป`,open:`เปิดในแท็บใหม่`,close:`ปิด`},review:{count:(e,t,n,r)=>`${e} เปลี่ยน ${yo(t,n,r)}`,keepAll:`เก็บทั้งหมด`,undoAll:`เลิกทำทั้งหมด`,keep:`เก็บ`,undo:`เลิกทำ`,was:`ก่อนหน้า`,added:e=>`เพิ่มโดย ${e}`,changed:e=>`เปลี่ยนโดย ${e}`,away:`เปลี่ยนไปหลังจากที่คุณดูครั้งล่าสุด`,countAway:(e,t,n)=>`หลังจากที่คุณดูครั้งล่าสุด: เปลี่ยนไป ${yo(e,t,n)}`,empty:`ว่าง`,next:`ถัดไป`,previous:`ก่อนหน้า`,position:(e,t)=>`${String(e)} จาก ${String(t)}`,conflicts:e=>`${String(e)} เซลล์ถูกเปลี่ยนโดยทั้งสองฝ่าย จึงเก็บของคุณไว้`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`วันนี้`,previousMonth:`เดือนก่อนหน้า`,nextMonth:`เดือนถัดไป`,clear:`ล้าง`,addTime:`เพิ่มเวลา`,removeTime:`เอาเวลาออก`,time:`เวลา`},empty:{title:`ยังไม่มีแถว`,addRow:`เพิ่มแถว`,paste:`วางแถว`,pasteHint:`คัดลอกแถวใน Excel หรือ Google Sheets แล้วกด ⌘V ที่นี่`,importFile:`นำเข้าไฟล์`,noMatch:`ไม่มีแถวให้แสดง`,noMatchBody:`ตัวกรองซ่อนทุกแถวไว้`,clearFilter:`ล้างตัวกรอง`}},xo=(e,t,n)=>[e>0?`${String(e)} hücre`:``,t>0?`${String(t)} satır`:``,n>0?`${String(n)} sütun`:``].filter(e=>e!==``).join(`, `),So={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Açılıyor…`,unreadable:`Bu tablo şu anda düzenlenemiyor: dosyası, bir tablonun okuyabileceği CSV değil. Sorunlar aşağıda.`,readOnlyLarge:e=>`Bu tablo ${e} MB: burada yalnızca gösterilir, düzenlenmez.`,untitled:`Adsız`,saved:`Kaydedildi`,saving:`Kaydediliyor…`,unsaved:`Kaydedilmedi`,failed:`Kaydedilemedi`,rows:(e,t)=>e===t?`${t.toLocaleString(`tr`)} satır`:`${t.toLocaleString(`tr`)} satırdan ${e.toLocaleString(`tr`)}`,find:`Bul`,findPlaceholder:`Tabloda bul`,matches:e=>`${String(e)} eşleşme`,types:{text:`Metin`,number:`Sayı`,select:`Açılır liste`,"multi-select":`Çoklu seçim listesi`,date:`Tarih`,checkbox:`Onay kutusu`,url:`Bağlantı`,email:`E-posta`,phone:`Telefon`,file:`Dosya`},auto:{button:e=>`Sırala ve filtre uygula: ${e}`,sortAsc:{text:`A'dan Z'ye sırala`,number:`Küçükten büyüğe sırala`,date:`Eskiden yeniye sırala`,options:`Seçenek sırasına göre sırala`},sortDesc:{text:`Z'den A'ya sırala`,number:`Büyükten küçüğe sırala`,date:`Yeniden eskiye sırala`,options:`Ters seçenek sırasına göre sırala`},search:`Ara`,selectAll:`(Tümünü seç)`,selectFound:`(Tüm arama sonuçlarını seç)`,blanks:`(Boş)`,checked:`İşaretli`,unchecked:`İşaretsiz`,hasFile:`Dosyası var`,more:e=>`${e.toLocaleString(`tr`)} tane daha. Bulmak için arayın.`,none:`Eşleşen değer yok.`,clear:`Filtreyi temizle`,ok:`Tamam`},look:{sorted:e=>`Sıralama: ${e}`,filtered:e=>e.length===1?`Filtre: ${e[0]??``}`:`${String(e.length)} sütunda filtre`,hidden:e=>`${String(e)} sütun gizli`,clear:`Temizle`,note:`Bu sıralamayı ve filtreyi yalnızca siz görürsünüz.`},replace:{label:`Değiştir`,with:`Yeni değer`,one:`Değiştir`,all:`Tümünü değiştir`,done:e=>`${String(e)} hücrede değiştirildi.`},stats:{average:`Ortalama`,count:`Sayım`,sum:`Toplam`},column:{name:`Sütun adı`,key:`Anahtar sütun: her satırın değeri kendine özgüdür`,add:`Sütun ekle`,rename:`Yeniden adlandır`,format:`Biçim`,formats:{text:`Metin`,number:`Sayı`,currency:`Para birimi`,percent:`Yüzde`,date:`Tarih`,checkbox:`Onay kutusu`,list:`Açılır liste`,file:`Ek`},addOption:`Seçenek ekle`,newOption:e=>`“${e}” ekle`,confirm:`Sil`,cancel:`Vazgeç`,hide:`Sütunu gizle`,insertLeft:`Sola sütun ekle`,insertRight:`Sağa sütun ekle`,remove:`Sütunu sil`,removeAsk:(e,t)=>`“${e}” ve içindeki ${t.toLocaleString(`tr`)} değer silinsin mi? Geri alabilirsiniz.`,taken:`Bu ad başka bir sütunda kullanılıyor.`,empty:`Sütunun bir adı olmalı.`,newName:e=>e===1?`Sütun`:`Sütun ${String(e)}`},row:{numbered:e=>`Satır ${String(e)}`,inFile:e=>`Dosyada satır ${String(e)}`,of:(e,t)=>`Satır ${String(e)} / ${String(t)}`,hiddenFields:`Gizli sütunlar`,insertAbove:`Üste satır ekle`,insertBelow:`Alta satır ekle`,remove:e=>e===1?`Satırı sil`:`${String(e)} satırı sil`,expand:`Satırı aç`,newRow:`Yeni satır`,record:`Satır`,previous:`Önceki satır`,next:`Sonraki satır`,close:`Kapat`},cell:{copy:`Kopyala`,cut:`Kes`,paste:`Yapıştır`,clear:`Temizle`,clearContents:`İçeriği temizle`,notNumber:`Sayı değil. Rakamlarla, ondalık için nokta kullanarak yazın: 1234.5`,notDate:`Tarih değil. 2026-10-14 ya da 2026-10-14T09:30 yazın`,notEmail:`E-posta adresi değil`,notUrl:`Adreste boşluk olmaz`,open:`Aç`,left:e=>`${String(e)} değer sütununa uymadığı için dışarıda bırakıldı.`,pasteHint:`Yapıştırmak için ⌘V kullanın.`},files:{notFound:`Bulunamadı`,insert:`Dosya ekle…`,add:`Dosya ekle`,adding:e=>`${String(e)} dosya ekleniyor…`,tooLarge:(e,t)=>`${e} ${String(t)} MB'tan büyük olduğu için eklenmedi.`,failed:e=>`${e} eklenemedi.`,notHere:`Dosyaları yalnızca ek sütunu tutar. Önce sütunun biçimini Ek olarak ayarlayın.`,remove:`Hücreden kaldır`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Önceki dosya`,next:`Sonraki dosya`,open:`Yeni sekmede aç`,close:`Kapat`},review:{count:(e,t,n,r)=>`${e} değiştirdi: ${xo(t,n,r)}`,keepAll:`Tümünü koru`,undoAll:`Tümünü geri al`,keep:`Koru`,undo:`Geri al`,was:`Önce`,added:e=>`${e} ekledi`,changed:e=>`${e} değiştirdi`,away:`Son baktığınızdan beri değişti`,countAway:(e,t,n)=>`Son baktığınızdan beri değişen: ${xo(e,t,n)}`,empty:`boş`,next:`Sonraki`,previous:`Önceki`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} hücreyi ikiniz de değiştirdiniz: sizinkiler korundu.`},date:{placeholder:`2026-10-14, 2026.10.14…`,today:`Bugün`,previousMonth:`Önceki ay`,nextMonth:`Sonraki ay`,clear:`Temizle`,addTime:`Saat ekle`,removeTime:`Saati kaldır`,time:`Saat`},empty:{title:`Henüz satır yok`,addRow:`Satır ekle`,paste:`Satırları yapıştır`,pasteHint:`Satırları Excel'de ya da Google E-Tablolar'da kopyalayın, sonra burada ⌘V'ye basın.`,importFile:`Dosya içe aktar`,noMatch:`Gösterilecek satır yok`,noMatchBody:`Filtre tüm satırları dışarıda bırakıyor.`,clearFilter:`Filtreyi temizle`}},Co=(e,t,n)=>[e>0?`${String(e)} ô`:``,t>0?`${String(t)} hàng`:``,n>0?`${String(n)} cột`:``].filter(e=>e!==``).join(`, `),wo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Đang mở…`,unreadable:`Hiện chưa thể sửa bảng tính này: tệp của nó không phải CSV mà bảng tính đọc được. Đây là chỗ sai.`,readOnlyLarge:e=>`Bảng tính này nặng ${e} MB: ở đây chỉ xem được, không sửa được.`,untitled:`Không có tiêu đề`,saved:`Đã lưu`,saving:`Đang lưu…`,unsaved:`Chưa lưu`,failed:`Không lưu được`,rows:(e,t)=>e===t?`${t.toLocaleString(`vi`)} hàng`:`${e.toLocaleString(`vi`)} / ${t.toLocaleString(`vi`)} hàng`,find:`Tìm`,findPlaceholder:`Tìm trong bảng tính`,matches:e=>`${String(e)} kết quả`,types:{text:`Văn bản`,number:`Số`,select:`Danh sách thả xuống`,"multi-select":`Danh sách chọn nhiều`,date:`Ngày`,checkbox:`Hộp kiểm`,url:`Liên kết`,email:`Email`,phone:`Điện thoại`,file:`Tệp`},auto:{button:e=>`Sắp xếp và lọc ${e}`,sortAsc:{text:`Sắp xếp từ A đến Z`,number:`Sắp xếp từ nhỏ nhất đến lớn nhất`,date:`Sắp xếp từ cũ nhất đến mới nhất`,options:`Sắp xếp theo thứ tự tùy chọn`},sortDesc:{text:`Sắp xếp từ Z đến A`,number:`Sắp xếp từ lớn nhất đến nhỏ nhất`,date:`Sắp xếp từ mới nhất đến cũ nhất`,options:`Sắp xếp theo thứ tự tùy chọn đảo ngược`},search:`Tìm kiếm`,selectAll:`(Chọn tất cả)`,selectFound:`(Chọn tất cả kết quả tìm kiếm)`,blanks:`(Trống)`,checked:`Đã chọn`,unchecked:`Chưa chọn`,hasFile:`Có tệp`,more:e=>`Còn ${e.toLocaleString(`vi`)} giá trị nữa. Hãy tìm kiếm để thấy.`,none:`Không có giá trị nào khớp.`,clear:`Xóa bộ lọc`,ok:`OK`},look:{sorted:e=>`Sắp xếp theo ${e}`,filtered:e=>e.length===1?`Lọc theo ${e[0]??``}`:`Lọc theo ${String(e.length)} cột`,hidden:e=>`Đã ẩn ${String(e)} cột`,clear:`Xóa`,note:`Chỉ bạn thấy cách sắp xếp và lọc này.`},replace:{label:`Thay thế`,with:`Thay thế bằng`,one:`Thay thế`,all:`Thay thế tất cả`,done:e=>`Đã thay thế trong ${String(e)} ô.`},stats:{average:`Trung bình`,count:`Số đếm`,sum:`Tổng`},column:{name:`Tên cột`,key:`Cột khóa: giá trị của mỗi hàng là duy nhất`,add:`Thêm cột`,rename:`Đổi tên`,format:`Định dạng`,formats:{text:`Văn bản`,number:`Số`,currency:`Tiền tệ`,percent:`Phần trăm`,date:`Ngày`,checkbox:`Hộp kiểm`,list:`Danh sách thả xuống`,file:`Tệp đính kèm`},addOption:`Thêm tùy chọn`,newOption:e=>`Thêm “${e}”`,confirm:`Xóa`,cancel:`Hủy`,hide:`Ẩn cột`,insertLeft:`Chèn cột bên trái`,insertRight:`Chèn cột bên phải`,remove:`Xóa cột`,removeAsk:(e,t)=>`Xóa “${e}” và ${t.toLocaleString(`vi`)} giá trị của nó? Bạn có thể hoàn tác.`,taken:`Đã có cột khác mang tên này.`,empty:`Cột cần có tên.`,newName:e=>e===1?`Cột`:`Cột ${String(e)}`},row:{numbered:e=>`Hàng ${String(e)}`,inFile:e=>`Hàng ${String(e)} trong tệp`,of:(e,t)=>`Hàng ${String(e)} / ${String(t)}`,hiddenFields:`Cột ẩn`,insertAbove:`Chèn hàng phía trên`,insertBelow:`Chèn hàng phía dưới`,remove:e=>e===1?`Xóa hàng`:`Xóa ${String(e)} hàng`,expand:`Mở hàng`,newRow:`Hàng mới`,record:`Hàng`,previous:`Hàng trước`,next:`Hàng sau`,close:`Đóng`},cell:{copy:`Sao chép`,cut:`Cắt`,paste:`Dán`,clear:`Xóa`,clearContents:`Xóa nội dung`,notNumber:`Không phải số. Hãy viết chữ số, dùng dấu chấm cho phần thập phân: 1234.5`,notDate:`Không phải ngày. Hãy viết 2026-10-14 hoặc 2026-10-14T09:30`,notEmail:`Không phải địa chỉ email`,notUrl:`Địa chỉ không được có dấu cách`,open:`Mở`,left:e=>`${String(e)} giá trị không hợp với cột của nó nên đã được bỏ qua.`,pasteHint:`Dùng ⌘V để dán.`},files:{notFound:`Không tìm thấy`,insert:`Chèn tệp…`,add:`Thêm tệp`,adding:e=>`Đang thêm ${String(e)} tệp…`,tooLarge:(e,t)=>`${e} lớn hơn ${String(t)} MB nên không được thêm.`,failed:e=>`Không thêm được ${e}.`,notHere:`Chỉ cột tệp đính kèm mới chứa được tệp. Hãy đặt định dạng của cột thành Tệp đính kèm trước.`,remove:`Xóa khỏi ô`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Tệp trước`,next:`Tệp sau`,open:`Mở trong tab mới`,close:`Đóng`},review:{count:(e,t,n,r)=>`${e} đã thay đổi ${Co(t,n,r)}`,keepAll:`Giữ tất cả`,undoAll:`Hoàn tác tất cả`,keep:`Giữ`,undo:`Hoàn tác`,was:`Trước đó`,added:e=>`Do ${e} thêm`,changed:e=>`Do ${e} thay đổi`,away:`Đã thay đổi từ lần cuối bạn xem`,countAway:(e,t,n)=>`Từ lần cuối bạn xem: ${Co(e,t,n)} đã thay đổi`,empty:`trống`,next:`Tiếp`,previous:`Trước`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} ô đã bị cả hai bên thay đổi: giữ lại bản của bạn.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hôm nay`,previousMonth:`Tháng trước`,nextMonth:`Tháng sau`,clear:`Xóa`,addTime:`Thêm giờ`,removeTime:`Bỏ giờ`,time:`Giờ`},empty:{title:`Chưa có hàng nào`,addRow:`Thêm hàng`,paste:`Dán hàng`,pasteHint:`Sao chép các hàng trong Excel hoặc Google Trang tính, rồi nhấn ⌘V tại đây.`,importFile:`Nhập tệp`,noMatch:`Không có hàng nào để hiển thị`,noMatchBody:`Bộ lọc đã loại bỏ mọi hàng.`,clearFilter:`Xóa bộ lọc`}},To=(e,t,n)=>[e>0?`${String(e)} 个单元格`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),Eo={agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打开…`,unreadable:`这张表暂时无法编辑:它的文件不是可读的 CSV。问题如下。`,readOnlyLarge:e=>`这张表有 ${e} MB,在这里只能查看,不能编辑。`,untitled:`未命名`,saved:`已保存`,saving:`正在保存…`,unsaved:`未保存`,failed:`保存失败`,rows:(e,t)=>e===t?`${String(t)} 行`:`${String(e)} / ${String(t)} 行`,find:`查找`,findPlaceholder:`在表中查找`,matches:e=>`${String(e)} 处`,types:{text:`文本`,number:`数字`,select:`下拉列表`,"multi-select":`多选列表`,date:`日期`,checkbox:`复选框`,url:`链接`,email:`邮箱`,phone:`电话`,file:`文件`},auto:{button:e=>`排序和筛选:${e}`,sortAsc:{text:`从 A 到 Z 排序`,number:`从小到大排序`,date:`从早到晚排序`,options:`按选项顺序排序`},sortDesc:{text:`从 Z 到 A 排序`,number:`从大到小排序`,date:`从晚到早排序`,options:`按选项倒序排序`},search:`搜索`,selectAll:`(全选)`,selectFound:`(全选搜索结果)`,blanks:`(空白)`,checked:`已勾选`,unchecked:`未勾选`,hasFile:`有文件`,more:e=>`还有 ${String(e)} 个,搜索即可找到。`,none:`没有匹配的值。`,clear:`清除筛选`,ok:`确定`},look:{sorted:e=>`按“${e}”排序`,filtered:e=>e.length===1?`按“${e[0]??``}”筛选`:`按 ${String(e.length)} 列筛选`,hidden:e=>`隐藏了 ${String(e)} 列`,clear:`清除`,note:`这个排序和筛选只有你能看到。`},replace:{label:`替换`,with:`替换为`,one:`替换`,all:`全部替换`,done:e=>`替换了 ${String(e)} 个单元格。`},stats:{average:`平均值`,count:`计数`,sum:`求和`},column:{name:`列名`,key:`主键列:每一行的值都不重复`,add:`添加列`,rename:`重命名`,format:`格式`,formats:{text:`文本`,number:`数字`,currency:`货币`,percent:`百分比`,date:`日期`,checkbox:`复选框`,list:`下拉列表`,file:`附件`},addOption:`添加选项`,newOption:e=>`添加“${e}”`,confirm:`删除`,cancel:`取消`,hide:`隐藏列`,insertLeft:`在左侧插入列`,insertRight:`在右侧插入列`,remove:`删除列`,removeAsk:(e,t)=>`删除“${e}”及其 ${String(t)} 个值?可以撤销。`,taken:`已有同名的列。`,empty:`列需要一个名称。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 行`,inFile:e=>`文件里的第 ${String(e)} 行`,of:(e,t)=>`第 ${String(e)} 行,共 ${String(t)} 行`,hiddenFields:`隐藏的列`,insertAbove:`在上方插入行`,insertBelow:`在下方插入行`,remove:e=>e===1?`删除行`:`删除 ${String(e)} 行`,expand:`展开行`,newRow:`新行`,record:`行`,previous:`上一行`,next:`下一行`,close:`关闭`},cell:{copy:`复制`,cut:`剪切`,paste:`粘贴`,clear:`清除`,clearContents:`清除内容`,notNumber:`不是数字。请写数字,小数用点:1234.5`,notDate:`不是日期。请写 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是邮箱地址`,notUrl:`地址里不能有空格`,open:`打开`,left:e=>`有 ${String(e)} 个值不符合所在列,没有粘贴。`,pasteHint:`请用 ⌘V 粘贴。`},files:{notFound:`找不到文件`,insert:`插入文件…`,add:`添加文件`,adding:e=>`正在添加 ${String(e)} 个文件…`,tooLarge:(e,t)=>`${e} 超过 ${String(t)} MB,没有添加。`,failed:e=>`${e} 没能添加。`,notHere:`只有附件列能放文件。请先把这一列的格式设为附件。`,remove:`从单元格移除`,of:(e,t)=>`第 ${String(e)} 个,共 ${String(t)} 个`,previous:`上一个文件`,next:`下一个文件`,open:`在新标签页打开`,close:`关闭`},review:{count:(e,t,n,r)=>io(e,`改动了 ${To(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部撤销`,keep:`保留`,undo:`撤销`,was:`之前`,added:e=>io(e,`新加的`),changed:e=>io(e,`改的`),away:`你上次查看之后改的`,countAway:(e,t,n)=>`你上次查看之后,改动了 ${To(e,t,n)}`,empty:`空`,next:`下一处`,previous:`上一处`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 个单元格你们都改了:保留了你的。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上个月`,nextMonth:`下个月`,clear:`清除`,addTime:`加上时间`,removeTime:`去掉时间`,time:`时间`},empty:{title:`还没有行`,addRow:`新建一行`,paste:`粘贴几行`,pasteHint:`在 Excel 或 Google 表格里复制几行,再在这里按 ⌘V。`,importFile:`导入文件`,noMatch:`没有可显示的行`,noMatchBody:`筛选把每一行都排除了。`,clearFilter:`清除筛选`}},Do=(e,t,n)=>[e>0?`${String(e)} 個儲存格`:``,t>0?`${String(t)} 列`:``,n>0?`${String(n)} 欄`:``].filter(e=>e!==``).join(`、`),Oo=p({en:Va,"zh-cn":Eo,"zh-tw":{agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打開…`,unreadable:`目前無法編輯這張工作表:它的檔案不是可讀取的 CSV。問題如下。`,readOnlyLarge:e=>`這張工作表有 ${e} MB,在這裡只能檢視,無法編輯。`,untitled:`未命名`,saved:`已儲存`,saving:`正在儲存…`,unsaved:`未儲存`,failed:`未能儲存`,rows:(e,t)=>e===t?`${t.toLocaleString(`zh-TW`)} 列`:`${e.toLocaleString(`zh-TW`)} / ${t.toLocaleString(`zh-TW`)} 列`,find:`尋找`,findPlaceholder:`在工作表中尋找`,matches:e=>`${String(e)} 個符合項目`,types:{text:`文字`,number:`數值`,select:`下拉式清單`,"multi-select":`多選清單`,date:`日期`,checkbox:`核取方塊`,url:`連結`,email:`電子郵件`,phone:`電話`,file:`檔案`},auto:{button:e=>`排序與篩選:${e}`,sortAsc:{text:`從 A 到 Z 排序`,number:`從最小到最大排序`,date:`從最舊到最新排序`,options:`依選項順序排序`},sortDesc:{text:`從 Z 到 A 排序`,number:`從最大到最小排序`,date:`從最新到最舊排序`,options:`依選項反向順序排序`},search:`搜尋`,selectAll:`(全選)`,selectFound:`(選取所有搜尋結果)`,blanks:`(空格)`,checked:`已勾選`,unchecked:`未勾選`,hasFile:`有檔案`,more:e=>`還有 ${e.toLocaleString(`zh-TW`)} 個,請用搜尋找到它們。`,none:`沒有符合的值。`,clear:`清除篩選`,ok:`確定`},look:{sorted:e=>`依「${e}」排序`,filtered:e=>e.length===1?`依「${e[0]??``}」篩選`:`依 ${String(e.length)} 欄篩選`,hidden:e=>`已隱藏 ${String(e)} 欄`,clear:`清除`,note:`這個排序和篩選只有你看得到。`},replace:{label:`取代`,with:`取代為`,one:`取代`,all:`全部取代`,done:e=>`已在 ${String(e)} 個儲存格中取代。`},stats:{average:`平均值`,count:`項目個數`,sum:`加總`},column:{name:`欄名稱`,key:`主鍵欄:每一列的值都不重複`,add:`新增欄`,rename:`重新命名`,format:`格式`,formats:{text:`文字`,number:`數值`,currency:`貨幣`,percent:`百分比`,date:`日期`,checkbox:`核取方塊`,list:`下拉式清單`,file:`附件`},addOption:`新增選項`,newOption:e=>`新增「${e}」`,confirm:`刪除`,cancel:`取消`,hide:`隱藏欄`,insertLeft:`在左側插入欄`,insertRight:`在右側插入欄`,remove:`刪除欄`,removeAsk:(e,t)=>`要刪除「${e}」及其中的 ${t.toLocaleString(`zh-TW`)} 個值嗎?之後可以還原。`,taken:`已有同名的欄。`,empty:`欄需要一個名稱。`,newName:e=>e===1?`欄`:`欄 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 列`,inFile:e=>`檔案中的第 ${String(e)} 列`,of:(e,t)=>`第 ${String(e)} 列,共 ${String(t)} 列`,hiddenFields:`隱藏的欄`,insertAbove:`在上方插入列`,insertBelow:`在下方插入列`,remove:e=>e===1?`刪除列`:`刪除 ${String(e)} 列`,expand:`展開列`,newRow:`新列`,record:`列`,previous:`上一列`,next:`下一列`,close:`關閉`},cell:{copy:`拷貝`,cut:`剪下`,paste:`貼上`,clear:`清除`,clearContents:`清除內容`,notNumber:`不是數值。請輸入數字,小數用小數點:1234.5`,notDate:`不是日期。請輸入 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是電子郵件地址`,notUrl:`網址中不能有空格`,open:`打開`,left:e=>`有 ${String(e)} 個值不符合所在欄的格式,因此略過。`,pasteHint:`請按 ⌘V 貼上。`},files:{notFound:`找不到`,insert:`插入檔案…`,add:`新增檔案`,adding:e=>`正在新增 ${String(e)} 個檔案…`,tooLarge:(e,t)=>`${e} 超過 ${String(t)} MB,未新增。`,failed:e=>`無法新增 ${e}。`,notHere:`只有附件欄能放檔案。請先將這一欄的格式設為「附件」。`,remove:`從儲存格移除`,of:(e,t)=>`第 ${String(e)} 個,共 ${String(t)} 個`,previous:`上一個檔案`,next:`下一個檔案`,open:`在新分頁中打開`,close:`關閉`},review:{count:(e,t,n,r)=>io(e,`修改了 ${Do(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部還原`,keep:`保留`,undo:`還原`,was:`修改前`,added:e=>io(`由`,e,`新增`),changed:e=>io(`由`,e,`修改`),away:`你上次查看後有修改`,countAway:(e,t,n)=>`你上次查看後,修改了 ${Do(e,t,n)}`,empty:`空白`,next:`下一個`,previous:`上一個`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 個儲存格你們兩邊都修改了:已保留你的版本。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上個月`,nextMonth:`下個月`,clear:`清除`,addTime:`加上時間`,removeTime:`移除時間`,time:`時間`},empty:{title:`還沒有任何列`,addRow:`新增一列`,paste:`貼上列`,pasteHint:`在 Excel 或 Google 試算表中拷貝幾列,再到這裡按 ⌘V。`,importFile:`匯入檔案`,noMatch:`沒有可顯示的列`,noMatchBody:`篩選條件排除了所有列。`,clearFilter:`清除篩選`}},ja:oo,ko:lo,es:Wa,fr:qa,de:za,it:to,pt:po,ru:vo,tr:So,vi:wo,th:bo,hi:Qa});function ko(e,t,n){let r=new Set(e.columns),i=new Set(t.columns),a=n.columns.filter(e=>!(r.has(e)&&!i.has(e)));return t.columns.forEach((e,n)=>{if(a.includes(e)||r.has(e))return;let i=a.length;for(let e=n-1;e>=0;e--){let n=t.columns[e],r=n===void 0?-1:a.indexOf(n);if(r>=0){i=r+1;break}}n===0&&(i=0),a.splice(i,0,e)}),a}var $=(e,t)=>{let n=new Map,r=e.rows[t]??[];return e.columns.forEach((e,t)=>n.set(e,r[t]??``)),n};function Ao(e,t,n,r){let i=[],a=e.out.length;for(let o of e.columns){let s=t?.get(o),c=n?.get(o),l=r?.get(o),u;c===void 0?u=l??``:l===void 0?u=c:c===s?u=l:l===s||l===c?u=c:(u=c,e.conflicts.push({kind:`cell`,row:a,column:o,mine:c,theirs:l})),i.push(u)}e.out.push(i)}var jo=(e,t)=>{if(!e||!t)return e!==t;for(let[n,r]of e)if(t.has(n)&&t.get(n)!==r)return!0;return!1};function Mo(e,t){let n=e.columns.indexOf(t);if(n<0)return;let r=e.rows.map(e=>(e[n]??``).trim());if(!r.some(e=>e===``))return new Set(r).size===r.length?r:void 0}function No(e,t,n,r,i){let a=e=>new Map(e.map((e,t)=>[e,t])),o=a(i.base),s=a(i.mine),c=a(i.theirs),l=[];for(let e of i.theirs)l.push(e);i.mine.forEach((e,t)=>{if(c.has(e)||o.has(e))return;let n=0;for(let e=t-1;e>=0;e--){let t=i.mine[e],r=t===void 0?-1:l.indexOf(t);if(r>=0){n=r+1;break}}l.splice(n,0,e)});for(let i of l){let a=o.has(i)?$(t,o.get(i)??0):void 0,l=s.has(i)?$(n,s.get(i)??0):void 0,u=c.has(i)?$(r,c.get(i)??0):void 0;if(a&&!l){if(!jo(a,u))continue;e.conflicts.push({kind:`rows`,row:e.out.length})}Ao(e,a,l,u)}for(let r of i.mine){if(c.has(r)||!o.has(r))continue;let i=$(t,o.get(r)??0),a=$(n,s.get(r)??0);jo(i,a)&&(e.conflicts.push({kind:`rows`,row:e.out.length}),Ao(e,i,a,void 0))}}function Po(e,t,n,r){let i=[],a=-1,o=-1;for(let[s,c]of[...t,[n,r]])(s-a>1||c-o>1)&&i.push({side:e,bStart:a+1,bEnd:s,sStart:o+1,sEnd:c}),a=s,o=c;return i}function Fo(e,t,n,r){let a=t.columns.filter(e=>n.columns.includes(e)&&r.columns.includes(e)),o=e=>{let t=a.map(t=>e.columns.indexOf(t));return e.rows.map(e=>t.map(t=>e[t]??``).join(`\0`))},s=o(t),c=o(n),l=o(r),u=i(s,c),d=i(s,l),f=new Map(u),p=new Map(d),m=[...Po(`mine`,u,s.length,c.length),...Po(`theirs`,d,s.length,l.length)].sort((e,t)=>e.bStart-t.bStart||e.bEnd-t.bEnd),h=[];for(let e of m){let t=h[h.length-1];if(t){let n=Math.min(...t.map(e=>e.bStart)),r=Math.max(...t.map(e=>e.bEnd));if(e.bStart<r||e.bStart===r&&e.bStart===e.bEnd&&n===r){t.push(e);continue}}h.push([e])}let g=i=>{let a=f.get(i),o=p.get(i);Ao(e,$(t,i),a===void 0?void 0:$(n,a),o===void 0?void 0:$(r,o))},_=0;for(let i of h){let a=Math.min(...i.map(e=>e.bStart)),o=Math.max(...i.map(e=>e.bEnd));for(;_<a;_++)g(_);_=o;let s=e=>{let t=i.filter(t=>t.side===e),n=t[0],r=t[t.length-1];if(n&&r)return Io(n.sStart-(n.bStart-a),r.sEnd+(o-r.bEnd))},u=Io(a,o),d=s(`mine`),m=s(`theirs`);if(d===void 0||m===void 0){let i=d??m??[],a=d===void 0?f:p,o=d===void 0?n:r,s=i.length===u.length;i.forEach((i,c)=>{let l=s?u[c]:void 0,f=l===void 0?void 0:a.get(l),p=l===void 0?void 0:$(t,l),m=f===void 0?void 0:$(o,f),h=$(d===void 0?r:n,i);d===void 0?Ao(e,p,m,h):Ao(e,p,h,m)})}else if(d.length===u.length&&m.length===u.length)u.forEach((i,a)=>{Ao(e,$(t,i),$(n,d[a]??0),$(r,m[a]??0))});else if(Lo(c,d,l,m))d.forEach((t,i)=>{Ao(e,void 0,$(n,t),$(r,m[i]??0))});else{d.length+m.length>0&&e.conflicts.push({kind:`rows`,row:e.out.length});for(let t of d)Ao(e,void 0,$(n,t),void 0);for(let t of m)Ao(e,void 0,void 0,$(r,t))}}for(;_<s.length;_++)g(_)}var Io=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},Lo=(e,t,n,r)=>t.length===r.length&&t.every((t,i)=>e[t]===n[r[i]??-1]);function Ro(e,t,n,r){let i=ko(e,t,n),a={columns:i,conflicts:[],out:[]},o=r===void 0?void 0:(()=>{let i=Mo(e,r),a=Mo(t,r),o=Mo(n,r);return i&&a&&o?{base:i,mine:a,theirs:o}:void 0})();return o?No(a,e,t,n,o):Fo(a,e,t,n),{data:{columns:i,rows:a.out},conflicts:a.conflicts}}var zo=class{kept=new Map;of(e){let t=this.kept.get(e);if(t)return t;let n=Qe(e);return this.keep(e,{csv:n.csv,data:n.data})}keep(e,t){for(this.kept.delete(e),this.kept.set(e,t);this.kept.size>3;){let e=this.kept.keys().next().value;if(e===void 0)break;this.kept.delete(e)}return t}save(e,t){let n=this.of(e),r=ra(t);if($e(n.data,r))return;let i=jt(n.csv,r,n.data);return this.keep(i.source,{csv:i,data:r}),i.source}incoming(e,t,n,r){let i=this.of(e).data,a=this.of(t).data,o=ra(n),s=$e(i,o)?{data:a,conflicts:[]}:Ro(i,o,a,r),c=da(n,s.data);return{table:c.table,changes:c.changes,conflicts:s.conflicts,dirty:!$e(a,s.data)}}};function Bo(e){return Qe(e).problems.filter(e=>e.message.includes(`quoted field`)).map(e=>`line ${String(e.line)}: ${e.message}`)}var Vo=e=>e===null?void 0:ot(e).spec.key;function Ho(e,t,n){if(t===e)return n;if(n===e||n===t)return t;let r=ot(e??``).spec,i=ot(t??``).spec,a=n??``;for(let e of[`title`,`key`])i[e]!==r[e]&&(a=Gt(a,e,i[e]));let o=new Set([...Object.keys(r.columns),...Object.keys(i.columns)]);for(let e of o){let t=i.columns[e];JSON.stringify(t)!==JSON.stringify(r.columns[e])&&(a=Ut(a,e,t))}return a===``&&n===null?null:a}var Uo=e=>e.cells.join(`\0`);function Wo(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`${String(e.length)}:${(t>>>0).toString(16)}`}function Go(e,t){let n=new Map(e.rows.map((e,t)=>[e.id,t])),r=t=>{let r=n.get(t),i=r===void 0?void 0:e.rows[r];return i?Uo(i):void 0},i=[];for(let e of t){let t=i.length;switch(e.kind){case`cell`:{let t=r(e.id);t!==void 0&&i.push({kind:`cell`,row:t,column:e.column,before:e.before,after:e.after});break}case`row-added`:{let t=r(e.id);t!==void 0&&i.push({kind:`row-added`,row:t});break}case`row-removed`:i.push({kind:`row-removed`,cells:[...e.row.cells],columns:[...e.columns],after:e.after===null?null:r(e.after)??null});break;case`column-added`:i.push({kind:`column-added`,name:e.name});break;case`column-removed`:i.push({kind:`column-removed`,name:e.name,at:e.at,values:[...e.values].flatMap(([e,t])=>{let n=r(e);return n===void 0?[]:[[n,t]]})})}let n=i[t];e.away&&n&&(i[t]={...n,away:!0})}return i}function Ko(e,t){let n=new Map;for(let t of e.rows){let e=n.get(Uo(t));e?e.push(t.id):n.set(Uo(t),[t.id])}let r=e=>n.get(e)?.[0],i=[],a=-1;for(let n of t){let t=i.length;switch(n.kind){case`cell`:{let t=r(n.row),a=e.columns.indexOf(n.column),o=e.rows.find(e=>e.id===t);t!==void 0&&a>=0&&o?.cells[a]===n.after&&i.push({...n,id:t,kind:`cell`});break}case`row-added`:{let e=r(n.row);e!==void 0&&i.push({kind:`row-added`,id:e});break}case`row-removed`:i.push({kind:`row-removed`,row:{id:a--,cells:[...n.cells]},columns:[...n.columns],after:n.after===null?null:r(n.after)??null});break;case`column-added`:e.columns.includes(n.name)&&i.push(n);break;case`column-removed`:if(!e.columns.includes(n.name)){let e=new Map;for(let[t,i]of n.values){let n=r(t);n!==void 0&&e.set(n,i)}i.push({kind:`column-removed`,name:n.name,at:n.at,values:e})}}let o=i[t];n.away&&o&&(i[t]={...o,away:!0})}return i}function qo(e,t,n){let r=Qe(e);if(r.problems.length>0)return[];let{table:i,changes:a}=da(na(r.data),n),o=new Map(i.rows.map((e,n)=>[e.id,t.rows[n]?.id??e.id])),s=e=>o.get(e)??e;return a.map(e=>{switch(e.kind){case`cell`:return{...e,id:s(e.id)};case`row-added`:return{...e,id:s(e.id)};case`row-removed`:return{...e,after:e.after===null?null:s(e.after)};case`column-removed`:return{...e,values:new Map([...e.values].map(([e,t])=>[s(e),t]))};default:return e}}).map(e=>({...e,away:!0}))}function Jo(e,t){let n=[...e];for(let e of t){if(e.kind===`cell`){let t=n.findIndex(t=>t.kind===`cell`&&t.id===e.id&&t.column===e.column),r=n[t];if(r?.kind===`cell`){n[t]={...e,before:r.before};continue}}e.kind===`row-added`&&n.some(t=>t.kind===`row-added`&&t.id===e.id)||n.push(e)}return n.filter(e=>e.kind!==`cell`||e.before!==e.after)}var Yo=e=>`sheet.review:${e}`,Xo=e=>`sheet.seen:${e}`;function Zo(e,t){let n=typeof t==`object`&&t?t:void 0;return{changes:Array.isArray(e)?e:[],...typeof n?.seen==`string`?{seen:n.seen}:{},...typeof n?.pending==`string`?{pending:n.pending}:{}}}function Qo(e){return e.length===0?null:[...e]}function $o(e,t){return{...e.length<=1e6?{seen:e}:{},...t===void 0?{}:{pending:t}}}function es({parts:e,strings:t,onClear:n}){return e.length===0?null:(0,B.jsxs)(`span`,{className:`sheet-look`,"data-testid":`sheet-look`,title:t.look.note,children:[(0,B.jsx)(`span`,{className:`sheet-look-text`,children:e.join(` · `)}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-look-clear`,"data-testid":`sheet-look-clear`,onClick:n,children:t.look.clear})]})}function ts({find:e,onFind:t,count:n,at:i,onStep:a,replacing:o,onReplacing:s,onReplace:c,readOnly:l,strings:u}){let d=(0,z.useRef)(null),[f,p]=(0,z.useState)(``),m=e!==void 0;if((0,z.useEffect)(()=>{m&&d.current?.focus()},[m,o]),!m)return null;let h=(e,n)=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),n()):e.key===`Escape`&&(e.preventDefault(),t(void 0)))};return(0,B.jsxs)(`span`,{className:`sheet-finding`,"data-testid":`sheet-find-bar`,children:[(0,B.jsxs)(`span`,{className:`sheet-find`,children:[(0,B.jsx)(R,{size:14,"aria-hidden":!0}),(0,B.jsx)(`input`,{ref:d,value:e,placeholder:u.findPlaceholder,"aria-label":u.find,"data-testid":`sheet-find-input`,onChange:e=>{t(e.target.value)},onKeyDown:e=>{h(e,()=>{a(e.shiftKey?-1:1)})}}),e!==``&&(0,B.jsx)(`span`,{className:`sheet-find-count`,children:n===0?u.matches(0):`${String(i+1)}/${String(n)}`}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":u.review.previous,title:u.review.previous,disabled:n===0,onClick:()=>{a(-1)},children:(0,B.jsx)(S,{size:13,"aria-hidden":!0})}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":u.review.next,title:u.review.next,disabled:n===0,onClick:()=>{a(1)},children:(0,B.jsx)(ee,{size:13,"aria-hidden":!0})}),!l&&(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":u.replace.label,title:u.replace.label,"aria-pressed":o,"data-testid":`sheet-replace-toggle`,onClick:()=>{s(!o)},children:(0,B.jsx)(He,{size:13,"aria-hidden":!0})}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":u.row.close,title:u.row.close,onClick:()=>{t(void 0)},children:(0,B.jsx)(r,{size:13,"aria-hidden":!0})})]}),o&&!l&&(0,B.jsxs)(`span`,{className:`sheet-find`,"data-testid":`sheet-replace`,children:[(0,B.jsx)(`input`,{value:f,placeholder:u.replace.with,"aria-label":u.replace.with,"data-testid":`sheet-replace-input`,onChange:e=>{p(e.target.value)},onKeyDown:e=>{h(e,()=>{c(f,!1)})}}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-one`,onClick:()=>{c(f,!1)},children:u.replace.one}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-all`,onClick:()=>{c(f,!0)},children:u.replace.all})]})]})}function ns(e){return typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent)?`⌘${e}`:`Ctrl+${e}`}var rs=`sheet.csv`,is=`sheet.yaml`,as=`files`,os=20971520,ss=28;async function cs(e,t){try{return(await e[`storage/get`]({key:t})).value}catch{return null}}function ls(e,t,n){e[`storage/set`]({key:t,value:n}).catch(()=>void 0)}async function us(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)}function ds({bare:e,...t}){let n=g(),r={...t,className:`${e===!0?`sheet-bare `:``}${t.className??``}`},i=r.dir??n?.item.dir;return!n||i===void 0?(0,B.jsx)(fs,{className:r.className,strings:Oo.of(`en`)}):(0,B.jsx)(ps,{...r,dir:i,scope:`${n.project.name}|${i}/${rs}`,language:n.locale,...n.agent?{agent:n.agent.name}:{}},`${n.project.name}|${i}`)}function fs(e){return(0,B.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,"data-state":`loading`,children:(0,B.jsx)(`div`,{className:`sheet-sheet`,children:(0,B.jsx)(`p`,{className:`sheet-message`,children:e.strings.loading})})})}function ps(e){let t=h(),{dir:n,scope:r}=e,i=Oo.of(e.language),[a,o]=(0,z.useState)(),[c,l]=(0,z.useState)(),[u,d]=(0,z.useState)(0),[f]=(0,z.useState)(()=>new zo),p=(0,z.useCallback)(()=>{d(e=>e+1)},[]),m=(0,z.useCallback)(e=>{o(t=>t&&{...t,look:e})},[]);if((0,z.useEffect)(()=>{let e={live:!0},i=[];return(async()=>{try{let[a,c,u,d,f]=await Promise.all([s.open(t,`${n}/${rs}`,{report:!1}),s.open(t,`${n}/${is}`,{report:!1}),cs(t,nn(r)),cs(t,Yo(r)),cs(t,Xo(r))]);if(i.push(a,c),!e.live){for(let e of i)e.close();return}o({rows:a,spec:c,look:rn(u),review:Zo(d,f)}),l(void 0)}catch(t){e.live&&l(t instanceof Error?t.message:String(t))}})(),()=>{e.live=!1;for(let e of i)e.close()}},[t,n,r]),c!==void 0)return(0,B.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,children:(0,B.jsx)(`div`,{className:`sheet-sheet`,children:(0,B.jsx)(`p`,{className:`sheet-message`,role:`alert`,children:c})})});if(!a)return(0,B.jsx)(fs,{className:e.className,strings:i});let g=a.rows.text,_=e.readOnlyAbove??os,v=Bo(g),ee=v.length>0?{text:i.unreadable,lines:v}:g.length>_?{text:i.readOnlyLarge((g.length/1024/1024).toFixed(1)),lines:[]}:void 0;return(0,B.jsx)(_s,{...e,opened:a,cache:f,strings:i,readOnly:ee!==void 0,limit:_,reload:p,onLook:m,...ee?{notice:ee}:{}},u)}var ms=()=>document.querySelector(`[data-cell]`)?.dataset.r??`0`;function hs(e){return[...document.querySelectorAll(`[data-cell]`)].filter(t=>T(e,t.getBoundingClientRect())).map(e=>({r:Number(e.dataset.r),c:Number(e.dataset.c)}))}function gs(e,t){for(let n of[`error`,`saving`,`unsaved`])if(e===n||t===n)return n;return`saved`}function _s({opened:e,cache:t,dir:r,scope:i,strings:a,readOnly:o,limit:s,reload:l,onLook:u,notice:f,language:p,agent:m,onImport:g,className:y}){let b=h(),{rows:x,spec:C}=e,T=n[c(p)],te=m??a.agent,[E,D]=(0,z.useState)(()=>({table:na(t.of(x.text).data),texts:{spec:C.version===null?null:C.text}})),O=(0,z.useRef)(E),k=(0,z.useCallback)(e=>{O.current=e,D(e)},[]),[re,ie]=(0,z.useState)(`saved`),[A,le]=(0,z.useState)(),[j,ue]=(0,z.useState)(()=>{if(o)return[];let t=e.review,n=x.text,r=Ko(E.table,t.changes),i=t.pending!==void 0&&t.pending===Wo(n)?n:t.seen;return Jo(r,i!==void 0&&i!==n?qo(i,E.table,ra(E.table)):[])}),fe=(0,z.useCallback)(e=>{o||ls(b,Xo(i),$o(x.text,e))},[b,i,o,x]);(0,z.useEffect)(()=>{fe()},[fe]);let ge=(0,z.useRef)(void 0);(0,z.useEffect)(()=>{if(o)return;let e=Qo(Go(E.table,j)),t=JSON.stringify(e);t!==ge.current&&(ge.current=t,ls(b,Yo(i),e))},[b,i,o,E.table,j]);let[P,Ce]=(0,z.useState)(0);(0,z.useEffect)(()=>{if(A===void 0)return;let e=window.setTimeout(()=>{le(void 0)},4e3);return()=>{window.clearTimeout(e)}},[A]);let we=(0,z.useRef)([]),Te=(0,z.useRef)([]),Ee=(0,z.useRef)(null),F=(0,z.useMemo)(()=>E.texts.spec===null?{columns:{}}:ot(E.texts.spec).spec,[E.texts.spec]),De=(0,z.useMemo)(()=>{let e={},t=[];for(let[n,r]of Object.entries(F.columns))r.width!==void 0&&(e[n]=r.width),r.wrap&&t.push(n);return{...Object.keys(e).length?{widths:e}:{},...t.length?{wrap:t}:{}}},[F]),I=e.look,L=I??De,Ae=I!==void 0&&!on(un(I),un(De)),je=(0,z.useCallback)(e=>{let t=e!==void 0&&on(e,De)?void 0:e;ls(b,nn(i),t??null),u(t)},[b,i,De,u]);(0,z.useLayoutEffect)(()=>{x.attach({save:e=>{if(o)return;let n=t.save(e,O.current.table);return n!==void 0&&fe(Wo(n)),n},take:(e,n)=>{let r=Bo(e).length>0||e.length>s;if(o||r){l();return}let i=O.current,a=t.incoming(n,e,i.table,Vo(i.texts.spec));k({...i,table:a.table}),fe(),a.changes.length>0&&ue(e=>{let t=new Set(a.changes.flatMap(e=>e.kind===`cell`?[`${String(e.id)}:${e.column}`]:[]));return[...e.filter(e=>!(e.kind===`cell`&&t.has(`${String(e.id)}:${e.column}`))),...a.changes].filter(e=>e.kind!==`cell`||e.before!==e.after)}),a.conflicts.length>0&&Ce(e=>e+a.conflicts.length),a.dirty&&x.edited()}}),C.attach({save:e=>{let t=O.current.texts.spec;if(!(o||t===null||t===e))return t},take:(e,t)=>{let n=O.current,r=C.version===null?null:e,i=Ho(t===``?null:t,n.texts.spec,r);k({...n,texts:{spec:i}}),i!==r&&i!==null&&C.edited()}})},[x,C,t,o,s,l,fe,k]),(0,z.useEffect)(()=>{let e=()=>{let e=gs(x.state,C.state);ie(e);let t=x.error??C.error;e===`error`&&t!==void 0&&le(t),e===`saved`&&fe(),o||b[`editor/state`]({state:e,...e===`error`&&t!==void 0?{message:t}:{}}).catch(()=>void 0)},t=[x.onState(e),C.onState(e)];return()=>{for(let e of t)e()}},[b,x,C,o,fe]),(0,z.useEffect)(()=>{let e=()=>{x.flush(),C.flush()};return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[x,C]);let Me=(0,z.useCallback)((e,t)=>{t.table!==e.table&&x.edited(),t.texts.spec!==e.texts.spec&&(C.edited(),C.flush())},[x,C]),[Ne,Pe]=(0,z.useState)(()=>new Map),Fe=(0,z.useRef)(new Set),Ie=(0,z.useCallback)(e=>{let t=Ne.get(e);if(t!==void 0)return t;if(!Fe.current.has(e)){Fe.current.add(e);let t=t=>{Pe(n=>new Map(n).set(e,t))};b[`files/url`]({path:e}).then(e=>{t(e.url)},()=>{t(`about:invalid`)})}return null},[b,Ne]),[Re,Be]=(0,z.useState)(),[Ve,He]=(0,z.useState)(),R=(0,z.useCallback)((e,t={})=>{if(o||ca(e))return;let n=O.current,r=oa(n,e);k(r),t.undoable!==!1&&(we.current.push({edit:e,selection:Re}),we.current.length>500&&we.current.shift(),Te.current=[]),ue(t=>t.filter(t=>!pa(e,t))),Me(n,r)},[o,Me,Re,k]),We=(0,z.useCallback)(()=>{let e=we.current.pop();if(!e)return;let t=sa(e.edit),n=O.current,r=oa(n,t);k(r),Te.current.push(e),e.selection&&Be(e.selection),Me(n,r)},[Me,k]),Ke=(0,z.useCallback)(()=>{let e=Te.current.pop();if(!e)return;let t=O.current,n=oa(t,e.edit);k(n),we.current.push(e),Me(t,n)},[Me,k]),{table:V}=E,qe=(0,z.useMemo)(()=>ra(V),[V]),H=V.columns,Ye=tn(H,F),U=(0,z.useMemo)(()=>{let e=en(qe,L),t=e.length>0?e:H.slice(0,1);return Ye===void 0||!t.includes(Ye)?t:[Ye,...t.filter(e=>e!==Ye)]},[qe,L,H,Ye]),Xe=Ye!==void 0&&U[0]===Ye,Qe=(0,z.useMemo)(()=>Qt(qe,F,L),[qe,F,L]),{items:$e,rowItems:et,shownIds:G}=(0,z.useMemo)(()=>{let e=[],t=[];for(let n of Qe){let r=V.rows[n];r&&(e.push({row:r,index:n,r:t.length}),t.push(r.id))}return{items:e,rowItems:e.map((e,t)=>t),shownIds:t}},[V.rows,Qe]),K=(0,z.useMemo)(()=>({rows:G,columns:U}),[G,U]),tt=x.path;d({freeze:()=>Promise.resolve({key:`${tt}@${String(x.text.length)}@${ms()}`,what:`The sheet ${r}, ${String($e.length)} rows on show`,source:{path:tt}}),locate:e=>{let t=hs(e),n=t.map(e=>e.r),r=t.map(e=>e.c);if(t.length===0)return Promise.resolve([]);let i=$e[Math.min(...n)],a=$e[Math.max(...n)],o=H.indexOf(U[Math.min(...r)]??``),s=H.indexOf(U[Math.max(...r)]??``);if(!i||!a)return Promise.resolve([]);let c=Ye===void 0?void 0:i.row.cells[H.indexOf(Ye)];return Promise.resolve([{name:`cells ${Ze({row:i.index,column:o},{row:a.index,column:s})}`,source:{path:tt,line:i.index+2},...c===void 0||c===``?{}:{text:c}}])}});let q=(0,z.useMemo)(()=>{if(!Re||G.length===0||U.length===0)return;let e=e=>{if(Re.ids!==G){let t=Re.ids[e.r],n=t===void 0?-1:G.indexOf(t);if(n>=0)return{r:n,c:Math.min(e.c,U.length-1)}}return _a(e,G.length,U.length)};return{anchor:e(Re.selection.anchor),focus:e(Re.selection.focus)}},[Re,G,U.length]),J=(0,z.useCallback)(e=>{Be(e===void 0?void 0:{selection:e,ids:G})},[G]),nt=(0,z.useRef)(G);(0,z.useEffect)(()=>{nt.current=G},[G]);let rt=(0,z.useMemo)(()=>new Map(V.rows.map((e,t)=>[e.id,t])),[V.rows]),it=(0,z.useMemo)(()=>L.widths??{},[L.widths]),at=(0,z.useMemo)(()=>Fa(F,V),[F,V]),st=(0,z.useMemo)(()=>Dn(F,U,34),[F,U]),ct=H.join(`\0`),lt=(0,z.useMemo)(()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=getComputedStyle(document.documentElement).getPropertyValue(`--allyhub-font-ui`).trim();return e&&(e.font=`13px ${t||`system-ui`}`),An(qe,F,e?t=>e.measureText(t).width:e=>e.length*7,T)},[ct,F,T]),ut=(0,z.useMemo)(()=>new Set(L.wrap??[]),[L.wrap]),[Y,dt]=(0,z.useState)(),[ft,pt]=(0,z.useState)(!1),[gt,_t]=(0,z.useState)(0),vt=(0,z.useCallback)(e=>{let t=e?.trim().toLowerCase();if(!t)return[];let n=[],r=U.map(e=>H.indexOf(e));for(let e of G){let i=V.rows[rt.get(e)??-1];i&&U.forEach((a,o)=>{(i.cells[r[o]??-1]??``).toLowerCase().includes(t)&&n.push(`${String(e)}:${a}`)})}return n},[U,H,G,V.rows,rt]),X=(0,z.useMemo)(()=>vt(Y),[vt,Y]),yt=(0,z.useMemo)(()=>new Set(X),[X]),bt=(0,z.useCallback)((e,t)=>{let n=e[t];if(n===void 0)return;let r=n.indexOf(`:`),i=Number(n.slice(0,r)),a=G.indexOf(i),o=U.indexOf(n.slice(r+1));if(a<0||o<0)return;let s={r:a,c:o};J(ga(s)),Ee.current?.reveal(s)},[G,U,J]),xt=(0,z.useCallback)(e=>{dt(e),_t(0),bt(vt(e),0)},[bt,vt]),Ct=(0,z.useCallback)(e=>{if(X.length===0)return;let t=(gt+e+X.length)%X.length;_t(t),bt(X,t)},[X,gt,bt]),{agentCells:wt,agentRows:Tt,away:Et}=(0,z.useMemo)(()=>{let e=new Map,t=new Set,n=new Set;for(let r of j)if(r.kind===`cell`){let t=`${String(r.id)}:${r.column}`;e.set(t,r.before),r.away&&n.add(t)}else r.kind===`row-added`&&(t.add(r.id),r.away&&n.add(`row:${String(r.id)}`));return{agentCells:e,agentRows:t,away:n}},[j]),Dt=(0,z.useCallback)(e=>{let t=e.map(e=>fa(e,O.current.table)).filter(e=>e!==void 0);t.length>0&&R({kind:`batch`,edits:t}),ue(t=>t.filter(t=>!e.includes(t)))},[R]),Ot=(0,z.useCallback)(e=>{let t=G[e.r],n=U[e.c],r=t===void 0?void 0:V.rows[rt.get(t)??-1];return r&&n!==void 0?{row:r,column:n}:void 0},[G,U,V.rows,rt]),kt=(0,z.useCallback)((e,t,n)=>{let r=e.cells[O.current.table.columns.indexOf(t)]??``;R({kind:`cells`,changes:[{id:e.id,column:t,before:r,after:n}]})},[R]),At=(0,z.useCallback)(e=>{let t=O.current.texts.spec;return{kind:`spec`,before:t,after:e(t??void 0)}},[]),jt=(0,z.useCallback)((e,t)=>{let n=W(F,e);if(n.options?.some(e=>e.name===t))return;let r={...n,options:[...n.options??[],{name:t}]};R(At(t=>Ut(t,e,r)))},[F,R,At]),Mt=(0,z.useCallback)((e,t,n=1)=>{let r=O.current.table.rows,i;if(t===`end`||e===void 0)i=r[r.length-1]?.id??null;else{let n=G[e.r],a=n===void 0?r.length-1:rt.get(n)??r.length-1;i=t===`above`?r[a-1]?.id??null:r[a]?.id??null}let a=Array.from({length:n},()=>({id:ta(),cells:H.map(()=>``)})),o=i;return R({kind:`insert`,rows:a.map(e=>{let t={row:e,after:o};return o=e.id,t})}),a.map(e=>e.id)},[G,rt,H,R]),Nt=(0,z.useCallback)(e=>new Set(G.slice(e.r0,e.r1+1)),[G]),Pt=(0,z.useCallback)(()=>{for(let e=1;;e++){let t=a.column.newName(e);if(!H.includes(t))return t}},[H,a]),[Ft,It]=(0,z.useState)(),[Lt,Rt]=(0,z.useState)(),zt=(0,z.useCallback)(e=>{let t=Pt();if(R({kind:`insert-column`,at:e,name:t,values:new Map}),L.columns){let n=Math.min(e,U.length),r=[...U];r.splice(n,0,t),je({...L,columns:r})}It(t)},[Pt,R,L,U,je]),Bt=(0,z.useCallback)((e,t)=>{let n=O.current.texts,r=[{kind:`rename-column`,from:e,to:t}],i=Wt(n.spec??void 0,e,t);i!==(n.spec??void 0)&&r.push({kind:`spec`,before:n.spec,after:i||null}),R({kind:`batch`,edits:r}),I&&je(cn(I,e,t))},[R,I,je]),Vt=(0,z.useCallback)((e,t)=>{let n=O.current.table.columns.indexOf(e),r=O.current.table.rows.map(e=>e.cells[n]??``),i=Cn(W(F,e),t,r);R(At(t=>Ut(t,e,i)))},[F,R,At]),[Ht,Kt]=(0,z.useState)(),qt=q===void 0?void 0:G[q.focus.r],Jt=Ht===void 0?void 0:qt??Ht,Yt=Jt===void 0?void 0:V.rows[rt.get(Jt)??-1],Xt=!o,Zt=(0,z.useCallback)(async e=>{let{path:t}=await b[`files/upload`]({dir:`${r}/${as}`,name:e.name,data:await us(e)});return t.startsWith(`${r}/`)?t.slice(r.length+1):t},[b,r]),$t=(0,z.useCallback)(async(e,t)=>{if(o||t.length===0)return;let n=Ot(e);if(!n)return;let r=W(F,n.column);if(r.type!==`file`){le(a.files.notHere);return}J(ga(e)),le(a.files.adding(t.length));let i=[],s=[];for(let e of t)if(e.size>ss*1024*1024)s.push(a.files.tooLarge(e.name,ss));else try{i.push(await Zt(e))}catch{s.push(a.files.failed(e.name))}if(le(s.length>0?s.join(` `):void 0),i.length===0)return;let c=O.current.table,l=c.rows.find(e=>e.id===n.row.id);if(!l)return;let u=l.cells[c.columns.indexOf(n.column)]??``;kt(l,n.column,ht([...mt(u,r.separator),...i],r.separator))},[Zt,o,Ot,F,a,J,kt]),rn=(0,z.useRef)(void 0),an=(0,z.useRef)(null),sn=(0,z.useCallback)(e=>{rn.current=e,an.current?.click()},[]),[ln,fn]=(0,z.useState)(),pn=e=>{let t=e?.closest(`[data-cell]`);if(t)return{r:Number(t.dataset.r),c:Number(t.dataset.c)}},mn=e=>e.dataTransfer.types.includes(`Files`),gn=e=>{if(!Xt||!mn(e))return;e.preventDefault();let t=pn(e.target);e.dataTransfer.dropEffect=t?`copy`:`none`,(t?.r!==ln?.r||t?.c!==ln?.c)&&fn(t)},_n=e=>{e.currentTarget.contains(e.relatedTarget)||fn(void 0)},xn=e=>{if(!Xt||!mn(e))return;e.preventDefault(),fn(void 0);let t=pn(e.target);t&&$t(t,[...e.dataTransfer.files])},[Sn,wn]=(0,z.useState)(),En=H.indexOf(Ye??``),kn=(0,z.useCallback)((e,t)=>{let n=Ot(e);if(!n)return;let r=W(F,n.column);if(r.type!==`file`)return;let i=H.indexOf(n.column),o=On(r,G.flatMap(e=>{let t=V.rows[rt.get(e)??-1];return t?[{id:e,value:t.cells[i]??``,title:(t.cells[En]?.trim()??``)||a.row.numbered((rt.get(e)??0)+1)}]:[]})),s=o.findIndex(e=>e.row===n.row.id&&e.at===t);s<0||(J(ga(e)),wn({column:n.column,files:o,at:s}))},[Ot,F,H,G,V.rows,rt,En,a,J]),jn=(0,z.useRef)(null),Mn=(0,z.useCallback)(()=>{jn.current?.focus({preventScroll:!0})},[]),Nn=e=>{let t=e;return!t||t===jn.current||!t.closest(`input, textarea, select, [role=dialog], [role=menu]`)};(0,z.useEffect)(()=>{let e=jn.current,t=e?.parentElement;if(!e||!t||!q)return;let n=t.querySelector(`[data-cell][data-r="${String(q.focus.r)}"][data-c="${String(q.focus.c)}"]`);if(!n)return;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect();e.style.left=`${String(r.left-i.left+8)}px`,e.style.top=`${String(r.top-i.top+8)}px`},[q]);let Pn=G.length,Fn=U.length,In=(0,z.useCallback)(e=>{Ee.current?.reveal(e)},[]),Ln=(0,z.useCallback)(e=>{J(e),In(e.focus)},[In,J]),Rn=(0,z.useCallback)((e,t)=>{let n=Ve?.cell;if(He(void 0),!n)return;let r=Ot(n);r&&(r.row.cells[H.indexOf(r.column)]??``)!==e&&kt(r.row,r.column,e),q&&t!==`click`&&Ln(ya(q,t===`tab`?`next`:t===`shift-tab`?`previous`:t===`shift-enter`?`up`:`down`,Pn,Fn)),Mn()},[Ve,Ot,H,kt,q,Ln,Pn,Fn,Mn]),zn=(0,z.useCallback)(e=>{let t=Ot(e);if(!t)return;let n=t.row.cells[H.indexOf(t.column)]??``;kt(t.row,t.column,n.trim().toLowerCase()===`true`?`false`:`true`)},[Ot,H,kt]),Bn=(0,z.useCallback)(e=>{if(!q)return;let t=ma(q),n=ba(V,K,t);return e&&!o&&R(xa(V,K,t)),n},[q,V,K,o,R]),Vn=(0,z.useCallback)(e=>{if(o)return;let t=V.rows.length===0&&!q;if(!q&&!t)return;let n=q?ma(q):{r0:0,r1:0,c0:0,c1:0},r=[],i=V,s=K;if(t){let t=Math.max(0,...Je(e.replace(/\r?\n$/,``)).map(e=>e.length)),n=[];for(let e=1;V.columns.length+n.length<t;e++){let t=a.column.newName(e);V.columns.includes(t)||n.push(t)}n.forEach((e,t)=>{r.push({kind:`insert-column`,at:V.columns.length+t,name:e,values:new Map})}),i={...V,columns:[...V.columns,...n]},s={rows:[],columns:[...K.columns,...n]}}let c=Ca(i,F,s,n,e);if(c.options.size>0){let e=O.current.texts.spec??void 0;for(let[t,n]of c.options){let r=W(ot(e??``).spec,t);e=Ut(e,t,{...r,options:[...r.options??[],...n.map(e=>({name:e}))]})}r.push({kind:`spec`,before:O.current.texts.spec,after:e??null})}r.push(c.edit),R({kind:`batch`,edits:r}),le(c.skipped>0?a.cell.left(c.skipped):void 0);let l=e.replace(/\r?\n$/,``).split(/\r?\n/);if(l.length!==1||l[0]?.includes(` `)){let e=l.length,t=Math.max(...l.map(e=>e.split(` `).length));J({anchor:{r:n.r0,c:n.c0},focus:{r:n.r0+e-1,c:Math.min(s.columns.length-1,n.c0+t-1)}})}},[q,o,V,F,K,R,a,J]),Hn=e=>{if(Ve||e.nativeEvent.isComposing||!Nn(e.target))return;let t=e.metaKey||e.ctrlKey;if(t&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?Ke():We();return}if(t&&e.key.toLowerCase()===`y`){e.preventDefault(),Ke();return}if(t&&e.key.toLowerCase()===`f`){e.preventDefault(),xt(Y??``);return}if(e.ctrlKey&&!e.metaKey&&e.key.toLowerCase()===`h`){e.preventDefault(),xt(Y??``),pt(!0);return}if(Pn===0||Fn===0)return;if(t&&e.key.toLowerCase()===`a`){e.preventDefault(),J({anchor:{r:0,c:0},focus:{r:Pn-1,c:Fn-1}});return}let n=q??ga({r:0,c:0});if(e.key===` `&&e.shiftKey!==e.ctrlKey&&!e.metaKey){e.preventDefault();let t=ma(n);J(e.shiftKey?{anchor:{r:t.r0,c:0},focus:{r:t.r1,c:Fn-1}}:{anchor:{r:0,c:t.c0},focus:{r:Pn-1,c:t.c1}});return}let r={ArrowUp:`up`,ArrowDown:`down`,ArrowLeft:`left`,ArrowRight:`right`,Home:`home`,End:`end`,PageUp:`page-up`,PageDown:`page-down`}[e.key];if(r){e.preventDefault(),Ln(va(n,r,{extend:e.shiftKey,jump:t,rows:Pn,cols:Fn,page:Ee.current?.page()??10}));return}if(e.key===`Tab`){e.preventDefault(),Ln(ya(n,e.shiftKey?`previous`:`next`,Pn,Fn));return}if(e.key===`Escape`){let e=ma(n);Y===void 0?e.r0!==e.r1||e.c0!==e.c1?J(ga(n.focus)):Ht!==void 0&&Kt(void 0):xt(void 0);return}if(e.key===` `&&!t&&!e.shiftKey){let t=Ot(n.focus),r=t?W(F,t.column):void 0;if(t&&r?.type===`file`&&Tn(r,t.row.cells[H.indexOf(t.column)]??``).length>0){e.preventDefault(),kn(n.focus,0);return}}if(t&&e.key===`Enter`){e.preventDefault();let t=G[n.focus.r];t!==void 0&&Kt(t);return}if(o)return;let i=U[n.focus.c],a=i===void 0?`text`:W(F,i).type;if(e.key===`Enter`||e.key===`F2`){e.preventDefault();let t=ma(n);if(e.key===`Enter`&&(t.r0!==t.r1||t.c0!==t.c1)){Ln(ya(n,e.shiftKey?`up`:`down`,Pn,Fn));return}a===`checkbox`?zn(n.focus):He({cell:n.focus})}else if(e.key===`Backspace`||e.key===`Delete`)e.preventDefault(),R(xa(V,K,ma(n)));else if(t&&e.key.toLowerCase()===`d`)e.preventDefault(),R(wa(V,K,ma(n)));else if(e.key===` `&&a===`checkbox`){e.preventDefault();let t=ma(n);for(let e=t.r0;e<=t.r1;e++)zn({r:e,c:n.focus.c})}},Un=e=>{if(o||e===``||Pn===0||Fn===0)return;let t=q??ga({r:0,c:0}),n=U[t.focus.c];n!==void 0&&W(F,n).type!==`checkbox`&&(J(ga(t.focus)),He({cell:t.focus,initial:e}))},Wn=e=>{if(Ve||!Nn(e.target))return;let t=Bn(!1);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},Gn=e=>{if(Ve||!Nn(e.target))return;let t=Bn(!0);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},Kn=e=>{if(Ve||!Nn(e.target))return;e.preventDefault();let t=[...e.clipboardData.files];t.length>0&&Xt&&q?$t(q.focus,t):Vn(e.clipboardData.getData(`text/plain`))},qn=(0,z.useMemo)(()=>{let e=[];for(let t of j){let n=t.kind===`cell`||t.kind===`row-added`?t.id:void 0,r=n===void 0?-1:G.indexOf(n);if(r<0)continue;let i=t.kind===`cell`?Math.max(0,U.indexOf(t.column)):0;e.push({change:t,r,c:i})}return e.sort((e,t)=>e.r-t.r||e.c-t.c)},[j,G,U]),[Jn,Xn]=(0,z.useState)(-1),Zn=(0,z.useCallback)(e=>{if(qn.length===0)return;let t=(Jn+e+qn.length)%qn.length;Xn(t);let n=qn[t];if(!n)return;let r={r:n.r,c:n.c};J(ga(r)),Ee.current?.reveal(r)},[qn,Jn,J]),[Qn,$n]=(0,z.useState)(),er=(0,z.useRef)(void 0),tr=(0,z.useRef)(!1),nr=(0,z.useCallback)(()=>{window.clearTimeout(er.current),er.current=window.setTimeout(()=>{tr.current||$n(void 0)},160)},[]),rr=e=>{if(Ve||e.buttons!==0)return;let t=e.target;if(t.closest(`.sheet-review-card`))return;let n=t.closest(`[data-cell][data-agent], .sheet-gutter[data-agent]`);if(!n){nr();return}let r;if(n.classList.contains(`sheet-gutter`)){let e=Number(n.closest(`[data-row-id]`)?.dataset.rowId);r=j.find(t=>t.kind===`row-added`&&t.id===e)}else{let e=Ot({r:Number(n.dataset.r),c:Number(n.dataset.c)});r=e?j.find(t=>t.kind===`cell`&&t.id===e.row.id&&t.column===e.column):void 0}if(!r){nr();return}if(Qn?.change===r){window.clearTimeout(er.current);return}let i=e.currentTarget.getBoundingClientRect(),a=n.getBoundingClientRect(),o=r;window.clearTimeout(er.current),er.current=window.setTimeout(()=>{$n({change:o,left:Math.max(8,Math.min(a.left-i.left,i.width-268)),top:a.bottom-i.top+4})},Qn?0:280)};(0,z.useEffect)(()=>()=>{window.clearTimeout(er.current)},[]);let ir=Qn&&j.includes(Qn.change)?Qn:void 0,[ar,sr]=(0,z.useState)(),cr=(0,z.useCallback)((e,t)=>{e.preventDefault(),q&&ma(q).r0<=t.r&&t.r<=ma(q).r1&&ma(q).c0<=t.c&&t.c<=ma(q).c1||J(ga(t)),Yn(),sr({x:e.clientX,y:e.clientY,cell:t})},[q,J]),lr=(0,z.useMemo)(()=>({select:e=>{J(e)},edit:(e,t)=>{J(ga(e)),He({cell:e,...t===void 0?{}:{initial:t}})},commit:Rn,cancel:()=>{He(void 0),Mn()},toggle:zn,addOption:jt,resize:(e,t)=>{let n=W(F,e),r=O.current.texts,i=Ut(r.spec??void 0,e,{...n,width:t});R({kind:`spec`,before:r.spec,after:i},{undoable:!1}),I&&je({...I,widths:{...I.widths??{},[e]:t}})},moveColumn:(e,t)=>{if(Xe&&e===Ye)return;let n=Xe?Math.max(1,t):t;if(!I?.columns){R({kind:`move-column`,name:e,from:H.indexOf(e),to:H.indexOf(U[n]??e)});return}let r=U.filter(t=>t!==e);r.splice(n,0,e),je({...L,columns:r})},moveRows:(e,t)=>{let n=O.current.table.rows.map(e=>e.id),r=new Set(e),i=n.filter(e=>!r.has(e)),a=t===null?i.length:i.indexOf(t),o=[...i];o.splice(a<0?i.length:a,0,...n.filter(e=>r.has(e))),R({kind:`order`,before:n,after:o})},addRow:()=>{let[e]=Mt(void 0,`end`);window.requestAnimationFrame(()=>{let t=e===void 0?-1:nt.current.indexOf(e);t>=0&&(J(ga({r:t,c:0})),He({cell:{r:t,c:0}}),Ee.current?.reveal({r:t,c:0}))})},addColumn:()=>{zt(H.length)},contextMenu:cr,rename:(e,t)=>{It(void 0),t!==void 0&&!H.includes(t)&&Bt(e,t),Mn()},expand:e=>{let t=G.indexOf(e);t>=0&&J(ga({r:t,c:q?.focus.c??0})),Kt(e)},openFile:kn,fill:(e,t)=>{R(wa(V,K,{...e,r1:t},e.r1-e.r0+1)),J({anchor:{r:e.r0,c:e.c0},focus:{r:t,c:e.c1}})},columnActions:e=>({rename:()=>{It(e)},format:t=>{Vt(e,t)},hide:()=>{je({...L,columns:U.filter(t=>t!==e)})},insert:t=>{let n=H.indexOf(e)+ +(t===`right`);zt(n)},remove:()=>{let t=H.indexOf(e),n=new Map(O.current.table.rows.map(e=>[e.id,e.cells[t]??``])),r=[...n.values()].filter(e=>e!==``).length;Rt({title:a.column.removeAsk(e,r),run:()=>{let r=O.current.texts,i=r.spec??void 0;F.columns[e]!==void 0&&(i=Ut(i,e,void 0)),F.key===e&&(i=Gt(i,`key`,void 0)),F.primary===e&&(i=Gt(i,`primary`,void 0)),R({kind:`batch`,edits:[{kind:`remove-column`,at:t,name:e,values:n},...i===(r.spec??void 0)?[]:[{kind:`spec`,before:r.spec,after:i===void 0||i===``?null:i}]]})}})}}),focusGrid:()=>{Mn()}}),[Rn,zn,jt,F,R,I,je,H,U,L,Mt,zt,cr,V,K,a,Mn,J,Xe,Ye,Bt,Vt,G,q,kn]),ur=o?void 0:V.rows.length===0?(0,B.jsxs)(`div`,{className:`sheet-empty`,"data-testid":`sheet-empty`,children:[(0,B.jsx)(`p`,{className:`sheet-empty-title`,children:a.empty.title}),(0,B.jsxs)(`div`,{className:`sheet-empty-actions`,children:[(0,B.jsxs)(_,{size:`sm`,"data-testid":`sheet-empty-add`,onClick:lr.addRow,children:[(0,B.jsx)(Se,{"aria-hidden":!0}),a.empty.addRow]}),(0,B.jsxs)(_,{variant:`outline`,size:`sm`,onClick:()=>{Mn(),le(a.empty.pasteHint)},children:[(0,B.jsx)(Oe,{"aria-hidden":!0}),a.empty.paste]}),g&&(0,B.jsxs)(`label`,{className:`sheet-empty-file`,children:[(0,B.jsx)(Ge,{"aria-hidden":!0,size:14}),a.empty.importFile,(0,B.jsx)(`input`,{type:`file`,accept:`.csv,.tsv,.xlsx`,className:`sheet-empty-input`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&g(t)}})]})]})]}):Qe.length===0&&L.filter?(0,B.jsxs)(`div`,{className:`sheet-empty`,"data-quiet":``,"data-testid":`sheet-no-match`,children:[(0,B.jsx)(`p`,{className:`sheet-empty-title`,children:a.empty.noMatch}),(0,B.jsx)(`p`,{className:`sheet-empty-body`,children:a.empty.noMatchBody}),(0,B.jsx)(`div`,{className:`sheet-empty-actions`,children:(0,B.jsx)(_,{variant:`outline`,size:`sm`,onClick:()=>{je(dn(L))},children:a.empty.clearFilter})})]}):void 0,dr=(0,z.useMemo)(()=>{if(!Ae)return[];let e=[],t=I.sort?.[0];t&&JSON.stringify(I.sort)!==JSON.stringify(De.sort??[])&&e.push(a.look.sorted(t.column,t.desc===!0));let n=[...bn(un(I))].filter(e=>{let t=W(F,e);return JSON.stringify([...vn(I,e,t)??[]])!==JSON.stringify([...vn(De,e,t)??[]])});n.length>0&&e.push(a.look.filtered(n));let r=en(qe,De).length-en(qe,I).length;return r>0&&e.push(a.look.hidden(r)),e},[Ae,I,De,F,qe,a]),fr=(0,z.useCallback)((e,t)=>{let n=W(F,e),r=L.sort?.[0];return(0,B.jsx)(_r,{name:e,column:n,ticked:vn(L,e,n),sort:r?.column===e?r.desc?`desc`:`asc`:void 0,strings:a,locale:T,trigger:t,values:()=>{let t=un(yn(L,e,n,void 0)),r=H.indexOf(e),i=Qt(qe,F,t).map(e=>V.rows[e]?.cells[r]??``);return hn(e,n,i,T)},onSort:t=>{je({...L,sort:[{column:e,...t?{desc:!0}:{}}]})},onTicked:t=>{je(yn(L,e,n,t)),Mn()}})},[F,L,a,T,H,qe,V.rows,je,Mn]),pr=(0,z.useMemo)(()=>bn(un(L)),[L]),mr=L.sort?.[0],hr=(0,z.useMemo)(()=>mr===void 0?void 0:{column:mr.column,desc:mr.desc===!0},[mr]),gr=(0,z.useCallback)((e,t)=>{let n=Y?.trim();if(!n||o)return;let r=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`gi`),i=t?X:X.slice(gt,gt+1),s=O.current.table,c=new Map(s.rows.map(e=>[e.id,e])),l=i.flatMap(t=>{let n=t.indexOf(`:`),i=Number(t.slice(0,n)),a=t.slice(n+1),o=c.get(i)?.cells[s.columns.indexOf(a)]??``,l=o.replace(r,()=>e);return l===o?[]:[{id:i,column:a,before:o,after:l}]});if(l.length===0||(R({kind:`cells`,changes:l}),le(t?a.replace.done(l.length):void 0),t))return;let u=gt+1>=X.length,d=u?X[0]:X[gt+1];if(d===void 0||d===i[0])return;let f=l[0]?.after.toLowerCase().includes(n.toLowerCase());_t(u?0:f===!0?gt+1:gt),bt([d],0)},[Y,o,X,gt,R,a,bt]),vr=(0,z.useMemo)(()=>{if(!q)return;let e=ma(q);if(e.r0!==e.r1||e.c0!==e.c1)return Ia(V,F,K,e,T)},[q,V,F,K,T]),yr=q?ma(q):void 0,br=ar?Ot(ar.cell):void 0,xr=br?j.find(e=>e.kind===`cell`&&e.id===br.row.id&&e.column===br.column):void 0,Sr={cells:j.filter(e=>e.kind===`cell`).length,rows:j.filter(e=>e.kind===`row-added`||e.kind===`row-removed`).length,columns:j.filter(e=>e.kind===`column-added`||e.kind===`column-removed`).length};return(0,B.jsxs)(`div`,{className:`sheet-page ${y??``}`,"data-testid":`sheet-editor`,"data-state":re,lang:T,children:[(0,B.jsxs)(`div`,{className:`sheet-sheet`,children:[(0,B.jsx)(w,{saved:{state:re}}),f&&(0,B.jsxs)(`div`,{className:`sheet-notice`,role:`note`,"data-testid":`sheet-notice`,children:[(0,B.jsx)(`p`,{children:f.text}),f.lines.map(e=>(0,B.jsx)(`p`,{className:`sheet-notice-line`,children:e},e))]}),(0,B.jsxs)(`div`,{className:`sheet-main`,children:[(0,B.jsxs)(`div`,{className:`sheet-grid-wrap`,onPointerOver:rr,onPointerLeave:nr,onKeyDown:Hn,onCopy:Wn,onCut:Gn,onPaste:Kn,onDragOver:gn,onDragLeave:_n,onDrop:xn,children:[Xt&&(0,B.jsx)(`input`,{ref:an,type:`file`,multiple:!0,hidden:!0,"data-testid":`sheet-file-input`,onChange:e=>{let t=[...e.target.files??[]];e.target.value=``;let n=rn.current;n&&$t(n,t)}}),(0,B.jsx)(`textarea`,{ref:jn,className:`sheet-sink`,"aria-label":a.cell.open,tabIndex:-1,"data-testid":`sheet-sink`,onInput:e=>{if(e.nativeEvent.isComposing)return;let t=e.currentTarget.value;e.currentTarget.value=``,Un(t)},onCompositionEnd:e=>{let t=e.data;e.currentTarget.value=``,Un(t)}}),(0,B.jsx)(Aa,{ref:Ee,spec:at,rowHeight:st,...ln?{dropping:ln}:{},allColumns:H,columns:U,widths:it,fit:lt,freeze:L.freeze??+!!Xe,wrap:ut,items:$e,rowItems:et,selection:q,editing:Ve,readOnly:o,found:yt,current:X[gt],agentCells:wt,agentRows:Tt,away:Et,headerTool:fr,filtered:pr,...hr?{sortedBy:hr}:{},...Ft===void 0?{}:{renaming:Ft},...ur?{empty:ur}:{},sorted:(L.sort?.length??0)>0,...F.key===void 0?{}:{keyColumn:F.key},strings:a,locale:T,fileUrl:Ie,dir:r,on:lr}),Y!==void 0&&(0,B.jsx)(`div`,{className:`sheet-find-float`,children:(0,B.jsx)(ts,{find:Y,onFind:xt,count:X.length,at:gt,onStep:Ct,replacing:ft,onReplacing:pt,onReplace:gr,readOnly:o,strings:a})}),ir&&(0,B.jsx)(La,{change:ir.change,at:ir,agent:m??a.agentInline,spec:at,locale:T,strings:a,onEnter:()=>{tr.current=!0,window.clearTimeout(er.current)},onLeave:()=>{tr.current=!1,nr()},onKeep:()=>{ue(e=>e.filter(e=>e!==ir.change)),$n(void 0)},onUndo:()=>{Dt([ir.change]),$n(void 0)}}),A!==void 0&&(0,B.jsx)(`p`,{className:`sheet-toast`,role:`status`,children:A}),(Sr.cells+Sr.rows+Sr.columns>0||P>0)&&(0,B.jsxs)(`div`,{className:`sheet-review-bar`,"data-testid":`sheet-review-bar`,"data-away":j.length>0&&j.every(e=>e.away)?``:void 0,children:[(0,B.jsxs)(`span`,{className:`sheet-review-text`,children:[Sr.cells+Sr.rows+Sr.columns>0&&(j.every(e=>e.away)?a.review.countAway(Sr.cells,Sr.rows,Sr.columns):a.review.count(te,Sr.cells,Sr.rows,Sr.columns)),P>0&&(0,B.jsxs)(`span`,{className:`sheet-review-conflict`,children:[` `,a.review.conflicts(P)]})]}),qn.length>0&&(0,B.jsxs)(`span`,{className:`sheet-review-step`,children:[(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":a.review.previous,title:a.review.previous,"data-testid":`sheet-review-previous`,onClick:()=>{Zn(-1)},children:(0,B.jsx)(S,{size:14,"aria-hidden":!0})}),(0,B.jsx)(`span`,{className:`sheet-review-position`,children:Jn>=0&&Jn<qn.length?a.review.position(Jn+1,qn.length):String(qn.length)}),(0,B.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":a.review.next,title:a.review.next,"data-testid":`sheet-review-next`,onClick:()=>{Zn(1)},children:(0,B.jsx)(ee,{size:14,"aria-hidden":!0})})]}),j.length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{Dt(j)},children:[(0,B.jsx)(ce,{size:13,"aria-hidden":!0}),a.review.undoAll]}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{ue([]),Ce(0)},children:[(0,B.jsx)(v,{size:13,"aria-hidden":!0}),a.review.keepAll]})]}),j.length===0&&P>0&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>{Ce(0)},children:a.review.keep})]})]}),Yt&&(0,B.jsx)(Na,{row:Yt,columns:U,allColumns:H,spec:F,number:G.includes(Yt.id)?G.indexOf(Yt.id)+1:(rt.get(Yt.id)??0)+1,total:G.includes(Yt.id)?G.length:V.rows.length,title:Yt.cells[H.indexOf(tn(H,F)??``)]??``,readOnly:o,strings:a,locale:T,fileUrl:Ie,dir:r,onChange:(e,t)=>{kt(Yt,e,t)},onAddOption:jt,onOpenFile:(e,t)=>{let n=G.indexOf(Yt.id),r=U.indexOf(e);n>=0&&r>=0&&kn({r:n,c:r},t)},...Xt?{onAddFiles:e=>{let t=G.indexOf(Yt.id),n=U.indexOf(e);t>=0&&n>=0&&sn({r:t,c:n})}}:{},onStep:e=>{let t=G.indexOf(Yt.id),n=G[t+e];if(n===void 0)return;Kt(n);let r=G.indexOf(n);if(r<0)return;let i={r,c:q?.focus.c??0};J(ga(i)),In(i)},onClose:()=>{Kt(void 0),Mn()}},Yt.id)]}),(0,B.jsxs)(`footer`,{className:`sheet-status`,"data-testid":`sheet-status`,children:[(0,B.jsx)(`span`,{className:`sheet-count`,"data-testid":`sheet-count`,children:a.rows(G.length,V.rows.length)}),(0,B.jsx)(es,{parts:dr,strings:a,onClear:()=>{je(void 0)}}),vr&&vr.count>0&&(0,B.jsxs)(`span`,{className:`sheet-stats`,"data-testid":`sheet-stats`,children:[vr.average!==void 0&&(0,B.jsxs)(`span`,{children:[a.stats.average,` `,(0,B.jsx)(`b`,{children:vr.average})]}),(0,B.jsxs)(`span`,{children:[a.stats.count,` `,(0,B.jsx)(`b`,{children:vr.count})]}),vr.sum!==void 0&&(0,B.jsxs)(`span`,{children:[a.stats.sum,` `,(0,B.jsx)(`b`,{children:vr.sum})]})]})]})]}),ar&&(0,B.jsxs)(ve,{open:!0,modal:!1,onOpenChange:e=>{e||sr(void 0)},children:[(0,B.jsx)(xe,{asChild:!0,children:(0,B.jsx)(`span`,{className:`sheet-menu-anchor`,style:{left:ar.x,top:ar.y}})}),(0,B.jsxs)(be,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-context-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[xr?.kind===`cell`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(M,{disabled:!0,className:`sheet-menu-note`,children:[a.review.was,`:`,` `,xr.before===``?`—`:St(W(F,xr.column),xr.before,T)]}),(0,B.jsxs)(M,{onSelect:()=>{ue(e=>e.filter(e=>e!==xr))},children:[(0,B.jsx)(v,{"aria-hidden":!0}),a.review.keep]}),(0,B.jsxs)(M,{onSelect:()=>{Dt([xr])},children:[(0,B.jsx)(ce,{"aria-hidden":!0}),a.review.undo]}),(0,B.jsx)(de,{})]}),(0,B.jsxs)(M,{onSelect:()=>{let e=Bn(!1);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,B.jsx)(se,{"aria-hidden":!0}),a.cell.copy,(0,B.jsx)(ye,{children:ns(`C`)})]}),!o&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(M,{onSelect:()=>{let e=Bn(!0);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,B.jsx)(Ue,{"aria-hidden":!0}),a.cell.cut,(0,B.jsx)(ye,{children:ns(`X`)})]}),(0,B.jsxs)(M,{onSelect:()=>{navigator.clipboard.readText().then(Vn,()=>{le(a.cell.pasteHint)})},children:[(0,B.jsx)(Oe,{"aria-hidden":!0}),a.cell.paste,(0,B.jsx)(ye,{children:ns(`V`)})]}),(0,B.jsxs)(M,{onSelect:()=>{yr&&R(xa(V,K,yr))},children:[(0,B.jsx)(ke,{"aria-hidden":!0}),a.cell.clearContents,(0,B.jsx)(ye,{children:`⌫`})]}),Xt&&br&&W(F,br.column).type===`file`&&(0,B.jsxs)(M,{"data-testid":`sheet-insert-file`,onSelect:()=>{sn(ar.cell)},children:[(0,B.jsx)(ze,{"aria-hidden":!0}),a.files.insert]}),(0,B.jsx)(de,{}),(0,B.jsxs)(M,{onSelect:()=>{Mt(ar.cell,`above`)},children:[(0,B.jsx)(ne,{"aria-hidden":!0}),a.row.insertAbove]}),(0,B.jsxs)(M,{onSelect:()=>{Mt(ar.cell,`below`)},children:[(0,B.jsx)(ae,{"aria-hidden":!0}),a.row.insertBelow]}),(0,B.jsxs)(M,{variant:`destructive`,onSelect:()=>{yr&&R(la(O.current.table,Nt(yr)))},children:[(0,B.jsx)(oe,{"aria-hidden":!0}),a.row.remove(yr?yr.r1-yr.r0+1:1)]})]}),(0,B.jsx)(de,{}),(0,B.jsxs)(M,{onSelect:()=>{let e=G[ar.cell.r];e!==void 0&&Kt(e)},children:[(0,B.jsx)(Le,{"aria-hidden":!0}),a.row.expand,(0,B.jsx)(ye,{children:ns(`↵`)})]})]})]}),Sn&&(0,B.jsx)(or,{files:Sn.files,at:Sn.at,dir:r,fileUrl:Ie,strings:a,readOnly:o,onStep:e=>{wn({...Sn,at:e});let t=G.indexOf(Sn.files[e]?.row??-1),n=U.indexOf(Sn.column);t>=0&&n>=0&&Ln(ga({r:t,c:n}))},onRemove:e=>{let t=O.current.table,n=t.rows.find(t=>t.id===e.row);if(!n)return;let r=W(F,Sn.column),i=mt(n.cells[t.columns.indexOf(Sn.column)]??``,r.separator);i.splice(e.at,1),kt(n,Sn.column,ht(i,r.separator)),wn(void 0),Mn()},onClose:()=>{wn(void 0),Mn()}}),(0,B.jsx)(pe,{open:Lt!==void 0,onOpenChange:e=>{e||Rt(void 0)},children:(0,B.jsxs)(me,{className:`sheet-dialog`,showCloseButton:!1,children:[(0,B.jsx)(_e,{children:(0,B.jsx)(he,{children:Lt?.title})}),(0,B.jsxs)(N,{children:[(0,B.jsx)(_,{variant:`ghost`,onClick:()=>{Rt(void 0)},children:a.column.cancel}),(0,B.jsxs)(_,{variant:`destructive`,"data-testid":`sheet-confirm`,onClick:()=>{Lt?.run(),Rt(void 0)},children:[(0,B.jsx)(oe,{"aria-hidden":!0}),a.column.confirm]})]})]})})]})}export{ds as SheetEditor};