@aquera/nile-elements 1.9.8 → 1.9.10

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 (285) hide show
  1. package/README.md +7 -0
  2. package/dist/{index-df196058.cjs.js → index-50880eb7.cjs.js} +2 -2
  3. package/dist/index-50880eb7.cjs.js.map +1 -0
  4. package/dist/index-6832c52b.cjs.js +2 -0
  5. package/dist/index-6832c52b.cjs.js.map +1 -0
  6. package/dist/index-747d1880.cjs.js +2 -0
  7. package/dist/index-747d1880.cjs.js.map +1 -0
  8. package/dist/{index-249de90a.esm.js → index-7b1c9857.esm.js} +1 -1
  9. package/dist/index-a487d8b4.esm.js +1 -0
  10. package/dist/index-ba47645d.esm.js +1 -0
  11. package/dist/index.cjs.js +1 -1
  12. package/dist/index.esm.js +1 -1
  13. package/dist/index.js +1589 -1277
  14. package/dist/katex-44476ab4.esm.js +1 -0
  15. package/dist/katex-f4186f87.cjs.js +2 -0
  16. package/dist/katex-f4186f87.cjs.js.map +1 -0
  17. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  18. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  19. package/dist/nile-checkbox/nile-checkbox.esm.js +1 -1
  20. package/dist/nile-color-picker/index.cjs.js +1 -1
  21. package/dist/nile-color-picker/index.esm.js +1 -1
  22. package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
  23. package/dist/nile-color-picker/nile-color-picker.cjs.js.map +1 -1
  24. package/dist/nile-color-picker/nile-color-picker.esm.js +1 -1
  25. package/dist/nile-combobox/index.cjs.js +1 -1
  26. package/dist/nile-combobox/index.esm.js +1 -1
  27. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  28. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  29. package/dist/nile-detail/index.cjs.js +1 -1
  30. package/dist/nile-detail/index.esm.js +1 -1
  31. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  32. package/dist/nile-detail/nile-detail.esm.js +1 -1
  33. package/dist/nile-nav-tab/nile-nav-tab.cjs.js +1 -1
  34. package/dist/nile-nav-tab/nile-nav-tab.cjs.js.map +1 -1
  35. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js +1 -1
  36. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js.map +1 -1
  37. package/dist/nile-nav-tab/nile-nav-tab.css.esm.js +11 -0
  38. package/dist/nile-nav-tab/nile-nav-tab.esm.js +1 -1
  39. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js +1 -1
  40. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js.map +1 -1
  41. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.esm.js +1 -2
  42. package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +1 -1
  43. package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -1
  44. package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -1
  45. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
  46. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js.map +1 -1
  47. package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
  48. package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
  49. package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
  50. package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js +1 -1
  51. package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +1 -1
  52. package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -1
  53. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
  54. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -1
  55. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
  56. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js +1 -1
  57. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js.map +1 -1
  58. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.esm.js +1 -1
  59. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js +1 -1
  60. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js.map +1 -1
  61. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.esm.js +1 -1
  62. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +1 -1
  63. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -1
  64. package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +1 -1
  65. package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -1
  66. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js +1 -1
  67. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js.map +1 -1
  68. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.esm.js +1 -1
  69. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +1 -1
  70. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -1
  71. package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.cjs.js +2 -0
  72. package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.cjs.js.map +1 -0
  73. package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.esm.js +1 -0
  74. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +1 -1
  75. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -1
  76. package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +1 -1
  77. package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js.map +1 -1
  78. package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -1
  79. package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js +1 -1
  80. package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js.map +1 -1
  81. package/dist/nile-wysiwyg-editor/engine/sanitize.esm.js +1 -1
  82. package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +1 -1
  83. package/dist/nile-wysiwyg-editor/engine/schema.cjs.js.map +1 -1
  84. package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -1
  85. package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +1 -1
  86. package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js.map +1 -1
  87. package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -1
  88. package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
  89. package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
  90. package/dist/nile-wysiwyg-editor/math/katex-renderer.cjs.js +2 -0
  91. package/dist/nile-wysiwyg-editor/math/katex-renderer.cjs.js.map +1 -0
  92. package/dist/nile-wysiwyg-editor/math/katex-renderer.esm.js +1 -0
  93. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
  94. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
  95. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
  96. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
  97. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +22 -3
  98. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +7 -6
  99. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +1 -1
  100. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.esm.js +1 -1
  101. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.cjs.js +2 -0
  102. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.cjs.js.map +1 -0
  103. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.esm.js +1 -0
  104. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +1 -1
  105. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js.map +1 -1
  106. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +1 -1
  107. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -1
  108. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +33 -54
  109. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.esm.js +83 -95
  110. package/dist/nile-wysiwyg-editor/types.cjs.js +1 -1
  111. package/dist/nile-wysiwyg-editor/types.cjs.js.map +1 -1
  112. package/dist/nile-wysiwyg-editor/types.esm.js +1 -1
  113. package/dist/nile-wysiwyg-editor/ui/bubble-item.cjs.js +2 -0
  114. package/dist/nile-wysiwyg-editor/ui/bubble-item.cjs.js.map +1 -0
  115. package/dist/nile-wysiwyg-editor/ui/bubble-item.esm.js +1 -0
  116. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
  117. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
  118. package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +23 -15
  119. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
  120. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
  121. package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +3 -3
  122. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
  123. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
  124. package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +2 -2
  125. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
  126. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
  127. package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +0 -3
  128. package/dist/nile-wysiwyg-editor/ui/preview.cjs.js +2 -0
  129. package/dist/nile-wysiwyg-editor/ui/preview.cjs.js.map +1 -0
  130. package/dist/nile-wysiwyg-editor/ui/preview.esm.js +8 -0
  131. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
  132. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
  133. package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +225 -24
  134. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
  135. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
  136. package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +9 -9
  137. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
  138. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
  139. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +115 -13
  140. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
  141. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
  142. package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +13 -12
  143. package/dist/src/index.d.ts +5 -0
  144. package/dist/src/index.js +3 -0
  145. package/dist/src/index.js.map +1 -1
  146. package/dist/src/nile-checkbox/nile-checkbox.js +1 -0
  147. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  148. package/dist/src/nile-color-picker/nile-color-picker.d.ts +1 -0
  149. package/dist/src/nile-color-picker/nile-color-picker.js +1 -0
  150. package/dist/src/nile-color-picker/nile-color-picker.js.map +1 -1
  151. package/dist/src/nile-nav-tab/nile-nav-tab.css.js +11 -0
  152. package/dist/src/nile-nav-tab/nile-nav-tab.css.js.map +1 -1
  153. package/dist/src/nile-nav-tab/nile-nav-tab.d.ts +2 -0
  154. package/dist/src/nile-nav-tab/nile-nav-tab.js +13 -0
  155. package/dist/src/nile-nav-tab/nile-nav-tab.js.map +1 -1
  156. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js +1 -2
  157. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js.map +1 -1
  158. package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +1 -0
  159. package/dist/src/nile-wysiwyg-editor/engine/index.js +1 -0
  160. package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -1
  161. package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js +3 -0
  162. package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js.map +1 -1
  163. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.d.ts +19 -4
  164. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js +23 -18
  165. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js.map +1 -1
  166. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.d.ts +8 -3
  167. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js +41 -4
  168. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js.map +1 -1
  169. package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.d.ts +17 -0
  170. package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.js +174 -0
  171. package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.js.map +1 -0
  172. package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +33 -2
  173. package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -1
  174. package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +49 -8
  175. package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -1
  176. package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +12 -0
  177. package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +76 -8
  178. package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -1
  179. package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +2 -0
  180. package/dist/src/nile-wysiwyg-editor/engine/schema.js +154 -2
  181. package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -1
  182. package/dist/src/nile-wysiwyg-editor/index.d.ts +5 -0
  183. package/dist/src/nile-wysiwyg-editor/index.js +3 -0
  184. package/dist/src/nile-wysiwyg-editor/index.js.map +1 -1
  185. package/dist/src/nile-wysiwyg-editor/math/katex-renderer.d.ts +38 -0
  186. package/dist/src/nile-wysiwyg-editor/math/katex-renderer.js +40 -0
  187. package/dist/src/nile-wysiwyg-editor/math/katex-renderer.js.map +1 -0
  188. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +22 -3
  189. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
  190. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +36 -0
  191. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +125 -8
  192. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
  193. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +5 -2
  194. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -1
  195. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.d.ts +2 -0
  196. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js +1 -0
  197. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js.map +1 -1
  198. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.d.ts +55 -0
  199. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.js +79 -0
  200. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.js.map +1 -0
  201. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +33 -54
  202. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -1
  203. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.d.ts +50 -2
  204. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js +158 -102
  205. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js.map +1 -1
  206. package/dist/src/nile-wysiwyg-editor/types.d.ts +4 -2
  207. package/dist/src/nile-wysiwyg-editor/types.js +2 -2
  208. package/dist/src/nile-wysiwyg-editor/types.js.map +1 -1
  209. package/dist/src/nile-wysiwyg-editor/ui/bubble-item.d.ts +48 -0
  210. package/dist/src/nile-wysiwyg-editor/ui/bubble-item.js +69 -0
  211. package/dist/src/nile-wysiwyg-editor/ui/bubble-item.js.map +1 -0
  212. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.d.ts +17 -2
  213. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +128 -35
  214. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
  215. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.d.ts +2 -1
  216. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +4 -3
  217. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
  218. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +0 -3
  219. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
  220. package/dist/src/nile-wysiwyg-editor/ui/preview.d.ts +20 -0
  221. package/dist/src/nile-wysiwyg-editor/ui/preview.js +44 -0
  222. package/dist/src/nile-wysiwyg-editor/ui/preview.js.map +1 -0
  223. package/dist/src/nile-wysiwyg-editor/ui/source-view.d.ts +35 -3
  224. package/dist/src/nile-wysiwyg-editor/ui/source-view.js +337 -24
  225. package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
  226. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.d.ts +1 -0
  227. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +9 -0
  228. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
  229. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.d.ts +13 -2
  230. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +166 -10
  231. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
  232. package/dist/src/nile-wysiwyg-editor/ui/table-menu.d.ts +1 -0
  233. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +10 -8
  234. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
  235. package/dist/src/version.js +1 -1
  236. package/dist/src/version.js.map +1 -1
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/xml-25c4108a.esm.js +1 -0
  239. package/dist/xml-90fd974e.cjs.js +2 -0
  240. package/dist/xml-90fd974e.cjs.js.map +1 -0
  241. package/package.json +2 -1
  242. package/rollup.config.js +1 -0
  243. package/src/index.ts +8 -0
  244. package/src/nile-checkbox/nile-checkbox.ts +1 -0
  245. package/src/nile-color-picker/nile-color-picker.ts +1 -0
  246. package/src/nile-nav-tab/nile-nav-tab.css.ts +11 -0
  247. package/src/nile-nav-tab/nile-nav-tab.ts +17 -0
  248. package/src/nile-nav-tab-group/nile-nav-tab-group.css.ts +1 -2
  249. package/src/nile-wysiwyg-editor/engine/index.ts +1 -0
  250. package/src/nile-wysiwyg-editor/engine/plugins/embed-view.ts +3 -0
  251. package/src/nile-wysiwyg-editor/engine/plugins/embeds.ts +26 -20
  252. package/src/nile-wysiwyg-editor/engine/plugins/math-view.ts +45 -4
  253. package/src/nile-wysiwyg-editor/engine/plugins/style-block-view.ts +178 -0
  254. package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +34 -2
  255. package/src/nile-wysiwyg-editor/engine/pm.test.ts +58 -8
  256. package/src/nile-wysiwyg-editor/engine/sanitize.ts +71 -8
  257. package/src/nile-wysiwyg-editor/engine/schema.ts +158 -7
  258. package/src/nile-wysiwyg-editor/index.ts +5 -0
  259. package/src/nile-wysiwyg-editor/math/katex-renderer.ts +59 -0
  260. package/src/nile-wysiwyg-editor/math/katex.d.ts +17 -0
  261. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +22 -3
  262. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +5 -2
  263. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +142 -7
  264. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.ts +2 -0
  265. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.ts +68 -0
  266. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +33 -54
  267. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.ts +202 -108
  268. package/src/nile-wysiwyg-editor/types.ts +6 -4
  269. package/src/nile-wysiwyg-editor/ui/bubble-item.ts +60 -0
  270. package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +147 -40
  271. package/src/nile-wysiwyg-editor/ui/embed-panel.ts +4 -3
  272. package/src/nile-wysiwyg-editor/ui/math-panel.ts +0 -3
  273. package/src/nile-wysiwyg-editor/ui/preview.ts +42 -0
  274. package/src/nile-wysiwyg-editor/ui/source-view.ts +339 -31
  275. package/src/nile-wysiwyg-editor/ui/suggest-list.ts +10 -0
  276. package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +160 -10
  277. package/src/nile-wysiwyg-editor/ui/table-menu.ts +10 -8
  278. package/vscode-html-custom-data.json +75 -6
  279. package/dist/index-353172ed.esm.js +0 -1
  280. package/dist/index-b387a9f4.cjs.js +0 -2
  281. package/dist/index-b387a9f4.cjs.js.map +0 -1
  282. package/dist/index-cc1385e0.cjs.js +0 -2
  283. package/dist/index-cc1385e0.cjs.js.map +0 -1
  284. package/dist/index-dedc38a6.esm.js +0 -1
  285. package/dist/index-df196058.cjs.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register([],function(_export,_context){"use strict";var s,h,n,e,l,r,o,u,a,c,d,f,v,b,g,m;function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n15=0,F=function F(){};return{s:F,n:function n(){return _n15>=r.length?{done:!0}:{done:!1,value:r[_n15++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function t(t,i,s){var _s$initialDeps;var h,n=(_s$initialDeps=s.initialDeps)!==null&&_s$initialDeps!==void 0?_s$initialDeps:[],e=!0;function l(){var l=t();return l.length!==n.length||l.some(function(t,i){return n[i]!==t;})?(n=l,h=i.apply(void 0,_toConsumableArray(l)),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h;}return l.updateDeps=function(t){n=t;},l;}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?": ".concat(i):""));return t;}return{setters:[],execute:function execute(){s=function s(t,i,_s){var h;return function(){var _this=this;for(var _len=arguments.length,n=new Array(_len),_key=0;_key<_len;_key++){n[_key]=arguments[_key];}t.clearTimeout(h),h=t.setTimeout(function(){return i.apply(_this,n);},_s);};};n=function n(){if(void 0!==h)return h;if("undefined"==typeof navigator)return h=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return h=!0;var t=navigator.maxTouchPoints;return h="MacIntel"===navigator.platform&&void 0!==t&&t>0;},e=function e(t){var i=t.offsetWidth,s=t.offsetHeight;return{width:i,height:s};},l=function l(t){return t;},r=function r(t){var i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(var _t=0;_t<s;_t++)h[_t]=i+_t;return h;},o=function o(t,i){var s=t.scrollElement;if(!s)return;var h=t.targetWindow;if(!h)return;var n=function n(t){var s=t.width,h=t.height;i({width:Math.round(s),height:Math.round(h)});};if(n(e(s)),!h.ResizeObserver)return function(){};var l=new h.ResizeObserver(function(i){var h=function h(){var t=i[0];if(null==t?void 0:t.borderBoxSize){var _i=t.borderBoxSize[0];if(_i)return void n({width:_i.inlineSize,height:_i.blockSize});}n(e(s));};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h();});return l.observe(s,{box:"border-box"}),function(){l.unobserve(s);};},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=function c(t,i){return function(t,i,h){var n=t.scrollElement;if(!n)return;var e=t.targetWindow;if(!e)return;var l=t.options.useScrollendEvent&&a;var r=0;var o=l?null:s(e,function(){return i(r,!1);},t.options.isScrollingResetDelay),c=function c(t){return function(){r=h(n),null==o||o(),i(r,t);};},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),function(){n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f);};}(t,i,function(i){var _t$options=t.options,s=_t$options.horizontal,h=_t$options.isRtl;return s?i.scrollLeft*(h?-1:1):i.scrollTop;});},d=function d(t,i,s){if(s.options.useCachedMeasurements){var _s$itemSizeCache$get;var _i2=s.indexFromElement(t),_h=s.options.getItemKey(_i2);return(_s$itemSizeCache$get=s.itemSizeCache.get(_h))!==null&&_s$itemSizeCache$get!==void 0?_s$itemSizeCache$get:s.options.estimateSize(_i2);}if(null==i?void 0:i.borderBoxSize){var _t2=i.borderBoxSize[0];if(_t2){return Math.round(_t2[s.options.horizontal?"inlineSize":"blockSize"]);}}if(!i){var _i3=s.indexFromElement(t),_h2=s.options.getItemKey(_i3),_n=s.itemSizeCache.get(_h2);if(void 0!==_n)return _n;}return t[s.options.horizontal?"offsetWidth":"offsetHeight"];},f=function f(t,_ref,h){var _ref$adjustments=_ref.adjustments,i=_ref$adjustments===void 0?0:_ref$adjustments,s=_ref.behavior;var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,_defineProperty(_defineProperty({},h.options.horizontal?"left":"top",t+i),"behavior",s));};v=/*#__PURE__*/function(){function v(s){var _this2=this;_classCallCheck(this,v);this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map(),this.itemSizeCacheVersion=0,this.laneAssignments=new Map(),this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map(),this.now=function(){var _ref2;var t,i,s;return(_ref2=null==(s=null==(i=null==(t=_this2.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))!==null&&_ref2!==void 0?_ref2:Date.now();},this.observer=function(){var t=null;var i=function i(){return t||(_this2.targetWindow&&_this2.targetWindow.ResizeObserver?t=new _this2.targetWindow.ResizeObserver(function(t){t.forEach(function(t){var i=function i(){var i=t.target,s=_this2.indexFromElement(i);if(i.isConnected)_this2.shouldMeasureDuringScroll(s)&&_this2.resizeItem(s,_this2.options.measureElement(i,t,_this2));else{_this2.observer.unobserve(i);var _iterator=_createForOfIteratorHelper(_this2.elementsCache),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step$value=_slicedToArray(_step.value,2),_t3=_step$value[0],_s2=_step$value[1];if(_s2===i){_this2.elementsCache["delete"](_t3);break;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}}};_this2.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i();});}):null);};return{disconnect:function disconnect(){var s;null==(s=i())||s.disconnect(),t=null;},observe:function observe(t){var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"});},unobserve:function unobserve(t){var s;return null==(s=i())?void 0:s.unobserve(t);}};}(),this.range=null,this.setOptions=function(t){var i,s;var h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,onChange:function onChange(){},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(var _i4 in t){var _s3=t[_i4];void 0!==_s3&&(h[_i4]=_s3);}var n=_this2.options;var e=null,o=null,u=!1;if(void 0!==n&&n.enabled&&h.enabled&&"end"===h.anchorTo&&null!==_this2.scrollElement){var _ref3,_ref4;var _t4=n.count,_l=h.count,_r=_this2.getMeasurements(),_a=_t4>0?(_ref3=null==(i=_r[0])?void 0:i.key)!==null&&_ref3!==void 0?_ref3:n.getItemKey(0):null,_c=_t4>0?(_ref4=null==(s=_r[_t4-1])?void 0:s.key)!==null&&_ref4!==void 0?_ref4:n.getItemKey(_t4-1):null;if(_l!==_t4||_t4>0&&_l>0&&(h.getItemKey(0)!==_a||h.getItemKey(_l-1)!==_c)){var _this2$getVirtualItem;u=!0;var _i5=_t4>0?(_this2$getVirtualItem=_this2.getVirtualItemForOffset(_this2.getScrollOffset()))!==null&&_this2$getVirtualItem!==void 0?_this2$getVirtualItem:_r[0]:null;_i5&&(e=[_i5.key,_this2.getScrollOffset()-_i5.start]);var _s4=!0===h.followOnAppend?"auto":h.followOnAppend||null;_s4&&_l>_t4&&_this2.isAtEnd(n.scrollEndThreshold)&&(0===_t4||h.getItemKey(_l-1)!==_c)&&(o=_s4);}}_this2.options=h,u&&(_this2.pendingMin=0,_this2.itemSizeCacheVersion++);var a=!1,c=0;if(e&&null!==_this2.scrollOffset){var _e=e,_e2=_slicedToArray(_e,2),_t5=_e2[0],_i6=_e2[1],_s5=_this2.getMeasurements(),_this2$options=_this2.options,_h3=_this2$options.count,_n2=_this2$options.getItemKey;var _l2=0;for(;_l2<_h3&&_n2(_l2)!==_t5;)_l2++;if(_l2<_h3){var _t6=_s5[_l2];if(_t6){var _s6=Math.max(0,_t6.start+_i6);_s6!==_this2.scrollOffset&&(c=_s6-_this2.scrollOffset,_this2.scrollOffset=_s6,a=!0);}}}(a||o)&&(_this2.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c]);},this.notify=function(t){var i,s;null==(s=(i=_this2.options).onChange)||s.call(i,_this2,t);},this.maybeNotify=t(function(){return _this2.calculateRange(),[_this2.isScrolling,_this2.range?_this2.range.startIndex:null,_this2.range?_this2.range.endIndex:null];},function(t){_this2.notify(t);},{key:!1,debug:function debug(){return _this2.options.debug;},initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=function(){_this2.unsubs.filter(Boolean).forEach(function(t){return t();}),_this2.unsubs=[],_this2.observer.disconnect(),null!=_this2.rafId&&_this2.targetWindow&&(_this2.targetWindow.cancelAnimationFrame(_this2.rafId),_this2.rafId=null),_this2.scrollState=null,_this2._iosDeferredAdjustment=0,_this2._iosTouching=!1,_this2._iosJustTouchEnded=!1,_this2.scrollElement=null,_this2.targetWindow=null;},this._didMount=function(){return function(){_this2.cleanup();};},this._willUpdate=function(){var t;var i=_this2.options.enabled?_this2.options.getScrollElement():null;if(_this2.scrollElement!==i){var _ref5;if(_this2.cleanup(),!i)return void _this2.maybeNotify();if(_this2.scrollElement=i,_this2.scrollElement&&"ownerDocument"in _this2.scrollElement?_this2.targetWindow=_this2.scrollElement.ownerDocument.defaultView:_this2.targetWindow=(_ref5=null==(t=_this2.scrollElement)?void 0:t.window)!==null&&_ref5!==void 0?_ref5:null,_this2.elementsCache.forEach(function(t){_this2.observer.observe(t);}),_this2.unsubs.push(_this2.options.observeElementRect(_this2,function(t){_this2.scrollRect=t,_this2.maybeNotify();})),_this2.unsubs.push(_this2.options.observeElementOffset(_this2,function(t,i){if(i&&null===_this2._intendedScrollOffset&&t===_this2.scrollOffset)return;null!==_this2._intendedScrollOffset&&Math.abs(t-_this2._intendedScrollOffset)<1.5&&(t=_this2._intendedScrollOffset),_this2._intendedScrollOffset=null,_this2.scrollAdjustments=0;var s=_this2.getScrollOffset();_this2.scrollDirection=i?s===t?_this2.scrollDirection:s<t?"forward":"backward":null,_this2.scrollOffset=t,_this2.isScrolling=i,_this2._flushIosDeferredIfReady(),_this2.scrollState&&_this2.scheduleScrollReconcile(),_this2.maybeNotify();})),"addEventListener"in _this2.scrollElement){var _t7=_this2.scrollElement,_i7=function _i7(){_this2._iosTouching=!0,_this2._iosJustTouchEnded=!1,null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);},_s7=function _s7(){_this2._iosTouching=!1,n()&&null!=_this2.targetWindow&&(_this2._iosJustTouchEnded=!0,_this2._iosTouchEndTimerId=_this2.targetWindow.setTimeout(function(){_this2._iosJustTouchEnded=!1,_this2._iosTouchEndTimerId=null,_this2._flushIosDeferredIfReady();},150));};_t7.addEventListener("touchstart",_i7,u),_t7.addEventListener("touchend",_s7,u),_this2.unsubs.push(function(){_t7.removeEventListener("touchstart",_i7),_t7.removeEventListener("touchend",_s7),null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);});}_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:void 0,behavior:void 0});}var s=_this2.pendingScrollAnchor;if(_this2.pendingScrollAnchor=null,s&&_this2.scrollElement&&_this2.options.enabled){var _s8=_slicedToArray(s,4),_t8=_s8[0],_i8=_s8[1],_h4=_s8[2],_e3=_s8[3];null===_t8||_h4||(n()&&(_this2.isScrolling||_this2._iosTouching||_this2._iosJustTouchEnded)?0!==_e3&&(_this2._iosDeferredAdjustment+=_e3):_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:void 0,behavior:void 0})),_h4&&_this2.scrollToEnd({behavior:_h4});}},this._flushIosDeferredIfReady=function(){if(0===_this2._iosDeferredAdjustment)return;if(_this2.isScrolling)return;if(_this2._iosTouching)return;if(_this2._iosJustTouchEnded)return;var t=_this2.getScrollOffset(),i=_this2.getMaxScrollOffset();if(t<0||t>i)return;if(_this2._iosDeferredAdjustment<0&&t>=i-1)return void(_this2._iosDeferredAdjustment=0);var s=_this2._iosDeferredAdjustment;_this2._iosDeferredAdjustment=0,_this2._scrollToOffset(t,{adjustments:_this2.scrollAdjustments+=s,behavior:void 0});},this.rafId=null,this.getSize=function(){var _this2$scrollRect;return _this2.options.enabled?(_this2.scrollRect=(_this2$scrollRect=_this2.scrollRect)!==null&&_this2$scrollRect!==void 0?_this2$scrollRect:_this2.options.initialRect,_this2.scrollRect[_this2.options.horizontal?"width":"height"]):(_this2.scrollRect=null,0);},this.getScrollOffset=function(){var _this2$scrollOffset;return _this2.options.enabled?(_this2.scrollOffset=(_this2$scrollOffset=_this2.scrollOffset)!==null&&_this2$scrollOffset!==void 0?_this2$scrollOffset:"function"==typeof _this2.options.initialOffset?_this2.options.initialOffset():_this2.options.initialOffset,_this2.scrollOffset):(_this2.scrollOffset=null,0);},this.getMeasurementOptions=t(function(){return[_this2.options.count,_this2.options.paddingStart,_this2.options.scrollMargin,_this2.options.getItemKey,_this2.options.enabled,_this2.options.lanes,_this2.options.laneAssignmentMode,_this2.options.gap];},function(t,i,s,h,n,e,l,r){return void 0!==_this2.prevLanes&&_this2.prevLanes!==e&&(_this2.lanesChangedFlag=!0),_this2.prevLanes=e,_this2.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r};},{key:!1}),this.getMeasurements=t(function(){return[_this2.getMeasurementOptions(),_this2.itemSizeCacheVersion];},function(_ref6,o){var _this2$pendingMin;var t=_ref6.count,i=_ref6.paddingStart,s=_ref6.scrollMargin,h=_ref6.getItemKey,n=_ref6.enabled,e=_ref6.lanes,l=_ref6.laneAssignmentMode,r=_ref6.gap;var u=_this2.itemSizeCache;if(!n)return _this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),[];if(_this2.laneAssignments.size>t){var _iterator2=_createForOfIteratorHelper(_this2.laneAssignments.keys()),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _i9=_step2.value;_i9>=t&&_this2.laneAssignments["delete"](_i9);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}_this2.lanesChangedFlag&&(_this2.lanesChangedFlag=!1,_this2.lanesSettling=!0,_this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.pendingMin=null),0!==_this2.measurementsCache.length||_this2.lanesSettling||(_this2.measurementsCache=_this2.options.initialMeasurementsCache,_this2.measurementsCache.forEach(function(t){_this2.itemSizeCache.set(t.key,t.size);}));var a=_this2.lanesSettling?0:(_this2$pendingMin=_this2.pendingMin)!==null&&_this2$pendingMin!==void 0?_this2$pendingMin:0;if(_this2.pendingMin=null,_this2.lanesSettling&&_this2.measurementsCache.length===t&&(_this2.lanesSettling=!1),1===e){var _n3=2*t;var _e4,_l3=_this2._flatMeasurements;if(!_l3||_l3.length<_n3){var _t9=new Float64Array(_n3);_l3&&a>0&&_t9.set(_l3.subarray(0,2*a)),_l3=_t9,_this2._flatMeasurements=_l3;}if(0===a)_e4=i+s;else{var _t10=a-1;_e4=_l3[2*_t10]+_l3[2*_t10+1]+r;}for(var _i10=a;_i10<t;_i10++){var _t11=h(_i10),_s9=u.get(_t11),_n4="number"==typeof _s9?_s9:_this2.options.estimateSize(_i10);_l3[2*_i10]=_e4,_l3[2*_i10+1]=_n4,_e4+=_n4+r;}var _o=function(t,i,s){var h=new Array(t);return new Proxy(h,{get:function get(h,n,e){if("string"==typeof n){var _e5=n.charCodeAt(0);if(_e5>=48&&_e5<=57){var _e6=+n;if(Number.isInteger(_e6)&&_e6>=0&&_e6<t){var _t12=h[_e6];if(!_t12){var _n5=i[2*_e6];_t12=h[_e6]={index:_e6,key:s(_e6),start:_n5,size:i[2*_e6+1],end:_n5+i[2*_e6+1],lane:0};}return _t12;}}if("length"===n)return t;}return Reflect.get(h,n,e);}});}(t,_l3,h);return _this2.measurementsCache=_o,_o;}var c=_this2.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);var _v=0;for(var _t13=0;_t13<a;_t13++){var _i11=c[_t13];_i11&&(void 0===d[_i11.lane]&&_v++,d[_i11.lane]=_t13,f[_i11.lane]=_i11.end);}for(var _n6=a;_n6<t;_n6++){var _t14=h(_n6),_o2=_this2.laneAssignments.get(_n6);var _a2=void 0,_b=void 0;var _g="estimate"===l||u.has(_t14);if(void 0!==_o2&&_this2.options.lanes>1){_a2=_o2;var _t15=d[_a2],_h5=void 0!==_t15?c[_t15]:void 0;_b=_h5?_h5.end+r:i+s;}else if(_v===e){var _t16=0,_i12=f[0],_s10=d[0];for(var _h6=1;_h6<e;_h6++){var _n7=f[_h6];(_n7<_i12||_n7===_i12&&d[_h6]<_s10)&&(_t16=_h6,_i12=_n7,_s10=d[_h6]);}_a2=_t16,_b=_i12+r,_g&&_this2.laneAssignments.set(_n6,_a2);}else _a2=_n6%_this2.options.lanes,_b=i+s,_g&&_this2.laneAssignments.set(_n6,_a2);var _m=u.get(_t14),M="number"==typeof _m?_m:_this2.options.estimateSize(_n6),y=_b+M;c[_n6]={index:_n6,start:_b,size:M,end:y,key:_t14,lane:_a2},void 0===d[_a2]&&_v++,d[_a2]=_n6,f[_a2]=y;}return _this2.measurementsCache=c,c;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.calculateRange=t(function(){return[_this2.getMeasurements(),_this2.getSize(),_this2.getScrollOffset(),_this2.options.lanes];},function(t,i,s,h){return 0===t.length||0===i?(_this2.range=null,null):(_this2.range=function(t,i,s,h,n){var e=t.length-1;if(t.length<=h)return{startIndex:0,endIndex:e};if(1===h&&null!==n){var _t17=function(t,i,s){var h=0;for(;h<=i;){var _n8=(h+i)/2|0,_e7=t[2*_n8];if(_e7<s)h=_n8+1;else{if(!(_e7>s))return _n8;i=_n8-1;}}return h>0?h-1:0;}(n,e,s);var _h7=_t17;var _l4=s+i;for(;_h7<e&&n[2*_h7]+n[2*_h7+1]<_l4;)_h7++;return{startIndex:_t17,endIndex:_h7};}var l=function l(i){return t[i].start;};var r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){var _n9=Array(h).fill(0);for(;o<e&&_n9.some(function(t){return t<s+i;});){var _i13=t[o];_n9[_i13.lane]=_i13.end,o++;}var _l5=Array(h).fill(s+i);for(;r>=0&&_l5.some(function(t){return t>=s;});){var _i14=t[r];_l5[_i14.lane]=_i14.start,r--;}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h));}return{startIndex:r,endIndex:o};}(t,i,s,h,1===h&&null!=_this2._flatMeasurements?_this2._flatMeasurements:null),_this2.range);},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualIndexes=t(function(){var t=null,i=null;var s=_this2.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),_this2.maybeNotify.updateDeps([_this2.isScrolling,t,i]),[_this2.options.rangeExtractor,_this2.options.overscan,_this2.options.count,t,i];},function(t,i,s,h,n){return null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s});},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.indexFromElement=function(t){var i=_this2.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn("Missing attribute name '".concat(i,"={index}' on measured element.")),-1);},this.shouldMeasureDuringScroll=function(t){var _this2$scrollState$in;var i;if(!_this2.scrollState||"smooth"!==_this2.scrollState.behavior)return!0;var s=(_this2$scrollState$in=_this2.scrollState.index)!==null&&_this2$scrollState$in!==void 0?_this2$scrollState$in:null==(i=_this2.getVirtualItemForOffset(_this2.scrollState.lastTargetOffset))?void 0:i.index;if(void 0!==s&&_this2.range){var _i15=Math.max(_this2.options.overscan,Math.ceil((_this2.range.endIndex-_this2.range.startIndex)/2)),_h8=Math.max(0,s-_i15),_n10=Math.min(_this2.options.count-1,s+_i15);return t>=_h8&&t<=_n10;}return!0;},this.measureElement=function(t){if(!t)return void _this2.elementsCache.forEach(function(t,i){t.isConnected||(_this2.observer.unobserve(t),_this2.elementsCache["delete"](i));});var i=_this2.indexFromElement(t),s=_this2.options.getItemKey(i),h=_this2.elementsCache.get(s);h!==t&&(h&&_this2.observer.unobserve(h),_this2.observer.observe(t),_this2.elementsCache.set(s,t)),_this2.isScrolling&&!_this2.scrollState||!_this2.shouldMeasureDuringScroll(i)||_this2.resizeItem(i,_this2.options.measureElement(t,void 0,_this2));},this.resizeItem=function(t,i){var _this2$itemSizeCache$;var s,h;if(t<0||t>=_this2.options.count)return;var n,e,l;var r=_this2._flatMeasurements;if(1===_this2.options.lanes&&null!==r)l=_this2.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{var _i16=_this2.measurementsCache[t];if(!_i16)return;l=_i16.key,e=_i16.start,n=_i16.size;}var o=(_this2$itemSizeCache$=_this2.itemSizeCache.get(l))!==null&&_this2$itemSizeCache$!==void 0?_this2$itemSizeCache$:n,u=i-o;if(0!==u){var _this2$measurementsCa;var _r2="end"===_this2.options.anchorTo&&"smooth"!==(null==(s=_this2.scrollState)?void 0:s.behavior)&&_this2.getVirtualDistanceFromEnd()<=_this2.options.scrollEndThreshold,_a3=_r2?_this2.getTotalSize():0,_c2=_this2.getScrollOffset()+_this2.scrollAdjustments,_d=!_this2.itemSizeCache.has(l)?e<_c2:e+o<=_c2&&"backward"!==_this2.scrollDirection,_f="smooth"!==(null==(h=_this2.scrollState)?void 0:h.behavior)&&(void 0!==_this2.shouldAdjustScrollPositionOnItemSizeChange?_this2.shouldAdjustScrollPositionOnItemSizeChange((_this2$measurementsCa=_this2.measurementsCache[t])!==null&&_this2$measurementsCa!==void 0?_this2$measurementsCa:{index:t,key:l,start:e,size:n,end:e+n,lane:0},u,_this2):_d);(null===_this2.pendingMin||t<_this2.pendingMin)&&(_this2.pendingMin=t),_this2.itemSizeCache.set(l,i),_this2.itemSizeCacheVersion++,_r2?_this2.applyScrollAdjustment(_this2.getTotalSize()-_a3):_f&&_this2.applyScrollAdjustment(u),_this2.notify(!1);}},this.getVirtualItems=t(function(){return[_this2.getVirtualIndexes(),_this2.getMeasurements()];},function(t,i){var s=[];for(var _h9=0,_n11=t.length;_h9<_n11;_h9++){var _n12=i[t[_h9]];s.push(_n12);}return s;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualItemForOffset=function(t){var s=_this2.getMeasurements();if(0===s.length)return;var h=_this2._flatMeasurements,n=1===_this2.options.lanes&&null!=h,e=b(0,s.length-1,n?function(t){return h[2*t];}:function(t){return i(s[t]).start;},t);return i(s[e]);},this.getMaxScrollOffset=function(){if(!_this2.scrollElement)return 0;if("scrollHeight"in _this2.scrollElement)return _this2.options.horizontal?_this2.scrollElement.scrollWidth-_this2.scrollElement.clientWidth:_this2.scrollElement.scrollHeight-_this2.scrollElement.clientHeight;{var _t18=_this2.scrollElement.document.documentElement;return _this2.options.horizontal?_t18.scrollWidth-_this2.scrollElement.innerWidth:_t18.scrollHeight-_this2.scrollElement.innerHeight;}},this.getVirtualDistanceFromEnd=function(){return Math.max(_this2.getTotalSize()-_this2.getSize()-_this2.getScrollOffset(),0);},this.getDistanceFromEnd=function(){return Math.max(_this2.getMaxScrollOffset()-_this2.getScrollOffset(),0);},this.isAtEnd=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:_this2.options.scrollEndThreshold;return _this2.getDistanceFromEnd()<=t;},this.getOffsetForAlignment=function(t,i){var s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!_this2.scrollElement)return 0;var h=_this2.getSize(),n=_this2.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);var e=_this2.getMaxScrollOffset();return Math.max(Math.min(e,t),0);},this.getOffsetForIndex=function(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"auto";t=Math.max(0,Math.min(t,_this2.options.count-1));var s=_this2.getSize(),h=_this2.getScrollOffset(),n=_this2.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-_this2.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+_this2.options.scrollPaddingStart))return[h,i];i="start";}if("end"===i&&t===_this2.options.count-1)return[_this2.getMaxScrollOffset(),i];var e="end"===i?n.end+_this2.options.scrollPaddingEnd:n.start-_this2.options.scrollPaddingStart;return[_this2.getOffsetForAlignment(e,i,n.size),i];},this.scrollToOffset=function(t){var _ref7=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref7$align=_ref7.align,i=_ref7$align===void 0?"start":_ref7$align,_ref7$behavior=_ref7.behavior,s=_ref7$behavior===void 0?"auto":_ref7$behavior;_this2._iosDeferredAdjustment=0;var h=_this2.getOffsetForAlignment(t,i),n=_this2.now();_this2.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},_this2._scrollToOffset(h,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollToIndex=function(t){var _ref8=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref8$align=_ref8.align,i=_ref8$align===void 0?"auto":_ref8$align,_ref8$behavior=_ref8.behavior,s=_ref8$behavior===void 0?"auto":_ref8$behavior;_this2._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,_this2.options.count-1));var h=_this2.getOffsetForIndex(t,i);if(!h)return;var _h10=_slicedToArray(h,2),n=_h10[0],e=_h10[1],l=_this2.now();_this2.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},_this2._scrollToOffset(n,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollBy=function(t){var _ref9=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref9$behavior=_ref9.behavior,i=_ref9$behavior===void 0?"auto":_ref9$behavior;var s=_this2.getScrollOffset()+t,h=_this2.now();_this2.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},_this2._scrollToOffset(s,{adjustments:void 0,behavior:i}),_this2.scheduleScrollReconcile();},this.scrollToEnd=function(){var _ref10=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref10$behavior=_ref10.behavior,t=_ref10$behavior===void 0?"auto":_ref10$behavior;_this2.options.count>0?_this2.scrollToIndex(_this2.options.count-1,{align:"end",behavior:t}):_this2.scrollToOffset(Math.max(_this2.getTotalSize()-_this2.getSize(),0),{behavior:t});},this.getTotalSize=function(){var t;var i=_this2.getMeasurements();var s;if(0===i.length)s=_this2.options.paddingStart;else if(1===_this2.options.lanes){var _ref11;var _h11=i.length-1,_n13=_this2._flatMeasurements;s=null!=_n13?_n13[2*_h11]+_n13[2*_h11+1]:(_ref11=null==(t=i[_h11])?void 0:t.end)!==null&&_ref11!==void 0?_ref11:0;}else{var _t19=Array(_this2.options.lanes).fill(null);var _h12=i.length-1;for(;_h12>=0&&_t19.some(function(t){return null===t;});){var _s11=i[_h12];null===_t19[_s11.lane]&&(_t19[_s11.lane]=_s11.end),_h12--;}s=Math.max.apply(Math,_toConsumableArray(_t19.filter(function(t){return null!==t;})));}return Math.max(s-_this2.options.scrollMargin+_this2.options.paddingEnd,0);},this.takeSnapshot=function(){var t=[];if(0===_this2.itemSizeCache.size)return t;var i=_this2.getMeasurements();var _iterator3=_createForOfIteratorHelper(i),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _s12=_step3.value;_s12&&_this2.itemSizeCache.has(_s12.key)&&t.push({index:_s12.index,key:_s12.key,start:_s12.start,size:_s12.size,end:_s12.end,lane:_s12.lane});}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return t;},this._scrollToOffset=function(t,_ref12){var i=_ref12.adjustments,s=_ref12.behavior;_this2._intendedScrollOffset=t+(i!==null&&i!==void 0?i:0),_this2.options.scrollToFn(t,{behavior:s,adjustments:i},_this2);},this.measure=function(){_this2.pendingMin=null,_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.itemSizeCacheVersion++,_this2.notify(!1);},this.setOptions(s);}return _createClass(v,[{key:"applyScrollAdjustment",value:function applyScrollAdjustment(t,i){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0)));}},{key:"scheduleScrollReconcile",value:function scheduleScrollReconcile(){var _this3=this;this.targetWindow?null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(function(){_this3.rafId=null,_this3.reconcileScroll();})):this.scrollState=null;}},{key:"reconcileScroll",value:function reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3)return void(this.scrollState=null);var t=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null);}else if(this.scrollState.stableFrames=0,s){var _t20=this.getSize()||600,_s13=Math.abs(i-this.getScrollOffset()),_h13="smooth"===this.scrollState.behavior&&_s13>_t20;this.scrollState.lastTargetOffset=i,_h13||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:_h13?"smooth":"auto"});}var h,n;this.scheduleScrollReconcile();}}]);}();b=function b(t,i,s,h){for(;t<=i;){var _n14=(t+i)/2|0,_e8=s(_n14);if(_e8<h)t=_n14+1;else{if(!(_e8>h))return _n14;i=_n14-1;}}return t>0?t-1:0;};g=/*#__PURE__*/function(){function g(t,i){var _this4=this;_classCallCheck(this,g);this.cleanup=function(){};var s=_objectSpread(_objectSpread({},i),{},{onChange:function onChange(t,s){var h;_this4.host.updateComplete.then(function(){return _this4.host.requestUpdate();}),null==(h=i.onChange)||h.call(i,t,s);}});this.virtualizer=new v(s),(this.host=t).addController(this);}return _createClass(g,[{key:"getVirtualizer",value:function getVirtualizer(){return this.virtualizer;}},{key:"hostConnected",value:function hostConnected(){this.cleanup=this.virtualizer._didMount();}},{key:"hostUpdated",value:function hostUpdated(){this.virtualizer._willUpdate();}},{key:"hostDisconnected",value:function hostDisconnected(){this.cleanup();}}]);}();_export("V",m=/*#__PURE__*/function(_g2){function m(t,i){_classCallCheck(this,m);return _callSuper(this,m,[t,_objectSpread({observeElementRect:o,observeElementOffset:c,scrollToFn:f},i)]);}_inherits(m,_g2);return _createClass(m);}(g));}};});
2
+ //# sourceMappingURL=index-747d1880.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-747d1880.cjs.js","sources":["../../../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../../node_modules/@tanstack/virtual-core/dist/esm/index.js","../../../node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js","../../../node_modules/@tanstack/lit-virtual/dist/esm/index.js"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n let isInitial = true;\n function memoizedFunction() {\n var _a;\n const debugEnabled = process.env.NODE_ENV !== \"production\" && !!opts.key && !!((_a = opts.debug) == null ? void 0 : _a.call(opts));\n let depTime = 0;\n if (debugEnabled) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime = 0;\n if (debugEnabled) resultTime = Date.now();\n result = fn(...newDeps);\n if (debugEnabled) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n opts.onChange(result);\n }\n isInitial = false;\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { createLazyMeasurementsView } from \"./lazy-measurements.js\";\nimport { memo, notUndefined, approxEqual, debounce } from \"./utils.js\";\nlet _isIOSResult;\nconst isIOSWebKit = () => {\n if (_isIOSResult !== void 0) return _isIOSResult;\n if (typeof navigator === \"undefined\") return _isIOSResult = false;\n if (/iP(hone|od|ad)/.test(navigator.userAgent)) return _isIOSResult = true;\n const mtp = navigator.maxTouchPoints;\n return _isIOSResult = navigator.platform === \"MacIntel\" && mtp !== void 0 && mtp > 0;\n};\nconst _resetIOSDetectionForTests = () => {\n _isIOSResult = void 0;\n};\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const len = end - start + 1;\n const arr = new Array(len);\n for (let i = 0; i < len; i++) {\n arr[i] = start + i;\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeOffset = (instance, cb, readOffset) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n let offset = 0;\n const fallback = registerScrollendEvent ? null : debounce(\n targetWindow,\n () => cb(offset, false),\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = readOffset(element);\n fallback == null ? void 0 : fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeElementOffset = (instance, cb) => observeOffset(instance, cb, (el) => {\n const { horizontal, isRtl } = instance.options;\n return horizontal ? el.scrollLeft * (isRtl && -1 || 1) : el.scrollTop;\n});\nconst observeWindowOffset = (instance, cb) => observeOffset(\n instance,\n cb,\n (win) => instance.options.horizontal ? win.scrollX : win.scrollY\n);\nconst measureElement = (element, entry, instance) => {\n if (instance.options.useCachedMeasurements) {\n const index = instance.indexFromElement(element);\n const key = instance.options.getItemKey(index);\n return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);\n }\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n if (!entry) {\n const index = instance.indexFromElement(element);\n const key = instance.options.getItemKey(index);\n const cachedSize = instance.itemSizeCache.get(key);\n if (cachedSize !== void 0) {\n return cachedSize;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst scrollWithAdjustments = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: offset + adjustments,\n behavior\n });\n};\nconst windowScroll = scrollWithAdjustments;\nconst elementScroll = scrollWithAdjustments;\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollState = null;\n this.measurementsCache = [];\n this._flatMeasurements = null;\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.itemSizeCacheVersion = 0;\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.pendingMin = null;\n this.prevLanes = void 0;\n this.lanesChangedFlag = false;\n this.lanesSettling = false;\n this.pendingScrollAnchor = null;\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this._iosDeferredAdjustment = 0;\n this._iosTouching = false;\n this._iosJustTouchEnded = false;\n this._iosTouchEndTimerId = null;\n this._intendedScrollOffset = null;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.now = () => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();\n };\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n const node = entry.target;\n const index = this.indexFromElement(node);\n if (!node.isConnected) {\n this.observer.unobserve(node);\n for (const [cacheKey, cachedNode] of this.elementsCache) {\n if (cachedNode === node) {\n this.elementsCache.delete(cacheKey);\n break;\n }\n }\n return;\n }\n if (this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(\n index,\n this.options.measureElement(node, entry, this)\n );\n }\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n var _a, _b;\n const merged = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n anchorTo: \"start\",\n followOnAppend: false,\n scrollEndThreshold: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n laneAssignmentMode: \"estimate\",\n useCachedMeasurements: false\n };\n for (const key in opts2) {\n const v = opts2[key];\n if (v !== void 0) merged[key] = v;\n }\n const prevOptions = this.options;\n let anchor = null;\n let followOnAppend = null;\n let edgeKeysChanged = false;\n if (prevOptions !== void 0 && prevOptions.enabled && merged.enabled && merged.anchorTo === \"end\" && this.scrollElement !== null) {\n const prevCount = prevOptions.count;\n const nextCount = merged.count;\n const measurements = this.getMeasurements();\n const prevFirstKey = prevCount > 0 ? ((_a = measurements[0]) == null ? void 0 : _a.key) ?? prevOptions.getItemKey(0) : null;\n const prevLastKey = prevCount > 0 ? ((_b = measurements[prevCount - 1]) == null ? void 0 : _b.key) ?? prevOptions.getItemKey(prevCount - 1) : null;\n const didCountChange = nextCount !== prevCount;\n const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);\n if (didEdgeKeysChange) {\n edgeKeysChanged = true;\n const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;\n if (item) {\n anchor = [item.key, this.getScrollOffset() - item.start];\n }\n const behavior = merged.followOnAppend === true ? \"auto\" : merged.followOnAppend || null;\n if (behavior && nextCount > prevCount && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) {\n followOnAppend = behavior;\n }\n }\n }\n this.options = merged;\n if (edgeKeysChanged) {\n this.pendingMin = 0;\n this.itemSizeCacheVersion++;\n }\n let anchorResolved = false;\n let anchorDelta = 0;\n if (anchor && this.scrollOffset !== null) {\n const [anchorKey, anchorOffset] = anchor;\n const newMeasurements = this.getMeasurements();\n const { count, getItemKey } = this.options;\n let idx = 0;\n while (idx < count && getItemKey(idx) !== anchorKey) {\n idx++;\n }\n if (idx < count) {\n const anchorItem = newMeasurements[idx];\n if (anchorItem) {\n const newOffset = Math.max(0, anchorItem.start + anchorOffset);\n if (newOffset !== this.scrollOffset) {\n anchorDelta = newOffset - this.scrollOffset;\n this.scrollOffset = newOffset;\n anchorResolved = true;\n }\n }\n }\n }\n if (anchorResolved || followOnAppend) {\n this.pendingScrollAnchor = [\n anchorResolved ? anchor[0] : null,\n anchorResolved ? anchor[1] : 0,\n followOnAppend,\n anchorDelta\n ];\n }\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n if (this.rafId != null && this.targetWindow) {\n this.targetWindow.cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n this.scrollState = null;\n this._iosDeferredAdjustment = 0;\n this._iosTouching = false;\n this._iosJustTouchEnded = false;\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n if (isScrolling && this._intendedScrollOffset === null && offset === this.scrollOffset) {\n return;\n }\n if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {\n offset = this._intendedScrollOffset;\n }\n this._intendedScrollOffset = null;\n this.scrollAdjustments = 0;\n const prevOffset = this.getScrollOffset();\n this.scrollDirection = isScrolling ? prevOffset === offset ? this.scrollDirection : prevOffset < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this._flushIosDeferredIfReady();\n if (this.scrollState) {\n this.scheduleScrollReconcile();\n }\n this.maybeNotify();\n })\n );\n if (\"addEventListener\" in this.scrollElement) {\n const scrollEl = this.scrollElement;\n const onTouchStart = () => {\n this._iosTouching = true;\n this._iosJustTouchEnded = false;\n if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n this._iosTouchEndTimerId = null;\n }\n };\n const onTouchEnd = () => {\n this._iosTouching = false;\n if (!isIOSWebKit() || this.targetWindow == null) {\n return;\n }\n this._iosJustTouchEnded = true;\n this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {\n this._iosJustTouchEnded = false;\n this._iosTouchEndTimerId = null;\n this._flushIosDeferredIfReady();\n }, 150);\n };\n scrollEl.addEventListener(\n \"touchstart\",\n onTouchStart,\n addEventListenerOptions\n );\n scrollEl.addEventListener(\n \"touchend\",\n onTouchEnd,\n addEventListenerOptions\n );\n this.unsubs.push(() => {\n scrollEl.removeEventListener(\"touchstart\", onTouchStart);\n scrollEl.removeEventListener(\"touchend\", onTouchEnd);\n if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n this._iosTouchEndTimerId = null;\n }\n });\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n const anchor = this.pendingScrollAnchor;\n this.pendingScrollAnchor = null;\n if (anchor && this.scrollElement && this.options.enabled) {\n const [key, _offset, followOnAppend, anchorDelta] = anchor;\n if (key !== null && !followOnAppend) {\n if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n if (anchorDelta !== 0) {\n this._iosDeferredAdjustment += anchorDelta;\n }\n } else {\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n }\n if (followOnAppend) {\n this.scrollToEnd({ behavior: followOnAppend });\n }\n }\n };\n this._flushIosDeferredIfReady = () => {\n if (this._iosDeferredAdjustment === 0) return;\n if (this.isScrolling) return;\n if (this._iosTouching) return;\n if (this._iosJustTouchEnded) return;\n const cur = this.getScrollOffset();\n const max = this.getMaxScrollOffset();\n if (cur < 0 || cur > max) return;\n if (this._iosDeferredAdjustment < 0 && cur >= max - 1) {\n this._iosDeferredAdjustment = 0;\n return;\n }\n const delta = this._iosDeferredAdjustment;\n this._iosDeferredAdjustment = 0;\n this._scrollToOffset(cur, {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n };\n this.rafId = null;\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled,\n this.options.lanes,\n this.options.laneAssignmentMode,\n this.options.gap\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode, gap) => {\n const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n if (lanesChanged) {\n this.lanesChangedFlag = true;\n }\n this.prevLanes = lanes;\n this.pendingMin = null;\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode,\n gap\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCacheVersion],\n ({\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode,\n gap\n }, _itemSizeCacheVersion) => {\n const itemSizeCache = this.itemSizeCache;\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n return [];\n }\n if (this.laneAssignments.size > count) {\n for (const index of this.laneAssignments.keys()) {\n if (index >= count) {\n this.laneAssignments.delete(index);\n }\n }\n }\n if (this.lanesChangedFlag) {\n this.lanesChangedFlag = false;\n this.lanesSettling = true;\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.pendingMin = null;\n }\n if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;\n this.pendingMin = null;\n if (this.lanesSettling && this.measurementsCache.length === count) {\n this.lanesSettling = false;\n }\n if (lanes === 1) {\n const need = count * 2;\n let flat = this._flatMeasurements;\n if (!flat || flat.length < need) {\n const next = new Float64Array(need);\n if (flat && min > 0) next.set(flat.subarray(0, min * 2));\n flat = next;\n this._flatMeasurements = flat;\n }\n let runningStart;\n if (min === 0) {\n runningStart = paddingStart + scrollMargin;\n } else {\n const prevIdx = min - 1;\n runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n flat[i * 2] = runningStart;\n flat[i * 2 + 1] = size;\n runningStart += size + gap;\n }\n const view = createLazyMeasurementsView(count, flat, getItemKey);\n this.measurementsCache = view;\n return view;\n }\n const measurements = this.measurementsCache.slice(0, min);\n const laneLastIndex = new Array(lanes).fill(\n void 0\n );\n const laneEnds = new Float64Array(lanes);\n let filledLanes = 0;\n for (let m = 0; m < min; m++) {\n const item = measurements[m];\n if (item) {\n if (laneLastIndex[item.lane] === void 0) filledLanes++;\n laneLastIndex[item.lane] = m;\n laneEnds[item.lane] = item.end;\n }\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const cachedLane = this.laneAssignments.get(i);\n let lane;\n let start;\n const shouldCacheLane = laneAssignmentMode === \"estimate\" || itemSizeCache.has(key);\n if (cachedLane !== void 0 && this.options.lanes > 1) {\n lane = cachedLane;\n const prevIndex = laneLastIndex[lane];\n const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n start = prevInLane ? prevInLane.end + gap : paddingStart + scrollMargin;\n } else if (filledLanes === lanes) {\n let bestLane = 0;\n let bestEnd = laneEnds[0];\n let bestIdx = laneLastIndex[0];\n for (let l = 1; l < lanes; l++) {\n const e = laneEnds[l];\n if (e < bestEnd || e === bestEnd && laneLastIndex[l] < bestIdx) {\n bestLane = l;\n bestEnd = e;\n bestIdx = laneLastIndex[l];\n }\n }\n lane = bestLane;\n start = bestEnd + gap;\n if (shouldCacheLane) {\n this.laneAssignments.set(i, lane);\n }\n } else {\n lane = i % this.options.lanes;\n start = paddingStart + scrollMargin;\n if (shouldCacheLane) {\n this.laneAssignments.set(i, lane);\n }\n }\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n if (laneLastIndex[lane] === void 0) filledLanes++;\n laneLastIndex[lane] = i;\n laneEnds[lane] = end;\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n if (measurements.length === 0 || outerSize === 0) {\n this.range = null;\n return null;\n }\n this.range = calculateRangeImpl(\n measurements,\n outerSize,\n scrollOffset,\n lanes,\n // Pass the typed array so binary search + forward-walk can read\n // start/end directly from Float64Array, skipping the Proxy traps.\n lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null\n );\n return this.range;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this.shouldMeasureDuringScroll = (index) => {\n var _a;\n if (!this.scrollState || this.scrollState.behavior !== \"smooth\") {\n return true;\n }\n const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);\n if (scrollIndex !== void 0 && this.range) {\n const bufferSize = Math.max(\n this.options.overscan,\n Math.ceil((this.range.endIndex - this.range.startIndex) / 2)\n );\n const minIndex = Math.max(0, scrollIndex - bufferSize);\n const maxIndex = Math.min(\n this.options.count - 1,\n scrollIndex + bufferSize\n );\n return index >= minIndex && index <= maxIndex;\n }\n return true;\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key2) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key2);\n }\n });\n return;\n }\n const index = this.indexFromElement(node);\n const key = this.options.getItemKey(index);\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(index, this.options.measureElement(node, void 0, this));\n }\n };\n this.resizeItem = (index, size) => {\n var _a, _b;\n if (index < 0 || index >= this.options.count) return;\n let cachedSize;\n let itemStart;\n let key;\n const flat = this._flatMeasurements;\n if (this.options.lanes === 1 && flat !== null) {\n key = this.options.getItemKey(index);\n itemStart = flat[index * 2];\n cachedSize = flat[index * 2 + 1];\n } else {\n const item = this.measurementsCache[index];\n if (!item) return;\n key = item.key;\n itemStart = item.start;\n cachedSize = item.size;\n }\n const itemSize = this.itemSizeCache.get(key) ?? cachedSize;\n const delta = size - itemSize;\n if (delta !== 0) {\n const wasAtEnd = this.options.anchorTo === \"end\" && ((_a = this.scrollState) == null ? void 0 : _a.behavior) !== \"smooth\" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;\n const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;\n const scrollOffsetWithAdj = this.getScrollOffset() + this.scrollAdjustments;\n const isFirstMeasure = !this.itemSizeCache.has(key);\n const defaultShouldAdjust = isFirstMeasure ? (\n // First measurement: compensate any item whose top sits above the\n // fold — the estimate→actual delta must be corrected regardless of\n // scroll direction, since the whole estimated block was above it.\n itemStart < scrollOffsetWithAdj\n ) : (\n // Re-measurement: only compensate an item that is ENTIRELY above the\n // fold. An item that merely *spans* the fold (top above, bottom\n // below — e.g. a streaming chat message growing at its bottom)\n // changes size *below* the anchor point, so shifting scrollTop by the\n // delta would drag the viewport downward on every growth (#1218).\n // Also skip during backward scroll to avoid the \"items jump while\n // scrolling up\" cascade.\n itemStart + itemSize <= scrollOffsetWithAdj && this.scrollDirection !== \"backward\"\n );\n const shouldAdjustScroll = ((_b = this.scrollState) == null ? void 0 : _b.behavior) !== \"smooth\" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(\n // The callback expects a VirtualItem; build one lazily only\n // when the consumer actually supplied a custom predicate.\n this.measurementsCache[index] ?? {\n index,\n key,\n start: itemStart,\n size: cachedSize,\n end: itemStart + cachedSize,\n lane: 0\n },\n delta,\n this\n ) : defaultShouldAdjust);\n if (this.pendingMin === null || index < this.pendingMin) {\n this.pendingMin = index;\n }\n this.itemSizeCache.set(key, size);\n this.itemSizeCacheVersion++;\n if (wasAtEnd) {\n this.applyScrollAdjustment(this.getTotalSize() - prevTotalSize);\n } else if (shouldAdjustScroll) {\n this.applyScrollAdjustment(delta);\n }\n this.notify(false);\n }\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n const flat = this._flatMeasurements;\n const useFlat = this.options.lanes === 1 && flat != null;\n const idx = findNearestBinarySearch(\n 0,\n measurements.length - 1,\n useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start,\n offset\n );\n return notUndefined(measurements[idx]);\n };\n this.getMaxScrollOffset = () => {\n if (!this.scrollElement) return 0;\n if (\"scrollHeight\" in this.scrollElement) {\n return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n } else {\n const doc = this.scrollElement.document.documentElement;\n return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n }\n };\n this.getVirtualDistanceFromEnd = () => {\n return Math.max(\n this.getTotalSize() - this.getSize() - this.getScrollOffset(),\n 0\n );\n };\n this.getDistanceFromEnd = () => {\n return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);\n };\n this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {\n return this.getDistanceFromEnd() <= threshold;\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n if (!this.scrollElement) return 0;\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getMaxScrollOffset();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n const item = this.measurementsCache[index];\n if (!item) return;\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n if (align === \"end\" && index === this.options.count - 1) {\n return [this.getMaxScrollOffset(), align];\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior = \"auto\" } = {}) => {\n this._iosDeferredAdjustment = 0;\n const offset = this.getOffsetForAlignment(toOffset, align);\n const now = this.now();\n this.scrollState = {\n index: null,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollToIndex = (index, {\n align: initialAlign = \"auto\",\n behavior = \"auto\"\n } = {}) => {\n this._iosDeferredAdjustment = 0;\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const offsetInfo = this.getOffsetForIndex(index, initialAlign);\n if (!offsetInfo) {\n return;\n }\n const [offset, align] = offsetInfo;\n const now = this.now();\n this.scrollState = {\n index,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollBy = (delta, { behavior = \"auto\" } = {}) => {\n const offset = this.getScrollOffset() + delta;\n const now = this.now();\n this.scrollState = {\n index: null,\n align: \"start\",\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollToEnd = ({ behavior = \"auto\" } = {}) => {\n if (this.options.count > 0) {\n this.scrollToIndex(this.options.count - 1, {\n align: \"end\",\n behavior\n });\n return;\n }\n this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), {\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n const lastIdx = measurements.length - 1;\n const flat = this._flatMeasurements;\n if (flat != null) {\n end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];\n } else {\n end = ((_a = measurements[lastIdx]) == null ? void 0 : _a.end) ?? 0;\n }\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this.takeSnapshot = () => {\n const snapshot = [];\n if (this.itemSizeCache.size === 0) return snapshot;\n const m = this.getMeasurements();\n for (const item of m) {\n if (item && this.itemSizeCache.has(item.key)) {\n snapshot.push({\n index: item.index,\n key: item.key,\n start: item.start,\n size: item.size,\n end: item.end,\n lane: item.lane\n });\n }\n }\n return snapshot;\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this._intendedScrollOffset = offset + (adjustments ?? 0);\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.pendingMin = null;\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.itemSizeCacheVersion++;\n this.notify(false);\n };\n this.setOptions(opts);\n }\n applyScrollAdjustment(delta, behavior) {\n if (delta === 0) return;\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n this._iosDeferredAdjustment += delta;\n } else {\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior\n });\n if (this.scrollOffset !== null) {\n this.scrollOffset += this.scrollAdjustments;\n if (this.scrollOffset < 0) this.scrollOffset = 0;\n this.scrollAdjustments = 0;\n }\n }\n }\n scheduleScrollReconcile() {\n if (!this.targetWindow) {\n this.scrollState = null;\n return;\n }\n if (this.rafId != null) return;\n this.rafId = this.targetWindow.requestAnimationFrame(() => {\n this.rafId = null;\n this.reconcileScroll();\n });\n }\n reconcileScroll() {\n if (!this.scrollState) return;\n const el = this.scrollElement;\n if (!el) return;\n const MAX_RECONCILE_MS = 5e3;\n if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {\n this.scrollState = null;\n return;\n }\n const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;\n const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;\n const STABLE_FRAMES = 1;\n const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;\n if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {\n this.scrollState.stableFrames++;\n if (this.scrollState.stableFrames >= STABLE_FRAMES) {\n if (this.getScrollOffset() !== targetOffset) {\n this._scrollToOffset(targetOffset, {\n adjustments: void 0,\n behavior: \"auto\"\n });\n }\n this.scrollState = null;\n return;\n }\n } else {\n this.scrollState.stableFrames = 0;\n if (targetChanged) {\n const viewport = this.getSize() || 600;\n const distance = Math.abs(targetOffset - this.getScrollOffset());\n const keepSmooth = this.scrollState.behavior === \"smooth\" && distance > viewport;\n this.scrollState.lastTargetOffset = targetOffset;\n if (!keepSmooth) {\n this.scrollState.behavior = \"auto\";\n }\n this._scrollToOffset(targetOffset, {\n adjustments: void 0,\n behavior: keepSmooth ? \"smooth\" : \"auto\"\n });\n }\n }\n this.scheduleScrollReconcile();\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction findNearestBinarySearchFlat(flat, high, value) {\n let low = 0;\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = flat[middle * 2];\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n return low > 0 ? low - 1 : 0;\n}\nfunction calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, flat) {\n const lastIndex = measurements.length - 1;\n if (measurements.length <= lanes) {\n return { startIndex: 0, endIndex: lastIndex };\n }\n if (lanes === 1 && flat !== null) {\n const startIndex2 = findNearestBinarySearchFlat(\n flat,\n lastIndex,\n scrollOffset\n );\n let endIndex2 = startIndex2;\n const limit = scrollOffset + outerSize;\n while (endIndex2 < lastIndex && flat[endIndex2 * 2] + flat[endIndex2 * 2 + 1] < limit) {\n endIndex2++;\n }\n return { startIndex: startIndex2, endIndex: endIndex2 };\n }\n const getStart = (index) => measurements[index].start;\n let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n _resetIOSDetectionForTests,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","function createLazyMeasurementsView(count, flat, getItemKey) {\n const cache = new Array(count);\n return new Proxy(cache, {\n get(target, prop, receiver) {\n if (typeof prop === \"string\") {\n const c = prop.charCodeAt(0);\n if (c >= 48 && c <= 57) {\n const i = +prop;\n if (Number.isInteger(i) && i >= 0 && i < count) {\n let v = target[i];\n if (!v) {\n const s = flat[i * 2];\n v = target[i] = {\n index: i,\n key: getItemKey(i),\n start: s,\n size: flat[i * 2 + 1],\n end: s + flat[i * 2 + 1],\n lane: 0\n };\n }\n return v;\n }\n }\n if (prop === \"length\") return count;\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nexport {\n createLazyMeasurementsView\n};\n//# sourceMappingURL=lazy-measurements.js.map\n","import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from \"@tanstack/virtual-core\";\nclass VirtualizerControllerBase {\n constructor(host, options) {\n this.cleanup = () => {\n };\n const resolvedOptions = {\n ...options,\n onChange: (instance, sync) => {\n var _a;\n this.host.updateComplete.then(() => this.host.requestUpdate());\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance, sync);\n }\n };\n this.virtualizer = new Virtualizer(resolvedOptions);\n (this.host = host).addController(this);\n }\n getVirtualizer() {\n return this.virtualizer;\n }\n hostConnected() {\n this.cleanup = this.virtualizer._didMount();\n }\n hostUpdated() {\n this.virtualizer._willUpdate();\n }\n hostDisconnected() {\n this.cleanup();\n }\n}\nclass VirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n }\n}\nclass WindowVirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n }\n}\nexport {\n VirtualizerController,\n WindowVirtualizerController\n};\n//# sourceMappingURL=index.js.map\n"],"names":["memo","getDeps","fn","opts","_s$initialDeps","result","deps","initialDeps","isInitial","memoizedFunction","newDeps","length","some","dep","index","onChange","skipInitialOnChange","updateDeps","notUndefined","value","msg","Error","setters","execute","debounce","targetWindow","ms","timeoutId","args","clearTimeout","setTimeout","apply","this","isIOSWebKit","_isIOSResult","navigator","test","userAgent","mtp","maxTouchPoints","platform","getRect","element","offsetWidth","offsetHeight","width","height","defaultKeyExtractor","defaultRangeExtractor","range","start","Math","max","startIndex","overscan","len","min","endIndex","count","arr","Array","i","observeElementRect","o","instance","cb","scrollElement","handler","rect","round","ResizeObserver","observer","entries","run","entry","borderBoxSize","box","inlineSize","blockSize","options","useAnimationFrameWithResizeObserver","requestAnimationFrame","observe","unobserve","addEventListenerOptions","passive","supportsScrollend","window","observeElementOffset","c","readOffset","registerScrollendEvent","useScrollendEvent","offset","fallback","isScrollingResetDelay","createHandler","isScrolling","endHandler","addEventListener","removeEventListener","el","_t$options","horizontal","isRtl","scrollLeft","scrollTop","measureElement","useCachedMeasurements","_s$itemSizeCache$get","indexFromElement","key","getItemKey","itemSizeCache","get","estimateSize","cachedSize","elementScroll","f","adjustments","_ref$adjustments","_ref","behavior","_a","_b","scrollTo","call","_defineProperty","s","Virtualizer","v","unsubs","scrollState","measurementsCache","_flatMeasurements","Map","itemSizeCacheVersion","laneAssignments","pendingMin","prevLanes","lanesChangedFlag","lanesSettling","pendingScrollAnchor","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","_iosDeferredAdjustment","_iosTouching","_iosJustTouchEnded","_iosTouchEndTimerId","_intendedScrollOffset","elementsCache","now","_ref2","_c","performance","Date","_ro","forEach","node","target","isConnected","shouldMeasureDuringScroll","resizeItem","_iterator","_createForOfIteratorHelper","_step","n","done","_step$value","_slicedToArray","cacheKey","cachedNode","delete","err","e","disconnect","setOptions","opts2","merged","debug","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","rangeExtractor","initialRect","scrollMargin","gap","indexAttribute","initialMeasurementsCache","lanes","anchorTo","followOnAppend","scrollEndThreshold","enabled","laneAssignmentMode","prevOptions","anchor","edgeKeysChanged","_ref3","_ref4","prevCount","nextCount","measurements","getMeasurements","prevFirstKey","prevLastKey","_this2$getVirtualItem","item","getVirtualItemForOffset","getScrollOffset","isAtEnd","anchorResolved","anchorDelta","_e","newMeasurements","anchorKey","anchorOffset","idx","anchorItem","newOffset","notify","sync","maybeNotify","calculateRange","cleanup","filter","Boolean","d","rafId","cancelAnimationFrame","_didMount","_willUpdate","getScrollElement","_ref5","ownerDocument","defaultView","cached","push","abs","prevOffset","_flushIosDeferredIfReady","scheduleScrollReconcile","scrollEl","onTouchStart","onTouchEnd","_scrollToOffset","_s8","_offset","scrollToEnd","cur","getMaxScrollOffset","delta","getSize","_this2$scrollRect","_this2$scrollOffset","getMeasurementOptions","r","_ref6","_itemSizeCacheVersion","clear","size","_iterator2","keys","_step2","set","_this2$pendingMin","need","runningStart","flat","next","Float64Array","subarray","prevIdx","measuredSize","view","cache","Proxy","prop","receiver","charCodeAt","Number","isInteger","end","lane","Reflect","createLazyMeasurementsView","slice","laneLastIndex","fill","laneEnds","filledLanes","m","cachedLane","shouldCacheLane","has","prevIndex","prevInLane","bestLane","bestEnd","bestIdx","l","outerSize","lastIndex","startIndex2","high","low","middle","currentValue","findNearestBinarySearchFlat","endIndex2","limit","getStart","findNearestBinarySearch","endPerLane","pos","startPerLane","calculateRangeImpl","getVirtualIndexes","attributeName","indexStr","getAttribute","parseInt","console","warn","scrollIndex","lastTargetOffset","bufferSize","ceil","minIndex","maxIndex","key2","prevNode","itemStart","itemSize","_this2$measurementsCa","wasAtEnd","getVirtualDistanceFromEnd","prevTotalSize","getTotalSize","scrollOffsetWithAdj","defaultShouldAdjust","shouldAdjustScroll","shouldAdjustScrollPositionOnItemSizeChange","applyScrollAdjustment","getVirtualItems","indexes","virtualItems","k","measurement","useFlat","scrollWidth","clientWidth","scrollHeight","clientHeight","doc","document","documentElement","innerWidth","innerHeight","getDistanceFromEnd","threshold","getOffsetForAlignment","toOffset","align","maxOffset","getOffsetForIndex","scrollToOffset","_ref7$behavior","startedAt","stableFrames","scrollToIndex","initialAlign","_ref8$behavior","offsetInfo","_h10","scrollBy","_ref9","arguments","undefined","_ref9$behavior","_ref10$behavior","t","_ref11","lastIdx","endByLane","val","takeSnapshot","snapshot","_iterator3","_step3","scrollToFn","measure","_createClass","reconcileScroll","targetOffset","targetChanged","a","b","viewport","distance","keepSmooth","getCurrentValue","VirtualizerControllerBase","g","host","resolvedOptions","_objectSpread","updateComplete","then","requestUpdate","virtualizer","addController","getVirtualizer","hostConnected","hostUpdated","hostDisconnected","_export","VirtualizerController"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +1 @@
1
- import{b as t,P as n,S as e,k as o,T as r,F as i,d as l,c as s,m as c}from"./index-6f3fa4ab.esm.js";import{D as f,a as u}from"./index-353172ed.esm.js";import{k as a,b as h}from"./index-920675c4.esm.js";const w="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),d="undefined"!=typeof navigator&&/Win/.test(navigator.platform);function p(t){let n,e,o,r,i=t.split(/-(?!$)/),l=i[i.length-1];"Space"==l&&(l=" ");for(let t=0;t<i.length-1;t++){let l=i[t];if(/^(cmd|meta|m)$/i.test(l))r=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))e=!0;else if(/^s(hift)?$/i.test(l))o=!0;else{if(!/^mod$/i.test(l))throw new Error("Unrecognized modifier name: "+l);w?r=!0:e=!0}}return n&&(l="Alt-"+l),e&&(l="Ctrl-"+l),r&&(l="Meta-"+l),o&&(l="Shift-"+l),l}function m(t,n,e=!0){return n.altKey&&(t="Alt-"+t),n.ctrlKey&&(t="Ctrl-"+t),n.metaKey&&(t="Meta-"+t),e&&n.shiftKey&&(t="Shift-"+t),t}function g(n){return new t({props:{handleKeyDown:b(n)}})}function b(t){let n=function(t){let n=Object.create(null);for(let e in t)n[p(e)]=t[e];return n}(t);return function(t,e){let o,r=a(e),i=n[m(r,e)];if(i&&i(t.state,t.dispatch,t))return!0;if(1==r.length&&" "!=r){if(e.shiftKey){let o=n[m(r,e,!1)];if(o&&o(t.state,t.dispatch,t))return!0}if((e.altKey||e.metaKey||e.ctrlKey)&&!(d&&e.ctrlKey&&e.altKey)&&(o=h[e.keyCode])&&o!=r){let r=n[m(o,e)];if(r&&r(t.state,t.dispatch,t))return!0}}return!1}}let v,M;if("undefined"!=typeof WeakMap){let t=new WeakMap;v=n=>t.get(n),M=(n,e)=>(t.set(n,e),e)}else{const t=[],n=10;let e=0;v=n=>{for(let e=0;e<t.length;e+=2)if(t[e]==n)return t[e+1]},M=(o,r)=>(e==n&&(e=0),t[e++]=o,t[e++]=r)}var y=class{constructor(t,n,e,o){this.width=t,this.height=n,this.map=e,this.problems=o}findCell(t){for(let n=0;n<this.map.length;n++){const e=this.map[n];if(e!=t)continue;const o=n%this.width,r=n/this.width|0;let i=o+1,l=r+1;for(let t=1;i<this.width&&this.map[n+t]==e;t++)i++;for(let t=1;l<this.height&&this.map[n+this.width*t]==e;t++)l++;return{left:o,top:r,right:i,bottom:l}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let n=0;n<this.map.length;n++)if(this.map[n]==t)return n%this.width;throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,n,e){const{left:o,right:r,top:i,bottom:l}=this.findCell(t);return"horiz"==n?(e<0?0==o:r==this.width)?null:this.map[i*this.width+(e<0?o-1:r)]:(e<0?0==i:l==this.height)?null:this.map[o+this.width*(e<0?i-1:l)]}rectBetween(t,n){const{left:e,right:o,top:r,bottom:i}=this.findCell(t),{left:l,right:s,top:c,bottom:f}=this.findCell(n);return{left:Math.min(e,l),top:Math.min(r,c),right:Math.max(o,s),bottom:Math.max(i,f)}}cellsInRect(t){const n=[],e={};for(let o=t.top;o<t.bottom;o++)for(let r=t.left;r<t.right;r++){const i=o*this.width+r,l=this.map[i];e[l]||(e[l]=!0,r==t.left&&r&&this.map[i-1]==l||o==t.top&&o&&this.map[i-this.width]==l||n.push(l))}return n}positionAt(t,n,e){for(let o=0,r=0;;o++){const i=r+e.child(o).nodeSize;if(o==t){let e=n+t*this.width;const o=(t+1)*this.width;for(;e<o&&this.map[e]<r;)e++;return e==o?i-1:this.map[e]}r=i}}static get(t){return v(t)||M(t,function(t){if("table"!=t.type.spec.tableRole)throw new RangeError("Not a table node: "+t.type.name);const n=function(t){let n=-1,e=!1;for(let o=0;o<t.childCount;o++){const r=t.child(o);let i=0;if(e)for(let n=0;n<o;n++){const e=t.child(n);for(let t=0;t<e.childCount;t++){const r=e.child(t);n+r.attrs.rowspan>o&&(i+=r.attrs.colspan)}}for(let t=0;t<r.childCount;t++){const n=r.child(t);i+=n.attrs.colspan,n.attrs.rowspan>1&&(e=!0)}-1==n?n=i:n!=i&&(n=Math.max(n,i))}return n}(t),e=t.childCount,o=[];let r=0,i=null;const l=[];for(let t=0,r=n*e;t<r;t++)o[t]=0;for(let s=0,c=0;s<e;s++){const f=t.child(s);c++;for(let t=0;;t++){for(;r<o.length&&0!=o[r];)r++;if(t==f.childCount)break;const u=f.child(t),{colspan:a,rowspan:h,colwidth:w}=u.attrs;for(let t=0;t<h;t++){if(t+s>=e){(i||(i=[])).push({type:"overlong_rowspan",pos:c,n:h-t});break}const f=r+t*n;for(let t=0;t<a;t++){0==o[f+t]?o[f+t]=c:(i||(i=[])).push({type:"collision",row:s,pos:c,n:a-t});const e=w&&w[t];if(e){const o=(f+t)%n*2,r=l[o];null==r||r!=e&&1==l[o+1]?(l[o]=e,l[o+1]=1):r==e&&l[o+1]++}}}r+=a,c+=u.nodeSize}const u=(s+1)*n;let a=0;for(;r<u;)0==o[r++]&&a++;a&&(i||(i=[])).push({type:"missing",row:s,n:a}),c++}0!==n&&0!==e||(i||(i=[])).push({type:"zero_sized"});const s=new y(n,e,o,i);let c=!1;for(let t=0;!c&&t<l.length;t+=2)null!=l[t]&&l[t+1]<e&&(c=!0);c&&function(t,n,e){t.problems||(t.problems=[]);const o={};for(let r=0;r<t.map.length;r++){const i=t.map[r];if(o[i])continue;o[i]=!0;const l=e.nodeAt(i);if(!l)throw new RangeError(`No cell with offset ${i} found`);let s=null;const c=l.attrs;for(let e=0;e<c.colspan;e++){const o=n[(r+e)%t.width*2];null==o||c.colwidth&&c.colwidth[e]==o||((s||(s=D(c)))[e]=o)}s&&t.problems.unshift({type:"colwidth mismatch",pos:i,colwidth:s})}}(s,l,t);return s}(t))}};function D(t){if(t.colwidth)return t.colwidth.slice();const n=[];for(let e=0;e<t.colspan;e++)n.push(0);return n}function S(t,n){if("string"==typeof t)return{};const e=t.getAttribute("data-colwidth"),o=e&&/^\d+(,\d+)*$/.test(e)?e.split(",").map((t=>Number(t))):null,r=Number(t.getAttribute("colspan")||1),i={colspan:r,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:o&&o.length==r?o:null};for(const e in n){const o=n[e].getFromDOM,r=o&&o(t);null!=r&&(i[e]=r)}return i}function $(t,n){const e={};1!=t.attrs.colspan&&(e.colspan=t.attrs.colspan),1!=t.attrs.rowspan&&(e.rowspan=t.attrs.rowspan),t.attrs.colwidth&&(e["data-colwidth"]=t.attrs.colwidth.join(","));for(const o in n){const r=n[o].setDOMAttr;r&&r(t.attrs[o],e)}return e}function E(t){if(null!==t){if(!Array.isArray(t))throw new TypeError("colwidth must be null or an array");for(const n of t)if("number"!=typeof n)throw new TypeError("colwidth must be null or an array of numbers")}}function R(t){const n=t.cellAttributes||{},e={colspan:{default:1,validate:"number"},rowspan:{default:1,validate:"number"},colwidth:{default:null,validate:E}};for(const t in n)e[t]={default:n[t].default,validate:n[t].validate};return{table:{content:"table_row+",tableRole:"table",isolating:!0,group:t.tableGroup,parseDOM:[{tag:"table"}],toDOM:()=>["table",["tbody",0]]},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM:()=>["tr",0]},table_cell:{content:t.cellContent,attrs:e,tableRole:"cell",isolating:!0,parseDOM:[{tag:"td",getAttrs:t=>S(t,n)}],toDOM:t=>["td",$(t,n),0]},table_header:{content:t.cellContent,attrs:e,tableRole:"header_cell",isolating:!0,parseDOM:[{tag:"th",getAttrs:t=>S(t,n)}],toDOM:t=>["th",$(t,n),0]}}}function _(t){let n=t.cached.tableNodeTypes;if(!n){n=t.cached.tableNodeTypes={};for(const e in t.nodes){const o=t.nodes[e],r=o.spec.tableRole;r&&(n[r]=o)}}return n}const N=new n("selectingCells");function z(t){for(let n=t.depth-1;n>0;n--)if("row"==t.node(n).type.spec.tableRole)return t.node(0).resolve(t.before(n+1));return null}function k(t){const n=t.selection.$head;for(let t=n.depth;t>0;t--)if("row"==n.node(t).type.spec.tableRole)return!0;return!1}function A(t){const n=t.selection;if("$anchorCell"in n&&n.$anchorCell)return n.$anchorCell.pos>n.$headCell.pos?n.$anchorCell:n.$headCell;if("node"in n&&n.node&&"cell"==n.node.type.spec.tableRole)return n.$anchor;const e=z(n.$head)||function(t){for(let n=t.nodeAfter,e=t.pos;n;n=n.firstChild,e++){const o=n.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(e)}for(let n=t.nodeBefore,e=t.pos;n;n=n.lastChild,e--){const o=n.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(e-n.nodeSize)}}(n.$head);if(e)return e;throw new RangeError(`No cell found around position ${n.head}`)}function C(t){return"row"==t.parent.type.spec.tableRole&&!!t.nodeAfter}function O(t,n){return t.depth==n.depth&&t.pos>=n.start(-1)&&t.pos<=n.end(-1)}function x(t,n,e){const o=t.node(-1),r=y.get(o),i=t.start(-1),l=r.nextCell(t.pos-i,n,e);return null==l?null:t.node(0).resolve(i+l)}function T(t,n,e=1){const o={...t,colspan:t.colspan-e};return o.colwidth&&(o.colwidth=o.colwidth.slice(),o.colwidth.splice(n,e),o.colwidth.some((t=>t>0))||(o.colwidth=null)),o}function W(t,n,e=1){const o={...t,colspan:t.colspan+e};if(o.colwidth){o.colwidth=o.colwidth.slice();for(let t=0;t<e;t++)o.colwidth.splice(n,0,0)}return o}var L=class t extends e{constructor(t,n=t){const e=t.node(-1),r=y.get(e),i=t.start(-1),l=r.rectBetween(t.pos-i,n.pos-i),s=t.node(0),c=r.cellsInRect(l).filter((t=>t!=n.pos-i));c.unshift(n.pos-i);const f=c.map((t=>{const n=e.nodeAt(t);if(!n)throw new RangeError(`No cell with offset ${t} found`);const r=i+t+1;return new o(s.resolve(r),s.resolve(r+n.content.size))}));super(f[0].$from,f[0].$to,f),this.$anchorCell=t,this.$headCell=n}map(n,e){const o=n.resolve(e.map(this.$anchorCell.pos)),i=n.resolve(e.map(this.$headCell.pos));if(C(o)&&C(i)&&O(o,i)){const n=this.$anchorCell.node(-1)!=o.node(-1);return n&&this.isRowSelection()?t.rowSelection(o,i):n&&this.isColSelection()?t.colSelection(o,i):new t(o,i)}return r.between(o,i)}content(){const t=this.$anchorCell.node(-1),n=y.get(t),e=this.$anchorCell.start(-1),o=n.rectBetween(this.$anchorCell.pos-e,this.$headCell.pos-e),r={},s=[];for(let e=o.top;e<o.bottom;e++){const l=[];for(let i=e*n.width+o.left,s=o.left;s<o.right;s++,i++){const e=n.map[i];if(r[e])continue;r[e]=!0;const s=n.findCell(e);let c=t.nodeAt(e);if(!c)throw new RangeError(`No cell with offset ${e} found`);const f=o.left-s.left,u=s.right-o.right;if(f>0||u>0){let t=c.attrs;if(f>0&&(t=T(t,0,f)),u>0&&(t=T(t,t.colspan-u,u)),s.left<o.left){if(c=c.type.createAndFill(t),!c)throw new RangeError(`Could not create cell with attrs ${JSON.stringify(t)}`)}else c=c.type.create(t,c.content)}if(s.top<o.top||s.bottom>o.bottom){const t={...c.attrs,rowspan:Math.min(s.bottom,o.bottom)-Math.max(s.top,o.top)};c=s.top<o.top?c.type.createAndFill(t):c.type.create(t,c.content)}l.push(c)}s.push(t.child(e).copy(i.from(l)))}const c=this.isColSelection()&&this.isRowSelection()?t:s;return new l(i.from(c),1,1)}replace(t,n=l.empty){const o=t.steps.length,r=this.ranges;for(let e=0;e<r.length;e++){const{$from:i,$to:s}=r[e],c=t.mapping.slice(o);t.replace(c.map(i.pos),c.map(s.pos),e?l.empty:n)}const i=e.findFrom(t.doc.resolve(t.mapping.slice(o).map(this.to)),-1);i&&t.setSelection(i)}replaceWith(t,n){this.replace(t,new l(i.from(n),0,0))}forEachCell(t){const n=this.$anchorCell.node(-1),e=y.get(n),o=this.$anchorCell.start(-1),r=e.cellsInRect(e.rectBetween(this.$anchorCell.pos-o,this.$headCell.pos-o));for(let e=0;e<r.length;e++)t(n.nodeAt(r[e]),o+r[e])}isColSelection(){const t=this.$anchorCell.index(-1),n=this.$headCell.index(-1);if(Math.min(t,n)>0)return!1;const e=t+this.$anchorCell.nodeAfter.attrs.rowspan,o=n+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(e,o)==this.$headCell.node(-1).childCount}static colSelection(n,e=n){const o=n.node(-1),r=y.get(o),i=n.start(-1),l=r.findCell(n.pos-i),s=r.findCell(e.pos-i),c=n.node(0);return l.top<=s.top?(l.top>0&&(n=c.resolve(i+r.map[l.left])),s.bottom<r.height&&(e=c.resolve(i+r.map[r.width*(r.height-1)+s.right-1]))):(s.top>0&&(e=c.resolve(i+r.map[s.left])),l.bottom<r.height&&(n=c.resolve(i+r.map[r.width*(r.height-1)+l.right-1]))),new t(n,e)}isRowSelection(){const t=this.$anchorCell.node(-1),n=y.get(t),e=this.$anchorCell.start(-1),o=n.colCount(this.$anchorCell.pos-e),r=n.colCount(this.$headCell.pos-e);if(Math.min(o,r)>0)return!1;const i=o+this.$anchorCell.nodeAfter.attrs.colspan,l=r+this.$headCell.nodeAfter.attrs.colspan;return Math.max(i,l)==n.width}eq(n){return n instanceof t&&n.$anchorCell.pos==this.$anchorCell.pos&&n.$headCell.pos==this.$headCell.pos}static rowSelection(n,e=n){const o=n.node(-1),r=y.get(o),i=n.start(-1),l=r.findCell(n.pos-i),s=r.findCell(e.pos-i),c=n.node(0);return l.left<=s.left?(l.left>0&&(n=c.resolve(i+r.map[l.top*r.width])),s.right<r.width&&(e=c.resolve(i+r.map[r.width*(s.top+1)-1]))):(s.left>0&&(e=c.resolve(i+r.map[s.top*r.width])),l.right<r.width&&(n=c.resolve(i+r.map[r.width*(l.top+1)-1]))),new t(n,e)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(n,e){return new t(n.resolve(e.anchor),n.resolve(e.head))}static create(n,e,o=e){return new t(n.resolve(e),n.resolve(o))}getBookmark(){return new B(this.$anchorCell.pos,this.$headCell.pos)}};L.prototype.visible=!1,e.jsonID("cell",L);var B=class t{constructor(t,n){this.anchor=t,this.head=n}map(n){return new t(n.map(this.anchor),n.map(this.head))}resolve(t){const n=t.resolve(this.anchor),o=t.resolve(this.head);return"row"==n.parent.type.spec.tableRole&&"row"==o.parent.type.spec.tableRole&&n.index()<n.parent.childCount&&o.index()<o.parent.childCount&&O(n,o)?new L(n,o):e.near(o,1)}};function j(t){if(!(t.selection instanceof L))return null;const n=[];return t.selection.forEachCell(((t,e)=>{n.push(u.node(e,e+t.nodeSize,{class:"selectedCell"}))})),f.create(t.doc,n)}const P=new n("fix-tables");function H(t,n,e,o){const r=t.childCount,i=n.childCount;t:for(let l=0,s=0;l<i;l++){const i=n.child(l);for(let n=s,o=Math.min(r,l+3);n<o;n++)if(t.child(n)==i){s=n+1,e+=i.nodeSize;continue t}o(i,e),s<r&&t.child(s).sameMarkup(i)?H(t.child(s),i,e+1,o):i.nodesBetween(0,i.content.size,o,e+1),e+=i.nodeSize}}function J(t,n){let e;const o=(n,o)=>{"table"==n.type.spec.tableRole&&(e=function(t,n,e,o){const r=y.get(n);if(!r.problems)return o;o||(o=t.tr);const i=[];for(let t=0;t<r.height;t++)i.push(0);for(let t=0;t<r.problems.length;t++){const l=r.problems[t];if("collision"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;const r=t.attrs;for(let t=0;t<r.rowspan;t++)i[l.row+t]+=l.n;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,T(r,r.colspan-l.n,l.n))}else if("missing"==l.type)i[l.row]+=l.n;else if("overlong_rowspan"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,{...t.attrs,rowspan:t.attrs.rowspan-l.n})}else if("colwidth mismatch"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,{...t.attrs,colwidth:l.colwidth})}else if("zero_sized"==l.type){const t=o.mapping.map(e);o.delete(t,t+n.nodeSize)}}let l,s;for(let t=0;t<i.length;t++)i[t]&&(null==l&&(l=t),s=t);for(let c=0,f=e+1;c<r.height;c++){const e=n.child(c),r=f+e.nodeSize,u=i[c];if(u>0){let n="cell";e.firstChild&&(n=e.firstChild.type.spec.tableRole);const i=[];for(let e=0;e<u;e++){const e=_(t.schema)[n].createAndFill();e&&i.push(e)}const a=0!=c&&l!=c-1||s!=c?r-1:f+1;o.insert(o.mapping.map(a),i)}f=r}return o.setMeta(P,{fixTables:!0})}(t,n,o,e))};return n?n.doc!=t.doc&&H(n.doc,t.doc,0,o):t.doc.descendants(o),e}function U(t){const n=t.selection,e=A(t),o=e.node(-1),r=e.start(-1),i=y.get(o);return{...n instanceof L?i.rectBetween(n.$anchorCell.pos-r,n.$headCell.pos-r):i.findCell(e.pos-r),tableStart:r,map:i,table:o}}function K(t,{map:n,tableStart:e,table:o},r){let i=r>0?-1:0;(function(t,n,e){const o=_(n.type.schema).header_cell;for(let r=0;r<t.height;r++)if(n.nodeAt(t.map[e+r*t.width]).type!=o)return!1;return!0})(n,o,r+i)&&(i=0==r||r==n.width?null:0);for(let l=0;l<n.height;l++){const s=l*n.width+r;if(r>0&&r<n.width&&n.map[s-1]==n.map[s]){const i=n.map[s],c=o.nodeAt(i);t.setNodeMarkup(t.mapping.map(e+i),null,W(c.attrs,r-n.colCount(i))),l+=c.attrs.rowspan-1}else{const c=null==i?_(o.type.schema).cell:o.nodeAt(n.map[s+i]).type,f=n.positionAt(l,r,o);t.insert(t.mapping.map(e+f),c.createAndFill())}}return t}function V(t,n){if(!k(t))return!1;if(n){const e=U(t);n(K(t.tr,e,e.left))}return!0}function q(t,n){if(!k(t))return!1;if(n){const e=U(t);n(K(t.tr,e,e.right))}return!0}function F(t,{map:n,table:e,tableStart:o},r){const i=t.mapping.maps.length;for(let l=0;l<n.height;){const s=l*n.width+r,c=n.map[s],f=e.nodeAt(c),u=f.attrs;if(r>0&&n.map[s-1]==c||r<n.width-1&&n.map[s+1]==c)t.setNodeMarkup(t.mapping.slice(i).map(o+c),null,T(u,r-n.colCount(c)));else{const n=t.mapping.slice(i).map(o+c);t.delete(n,n+f.nodeSize)}l+=u.rowspan}}function I(t,n){if(!k(t))return!1;if(n){const e=U(t),o=t.tr;if(0==e.left&&e.right==e.map.width)return!1;for(let t=e.right-1;F(o,e,t),t!=e.left;t--){const t=e.tableStart?o.doc.nodeAt(e.tableStart-1):o.doc;if(!t)throw new RangeError("No table found");e.table=t,e.map=y.get(t)}n(o)}return!0}function X(t,{map:n,tableStart:e,table:o},r){let i=e;for(let t=0;t<r;t++)i+=o.child(t).nodeSize;const l=[];let s=r>0?-1:0;(function(t,n,e){var o;const r=_(n.type.schema).header_cell;for(let i=0;i<t.width;i++)if((null===(o=n.nodeAt(t.map[i+e*t.width]))||void 0===o?void 0:o.type)!=r)return!1;return!0})(n,o,r+s)&&(s=0==r||r==n.height?null:0);for(let i=0,f=n.width*r;i<n.width;i++,f++)if(r>0&&r<n.height&&n.map[f]==n.map[f-n.width]){const r=n.map[f],l=o.nodeAt(r).attrs;t.setNodeMarkup(e+r,null,{...l,rowspan:l.rowspan+1}),i+=l.colspan-1}else{var c;const t=null==s?_(o.type.schema).cell:null===(c=o.nodeAt(n.map[f+s*n.width]))||void 0===c?void 0:c.type,e=null==t?void 0:t.createAndFill();e&&l.push(e)}return t.insert(i,_(o.type.schema).row.create(null,l)),t}function G(t,n){if(!k(t))return!1;if(n){const e=U(t);n(X(t.tr,e,e.top))}return!0}function Q(t,n){if(!k(t))return!1;if(n){const e=U(t);n(X(t.tr,e,e.bottom))}return!0}function Y(t,{map:n,table:e,tableStart:o},r){let i=0;for(let t=0;t<r;t++)i+=e.child(t).nodeSize;const l=i+e.child(r).nodeSize,s=t.mapping.maps.length;t.delete(i+o,l+o);const c=new Set;for(let i=0,l=r*n.width;i<n.width;i++,l++){const f=n.map[l];if(!c.has(f))if(c.add(f),r>0&&f==n.map[l-n.width]){const n=e.nodeAt(f).attrs;t.setNodeMarkup(t.mapping.slice(s).map(f+o),null,{...n,rowspan:n.rowspan-1}),i+=n.colspan-1}else if(r<n.height&&f==n.map[l+n.width]){const l=e.nodeAt(f),c=l.attrs,u=l.type.create({...c,rowspan:l.attrs.rowspan-1},l.content),a=n.positionAt(r+1,i,e);t.insert(t.mapping.slice(s).map(o+a),u),i+=c.colspan-1}}}function Z(t,n){if(!k(t))return!1;if(n){const e=U(t),o=t.tr;if(0==e.top&&e.bottom==e.map.height)return!1;for(let t=e.bottom-1;Y(o,e,t),t!=e.top;t--){const t=e.tableStart?o.doc.nodeAt(e.tableStart-1):o.doc;if(!t)throw new RangeError("No table found");e.table=t,e.map=y.get(e.table)}n(o)}return!0}function tt(t){const n=t.content;return 1==n.childCount&&n.child(0).isTextblock&&0==n.child(0).childCount}function nt(t,n){const e=t.selection;if(!(e instanceof L)||e.$anchorCell.pos==e.$headCell.pos)return!1;const o=U(t),{map:r}=o;if(function({width:t,height:n,map:e},o){let r=o.top*t+o.left,i=r,l=(o.bottom-1)*t+o.left,s=r+(o.right-o.left-1);for(let n=o.top;n<o.bottom;n++){if(o.left>0&&e[i]==e[i-1]||o.right<t&&e[s]==e[s+1])return!0;i+=t,s+=t}for(let i=o.left;i<o.right;i++){if(o.top>0&&e[r]==e[r-t]||o.bottom<n&&e[l]==e[l+t])return!0;r++,l++}return!1}(r,o))return!1;if(n){const e=t.tr,l={};let s,c,f=i.empty;for(let t=o.top;t<o.bottom;t++)for(let n=o.left;n<o.right;n++){const i=r.map[t*r.width+n],u=o.table.nodeAt(i);if(!l[i]&&u)if(l[i]=!0,null==s)s=i,c=u;else{tt(u)||(f=f.append(u.content));const t=e.mapping.map(i+o.tableStart);e.delete(t,t+u.nodeSize)}}if(null==s||null==c)return!0;if(e.setNodeMarkup(s+o.tableStart,null,{...W(c.attrs,c.attrs.colspan,o.right-o.left-c.attrs.colspan),rowspan:o.bottom-o.top}),f.size>0){const t=s+1+c.content.size,n=tt(c)?s+1:t;e.replaceWith(n+o.tableStart,t+o.tableStart,f)}e.setSelection(new L(e.doc.resolve(s+o.tableStart))),n(e)}return!0}function et(t,n){const e=_(t.schema);return(o=({node:t})=>e[t.type.spec.tableRole],(t,n)=>{const e=t.selection;let r,i;if(e instanceof L){if(e.$anchorCell.pos!=e.$headCell.pos)return!1;r=e.$anchorCell.nodeAfter,i=e.$anchorCell.pos}else{var l;if(r=function(t){for(let n=t.depth;n>0;n--){const e=t.node(n).type.spec.tableRole;if("cell"===e||"header_cell"===e)return t.node(n)}return null}(e.$from),!r)return!1;i=null===(l=z(e.$from))||void 0===l?void 0:l.pos}if(null==r||null==i)return!1;if(1==r.attrs.colspan&&1==r.attrs.rowspan)return!1;if(n){let l=r.attrs;const s=[],c=l.colwidth;l.rowspan>1&&(l={...l,rowspan:1}),l.colspan>1&&(l={...l,colspan:1});const f=U(t),u=t.tr;for(let t=0;t<f.right-f.left;t++)s.push(c?{...l,colwidth:c&&c[t]?[c[t]]:null}:l);let a;for(let t=f.top;t<f.bottom;t++){let n=f.map.positionAt(t,f.left,f.table);t==f.top&&(n+=r.nodeSize);for(let e=f.left,i=0;e<f.right;e++,i++)e==f.left&&t==f.top||u.insert(a=u.mapping.map(n+f.tableStart,1),o({node:r,row:t,col:e}).createAndFill(s[i]))}u.setNodeMarkup(i,o({node:r,row:f.top,col:f.left}),s[0]),e instanceof L&&u.setSelection(new L(u.doc.resolve(e.$anchorCell.pos),a?u.doc.resolve(a):void 0)),n(u)}return!0})(t,n);var o}function ot(t,n,e){const o=n.map.cellsInRect({left:0,top:0,right:"row"==t?n.map.width:1,bottom:"column"==t?n.map.height:1});for(let t=0;t<o.length;t++){const r=n.table.nodeAt(o[t]);if(r&&r.type!==e.header_cell)return!1}return!0}function rt(t,n){return(n=n||{useDeprecatedLogic:!1}).useDeprecatedLogic?function(t){return function(n,e){if(!k(n))return!1;if(e){const o=_(n.schema),r=U(n),i=n.tr,l=r.map.cellsInRect("column"==t?{left:r.left,top:0,right:r.right,bottom:r.map.height}:"row"==t?{left:0,top:r.top,right:r.map.width,bottom:r.bottom}:r),s=l.map((t=>r.table.nodeAt(t)));for(let t=0;t<l.length;t++)s[t].type==o.header_cell&&i.setNodeMarkup(r.tableStart+l[t],o.cell,s[t].attrs);if(0===i.steps.length)for(let t=0;t<l.length;t++)i.setNodeMarkup(r.tableStart+l[t],o.header_cell,s[t].attrs);e(i)}return!0}}(t):function(n,e){if(!k(n))return!1;if(e){const o=_(n.schema),r=U(n),i=n.tr,l=ot("row",r,o),s=ot("column",r,o),c=("column"===t?l:"row"===t&&s)?1:0,f="column"==t?{left:0,top:c,right:1,bottom:r.map.height}:"row"==t?{left:c,top:0,right:r.map.width,bottom:1}:r,u="column"==t?s?o.cell:o.header_cell:"row"==t?l?o.cell:o.header_cell:o.cell;r.map.cellsInRect(f).forEach((t=>{const n=t+r.tableStart,e=i.doc.nodeAt(n);e&&i.setNodeMarkup(n,u,e.attrs)})),e(i)}return!0}}const it=rt("row",{useDeprecatedLogic:!0});function lt(t,n){const e=t.selection.$anchor;for(let o=e.depth;o>0;o--)if("table"==e.node(o).type.spec.tableRole)return n&&n(t.tr.delete(e.before(o),e.after(o)).scrollIntoView()),!0;return!1}function st(t,n){const e=t.selection;if(!(e instanceof L))return!1;if(n){const o=t.tr,r=_(t.schema).cell.createAndFill().content;e.forEachCell(((t,n)=>{t.content.eq(r)||o.replace(o.mapping.map(n+1),o.mapping.map(n+t.nodeSize-1),new l(r,0,0))})),o.docChanged&&n(o)}return!0}function ct(t){if(0===t.size)return null;let{content:n,openStart:e,openEnd:o}=t;for(;1==n.childCount&&(e>0&&o>0||"table"==n.child(0).type.spec.tableRole);)e--,o--,n=n.child(0).content;const r=n.child(0),s=r.type.spec.tableRole,c=r.type.schema,f=[];if("row"==s)for(let t=0;t<n.childCount;t++){let r=n.child(t).content;const i=t?0:Math.max(0,e-1),s=t<n.childCount-1?0:Math.max(0,o-1);(i||s)&&(r=ft(_(c).row,new l(r,i,s)).content),f.push(r)}else{if("cell"!=s&&"header_cell"!=s)return null;f.push(e||o?ft(_(c).row,new l(n,e,o)).content:n)}return function(t,n){const e=[];for(let t=0;t<n.length;t++){const o=n[t];for(let n=o.childCount-1;n>=0;n--){const{rowspan:r,colspan:i}=o.child(n).attrs;for(let n=t;n<t+r;n++)e[n]=(e[n]||0)+i}}let o=0;for(let t=0;t<e.length;t++)o=Math.max(o,e[t]);for(let r=0;r<e.length;r++)if(r>=n.length&&n.push(i.empty),e[r]<o){const l=_(t).cell.createAndFill(),s=[];for(let t=e[r];t<o;t++)s.push(l);n[r]=n[r].append(i.from(s))}return{height:n.length,width:o,rows:n}}(c,f)}function ft(t,n){const e=t.createAndFill();return new c(e).replace(0,e.content.size,n).doc}function ut(t,n,e,o,r,i,l,s){if(0==l||l==n.height)return!1;let c=!1;for(let f=r;f<i;f++){const r=l*n.width+f,i=n.map[r];if(n.map[r-n.width]==i){c=!0;const r=e.nodeAt(i),{top:u,left:a}=n.findCell(i);t.setNodeMarkup(t.mapping.slice(s).map(i+o),null,{...r.attrs,rowspan:l-u}),t.insert(t.mapping.slice(s).map(n.positionAt(l,a,e)),r.type.createAndFill({...r.attrs,rowspan:u+r.attrs.rowspan-l})),f+=r.attrs.colspan-1}}return c}function at(t,n,e,o,r,i,l,s){if(0==l||l==n.width)return!1;let c=!1;for(let f=r;f<i;f++){const r=f*n.width+l,i=n.map[r];if(n.map[r-1]==i){c=!0;const r=e.nodeAt(i),u=n.colCount(i),a=t.mapping.slice(s).map(i+o);t.setNodeMarkup(a,null,T(r.attrs,l-u,r.attrs.colspan-(l-u))),t.insert(a+r.nodeSize,r.type.createAndFill(T(r.attrs,0,l-u))),f+=r.attrs.rowspan-1}}return c}function ht(t,n,e,o,r){let s=e?t.doc.nodeAt(e-1):t.doc;if(!s)throw new Error("No table found");let c=y.get(s);const{top:f,left:u}=o,a=u+r.width,h=f+r.height,w=t.tr;let d=0;function p(){if(s=e?w.doc.nodeAt(e-1):w.doc,!s)throw new Error("No table found");c=y.get(s),d=w.mapping.maps.length}(function(t,n,e,o,r,l,s){const c=_(t.doc.type.schema);let f,u;if(r>n.width)for(let i=0,l=0;i<n.height;i++){const a=e.child(i);l+=a.nodeSize;const h=[];let w;w=null==a.lastChild||a.lastChild.type==c.cell?f||(f=c.cell.createAndFill()):u||(u=c.header_cell.createAndFill());for(let t=n.width;t<r;t++)h.push(w);t.insert(t.mapping.slice(s).map(l-1+o),h)}if(l>n.height){const a=[];for(let t=0,o=(n.height-1)*n.width;t<Math.max(n.width,r);t++){const r=!(t>=n.width)&&e.nodeAt(n.map[o+t]).type==c.header_cell;a.push(r?u||(u=c.header_cell.createAndFill()):f||(f=c.cell.createAndFill()))}const h=c.row.create(null,i.from(a)),w=[];for(let t=n.height;t<l;t++)w.push(h);t.insert(t.mapping.slice(s).map(o+e.nodeSize-2),w)}return!(!f&&!u)})(w,c,s,e,a,h,d)&&p(),ut(w,c,s,e,u,a,f,d)&&p(),ut(w,c,s,e,u,a,h,d)&&p(),at(w,c,s,e,f,h,u,d)&&p(),at(w,c,s,e,f,h,a,d)&&p();for(let t=f;t<h;t++){const n=c.positionAt(t,u,s),o=c.positionAt(t,a,s);w.replace(w.mapping.slice(d).map(n+e),w.mapping.slice(d).map(o+e),new l(r.rows[t-f],0,0))}p(),w.setSelection(new L(w.doc.resolve(e+c.positionAt(f,u,s)),w.doc.resolve(e+c.positionAt(h-1,a-1,s)))),n(w)}rt("column",{useDeprecatedLogic:!0}),rt("cell",{useDeprecatedLogic:!0});const wt=b({ArrowLeft:pt("horiz",-1),ArrowRight:pt("horiz",1),ArrowUp:pt("vert",-1),ArrowDown:pt("vert",1),"Shift-ArrowLeft":mt("horiz",-1),"Shift-ArrowRight":mt("horiz",1),"Shift-ArrowUp":mt("vert",-1),"Shift-ArrowDown":mt("vert",1),Backspace:st,"Mod-Backspace":st,Delete:st,"Mod-Delete":st});function dt(t,n,e){return!e.eq(t.selection)&&(n&&n(t.tr.setSelection(e).scrollIntoView()),!0)}function pt(t,n){return(o,r,i)=>{if(!i)return!1;const l=o.selection;if(l instanceof L)return dt(o,r,e.near(l.$headCell,n));if("horiz"!=t&&!l.empty)return!1;const s=Mt(i,t,n);if(null==s)return!1;if("horiz"==t)return dt(o,r,e.near(o.doc.resolve(l.head+n),n));{const i=o.doc.resolve(s),l=x(i,t,n);let c;return c=l?e.near(l,1):n<0?e.near(o.doc.resolve(i.before(-1)),-1):e.near(o.doc.resolve(i.after(-1)),1),dt(o,r,c)}}}function mt(t,n){return(e,o,r)=>{if(!r)return!1;const i=e.selection;let l;if(i instanceof L)l=i;else{const o=Mt(r,t,n);if(null==o)return!1;l=new L(e.doc.resolve(o))}const s=x(l.$headCell,t,n);return!!s&&dt(e,o,new L(l.$anchorCell,s))}}function gt(t,n){const e=z(t.state.doc.resolve(n));return!!e&&(t.dispatch(t.state.tr.setSelection(new L(e))),!0)}function bt(t,n,e){if(!k(t.state))return!1;let o=ct(e);const r=t.state.selection;if(r instanceof L){o||(o={width:1,height:1,rows:[i.from(ft(_(t.state.schema).cell,e))]});const n=r.$anchorCell.node(-1),l=r.$anchorCell.start(-1),s=y.get(n).rectBetween(r.$anchorCell.pos-l,r.$headCell.pos-l);return o=function({width:t,height:n,rows:e},o,r){if(t!=o){const n=[],r=[];for(let t=0;t<e.length;t++){const l=e[t],s=[];for(let e=n[t]||0,r=0;e<o;r++){let i=l.child(r%l.childCount);e+i.attrs.colspan>o&&(i=i.type.createChecked(T(i.attrs,i.attrs.colspan,e+i.attrs.colspan-o),i.content)),s.push(i),e+=i.attrs.colspan;for(let e=1;e<i.attrs.rowspan;e++)n[t+e]=(n[t+e]||0)+i.attrs.colspan}r.push(i.from(s))}e=r,t=o}if(n!=r){const t=[];for(let o=0,l=0;o<r;o++,l++){const s=[],c=e[l%n];for(let t=0;t<c.childCount;t++){let n=c.child(t);o+n.attrs.rowspan>r&&(n=n.type.create({...n.attrs,rowspan:Math.max(1,r-n.attrs.rowspan)},n.content)),s.push(n)}t.push(i.from(s))}e=t,n=r}return{width:t,height:n,rows:e}}(o,s.right-s.left,s.bottom-s.top),ht(t.state,t.dispatch,l,s,o),!0}if(o){const n=A(t.state),e=n.start(-1);return ht(t.state,t.dispatch,e,y.get(n.node(-1)).findCell(n.pos-e),o),!0}return!1}function vt(t,n){var e;if(0!=n.button)return;if(n.ctrlKey||n.metaKey)return;const o=yt(t,n.target);let r;if(n.shiftKey&&t.state.selection instanceof L)i(t.state.selection.$anchorCell,n),n.preventDefault();else if(n.shiftKey&&o&&null!=(r=z(t.state.selection.$anchor))&&(null===(e=Dt(t,n))||void 0===e?void 0:e.pos)!=r.pos)i(r,n),n.preventDefault();else if(!o)return;function i(n,e){let o=Dt(t,e);const r=null==N.getState(t.state);if(!o||!O(n,o)){if(!r)return;o=n}const i=new L(n,o);if(r||!t.state.selection.eq(i)){const e=t.state.tr.setSelection(i);r&&e.setMeta(N,n.pos),t.dispatch(e)}}function l(){t.root.removeEventListener("mouseup",l),t.root.removeEventListener("dragstart",l),t.root.removeEventListener("mousemove",s),null!=N.getState(t.state)&&t.dispatch(t.state.tr.setMeta(N,-1))}function s(e){const r=e,s=N.getState(t.state);let c;if(null!=s)c=t.state.doc.resolve(s);else if(yt(t,r.target)!=o&&(c=Dt(t,n),!c))return l();c&&i(c,r)}t.root.addEventListener("mouseup",l),t.root.addEventListener("dragstart",l),t.root.addEventListener("mousemove",s)}function Mt(t,n,e){if(!(t.state.selection instanceof r))return null;const{$head:o}=t.state.selection;for(let r=o.depth-1;r>=0;r--){const i=o.node(r);if((e<0?o.index(r):o.indexAfter(r))!=(e<0?0:i.childCount))return null;if("cell"==i.type.spec.tableRole||"header_cell"==i.type.spec.tableRole){const i=o.before(r),l="vert"==n?e>0?"down":"up":e>0?"right":"left";return t.endOfTextblock(l)?i:null}}return null}function yt(t,n){for(;n&&n!=t.dom;n=n.parentNode)if("TD"==n.nodeName||"TH"==n.nodeName)return n;return null}function Dt(t,n){const e=t.posAtCoords({left:n.clientX,top:n.clientY});if(!e)return null;let{inside:o,pos:r}=e;return o>=0&&z(t.state.doc.resolve(o))||z(t.state.doc.resolve(r))}var St=class{constructor(t,n){this.node=t,this.defaultCellMinWidth=n,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${n}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),$t(t,this.colgroup,this.table,n),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type==this.node.type&&(this.node=t,$t(t,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(t){return"attributes"==t.type&&(t.target==this.table||this.colgroup.contains(t.target))}};function $t(t,n,e,o,r,i){let l=0,s=!0,c=n.firstChild;const f=t.firstChild;if(f){for(let t=0,e=0;t<f.childCount;t++){const{colspan:u,colwidth:a}=f.child(t).attrs;for(let t=0;t<u;t++,e++){const f=r==e?i:a&&a[t],u=f?f+"px":"";if(l+=f||o,f||(s=!1),c)c.style.width!=u&&(c.style.width=u),c=c.nextSibling;else{const t=document.createElement("col");t.style.width=u,n.appendChild(t)}}}for(;c;){var u;const t=c.nextSibling;null===(u=c.parentNode)||void 0===u||u.removeChild(c),c=t}s?(e.style.width=l+"px",e.style.minWidth=""):(e.style.width="",e.style.minWidth=l+"px")}}const Et=new n("tableColumnResizing");function Rt({handleWidth:n=5,cellMinWidth:e=25,defaultCellMinWidth:o=100,View:r=St,lastColumnResizable:i=!0}={}){const l=new t({key:Et,state:{init(t,n){var e;const i=null===(e=l.spec)||void 0===e||null===(e=e.props)||void 0===e?void 0:e.nodeViews,s=_(n.schema).table.name;return r&&i&&(i[s]=(t,n)=>new r(t,o,n)),new _t(-1,!1)},apply:(t,n)=>n.apply(t)},props:{attributes:t=>{const n=Et.getState(t);return n&&n.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(t,e)=>{!function(t,n,e,o){if(!t.editable)return;const r=Et.getState(t.state);if(!r)return;if(!r.dragging){const i=function(t){for(;t&&"TD"!=t.nodeName&&"TH"!=t.nodeName;)t=t.classList&&t.classList.contains("ProseMirror")?null:t.parentNode;return t}(n.target);let l=-1;if(i){const{left:o,right:r}=i.getBoundingClientRect();n.clientX-o<=e?l=Nt(t,n,"left",e):r-n.clientX<=e&&(l=Nt(t,n,"right",e))}if(l!=r.activeHandle){if(!o&&-1!==l){const n=t.state.doc.resolve(l),e=n.node(-1),o=y.get(e),r=n.start(-1);if(o.colCount(n.pos-r)+n.nodeAfter.attrs.colspan-1==o.width-1)return}kt(t,l)}}}(t,e,n,i)},mouseleave:t=>{!function(t){if(!t.editable)return;const n=Et.getState(t.state);n&&n.activeHandle>-1&&!n.dragging&&kt(t,-1)}(t)},mousedown:(t,n)=>{!function(t,n,e,o){var r;if(!t.editable)return!1;const i=null!==(r=t.dom.ownerDocument.defaultView)&&void 0!==r?r:window,l=Et.getState(t.state);if(!l||-1==l.activeHandle||l.dragging)return!1;const s=t.state.doc.nodeAt(l.activeHandle),c=function(t,n,{colspan:e,colwidth:o}){const r=o&&o[o.length-1];if(r)return r;const i=t.domAtPos(n);let l=i.node.childNodes[i.offset].offsetWidth,s=e;if(o)for(let t=0;t<e;t++)o[t]&&(l-=o[t],s--);return l/s}(t,l.activeHandle,s.attrs);function f(n){i.removeEventListener("mouseup",f),i.removeEventListener("mousemove",u);const o=Et.getState(t.state);(null==o?void 0:o.dragging)&&(!function(t,n,e){const o=t.state.doc.resolve(n),r=o.node(-1),i=y.get(r),l=o.start(-1),s=i.colCount(o.pos-l)+o.nodeAfter.attrs.colspan-1,c=t.state.tr;for(let t=0;t<i.height;t++){const n=t*i.width+s;if(t&&i.map[n]==i.map[n-i.width])continue;const o=i.map[n],f=r.nodeAt(o).attrs,u=1==f.colspan?0:s-i.colCount(o);if(f.colwidth&&f.colwidth[u]==e)continue;const a=f.colwidth?f.colwidth.slice():Ct(f.colspan);a[u]=e,c.setNodeMarkup(l+o,null,{...f,colwidth:a})}c.docChanged&&t.dispatch(c)}(t,o.activeHandle,zt(o.dragging,n,e)),t.dispatch(t.state.tr.setMeta(Et,{setDragging:null})))}function u(n){if(!n.which)return f(n);const r=Et.getState(t.state);if(r&&r.dragging){const i=zt(r.dragging,n,e);At(t,r.activeHandle,i,o)}}t.dispatch(t.state.tr.setMeta(Et,{setDragging:{startX:n.clientX,startWidth:c}})),At(t,l.activeHandle,c,o),i.addEventListener("mouseup",f),i.addEventListener("mousemove",u),n.preventDefault()}(t,n,e,o)}},decorations:t=>{const n=Et.getState(t);if(n&&n.activeHandle>-1)return function(t,n){const e=[],o=t.doc.resolve(n),r=o.node(-1);if(!r)return f.empty;const i=y.get(r),l=o.start(-1),s=i.colCount(o.pos-l)+o.nodeAfter.attrs.colspan-1;for(let n=0;n<i.height;n++){const o=s+n*i.width;if(!(s!=i.width-1&&i.map[o]==i.map[o+1]||0!=n&&i.map[o]==i.map[o-i.width])){var c;const n=i.map[o],s=l+n+r.nodeAt(n).nodeSize-1,f=document.createElement("div");f.className="column-resize-handle",(null===(c=Et.getState(t))||void 0===c?void 0:c.dragging)&&e.push(u.node(l+n,l+n+r.nodeAt(n).nodeSize,{class:"column-resize-dragging"})),e.push(u.widget(s,f))}}return f.create(t.doc,e)}(t,n.activeHandle)},nodeViews:{}}});return l}var _t=class t{constructor(t,n){this.activeHandle=t,this.dragging=n}apply(n){const e=this,o=n.getMeta(Et);if(o&&null!=o.setHandle)return new t(o.setHandle,!1);if(o&&void 0!==o.setDragging)return new t(e.activeHandle,o.setDragging);if(e.activeHandle>-1&&n.docChanged){let o=n.mapping.map(e.activeHandle,-1);return C(n.doc.resolve(o))||(o=-1),new t(o,e.dragging)}return e}};function Nt(t,n,e,o){const r="right"==e?-o:o,i=t.posAtCoords({left:n.clientX+r,top:n.clientY});if(!i)return-1;const{pos:l}=i,s=z(t.state.doc.resolve(l));if(!s)return-1;if("right"==e)return s.pos;const c=y.get(s.node(-1)),f=s.start(-1),u=c.map.indexOf(s.pos-f);return u%c.width==0?-1:f+c.map[u-1]}function zt(t,n,e){const o=n.clientX-t.startX;return Math.max(e,t.startWidth+o)}function kt(t,n){t.dispatch(t.state.tr.setMeta(Et,{setHandle:n}))}function At(t,n,e,o){const r=t.state.doc.resolve(n),i=r.node(-1),l=r.start(-1),s=y.get(i).colCount(r.pos-l)+r.nodeAfter.attrs.colspan-1;let c=t.domAtPos(r.start(-1)).node;for(;c&&"TABLE"!=c.nodeName;)c=c.parentNode;c&&$t(i,c.firstChild,c,o,s,e)}function Ct(t){return Array(t).fill(0)}function Ot({allowTableNodeSelection:n=!1}={}){return new t({key:N,state:{init:()=>null,apply(t,n){const e=t.getMeta(N);if(null!=e)return-1==e?null:e;if(null==n||!t.docChanged)return n;const{deleted:o,pos:r}=t.mapping.mapResult(n);return o?null:r}},props:{decorations:j,handleDOMEvents:{mousedown:vt},createSelectionBetween:t=>null!=N.getState(t.state)?t.state.selection:null,handleTripleClick:gt,handleKeyDown:wt,handlePaste:bt},appendTransaction:(t,e,o)=>function(t,n,e){const o=(n||t).selection,i=(n||t).doc;let l,c;if(o instanceof s&&(c=o.node.type.spec.tableRole)){if("cell"==c||"header_cell"==c)l=L.create(i,o.from);else if("row"==c){const t=i.resolve(o.from+1);l=L.rowSelection(t,t)}else if(!e){const t=y.get(o.node),n=o.from+1,e=n+t.map[t.width*t.height-1];l=L.create(i,n+1,e)}}else o instanceof r&&function({$from:t,$to:n}){if(t.pos==n.pos||t.pos<n.pos-6)return!1;let e=t.pos,o=n.pos,r=t.depth;for(;r>=0&&!(t.after(r+1)<t.end(r));r--,e++);for(let t=n.depth;t>=0&&!(n.before(t+1)>n.start(t));t--,o--);return e==o&&/row|table/.test(t.node(r).type.spec.tableRole)}(o)?l=r.create(i,o.from):o instanceof r&&function({$from:t,$to:n}){let e,o;for(let n=t.depth;n>0;n--){const o=t.node(n);if("cell"===o.type.spec.tableRole||"header_cell"===o.type.spec.tableRole){e=o;break}}for(let t=n.depth;t>0;t--){const e=n.node(t);if("cell"===e.type.spec.tableRole||"header_cell"===e.type.spec.tableRole){o=e;break}}return e!==o&&0===n.parentOffset}(o)&&(l=r.create(i,o.$from.start(),o.$from.end()));return l&&(n||(n=t.tr)).setSelection(l),n}(o,J(o,e),n)})}export{R as a,b,Rt as c,lt as d,it as e,I as f,Z as g,q as h,V as i,Q as j,g as k,G as l,nt as m,et as s,Ot as t};
1
+ import{b as t,P as n,S as e,k as o,T as r,F as i,d as l,c as s,m as c}from"./index-6f3fa4ab.esm.js";import{D as f,a as u}from"./index-ba47645d.esm.js";import{k as a,b as h}from"./index-920675c4.esm.js";const w="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),d="undefined"!=typeof navigator&&/Win/.test(navigator.platform);function p(t){let n,e,o,r,i=t.split(/-(?!$)/),l=i[i.length-1];"Space"==l&&(l=" ");for(let t=0;t<i.length-1;t++){let l=i[t];if(/^(cmd|meta|m)$/i.test(l))r=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))e=!0;else if(/^s(hift)?$/i.test(l))o=!0;else{if(!/^mod$/i.test(l))throw new Error("Unrecognized modifier name: "+l);w?r=!0:e=!0}}return n&&(l="Alt-"+l),e&&(l="Ctrl-"+l),r&&(l="Meta-"+l),o&&(l="Shift-"+l),l}function m(t,n,e=!0){return n.altKey&&(t="Alt-"+t),n.ctrlKey&&(t="Ctrl-"+t),n.metaKey&&(t="Meta-"+t),e&&n.shiftKey&&(t="Shift-"+t),t}function g(n){return new t({props:{handleKeyDown:b(n)}})}function b(t){let n=function(t){let n=Object.create(null);for(let e in t)n[p(e)]=t[e];return n}(t);return function(t,e){let o,r=a(e),i=n[m(r,e)];if(i&&i(t.state,t.dispatch,t))return!0;if(1==r.length&&" "!=r){if(e.shiftKey){let o=n[m(r,e,!1)];if(o&&o(t.state,t.dispatch,t))return!0}if((e.altKey||e.metaKey||e.ctrlKey)&&!(d&&e.ctrlKey&&e.altKey)&&(o=h[e.keyCode])&&o!=r){let r=n[m(o,e)];if(r&&r(t.state,t.dispatch,t))return!0}}return!1}}let v,M;if("undefined"!=typeof WeakMap){let t=new WeakMap;v=n=>t.get(n),M=(n,e)=>(t.set(n,e),e)}else{const t=[],n=10;let e=0;v=n=>{for(let e=0;e<t.length;e+=2)if(t[e]==n)return t[e+1]},M=(o,r)=>(e==n&&(e=0),t[e++]=o,t[e++]=r)}var y=class{constructor(t,n,e,o){this.width=t,this.height=n,this.map=e,this.problems=o}findCell(t){for(let n=0;n<this.map.length;n++){const e=this.map[n];if(e!=t)continue;const o=n%this.width,r=n/this.width|0;let i=o+1,l=r+1;for(let t=1;i<this.width&&this.map[n+t]==e;t++)i++;for(let t=1;l<this.height&&this.map[n+this.width*t]==e;t++)l++;return{left:o,top:r,right:i,bottom:l}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let n=0;n<this.map.length;n++)if(this.map[n]==t)return n%this.width;throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,n,e){const{left:o,right:r,top:i,bottom:l}=this.findCell(t);return"horiz"==n?(e<0?0==o:r==this.width)?null:this.map[i*this.width+(e<0?o-1:r)]:(e<0?0==i:l==this.height)?null:this.map[o+this.width*(e<0?i-1:l)]}rectBetween(t,n){const{left:e,right:o,top:r,bottom:i}=this.findCell(t),{left:l,right:s,top:c,bottom:f}=this.findCell(n);return{left:Math.min(e,l),top:Math.min(r,c),right:Math.max(o,s),bottom:Math.max(i,f)}}cellsInRect(t){const n=[],e={};for(let o=t.top;o<t.bottom;o++)for(let r=t.left;r<t.right;r++){const i=o*this.width+r,l=this.map[i];e[l]||(e[l]=!0,r==t.left&&r&&this.map[i-1]==l||o==t.top&&o&&this.map[i-this.width]==l||n.push(l))}return n}positionAt(t,n,e){for(let o=0,r=0;;o++){const i=r+e.child(o).nodeSize;if(o==t){let e=n+t*this.width;const o=(t+1)*this.width;for(;e<o&&this.map[e]<r;)e++;return e==o?i-1:this.map[e]}r=i}}static get(t){return v(t)||M(t,function(t){if("table"!=t.type.spec.tableRole)throw new RangeError("Not a table node: "+t.type.name);const n=function(t){let n=-1,e=!1;for(let o=0;o<t.childCount;o++){const r=t.child(o);let i=0;if(e)for(let n=0;n<o;n++){const e=t.child(n);for(let t=0;t<e.childCount;t++){const r=e.child(t);n+r.attrs.rowspan>o&&(i+=r.attrs.colspan)}}for(let t=0;t<r.childCount;t++){const n=r.child(t);i+=n.attrs.colspan,n.attrs.rowspan>1&&(e=!0)}-1==n?n=i:n!=i&&(n=Math.max(n,i))}return n}(t),e=t.childCount,o=[];let r=0,i=null;const l=[];for(let t=0,r=n*e;t<r;t++)o[t]=0;for(let s=0,c=0;s<e;s++){const f=t.child(s);c++;for(let t=0;;t++){for(;r<o.length&&0!=o[r];)r++;if(t==f.childCount)break;const u=f.child(t),{colspan:a,rowspan:h,colwidth:w}=u.attrs;for(let t=0;t<h;t++){if(t+s>=e){(i||(i=[])).push({type:"overlong_rowspan",pos:c,n:h-t});break}const f=r+t*n;for(let t=0;t<a;t++){0==o[f+t]?o[f+t]=c:(i||(i=[])).push({type:"collision",row:s,pos:c,n:a-t});const e=w&&w[t];if(e){const o=(f+t)%n*2,r=l[o];null==r||r!=e&&1==l[o+1]?(l[o]=e,l[o+1]=1):r==e&&l[o+1]++}}}r+=a,c+=u.nodeSize}const u=(s+1)*n;let a=0;for(;r<u;)0==o[r++]&&a++;a&&(i||(i=[])).push({type:"missing",row:s,n:a}),c++}0!==n&&0!==e||(i||(i=[])).push({type:"zero_sized"});const s=new y(n,e,o,i);let c=!1;for(let t=0;!c&&t<l.length;t+=2)null!=l[t]&&l[t+1]<e&&(c=!0);c&&function(t,n,e){t.problems||(t.problems=[]);const o={};for(let r=0;r<t.map.length;r++){const i=t.map[r];if(o[i])continue;o[i]=!0;const l=e.nodeAt(i);if(!l)throw new RangeError(`No cell with offset ${i} found`);let s=null;const c=l.attrs;for(let e=0;e<c.colspan;e++){const o=n[(r+e)%t.width*2];null==o||c.colwidth&&c.colwidth[e]==o||((s||(s=D(c)))[e]=o)}s&&t.problems.unshift({type:"colwidth mismatch",pos:i,colwidth:s})}}(s,l,t);return s}(t))}};function D(t){if(t.colwidth)return t.colwidth.slice();const n=[];for(let e=0;e<t.colspan;e++)n.push(0);return n}function S(t,n){if("string"==typeof t)return{};const e=t.getAttribute("data-colwidth"),o=e&&/^\d+(,\d+)*$/.test(e)?e.split(",").map((t=>Number(t))):null,r=Number(t.getAttribute("colspan")||1),i={colspan:r,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:o&&o.length==r?o:null};for(const e in n){const o=n[e].getFromDOM,r=o&&o(t);null!=r&&(i[e]=r)}return i}function $(t,n){const e={};1!=t.attrs.colspan&&(e.colspan=t.attrs.colspan),1!=t.attrs.rowspan&&(e.rowspan=t.attrs.rowspan),t.attrs.colwidth&&(e["data-colwidth"]=t.attrs.colwidth.join(","));for(const o in n){const r=n[o].setDOMAttr;r&&r(t.attrs[o],e)}return e}function E(t){if(null!==t){if(!Array.isArray(t))throw new TypeError("colwidth must be null or an array");for(const n of t)if("number"!=typeof n)throw new TypeError("colwidth must be null or an array of numbers")}}function R(t){const n=t.cellAttributes||{},e={colspan:{default:1,validate:"number"},rowspan:{default:1,validate:"number"},colwidth:{default:null,validate:E}};for(const t in n)e[t]={default:n[t].default,validate:n[t].validate};return{table:{content:"table_row+",tableRole:"table",isolating:!0,group:t.tableGroup,parseDOM:[{tag:"table"}],toDOM:()=>["table",["tbody",0]]},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM:()=>["tr",0]},table_cell:{content:t.cellContent,attrs:e,tableRole:"cell",isolating:!0,parseDOM:[{tag:"td",getAttrs:t=>S(t,n)}],toDOM:t=>["td",$(t,n),0]},table_header:{content:t.cellContent,attrs:e,tableRole:"header_cell",isolating:!0,parseDOM:[{tag:"th",getAttrs:t=>S(t,n)}],toDOM:t=>["th",$(t,n),0]}}}function _(t){let n=t.cached.tableNodeTypes;if(!n){n=t.cached.tableNodeTypes={};for(const e in t.nodes){const o=t.nodes[e],r=o.spec.tableRole;r&&(n[r]=o)}}return n}const N=new n("selectingCells");function z(t){for(let n=t.depth-1;n>0;n--)if("row"==t.node(n).type.spec.tableRole)return t.node(0).resolve(t.before(n+1));return null}function k(t){const n=t.selection.$head;for(let t=n.depth;t>0;t--)if("row"==n.node(t).type.spec.tableRole)return!0;return!1}function A(t){const n=t.selection;if("$anchorCell"in n&&n.$anchorCell)return n.$anchorCell.pos>n.$headCell.pos?n.$anchorCell:n.$headCell;if("node"in n&&n.node&&"cell"==n.node.type.spec.tableRole)return n.$anchor;const e=z(n.$head)||function(t){for(let n=t.nodeAfter,e=t.pos;n;n=n.firstChild,e++){const o=n.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(e)}for(let n=t.nodeBefore,e=t.pos;n;n=n.lastChild,e--){const o=n.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(e-n.nodeSize)}}(n.$head);if(e)return e;throw new RangeError(`No cell found around position ${n.head}`)}function C(t){return"row"==t.parent.type.spec.tableRole&&!!t.nodeAfter}function O(t,n){return t.depth==n.depth&&t.pos>=n.start(-1)&&t.pos<=n.end(-1)}function T(t,n,e){const o=t.node(-1),r=y.get(o),i=t.start(-1),l=r.nextCell(t.pos-i,n,e);return null==l?null:t.node(0).resolve(i+l)}function x(t,n,e=1){const o={...t,colspan:t.colspan-e};return o.colwidth&&(o.colwidth=o.colwidth.slice(),o.colwidth.splice(n,e),o.colwidth.some((t=>t>0))||(o.colwidth=null)),o}function W(t,n,e=1){const o={...t,colspan:t.colspan+e};if(o.colwidth){o.colwidth=o.colwidth.slice();for(let t=0;t<e;t++)o.colwidth.splice(n,0,0)}return o}var L=class t extends e{constructor(t,n=t){const e=t.node(-1),r=y.get(e),i=t.start(-1),l=r.rectBetween(t.pos-i,n.pos-i),s=t.node(0),c=r.cellsInRect(l).filter((t=>t!=n.pos-i));c.unshift(n.pos-i);const f=c.map((t=>{const n=e.nodeAt(t);if(!n)throw new RangeError(`No cell with offset ${t} found`);const r=i+t+1;return new o(s.resolve(r),s.resolve(r+n.content.size))}));super(f[0].$from,f[0].$to,f),this.$anchorCell=t,this.$headCell=n}map(n,e){const o=n.resolve(e.map(this.$anchorCell.pos)),i=n.resolve(e.map(this.$headCell.pos));if(C(o)&&C(i)&&O(o,i)){const n=this.$anchorCell.node(-1)!=o.node(-1);return n&&this.isRowSelection()?t.rowSelection(o,i):n&&this.isColSelection()?t.colSelection(o,i):new t(o,i)}return r.between(o,i)}content(){const t=this.$anchorCell.node(-1),n=y.get(t),e=this.$anchorCell.start(-1),o=n.rectBetween(this.$anchorCell.pos-e,this.$headCell.pos-e),r={},s=[];for(let e=o.top;e<o.bottom;e++){const l=[];for(let i=e*n.width+o.left,s=o.left;s<o.right;s++,i++){const e=n.map[i];if(r[e])continue;r[e]=!0;const s=n.findCell(e);let c=t.nodeAt(e);if(!c)throw new RangeError(`No cell with offset ${e} found`);const f=o.left-s.left,u=s.right-o.right;if(f>0||u>0){let t=c.attrs;if(f>0&&(t=x(t,0,f)),u>0&&(t=x(t,t.colspan-u,u)),s.left<o.left){if(c=c.type.createAndFill(t),!c)throw new RangeError(`Could not create cell with attrs ${JSON.stringify(t)}`)}else c=c.type.create(t,c.content)}if(s.top<o.top||s.bottom>o.bottom){const t={...c.attrs,rowspan:Math.min(s.bottom,o.bottom)-Math.max(s.top,o.top)};c=s.top<o.top?c.type.createAndFill(t):c.type.create(t,c.content)}l.push(c)}s.push(t.child(e).copy(i.from(l)))}const c=this.isColSelection()&&this.isRowSelection()?t:s;return new l(i.from(c),1,1)}replace(t,n=l.empty){const o=t.steps.length,r=this.ranges;for(let e=0;e<r.length;e++){const{$from:i,$to:s}=r[e],c=t.mapping.slice(o);t.replace(c.map(i.pos),c.map(s.pos),e?l.empty:n)}const i=e.findFrom(t.doc.resolve(t.mapping.slice(o).map(this.to)),-1);i&&t.setSelection(i)}replaceWith(t,n){this.replace(t,new l(i.from(n),0,0))}forEachCell(t){const n=this.$anchorCell.node(-1),e=y.get(n),o=this.$anchorCell.start(-1),r=e.cellsInRect(e.rectBetween(this.$anchorCell.pos-o,this.$headCell.pos-o));for(let e=0;e<r.length;e++)t(n.nodeAt(r[e]),o+r[e])}isColSelection(){const t=this.$anchorCell.index(-1),n=this.$headCell.index(-1);if(Math.min(t,n)>0)return!1;const e=t+this.$anchorCell.nodeAfter.attrs.rowspan,o=n+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(e,o)==this.$headCell.node(-1).childCount}static colSelection(n,e=n){const o=n.node(-1),r=y.get(o),i=n.start(-1),l=r.findCell(n.pos-i),s=r.findCell(e.pos-i),c=n.node(0);return l.top<=s.top?(l.top>0&&(n=c.resolve(i+r.map[l.left])),s.bottom<r.height&&(e=c.resolve(i+r.map[r.width*(r.height-1)+s.right-1]))):(s.top>0&&(e=c.resolve(i+r.map[s.left])),l.bottom<r.height&&(n=c.resolve(i+r.map[r.width*(r.height-1)+l.right-1]))),new t(n,e)}isRowSelection(){const t=this.$anchorCell.node(-1),n=y.get(t),e=this.$anchorCell.start(-1),o=n.colCount(this.$anchorCell.pos-e),r=n.colCount(this.$headCell.pos-e);if(Math.min(o,r)>0)return!1;const i=o+this.$anchorCell.nodeAfter.attrs.colspan,l=r+this.$headCell.nodeAfter.attrs.colspan;return Math.max(i,l)==n.width}eq(n){return n instanceof t&&n.$anchorCell.pos==this.$anchorCell.pos&&n.$headCell.pos==this.$headCell.pos}static rowSelection(n,e=n){const o=n.node(-1),r=y.get(o),i=n.start(-1),l=r.findCell(n.pos-i),s=r.findCell(e.pos-i),c=n.node(0);return l.left<=s.left?(l.left>0&&(n=c.resolve(i+r.map[l.top*r.width])),s.right<r.width&&(e=c.resolve(i+r.map[r.width*(s.top+1)-1]))):(s.left>0&&(e=c.resolve(i+r.map[s.top*r.width])),l.right<r.width&&(n=c.resolve(i+r.map[r.width*(l.top+1)-1]))),new t(n,e)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(n,e){return new t(n.resolve(e.anchor),n.resolve(e.head))}static create(n,e,o=e){return new t(n.resolve(e),n.resolve(o))}getBookmark(){return new B(this.$anchorCell.pos,this.$headCell.pos)}};L.prototype.visible=!1,e.jsonID("cell",L);var B=class t{constructor(t,n){this.anchor=t,this.head=n}map(n){return new t(n.map(this.anchor),n.map(this.head))}resolve(t){const n=t.resolve(this.anchor),o=t.resolve(this.head);return"row"==n.parent.type.spec.tableRole&&"row"==o.parent.type.spec.tableRole&&n.index()<n.parent.childCount&&o.index()<o.parent.childCount&&O(n,o)?new L(n,o):e.near(o,1)}};function j(t){if(!(t.selection instanceof L))return null;const n=[];return t.selection.forEachCell(((t,e)=>{n.push(u.node(e,e+t.nodeSize,{class:"selectedCell"}))})),f.create(t.doc,n)}const P=new n("fix-tables");function H(t,n,e,o){const r=t.childCount,i=n.childCount;t:for(let l=0,s=0;l<i;l++){const i=n.child(l);for(let n=s,o=Math.min(r,l+3);n<o;n++)if(t.child(n)==i){s=n+1,e+=i.nodeSize;continue t}o(i,e),s<r&&t.child(s).sameMarkup(i)?H(t.child(s),i,e+1,o):i.nodesBetween(0,i.content.size,o,e+1),e+=i.nodeSize}}function J(t,n){let e;const o=(n,o)=>{"table"==n.type.spec.tableRole&&(e=function(t,n,e,o){const r=y.get(n);if(!r.problems)return o;o||(o=t.tr);const i=[];for(let t=0;t<r.height;t++)i.push(0);for(let t=0;t<r.problems.length;t++){const l=r.problems[t];if("collision"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;const r=t.attrs;for(let t=0;t<r.rowspan;t++)i[l.row+t]+=l.n;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,x(r,r.colspan-l.n,l.n))}else if("missing"==l.type)i[l.row]+=l.n;else if("overlong_rowspan"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,{...t.attrs,rowspan:t.attrs.rowspan-l.n})}else if("colwidth mismatch"==l.type){const t=n.nodeAt(l.pos);if(!t)continue;o.setNodeMarkup(o.mapping.map(e+1+l.pos),null,{...t.attrs,colwidth:l.colwidth})}else if("zero_sized"==l.type){const t=o.mapping.map(e);o.delete(t,t+n.nodeSize)}}let l,s;for(let t=0;t<i.length;t++)i[t]&&(null==l&&(l=t),s=t);for(let c=0,f=e+1;c<r.height;c++){const e=n.child(c),r=f+e.nodeSize,u=i[c];if(u>0){let n="cell";e.firstChild&&(n=e.firstChild.type.spec.tableRole);const i=[];for(let e=0;e<u;e++){const e=_(t.schema)[n].createAndFill();e&&i.push(e)}const a=0!=c&&l!=c-1||s!=c?r-1:f+1;o.insert(o.mapping.map(a),i)}f=r}return o.setMeta(P,{fixTables:!0})}(t,n,o,e))};return n?n.doc!=t.doc&&H(n.doc,t.doc,0,o):t.doc.descendants(o),e}function U(t){const n=t.selection,e=A(t),o=e.node(-1),r=e.start(-1),i=y.get(o);return{...n instanceof L?i.rectBetween(n.$anchorCell.pos-r,n.$headCell.pos-r):i.findCell(e.pos-r),tableStart:r,map:i,table:o}}function K(t,{map:n,tableStart:e,table:o},r){let i=r>0?-1:0;(function(t,n,e){const o=_(n.type.schema).header_cell;for(let r=0;r<t.height;r++)if(n.nodeAt(t.map[e+r*t.width]).type!=o)return!1;return!0})(n,o,r+i)&&(i=0==r||r==n.width?null:0);for(let l=0;l<n.height;l++){const s=l*n.width+r;if(r>0&&r<n.width&&n.map[s-1]==n.map[s]){const i=n.map[s],c=o.nodeAt(i);t.setNodeMarkup(t.mapping.map(e+i),null,W(c.attrs,r-n.colCount(i))),l+=c.attrs.rowspan-1}else{const c=null==i?_(o.type.schema).cell:o.nodeAt(n.map[s+i]).type,f=n.positionAt(l,r,o);t.insert(t.mapping.map(e+f),c.createAndFill())}}return t}function V(t,n){if(!k(t))return!1;if(n){const e=U(t);n(K(t.tr,e,e.left))}return!0}function q(t,n){if(!k(t))return!1;if(n){const e=U(t);n(K(t.tr,e,e.right))}return!0}function F(t,{map:n,table:e,tableStart:o},r){const i=t.mapping.maps.length;for(let l=0;l<n.height;){const s=l*n.width+r,c=n.map[s],f=e.nodeAt(c),u=f.attrs;if(r>0&&n.map[s-1]==c||r<n.width-1&&n.map[s+1]==c)t.setNodeMarkup(t.mapping.slice(i).map(o+c),null,x(u,r-n.colCount(c)));else{const n=t.mapping.slice(i).map(o+c);t.delete(n,n+f.nodeSize)}l+=u.rowspan}}function I(t,n){if(!k(t))return!1;if(n){const e=U(t),o=t.tr;if(0==e.left&&e.right==e.map.width)return!1;for(let t=e.right-1;F(o,e,t),t!=e.left;t--){const t=e.tableStart?o.doc.nodeAt(e.tableStart-1):o.doc;if(!t)throw new RangeError("No table found");e.table=t,e.map=y.get(t)}n(o)}return!0}function X(t,{map:n,tableStart:e,table:o},r){let i=e;for(let t=0;t<r;t++)i+=o.child(t).nodeSize;const l=[];let s=r>0?-1:0;(function(t,n,e){var o;const r=_(n.type.schema).header_cell;for(let i=0;i<t.width;i++)if((null===(o=n.nodeAt(t.map[i+e*t.width]))||void 0===o?void 0:o.type)!=r)return!1;return!0})(n,o,r+s)&&(s=0==r||r==n.height?null:0);for(let i=0,f=n.width*r;i<n.width;i++,f++)if(r>0&&r<n.height&&n.map[f]==n.map[f-n.width]){const r=n.map[f],l=o.nodeAt(r).attrs;t.setNodeMarkup(e+r,null,{...l,rowspan:l.rowspan+1}),i+=l.colspan-1}else{var c;const t=null==s?_(o.type.schema).cell:null===(c=o.nodeAt(n.map[f+s*n.width]))||void 0===c?void 0:c.type,e=null==t?void 0:t.createAndFill();e&&l.push(e)}return t.insert(i,_(o.type.schema).row.create(null,l)),t}function G(t,n){if(!k(t))return!1;if(n){const e=U(t);n(X(t.tr,e,e.top))}return!0}function Q(t,n){if(!k(t))return!1;if(n){const e=U(t);n(X(t.tr,e,e.bottom))}return!0}function Y(t,{map:n,table:e,tableStart:o},r){let i=0;for(let t=0;t<r;t++)i+=e.child(t).nodeSize;const l=i+e.child(r).nodeSize,s=t.mapping.maps.length;t.delete(i+o,l+o);const c=new Set;for(let i=0,l=r*n.width;i<n.width;i++,l++){const f=n.map[l];if(!c.has(f))if(c.add(f),r>0&&f==n.map[l-n.width]){const n=e.nodeAt(f).attrs;t.setNodeMarkup(t.mapping.slice(s).map(f+o),null,{...n,rowspan:n.rowspan-1}),i+=n.colspan-1}else if(r<n.height&&f==n.map[l+n.width]){const l=e.nodeAt(f),c=l.attrs,u=l.type.create({...c,rowspan:l.attrs.rowspan-1},l.content),a=n.positionAt(r+1,i,e);t.insert(t.mapping.slice(s).map(o+a),u),i+=c.colspan-1}}}function Z(t,n){if(!k(t))return!1;if(n){const e=U(t),o=t.tr;if(0==e.top&&e.bottom==e.map.height)return!1;for(let t=e.bottom-1;Y(o,e,t),t!=e.top;t--){const t=e.tableStart?o.doc.nodeAt(e.tableStart-1):o.doc;if(!t)throw new RangeError("No table found");e.table=t,e.map=y.get(e.table)}n(o)}return!0}function tt(t){const n=t.content;return 1==n.childCount&&n.child(0).isTextblock&&0==n.child(0).childCount}function nt(t,n){const e=t.selection;if(!(e instanceof L)||e.$anchorCell.pos==e.$headCell.pos)return!1;const o=U(t),{map:r}=o;if(function({width:t,height:n,map:e},o){let r=o.top*t+o.left,i=r,l=(o.bottom-1)*t+o.left,s=r+(o.right-o.left-1);for(let n=o.top;n<o.bottom;n++){if(o.left>0&&e[i]==e[i-1]||o.right<t&&e[s]==e[s+1])return!0;i+=t,s+=t}for(let i=o.left;i<o.right;i++){if(o.top>0&&e[r]==e[r-t]||o.bottom<n&&e[l]==e[l+t])return!0;r++,l++}return!1}(r,o))return!1;if(n){const e=t.tr,l={};let s,c,f=i.empty;for(let t=o.top;t<o.bottom;t++)for(let n=o.left;n<o.right;n++){const i=r.map[t*r.width+n],u=o.table.nodeAt(i);if(!l[i]&&u)if(l[i]=!0,null==s)s=i,c=u;else{tt(u)||(f=f.append(u.content));const t=e.mapping.map(i+o.tableStart);e.delete(t,t+u.nodeSize)}}if(null==s||null==c)return!0;if(e.setNodeMarkup(s+o.tableStart,null,{...W(c.attrs,c.attrs.colspan,o.right-o.left-c.attrs.colspan),rowspan:o.bottom-o.top}),f.size>0){const t=s+1+c.content.size,n=tt(c)?s+1:t;e.replaceWith(n+o.tableStart,t+o.tableStart,f)}e.setSelection(new L(e.doc.resolve(s+o.tableStart))),n(e)}return!0}function et(t,n){const e=_(t.schema);return(o=({node:t})=>e[t.type.spec.tableRole],(t,n)=>{const e=t.selection;let r,i;if(e instanceof L){if(e.$anchorCell.pos!=e.$headCell.pos)return!1;r=e.$anchorCell.nodeAfter,i=e.$anchorCell.pos}else{var l;if(r=function(t){for(let n=t.depth;n>0;n--){const e=t.node(n).type.spec.tableRole;if("cell"===e||"header_cell"===e)return t.node(n)}return null}(e.$from),!r)return!1;i=null===(l=z(e.$from))||void 0===l?void 0:l.pos}if(null==r||null==i)return!1;if(1==r.attrs.colspan&&1==r.attrs.rowspan)return!1;if(n){let l=r.attrs;const s=[],c=l.colwidth;l.rowspan>1&&(l={...l,rowspan:1}),l.colspan>1&&(l={...l,colspan:1});const f=U(t),u=t.tr;for(let t=0;t<f.right-f.left;t++)s.push(c?{...l,colwidth:c&&c[t]?[c[t]]:null}:l);let a;for(let t=f.top;t<f.bottom;t++){let n=f.map.positionAt(t,f.left,f.table);t==f.top&&(n+=r.nodeSize);for(let e=f.left,i=0;e<f.right;e++,i++)e==f.left&&t==f.top||u.insert(a=u.mapping.map(n+f.tableStart,1),o({node:r,row:t,col:e}).createAndFill(s[i]))}u.setNodeMarkup(i,o({node:r,row:f.top,col:f.left}),s[0]),e instanceof L&&u.setSelection(new L(u.doc.resolve(e.$anchorCell.pos),a?u.doc.resolve(a):void 0)),n(u)}return!0})(t,n);var o}function ot(t,n,e){const o=n.map.cellsInRect({left:0,top:0,right:"row"==t?n.map.width:1,bottom:"column"==t?n.map.height:1});for(let t=0;t<o.length;t++){const r=n.table.nodeAt(o[t]);if(r&&r.type!==e.header_cell)return!1}return!0}function rt(t,n){return(n=n||{useDeprecatedLogic:!1}).useDeprecatedLogic?function(t){return function(n,e){if(!k(n))return!1;if(e){const o=_(n.schema),r=U(n),i=n.tr,l=r.map.cellsInRect("column"==t?{left:r.left,top:0,right:r.right,bottom:r.map.height}:"row"==t?{left:0,top:r.top,right:r.map.width,bottom:r.bottom}:r),s=l.map((t=>r.table.nodeAt(t)));for(let t=0;t<l.length;t++)s[t].type==o.header_cell&&i.setNodeMarkup(r.tableStart+l[t],o.cell,s[t].attrs);if(0===i.steps.length)for(let t=0;t<l.length;t++)i.setNodeMarkup(r.tableStart+l[t],o.header_cell,s[t].attrs);e(i)}return!0}}(t):function(n,e){if(!k(n))return!1;if(e){const o=_(n.schema),r=U(n),i=n.tr,l=ot("row",r,o),s=ot("column",r,o),c=("column"===t?l:"row"===t&&s)?1:0,f="column"==t?{left:0,top:c,right:1,bottom:r.map.height}:"row"==t?{left:c,top:0,right:r.map.width,bottom:1}:r,u="column"==t?s?o.cell:o.header_cell:"row"==t?l?o.cell:o.header_cell:o.cell;r.map.cellsInRect(f).forEach((t=>{const n=t+r.tableStart,e=i.doc.nodeAt(n);e&&i.setNodeMarkup(n,u,e.attrs)})),e(i)}return!0}}const it=rt("row",{useDeprecatedLogic:!0});function lt(t,n){const e=t.selection.$anchor;for(let o=e.depth;o>0;o--)if("table"==e.node(o).type.spec.tableRole)return n&&n(t.tr.delete(e.before(o),e.after(o)).scrollIntoView()),!0;return!1}function st(t,n){const e=t.selection;if(!(e instanceof L))return!1;if(n){const o=t.tr,r=_(t.schema).cell.createAndFill().content;e.forEachCell(((t,n)=>{t.content.eq(r)||o.replace(o.mapping.map(n+1),o.mapping.map(n+t.nodeSize-1),new l(r,0,0))})),o.docChanged&&n(o)}return!0}function ct(t){if(0===t.size)return null;let{content:n,openStart:e,openEnd:o}=t;for(;1==n.childCount&&(e>0&&o>0||"table"==n.child(0).type.spec.tableRole);)e--,o--,n=n.child(0).content;const r=n.child(0),s=r.type.spec.tableRole,c=r.type.schema,f=[];if("row"==s)for(let t=0;t<n.childCount;t++){let r=n.child(t).content;const i=t?0:Math.max(0,e-1),s=t<n.childCount-1?0:Math.max(0,o-1);(i||s)&&(r=ft(_(c).row,new l(r,i,s)).content),f.push(r)}else{if("cell"!=s&&"header_cell"!=s)return null;f.push(e||o?ft(_(c).row,new l(n,e,o)).content:n)}return function(t,n){const e=[];for(let t=0;t<n.length;t++){const o=n[t];for(let n=o.childCount-1;n>=0;n--){const{rowspan:r,colspan:i}=o.child(n).attrs;for(let n=t;n<t+r;n++)e[n]=(e[n]||0)+i}}let o=0;for(let t=0;t<e.length;t++)o=Math.max(o,e[t]);for(let r=0;r<e.length;r++)if(r>=n.length&&n.push(i.empty),e[r]<o){const l=_(t).cell.createAndFill(),s=[];for(let t=e[r];t<o;t++)s.push(l);n[r]=n[r].append(i.from(s))}return{height:n.length,width:o,rows:n}}(c,f)}function ft(t,n){const e=t.createAndFill();return new c(e).replace(0,e.content.size,n).doc}function ut(t,n,e,o,r,i,l,s){if(0==l||l==n.height)return!1;let c=!1;for(let f=r;f<i;f++){const r=l*n.width+f,i=n.map[r];if(n.map[r-n.width]==i){c=!0;const r=e.nodeAt(i),{top:u,left:a}=n.findCell(i);t.setNodeMarkup(t.mapping.slice(s).map(i+o),null,{...r.attrs,rowspan:l-u}),t.insert(t.mapping.slice(s).map(n.positionAt(l,a,e)),r.type.createAndFill({...r.attrs,rowspan:u+r.attrs.rowspan-l})),f+=r.attrs.colspan-1}}return c}function at(t,n,e,o,r,i,l,s){if(0==l||l==n.width)return!1;let c=!1;for(let f=r;f<i;f++){const r=f*n.width+l,i=n.map[r];if(n.map[r-1]==i){c=!0;const r=e.nodeAt(i),u=n.colCount(i),a=t.mapping.slice(s).map(i+o);t.setNodeMarkup(a,null,x(r.attrs,l-u,r.attrs.colspan-(l-u))),t.insert(a+r.nodeSize,r.type.createAndFill(x(r.attrs,0,l-u))),f+=r.attrs.rowspan-1}}return c}function ht(t,n,e,o,r){let s=e?t.doc.nodeAt(e-1):t.doc;if(!s)throw new Error("No table found");let c=y.get(s);const{top:f,left:u}=o,a=u+r.width,h=f+r.height,w=t.tr;let d=0;function p(){if(s=e?w.doc.nodeAt(e-1):w.doc,!s)throw new Error("No table found");c=y.get(s),d=w.mapping.maps.length}(function(t,n,e,o,r,l,s){const c=_(t.doc.type.schema);let f,u;if(r>n.width)for(let i=0,l=0;i<n.height;i++){const a=e.child(i);l+=a.nodeSize;const h=[];let w;w=null==a.lastChild||a.lastChild.type==c.cell?f||(f=c.cell.createAndFill()):u||(u=c.header_cell.createAndFill());for(let t=n.width;t<r;t++)h.push(w);t.insert(t.mapping.slice(s).map(l-1+o),h)}if(l>n.height){const a=[];for(let t=0,o=(n.height-1)*n.width;t<Math.max(n.width,r);t++){const r=!(t>=n.width)&&e.nodeAt(n.map[o+t]).type==c.header_cell;a.push(r?u||(u=c.header_cell.createAndFill()):f||(f=c.cell.createAndFill()))}const h=c.row.create(null,i.from(a)),w=[];for(let t=n.height;t<l;t++)w.push(h);t.insert(t.mapping.slice(s).map(o+e.nodeSize-2),w)}return!(!f&&!u)})(w,c,s,e,a,h,d)&&p(),ut(w,c,s,e,u,a,f,d)&&p(),ut(w,c,s,e,u,a,h,d)&&p(),at(w,c,s,e,f,h,u,d)&&p(),at(w,c,s,e,f,h,a,d)&&p();for(let t=f;t<h;t++){const n=c.positionAt(t,u,s),o=c.positionAt(t,a,s);w.replace(w.mapping.slice(d).map(n+e),w.mapping.slice(d).map(o+e),new l(r.rows[t-f],0,0))}p(),w.setSelection(new L(w.doc.resolve(e+c.positionAt(f,u,s)),w.doc.resolve(e+c.positionAt(h-1,a-1,s)))),n(w)}rt("column",{useDeprecatedLogic:!0}),rt("cell",{useDeprecatedLogic:!0});const wt=b({ArrowLeft:pt("horiz",-1),ArrowRight:pt("horiz",1),ArrowUp:pt("vert",-1),ArrowDown:pt("vert",1),"Shift-ArrowLeft":mt("horiz",-1),"Shift-ArrowRight":mt("horiz",1),"Shift-ArrowUp":mt("vert",-1),"Shift-ArrowDown":mt("vert",1),Backspace:st,"Mod-Backspace":st,Delete:st,"Mod-Delete":st});function dt(t,n,e){return!e.eq(t.selection)&&(n&&n(t.tr.setSelection(e).scrollIntoView()),!0)}function pt(t,n){return(o,r,i)=>{if(!i)return!1;const l=o.selection;if(l instanceof L)return dt(o,r,e.near(l.$headCell,n));if("horiz"!=t&&!l.empty)return!1;const s=Mt(i,t,n);if(null==s)return!1;if("horiz"==t)return dt(o,r,e.near(o.doc.resolve(l.head+n),n));{const i=o.doc.resolve(s),l=T(i,t,n);let c;return c=l?e.near(l,1):n<0?e.near(o.doc.resolve(i.before(-1)),-1):e.near(o.doc.resolve(i.after(-1)),1),dt(o,r,c)}}}function mt(t,n){return(e,o,r)=>{if(!r)return!1;const i=e.selection;let l;if(i instanceof L)l=i;else{const o=Mt(r,t,n);if(null==o)return!1;l=new L(e.doc.resolve(o))}const s=T(l.$headCell,t,n);return!!s&&dt(e,o,new L(l.$anchorCell,s))}}function gt(t,n){const e=z(t.state.doc.resolve(n));return!!e&&(t.dispatch(t.state.tr.setSelection(new L(e))),!0)}function bt(t,n,e){if(!k(t.state))return!1;let o=ct(e);const r=t.state.selection;if(r instanceof L){o||(o={width:1,height:1,rows:[i.from(ft(_(t.state.schema).cell,e))]});const n=r.$anchorCell.node(-1),l=r.$anchorCell.start(-1),s=y.get(n).rectBetween(r.$anchorCell.pos-l,r.$headCell.pos-l);return o=function({width:t,height:n,rows:e},o,r){if(t!=o){const n=[],r=[];for(let t=0;t<e.length;t++){const l=e[t],s=[];for(let e=n[t]||0,r=0;e<o;r++){let i=l.child(r%l.childCount);e+i.attrs.colspan>o&&(i=i.type.createChecked(x(i.attrs,i.attrs.colspan,e+i.attrs.colspan-o),i.content)),s.push(i),e+=i.attrs.colspan;for(let e=1;e<i.attrs.rowspan;e++)n[t+e]=(n[t+e]||0)+i.attrs.colspan}r.push(i.from(s))}e=r,t=o}if(n!=r){const t=[];for(let o=0,l=0;o<r;o++,l++){const s=[],c=e[l%n];for(let t=0;t<c.childCount;t++){let n=c.child(t);o+n.attrs.rowspan>r&&(n=n.type.create({...n.attrs,rowspan:Math.max(1,r-n.attrs.rowspan)},n.content)),s.push(n)}t.push(i.from(s))}e=t,n=r}return{width:t,height:n,rows:e}}(o,s.right-s.left,s.bottom-s.top),ht(t.state,t.dispatch,l,s,o),!0}if(o){const n=A(t.state),e=n.start(-1);return ht(t.state,t.dispatch,e,y.get(n.node(-1)).findCell(n.pos-e),o),!0}return!1}function vt(t,n){var e;if(0!=n.button)return;if(n.ctrlKey||n.metaKey)return;const o=yt(t,n.target);let r;if(n.shiftKey&&t.state.selection instanceof L)i(t.state.selection.$anchorCell,n),n.preventDefault();else if(n.shiftKey&&o&&null!=(r=z(t.state.selection.$anchor))&&(null===(e=Dt(t,n))||void 0===e?void 0:e.pos)!=r.pos)i(r,n),n.preventDefault();else if(!o)return;function i(n,e){let o=Dt(t,e);const r=null==N.getState(t.state);if(!o||!O(n,o)){if(!r)return;o=n}const i=new L(n,o);if(r||!t.state.selection.eq(i)){const e=t.state.tr.setSelection(i);r&&e.setMeta(N,n.pos),t.dispatch(e)}}function l(){t.root.removeEventListener("mouseup",l),t.root.removeEventListener("dragstart",l),t.root.removeEventListener("mousemove",s),null!=N.getState(t.state)&&t.dispatch(t.state.tr.setMeta(N,-1))}function s(e){const r=e,s=N.getState(t.state);let c;if(null!=s)c=t.state.doc.resolve(s);else if(yt(t,r.target)!=o&&(c=Dt(t,n),!c))return l();c&&i(c,r)}t.root.addEventListener("mouseup",l),t.root.addEventListener("dragstart",l),t.root.addEventListener("mousemove",s)}function Mt(t,n,e){if(!(t.state.selection instanceof r))return null;const{$head:o}=t.state.selection;for(let r=o.depth-1;r>=0;r--){const i=o.node(r);if((e<0?o.index(r):o.indexAfter(r))!=(e<0?0:i.childCount))return null;if("cell"==i.type.spec.tableRole||"header_cell"==i.type.spec.tableRole){const i=o.before(r),l="vert"==n?e>0?"down":"up":e>0?"right":"left";return t.endOfTextblock(l)?i:null}}return null}function yt(t,n){for(;n&&n!=t.dom;n=n.parentNode)if("TD"==n.nodeName||"TH"==n.nodeName)return n;return null}function Dt(t,n){const e=t.posAtCoords({left:n.clientX,top:n.clientY});if(!e)return null;let{inside:o,pos:r}=e;return o>=0&&z(t.state.doc.resolve(o))||z(t.state.doc.resolve(r))}var St=class{constructor(t,n){this.node=t,this.defaultCellMinWidth=n,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${n}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),$t(t,this.colgroup,this.table,n),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type==this.node.type&&(this.node=t,$t(t,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(t){return"attributes"==t.type&&(t.target==this.table||this.colgroup.contains(t.target))}};function $t(t,n,e,o,r,i){let l=0,s=!0,c=n.firstChild;const f=t.firstChild;if(f){for(let t=0,e=0;t<f.childCount;t++){const{colspan:u,colwidth:a}=f.child(t).attrs;for(let t=0;t<u;t++,e++){const f=r==e?i:a&&a[t],u=f?f+"px":"";if(l+=f||o,f||(s=!1),c)c.style.width!=u&&(c.style.width=u),c=c.nextSibling;else{const t=document.createElement("col");t.style.width=u,n.appendChild(t)}}}for(;c;){var u;const t=c.nextSibling;null===(u=c.parentNode)||void 0===u||u.removeChild(c),c=t}s?(e.style.width=l+"px",e.style.minWidth=""):(e.style.width="",e.style.minWidth=l+"px")}}const Et=new n("tableColumnResizing");function Rt({handleWidth:n=5,cellMinWidth:e=25,defaultCellMinWidth:o=100,View:r=St,lastColumnResizable:i=!0}={}){const l=new t({key:Et,state:{init(t,n){var e;const i=null===(e=l.spec)||void 0===e||null===(e=e.props)||void 0===e?void 0:e.nodeViews,s=_(n.schema).table.name;return r&&i&&(i[s]=(t,n)=>new r(t,o,n)),new _t(-1,!1)},apply:(t,n)=>n.apply(t)},props:{attributes:t=>{const n=Et.getState(t);return n&&n.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(t,e)=>{!function(t,n,e,o){if(!t.editable)return;const r=Et.getState(t.state);if(!r)return;if(!r.dragging){const i=function(t){for(;t&&"TD"!=t.nodeName&&"TH"!=t.nodeName;)t=t.classList&&t.classList.contains("ProseMirror")?null:t.parentNode;return t}(n.target);let l=-1;if(i){const{left:o,right:r}=i.getBoundingClientRect();n.clientX-o<=e?l=Nt(t,n,"left",e):r-n.clientX<=e&&(l=Nt(t,n,"right",e))}if(l!=r.activeHandle){if(!o&&-1!==l){const n=t.state.doc.resolve(l),e=n.node(-1),o=y.get(e),r=n.start(-1);if(o.colCount(n.pos-r)+n.nodeAfter.attrs.colspan-1==o.width-1)return}kt(t,l)}}}(t,e,n,i)},mouseleave:t=>{!function(t){if(!t.editable)return;const n=Et.getState(t.state);n&&n.activeHandle>-1&&!n.dragging&&kt(t,-1)}(t)},mousedown:(t,n)=>{!function(t,n,e,o){var r;if(!t.editable)return!1;const i=null!==(r=t.dom.ownerDocument.defaultView)&&void 0!==r?r:window,l=Et.getState(t.state);if(!l||-1==l.activeHandle||l.dragging)return!1;const s=t.state.doc.nodeAt(l.activeHandle),c=function(t,n,{colspan:e,colwidth:o}){const r=o&&o[o.length-1];if(r)return r;const i=t.domAtPos(n);let l=i.node.childNodes[i.offset].offsetWidth,s=e;if(o)for(let t=0;t<e;t++)o[t]&&(l-=o[t],s--);return l/s}(t,l.activeHandle,s.attrs);function f(n){i.removeEventListener("mouseup",f),i.removeEventListener("mousemove",u);const o=Et.getState(t.state);(null==o?void 0:o.dragging)&&(!function(t,n,e){const o=t.state.doc.resolve(n),r=o.node(-1),i=y.get(r),l=o.start(-1),s=i.colCount(o.pos-l)+o.nodeAfter.attrs.colspan-1,c=t.state.tr;for(let t=0;t<i.height;t++){const n=t*i.width+s;if(t&&i.map[n]==i.map[n-i.width])continue;const o=i.map[n],f=r.nodeAt(o).attrs,u=1==f.colspan?0:s-i.colCount(o);if(f.colwidth&&f.colwidth[u]==e)continue;const a=f.colwidth?f.colwidth.slice():Ct(f.colspan);a[u]=e,c.setNodeMarkup(l+o,null,{...f,colwidth:a})}c.docChanged&&t.dispatch(c)}(t,o.activeHandle,zt(o.dragging,n,e)),t.dispatch(t.state.tr.setMeta(Et,{setDragging:null})))}function u(n){if(!n.which)return f(n);const r=Et.getState(t.state);if(r&&r.dragging){const i=zt(r.dragging,n,e);At(t,r.activeHandle,i,o)}}t.dispatch(t.state.tr.setMeta(Et,{setDragging:{startX:n.clientX,startWidth:c}})),At(t,l.activeHandle,c,o),i.addEventListener("mouseup",f),i.addEventListener("mousemove",u),n.preventDefault()}(t,n,e,o)}},decorations:t=>{const n=Et.getState(t);if(n&&n.activeHandle>-1)return function(t,n){const e=[],o=t.doc.resolve(n),r=o.node(-1);if(!r)return f.empty;const i=y.get(r),l=o.start(-1),s=i.colCount(o.pos-l)+o.nodeAfter.attrs.colspan-1;for(let n=0;n<i.height;n++){const o=s+n*i.width;if(!(s!=i.width-1&&i.map[o]==i.map[o+1]||0!=n&&i.map[o]==i.map[o-i.width])){var c;const n=i.map[o],s=l+n+r.nodeAt(n).nodeSize-1,f=document.createElement("div");f.className="column-resize-handle",(null===(c=Et.getState(t))||void 0===c?void 0:c.dragging)&&e.push(u.node(l+n,l+n+r.nodeAt(n).nodeSize,{class:"column-resize-dragging"})),e.push(u.widget(s,f))}}return f.create(t.doc,e)}(t,n.activeHandle)},nodeViews:{}}});return l}var _t=class t{constructor(t,n){this.activeHandle=t,this.dragging=n}apply(n){const e=this,o=n.getMeta(Et);if(o&&null!=o.setHandle)return new t(o.setHandle,!1);if(o&&void 0!==o.setDragging)return new t(e.activeHandle,o.setDragging);if(e.activeHandle>-1&&n.docChanged){let o=n.mapping.map(e.activeHandle,-1);return C(n.doc.resolve(o))||(o=-1),new t(o,e.dragging)}return e}};function Nt(t,n,e,o){const r="right"==e?-o:o,i=t.posAtCoords({left:n.clientX+r,top:n.clientY});if(!i)return-1;const{pos:l}=i,s=z(t.state.doc.resolve(l));if(!s)return-1;if("right"==e)return s.pos;const c=y.get(s.node(-1)),f=s.start(-1),u=c.map.indexOf(s.pos-f);return u%c.width==0?-1:f+c.map[u-1]}function zt(t,n,e){const o=n.clientX-t.startX;return Math.max(e,t.startWidth+o)}function kt(t,n){t.dispatch(t.state.tr.setMeta(Et,{setHandle:n}))}function At(t,n,e,o){const r=t.state.doc.resolve(n),i=r.node(-1),l=r.start(-1),s=y.get(i).colCount(r.pos-l)+r.nodeAfter.attrs.colspan-1;let c=t.domAtPos(r.start(-1)).node;for(;c&&"TABLE"!=c.nodeName;)c=c.parentNode;c&&$t(i,c.firstChild,c,o,s,e)}function Ct(t){return Array(t).fill(0)}function Ot({allowTableNodeSelection:n=!1}={}){return new t({key:N,state:{init:()=>null,apply(t,n){const e=t.getMeta(N);if(null!=e)return-1==e?null:e;if(null==n||!t.docChanged)return n;const{deleted:o,pos:r}=t.mapping.mapResult(n);return o?null:r}},props:{decorations:j,handleDOMEvents:{mousedown:vt},createSelectionBetween:t=>null!=N.getState(t.state)?t.state.selection:null,handleTripleClick:gt,handleKeyDown:wt,handlePaste:bt},appendTransaction:(t,e,o)=>function(t,n,e){const o=(n||t).selection,i=(n||t).doc;let l,c;if(o instanceof s&&(c=o.node.type.spec.tableRole)){if("cell"==c||"header_cell"==c)l=L.create(i,o.from);else if("row"==c){const t=i.resolve(o.from+1);l=L.rowSelection(t,t)}else if(!e){const t=y.get(o.node),n=o.from+1,e=n+t.map[t.width*t.height-1];l=L.create(i,n+1,e)}}else o instanceof r&&function({$from:t,$to:n}){if(t.pos==n.pos||t.pos<n.pos-6)return!1;let e=t.pos,o=n.pos,r=t.depth;for(;r>=0&&!(t.after(r+1)<t.end(r));r--,e++);for(let t=n.depth;t>=0&&!(n.before(t+1)>n.start(t));t--,o--);return e==o&&/row|table/.test(t.node(r).type.spec.tableRole)}(o)?l=r.create(i,o.from):o instanceof r&&function({$from:t,$to:n}){let e,o;for(let n=t.depth;n>0;n--){const o=t.node(n);if("cell"===o.type.spec.tableRole||"header_cell"===o.type.spec.tableRole){e=o;break}}for(let t=n.depth;t>0;t--){const e=n.node(t);if("cell"===e.type.spec.tableRole||"header_cell"===e.type.spec.tableRole){o=e;break}}return e!==o&&0===n.parentOffset}(o)&&(l=r.create(i,o.$from.start(),o.$from.end()));return l&&(n||(n=t.tr)).setSelection(l),n}(o,J(o,e),n)})}export{St as T,R as a,b,Rt as c,lt as d,it as e,I as f,Z as g,q as h,V as i,Q as j,g as k,G as l,nt as m,et as s,Ot as t};