@bgx4k3p/huly-mcp-server 2.2.4 → 2.2.5

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 (696) hide show
  1. package/README.md +186 -56
  2. package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js +249 -0
  3. package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js.map +7 -0
  4. package/node_modules/@hcengineering/account-client/lib/client.js +88 -3
  5. package/node_modules/@hcengineering/account-client/lib/client.js.map +2 -2
  6. package/node_modules/@hcengineering/account-client/lib/types.js.map +2 -2
  7. package/node_modules/@hcengineering/account-client/lib/utils.js +50 -0
  8. package/node_modules/@hcengineering/account-client/lib/utils.js.map +2 -2
  9. package/node_modules/@hcengineering/account-client/package.json +22 -19
  10. package/node_modules/@hcengineering/account-client/src/__tests__/utils.test.ts +304 -0
  11. package/node_modules/@hcengineering/account-client/src/client.ts +127 -6
  12. package/node_modules/@hcengineering/account-client/src/types.ts +7 -0
  13. package/node_modules/@hcengineering/account-client/src/utils.ts +65 -1
  14. package/node_modules/@hcengineering/analytics/lib/index.js +1 -1
  15. package/node_modules/@hcengineering/analytics/lib/index.js.map +2 -2
  16. package/node_modules/@hcengineering/analytics/package.json +19 -16
  17. package/node_modules/@hcengineering/analytics/src/index.ts +2 -1
  18. package/node_modules/@hcengineering/api-client/lib/client.js +9 -4
  19. package/node_modules/@hcengineering/api-client/lib/client.js.map +2 -2
  20. package/node_modules/@hcengineering/api-client/lib/rest/adapter.js +64 -0
  21. package/node_modules/@hcengineering/api-client/lib/rest/adapter.js.map +7 -0
  22. package/node_modules/@hcengineering/api-client/lib/rest/index.js +2 -0
  23. package/node_modules/@hcengineering/api-client/lib/rest/index.js.map +2 -2
  24. package/node_modules/@hcengineering/api-client/lib/socket/node.js +5 -1
  25. package/node_modules/@hcengineering/api-client/lib/socket/node.js.map +2 -2
  26. package/node_modules/@hcengineering/api-client/package.json +28 -25
  27. package/node_modules/@hcengineering/api-client/src/client.ts +10 -1
  28. package/node_modules/@hcengineering/api-client/src/rest/adapter.ts +96 -0
  29. package/node_modules/@hcengineering/api-client/src/rest/index.ts +1 -0
  30. package/node_modules/@hcengineering/api-client/src/socket/node.ts +6 -1
  31. package/node_modules/@hcengineering/chunter/lib/index.js.map +2 -2
  32. package/node_modules/@hcengineering/chunter/package.json +13 -10
  33. package/node_modules/@hcengineering/client/package.json +21 -18
  34. package/node_modules/@hcengineering/client-resources/package.json +24 -21
  35. package/node_modules/@hcengineering/collaborator-client/package.json +21 -18
  36. package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js +38 -0
  37. package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js.map +7 -0
  38. package/node_modules/@hcengineering/contact/lib/index.js +13 -4
  39. package/node_modules/@hcengineering/contact/lib/index.js.map +2 -2
  40. package/node_modules/@hcengineering/contact/lib/types.js.map +1 -1
  41. package/node_modules/@hcengineering/contact/lib/utils.js +132 -108
  42. package/node_modules/@hcengineering/contact/lib/utils.js.map +3 -3
  43. package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js +79 -0
  44. package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js.map +7 -0
  45. package/node_modules/@hcengineering/contact/package.json +12 -9
  46. package/node_modules/@hcengineering/core/CHANGELOG.md +9 -1
  47. package/node_modules/@hcengineering/core/lang/cs.json +6 -1
  48. package/node_modules/@hcengineering/core/lang/de.json +6 -1
  49. package/node_modules/@hcengineering/core/lang/en.json +6 -1
  50. package/node_modules/@hcengineering/core/lang/es.json +6 -1
  51. package/node_modules/@hcengineering/core/lang/fr.json +6 -1
  52. package/node_modules/@hcengineering/core/lang/it.json +6 -1
  53. package/node_modules/@hcengineering/core/lang/ja.json +6 -1
  54. package/node_modules/@hcengineering/core/lang/pt-br.json +70 -0
  55. package/node_modules/@hcengineering/core/lang/pt.json +6 -1
  56. package/node_modules/@hcengineering/core/lang/ru.json +6 -1
  57. package/node_modules/@hcengineering/core/lang/tr.json +6 -1
  58. package/node_modules/@hcengineering/core/lang/zh.json +6 -1
  59. package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js +13 -0
  60. package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js.map +7 -0
  61. package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js +133 -0
  62. package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js.map +2 -2
  63. package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js +25 -0
  64. package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js.map +2 -2
  65. package/node_modules/@hcengineering/core/lib/__tests__/query.test.js +43 -0
  66. package/node_modules/@hcengineering/core/lib/__tests__/query.test.js.map +7 -0
  67. package/node_modules/@hcengineering/core/lib/autoJoinRoles.js +36 -0
  68. package/node_modules/@hcengineering/core/lib/autoJoinRoles.js.map +7 -0
  69. package/node_modules/@hcengineering/core/lib/classes.js +5 -0
  70. package/node_modules/@hcengineering/core/lib/classes.js.map +3 -3
  71. package/node_modules/@hcengineering/core/lib/clone.js +13 -2
  72. package/node_modules/@hcengineering/core/lib/clone.js.map +2 -2
  73. package/node_modules/@hcengineering/core/lib/component.js +14 -3
  74. package/node_modules/@hcengineering/core/lib/component.js.map +2 -2
  75. package/node_modules/@hcengineering/core/lib/index.js +2 -0
  76. package/node_modules/@hcengineering/core/lib/index.js.map +2 -2
  77. package/node_modules/@hcengineering/core/lib/memdb.js +6 -2
  78. package/node_modules/@hcengineering/core/lib/memdb.js.map +2 -2
  79. package/node_modules/@hcengineering/core/lib/operations.js +11 -0
  80. package/node_modules/@hcengineering/core/lib/operations.js.map +2 -2
  81. package/node_modules/@hcengineering/core/lib/predicate.js +3 -0
  82. package/node_modules/@hcengineering/core/lib/predicate.js.map +2 -2
  83. package/node_modules/@hcengineering/core/lib/storage.js.map +2 -2
  84. package/node_modules/@hcengineering/core/lib/tx.js +3 -1
  85. package/node_modules/@hcengineering/core/lib/tx.js.map +2 -2
  86. package/node_modules/@hcengineering/core/lib/utils.js +1 -1
  87. package/node_modules/@hcengineering/core/lib/utils.js.map +2 -2
  88. package/node_modules/@hcengineering/core/lib/versioning.js +17 -0
  89. package/node_modules/@hcengineering/core/lib/versioning.js.map +7 -0
  90. package/node_modules/@hcengineering/core/package.json +22 -19
  91. package/node_modules/@hcengineering/core/src/__tests__/autoJoinRoles.test.ts +27 -0
  92. package/node_modules/@hcengineering/core/src/__tests__/memdb.test.ts +150 -1
  93. package/node_modules/@hcengineering/core/src/__tests__/minmodel.ts +29 -1
  94. package/node_modules/@hcengineering/core/src/__tests__/query.test.ts +66 -0
  95. package/node_modules/@hcengineering/core/src/autoJoinRoles.ts +33 -0
  96. package/node_modules/@hcengineering/core/src/classes.ts +61 -1
  97. package/node_modules/@hcengineering/core/src/clone.ts +13 -2
  98. package/node_modules/@hcengineering/core/src/component.ts +25 -9
  99. package/node_modules/@hcengineering/core/src/index.ts +2 -0
  100. package/node_modules/@hcengineering/core/src/memdb.ts +7 -3
  101. package/node_modules/@hcengineering/core/src/operations.ts +11 -0
  102. package/node_modules/@hcengineering/core/src/predicate.ts +3 -0
  103. package/node_modules/@hcengineering/core/src/storage.ts +6 -3
  104. package/node_modules/@hcengineering/core/src/tx.ts +4 -1
  105. package/node_modules/@hcengineering/core/src/utils.ts +1 -1
  106. package/node_modules/@hcengineering/core/src/versioning.ts +13 -0
  107. package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js +3 -3
  108. package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js.map +2 -2
  109. package/node_modules/@hcengineering/measurements/package.json +17 -14
  110. package/node_modules/@hcengineering/measurements/src/__tests__/performance.test.ts +3 -3
  111. package/node_modules/@hcengineering/platform/lang/pt-br.json +31 -0
  112. package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js +100 -0
  113. package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js.map +2 -2
  114. package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js +78 -0
  115. package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js.map +7 -0
  116. package/node_modules/@hcengineering/platform/lib/i18n.js +78 -69
  117. package/node_modules/@hcengineering/platform/lib/i18n.js.map +3 -3
  118. package/node_modules/@hcengineering/platform/lib/status.js +25 -0
  119. package/node_modules/@hcengineering/platform/lib/status.js.map +2 -2
  120. package/node_modules/@hcengineering/platform/package.json +18 -15
  121. package/node_modules/@hcengineering/platform/src/__tests__/i18n.test.ts +114 -2
  122. package/node_modules/@hcengineering/platform/src/__tests__/status.test.ts +77 -0
  123. package/node_modules/@hcengineering/platform/src/i18n.ts +99 -71
  124. package/node_modules/@hcengineering/platform/src/status.ts +30 -0
  125. package/node_modules/@hcengineering/rank/package.json +19 -16
  126. package/node_modules/@hcengineering/rpc/package.json +21 -18
  127. package/node_modules/@hcengineering/tags/package.json +12 -9
  128. package/node_modules/@hcengineering/task/package.json +14 -11
  129. package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js +25 -0
  130. package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js.map +2 -2
  131. package/node_modules/@hcengineering/text/lib/tiptapExtensions.js +6 -0
  132. package/node_modules/@hcengineering/text/lib/tiptapExtensions.js.map +2 -2
  133. package/node_modules/@hcengineering/text/package.json +23 -18
  134. package/node_modules/@hcengineering/text/src/markup/__tests__/utils.test.ts +27 -0
  135. package/node_modules/@hcengineering/text/src/tiptapExtensions.ts +3 -0
  136. package/node_modules/@hcengineering/text-core/lib/markup/model.js +1 -0
  137. package/node_modules/@hcengineering/text-core/lib/markup/model.js.map +2 -2
  138. package/node_modules/@hcengineering/text-core/package.json +20 -17
  139. package/node_modules/@hcengineering/text-core/src/markup/model.ts +2 -1
  140. package/node_modules/@hcengineering/text-html/package.json +19 -16
  141. package/node_modules/@hcengineering/text-markdown/lib/serializer.js +14 -0
  142. package/node_modules/@hcengineering/text-markdown/lib/serializer.js.map +2 -2
  143. package/node_modules/@hcengineering/text-markdown/package.json +20 -17
  144. package/node_modules/@hcengineering/text-markdown/src/serializer.ts +14 -0
  145. package/node_modules/@hcengineering/tracker/lib/index.js +1 -0
  146. package/node_modules/@hcengineering/tracker/lib/index.js.map +2 -2
  147. package/node_modules/@hcengineering/tracker/package.json +16 -13
  148. package/node_modules/@tiptap/core/dist/commands/focus.d.ts.map +1 -1
  149. package/node_modules/@tiptap/core/dist/index.cjs +19 -2
  150. package/node_modules/@tiptap/core/dist/index.cjs.map +1 -1
  151. package/node_modules/@tiptap/core/dist/index.js +19 -3
  152. package/node_modules/@tiptap/core/dist/index.js.map +1 -1
  153. package/node_modules/@tiptap/core/dist/index.umd.js +19 -2
  154. package/node_modules/@tiptap/core/dist/index.umd.js.map +1 -1
  155. package/node_modules/@tiptap/core/dist/utilities/index.d.ts +1 -0
  156. package/node_modules/@tiptap/core/dist/utilities/index.d.ts.map +1 -1
  157. package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts +10 -0
  158. package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts.map +1 -0
  159. package/node_modules/@tiptap/core/package.json +2 -2
  160. package/node_modules/@tiptap/core/src/commands/focus.ts +7 -2
  161. package/node_modules/@tiptap/core/src/utilities/index.ts +1 -0
  162. package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
  163. package/node_modules/@tiptap/extension-blockquote/package.json +2 -2
  164. package/node_modules/@tiptap/extension-bold/package.json +2 -2
  165. package/node_modules/@tiptap/extension-bullet-list/package.json +2 -2
  166. package/node_modules/@tiptap/extension-code/package.json +2 -2
  167. package/node_modules/@tiptap/extension-code-block/package.json +3 -3
  168. package/node_modules/@tiptap/extension-document/package.json +2 -2
  169. package/node_modules/@tiptap/extension-dropcursor/package.json +3 -3
  170. package/node_modules/@tiptap/extension-gapcursor/package.json +3 -3
  171. package/node_modules/@tiptap/extension-hard-break/package.json +2 -2
  172. package/node_modules/@tiptap/extension-heading/package.json +2 -2
  173. package/node_modules/@tiptap/extension-highlight/package.json +2 -2
  174. package/node_modules/@tiptap/extension-history/package.json +3 -3
  175. package/node_modules/@tiptap/extension-horizontal-rule/package.json +3 -3
  176. package/node_modules/@tiptap/extension-italic/package.json +2 -2
  177. package/node_modules/@tiptap/extension-link/package.json +3 -3
  178. package/node_modules/@tiptap/extension-list-item/package.json +2 -2
  179. package/node_modules/@tiptap/extension-mention/package.json +4 -4
  180. package/node_modules/@tiptap/extension-ordered-list/package.json +2 -2
  181. package/node_modules/@tiptap/extension-paragraph/package.json +2 -2
  182. package/node_modules/@tiptap/extension-strike/package.json +2 -2
  183. package/node_modules/@tiptap/extension-subscript/README.md +14 -0
  184. package/node_modules/@tiptap/extension-subscript/dist/index.cjs +61 -0
  185. package/node_modules/@tiptap/extension-subscript/dist/index.cjs.map +1 -0
  186. package/node_modules/@tiptap/extension-subscript/dist/index.d.ts +4 -0
  187. package/node_modules/@tiptap/extension-subscript/dist/index.d.ts.map +1 -0
  188. package/node_modules/@tiptap/extension-subscript/dist/index.js +56 -0
  189. package/node_modules/@tiptap/extension-subscript/dist/index.js.map +1 -0
  190. package/node_modules/@tiptap/extension-subscript/dist/index.umd.js +65 -0
  191. package/node_modules/@tiptap/extension-subscript/dist/index.umd.js.map +1 -0
  192. package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts +36 -0
  193. package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts.map +1 -0
  194. package/node_modules/@tiptap/extension-subscript/package.json +49 -0
  195. package/node_modules/@tiptap/extension-subscript/src/index.ts +5 -0
  196. package/node_modules/@tiptap/extension-subscript/src/subscript.ts +91 -0
  197. package/node_modules/@tiptap/extension-superscript/README.md +14 -0
  198. package/node_modules/@tiptap/extension-superscript/dist/index.cjs +61 -0
  199. package/node_modules/@tiptap/extension-superscript/dist/index.cjs.map +1 -0
  200. package/node_modules/@tiptap/extension-superscript/dist/index.d.ts +4 -0
  201. package/node_modules/@tiptap/extension-superscript/dist/index.d.ts.map +1 -0
  202. package/node_modules/@tiptap/extension-superscript/dist/index.js +56 -0
  203. package/node_modules/@tiptap/extension-superscript/dist/index.js.map +1 -0
  204. package/node_modules/@tiptap/extension-superscript/dist/index.umd.js +65 -0
  205. package/node_modules/@tiptap/extension-superscript/dist/index.umd.js.map +1 -0
  206. package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts +36 -0
  207. package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts.map +1 -0
  208. package/node_modules/@tiptap/extension-superscript/package.json +49 -0
  209. package/node_modules/@tiptap/extension-superscript/src/index.ts +5 -0
  210. package/node_modules/@tiptap/extension-superscript/src/superscript.ts +91 -0
  211. package/node_modules/@tiptap/extension-table/package.json +3 -3
  212. package/node_modules/@tiptap/extension-table-cell/package.json +2 -2
  213. package/node_modules/@tiptap/extension-table-header/package.json +2 -2
  214. package/node_modules/@tiptap/extension-table-row/package.json +2 -2
  215. package/node_modules/@tiptap/extension-task-item/package.json +3 -3
  216. package/node_modules/@tiptap/extension-task-list/package.json +2 -2
  217. package/node_modules/@tiptap/extension-text/package.json +2 -2
  218. package/node_modules/@tiptap/extension-typography/package.json +2 -2
  219. package/node_modules/@tiptap/extension-underline/package.json +2 -2
  220. package/node_modules/@tiptap/html/package.json +3 -3
  221. package/node_modules/@tiptap/pm/package.json +1 -1
  222. package/node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-text-style/package.json +2 -2
  223. package/node_modules/@tiptap/starter-kit/package.json +22 -22
  224. package/node_modules/@tiptap/suggestion/package.json +3 -3
  225. package/node_modules/linkify-it/build/index.cjs.js +99 -94
  226. package/node_modules/linkify-it/index.mjs +99 -94
  227. package/node_modules/linkify-it/package.json +11 -1
  228. package/node_modules/linkifyjs/README.md +4 -2
  229. package/node_modules/linkifyjs/dist/linkify.cjs +8 -11
  230. package/node_modules/linkifyjs/dist/linkify.d.cts +14 -14
  231. package/node_modules/linkifyjs/dist/linkify.d.mts +14 -14
  232. package/node_modules/linkifyjs/dist/linkify.js +8 -11
  233. package/node_modules/linkifyjs/dist/linkify.min.js +1 -1
  234. package/node_modules/linkifyjs/dist/linkify.mjs +8 -11
  235. package/node_modules/linkifyjs/package.json +1 -1
  236. package/node_modules/markdown-it/README.md +13 -17
  237. package/node_modules/markdown-it/dist/index.cjs.js +111 -31
  238. package/node_modules/markdown-it/dist/markdown-it.js +117 -31
  239. package/node_modules/markdown-it/dist/markdown-it.min.js +2 -2
  240. package/node_modules/markdown-it/lib/common/utils.mjs +30 -1
  241. package/node_modules/markdown-it/lib/index.mjs +1 -1
  242. package/node_modules/markdown-it/lib/rules_block/heading.mjs +2 -2
  243. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +12 -1
  244. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +4 -1
  245. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +3 -1
  246. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +37 -21
  247. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +2 -2
  248. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +37 -6
  249. package/node_modules/markdown-it/package.json +14 -3
  250. package/node_modules/msgpackr/README.md +1 -3
  251. package/node_modules/msgpackr/benchmark.md +26 -16
  252. package/node_modules/msgpackr/dist/index-no-eval.cjs +35 -16
  253. package/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  254. package/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  255. package/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  256. package/node_modules/msgpackr/dist/index.js +35 -16
  257. package/node_modules/msgpackr/dist/index.js.map +1 -1
  258. package/node_modules/msgpackr/dist/index.min.js +1 -1
  259. package/node_modules/msgpackr/dist/index.min.js.map +1 -1
  260. package/node_modules/msgpackr/dist/node.cjs +50 -26
  261. package/node_modules/msgpackr/dist/node.cjs.map +1 -1
  262. package/node_modules/msgpackr/dist/test.js +44 -16
  263. package/node_modules/msgpackr/dist/test.js.map +1 -1
  264. package/node_modules/msgpackr/dist/unpack-no-eval.cjs +35 -16
  265. package/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  266. package/node_modules/msgpackr/index.d.cts +2 -0
  267. package/node_modules/msgpackr/index.d.ts +2 -0
  268. package/node_modules/msgpackr/package.json +1 -1
  269. package/node_modules/msgpackr/stream.js +15 -10
  270. package/node_modules/msgpackr/unpack.js +35 -16
  271. package/node_modules/prosemirror-changeset/CHANGELOG.md +12 -0
  272. package/node_modules/prosemirror-changeset/README.md +31 -2
  273. package/node_modules/prosemirror-changeset/dist/index.cjs +17 -2
  274. package/node_modules/prosemirror-changeset/dist/index.d.cts +32 -2
  275. package/node_modules/prosemirror-changeset/dist/index.d.ts +32 -2
  276. package/node_modules/prosemirror-changeset/dist/index.js +18 -3
  277. package/node_modules/prosemirror-changeset/package.json +2 -2
  278. package/node_modules/prosemirror-changeset/src/README.md +4 -2
  279. package/node_modules/prosemirror-changeset/src/change.ts +18 -0
  280. package/node_modules/prosemirror-changeset/src/changeset.ts +10 -4
  281. package/node_modules/prosemirror-changeset/src/simplify.ts +1 -1
  282. package/node_modules/prosemirror-changeset/test/test-simplify.ts +3 -0
  283. package/node_modules/prosemirror-gapcursor/CHANGELOG.md +6 -0
  284. package/node_modules/prosemirror-gapcursor/dist/index.cjs +1 -1
  285. package/node_modules/prosemirror-gapcursor/dist/index.js +1 -1
  286. package/node_modules/prosemirror-gapcursor/package.json +3 -2
  287. package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +1 -1
  288. package/node_modules/prosemirror-markdown/CHANGELOG.md +12 -0
  289. package/node_modules/prosemirror-markdown/dist/index.cjs +11 -1
  290. package/node_modules/prosemirror-markdown/dist/index.js +14 -2
  291. package/node_modules/prosemirror-markdown/package.json +1 -1
  292. package/node_modules/prosemirror-markdown/src/to_markdown.ts +12 -3
  293. package/node_modules/prosemirror-menu/CHANGELOG.md +18 -0
  294. package/node_modules/prosemirror-menu/CONTRIBUTING.md +22 -18
  295. package/node_modules/prosemirror-menu/README.md +69 -29
  296. package/node_modules/prosemirror-menu/dist/index.cjs +232 -48
  297. package/node_modules/prosemirror-menu/dist/index.d.cts +29 -14
  298. package/node_modules/prosemirror-menu/dist/index.d.ts +29 -14
  299. package/node_modules/prosemirror-menu/dist/index.js +229 -36
  300. package/node_modules/prosemirror-menu/package.json +2 -2
  301. package/node_modules/prosemirror-menu/src/README.md +30 -1
  302. package/node_modules/prosemirror-menu/src/icons.ts +3 -2
  303. package/node_modules/prosemirror-menu/src/menu.ts +193 -40
  304. package/node_modules/prosemirror-menu/src/menubar.ts +50 -5
  305. package/node_modules/prosemirror-menu/style/menu.css +28 -7
  306. package/node_modules/prosemirror-model/CHANGELOG.md +20 -0
  307. package/node_modules/prosemirror-model/CONTRIBUTING.md +19 -19
  308. package/node_modules/prosemirror-model/README.md +3 -3
  309. package/node_modules/prosemirror-model/dist/index.cjs +13 -10
  310. package/node_modules/prosemirror-model/dist/index.d.cts +25 -21
  311. package/node_modules/prosemirror-model/dist/index.d.ts +25 -21
  312. package/node_modules/prosemirror-model/dist/index.js +19 -23
  313. package/node_modules/prosemirror-model/package.json +2 -2
  314. package/node_modules/prosemirror-model/src/fragment.ts +1 -1
  315. package/node_modules/prosemirror-model/src/from_dom.ts +4 -1
  316. package/node_modules/prosemirror-model/src/node.ts +5 -4
  317. package/node_modules/prosemirror-model/src/replace.ts +6 -15
  318. package/node_modules/prosemirror-model/src/schema.ts +1 -1
  319. package/node_modules/prosemirror-model/src/to_dom.ts +24 -20
  320. package/node_modules/prosemirror-transform/CHANGELOG.md +16 -0
  321. package/node_modules/prosemirror-transform/dist/index.cjs +38 -4
  322. package/node_modules/prosemirror-transform/dist/index.d.cts +19 -0
  323. package/node_modules/prosemirror-transform/dist/index.d.ts +19 -0
  324. package/node_modules/prosemirror-transform/dist/index.js +52 -1
  325. package/node_modules/prosemirror-transform/package.json +1 -1
  326. package/node_modules/prosemirror-transform/src/replace.ts +16 -0
  327. package/node_modules/prosemirror-transform/src/replace_step.ts +10 -1
  328. package/node_modules/prosemirror-transform/src/transform.ts +21 -2
  329. package/node_modules/prosemirror-view/CHANGELOG.md +34 -2
  330. package/node_modules/prosemirror-view/CONTRIBUTING.md +19 -19
  331. package/node_modules/prosemirror-view/README.md +3 -3
  332. package/node_modules/prosemirror-view/dist/index.cjs +96 -40
  333. package/node_modules/prosemirror-view/dist/index.d.cts +2 -2
  334. package/node_modules/prosemirror-view/dist/index.d.ts +2 -2
  335. package/node_modules/prosemirror-view/dist/index.js +90 -39
  336. package/node_modules/prosemirror-view/package.json +2 -2
  337. package/node_modules/prosemirror-view/src/domchange.ts +1 -1
  338. package/node_modules/prosemirror-view/src/domobserver.ts +59 -16
  339. package/node_modules/prosemirror-view/src/index.ts +4 -4
  340. package/node_modules/prosemirror-view/src/input.ts +9 -6
  341. package/node_modules/prosemirror-view/src/viewdesc.ts +26 -22
  342. package/node_modules/prosemirror-view/style/prosemirror.css +1 -1
  343. package/package.json +5 -4
  344. package/src/client.mjs +2 -2
  345. package/src/config.mjs +1 -0
  346. package/src/helpers.mjs +2 -2
  347. package/src/index.mjs +31 -1
  348. package/src/initCodex.mjs +281 -0
  349. package/src/mcp.mjs +1 -1
  350. package/src/mcpShared.mjs +95 -5
  351. package/node_modules/@hcengineering/account-client/types/client.d.ts +0 -140
  352. package/node_modules/@hcengineering/account-client/types/client.d.ts.map +0 -1
  353. package/node_modules/@hcengineering/account-client/types/index.d.ts +0 -4
  354. package/node_modules/@hcengineering/account-client/types/index.d.ts.map +0 -1
  355. package/node_modules/@hcengineering/account-client/types/types.d.ts +0 -177
  356. package/node_modules/@hcengineering/account-client/types/types.d.ts.map +0 -1
  357. package/node_modules/@hcengineering/account-client/types/utils.d.ts +0 -5
  358. package/node_modules/@hcengineering/account-client/types/utils.d.ts.map +0 -1
  359. package/node_modules/@hcengineering/analytics/types/index.d.ts +0 -25
  360. package/node_modules/@hcengineering/analytics/types/index.d.ts.map +0 -1
  361. package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts +0 -2
  362. package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts.map +0 -1
  363. package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts +0 -2
  364. package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts.map +0 -1
  365. package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts +0 -2
  366. package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts.map +0 -1
  367. package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts +0 -2
  368. package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts.map +0 -1
  369. package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts +0 -2
  370. package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts.map +0 -1
  371. package/node_modules/@hcengineering/api-client/types/client.d.ts +0 -6
  372. package/node_modules/@hcengineering/api-client/types/client.d.ts.map +0 -1
  373. package/node_modules/@hcengineering/api-client/types/config.d.ts +0 -8
  374. package/node_modules/@hcengineering/api-client/types/config.d.ts.map +0 -1
  375. package/node_modules/@hcengineering/api-client/types/index.d.ts +0 -9
  376. package/node_modules/@hcengineering/api-client/types/index.d.ts.map +0 -1
  377. package/node_modules/@hcengineering/api-client/types/markup/client.d.ts +0 -5
  378. package/node_modules/@hcengineering/api-client/types/markup/client.d.ts.map +0 -1
  379. package/node_modules/@hcengineering/api-client/types/markup/index.d.ts +0 -3
  380. package/node_modules/@hcengineering/api-client/types/markup/index.d.ts.map +0 -1
  381. package/node_modules/@hcengineering/api-client/types/markup/types.d.ts +0 -41
  382. package/node_modules/@hcengineering/api-client/types/markup/types.d.ts.map +0 -1
  383. package/node_modules/@hcengineering/api-client/types/rest/index.d.ts +0 -4
  384. package/node_modules/@hcengineering/api-client/types/rest/index.d.ts.map +0 -1
  385. package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts +0 -39
  386. package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts.map +0 -1
  387. package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts +0 -3
  388. package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts.map +0 -1
  389. package/node_modules/@hcengineering/api-client/types/rest/types.d.ts +0 -16
  390. package/node_modules/@hcengineering/api-client/types/rest/types.d.ts.map +0 -1
  391. package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts +0 -3
  392. package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts.map +0 -1
  393. package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts +0 -4
  394. package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts.map +0 -1
  395. package/node_modules/@hcengineering/api-client/types/socket/index.d.ts +0 -3
  396. package/node_modules/@hcengineering/api-client/types/socket/index.d.ts.map +0 -1
  397. package/node_modules/@hcengineering/api-client/types/socket/node.d.ts +0 -4
  398. package/node_modules/@hcengineering/api-client/types/socket/node.d.ts.map +0 -1
  399. package/node_modules/@hcengineering/api-client/types/storage/client.d.ts +0 -21
  400. package/node_modules/@hcengineering/api-client/types/storage/client.d.ts.map +0 -1
  401. package/node_modules/@hcengineering/api-client/types/storage/error.d.ts +0 -10
  402. package/node_modules/@hcengineering/api-client/types/storage/error.d.ts.map +0 -1
  403. package/node_modules/@hcengineering/api-client/types/storage/index.d.ts +0 -4
  404. package/node_modules/@hcengineering/api-client/types/storage/index.d.ts.map +0 -1
  405. package/node_modules/@hcengineering/api-client/types/storage/types.d.ts +0 -10
  406. package/node_modules/@hcengineering/api-client/types/storage/types.d.ts.map +0 -1
  407. package/node_modules/@hcengineering/api-client/types/types.d.ts +0 -101
  408. package/node_modules/@hcengineering/api-client/types/types.d.ts.map +0 -1
  409. package/node_modules/@hcengineering/api-client/types/utils.d.ts +0 -12
  410. package/node_modules/@hcengineering/api-client/types/utils.d.ts.map +0 -1
  411. package/node_modules/@hcengineering/chunter/types/analytics.d.ts +0 -5
  412. package/node_modules/@hcengineering/chunter/types/analytics.d.ts.map +0 -1
  413. package/node_modules/@hcengineering/chunter/types/index.d.ts +0 -211
  414. package/node_modules/@hcengineering/chunter/types/index.d.ts.map +0 -1
  415. package/node_modules/@hcengineering/chunter/types/utils.d.ts +0 -7
  416. package/node_modules/@hcengineering/chunter/types/utils.d.ts.map +0 -1
  417. package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts +0 -2
  418. package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts.map +0 -1
  419. package/node_modules/@hcengineering/client/types/index.d.ts +0 -69
  420. package/node_modules/@hcengineering/client/types/index.d.ts.map +0 -1
  421. package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts +0 -2
  422. package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts.map +0 -1
  423. package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts +0 -45
  424. package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts.map +0 -1
  425. package/node_modules/@hcengineering/client-resources/types/connection.d.ts +0 -7
  426. package/node_modules/@hcengineering/client-resources/types/connection.d.ts.map +0 -1
  427. package/node_modules/@hcengineering/client-resources/types/index.d.ts +0 -11
  428. package/node_modules/@hcengineering/client-resources/types/index.d.ts.map +0 -1
  429. package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts +0 -2
  430. package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts.map +0 -1
  431. package/node_modules/@hcengineering/collaborator-client/types/client.d.ts +0 -34
  432. package/node_modules/@hcengineering/collaborator-client/types/client.d.ts.map +0 -1
  433. package/node_modules/@hcengineering/collaborator-client/types/index.d.ts +0 -3
  434. package/node_modules/@hcengineering/collaborator-client/types/index.d.ts.map +0 -1
  435. package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts +0 -9
  436. package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts.map +0 -1
  437. package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts +0 -2
  438. package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts.map +0 -1
  439. package/node_modules/@hcengineering/contact/types/analytics.d.ts +0 -6
  440. package/node_modules/@hcengineering/contact/types/analytics.d.ts.map +0 -1
  441. package/node_modules/@hcengineering/contact/types/avatar.d.ts +0 -12
  442. package/node_modules/@hcengineering/contact/types/avatar.d.ts.map +0 -1
  443. package/node_modules/@hcengineering/contact/types/cache.d.ts +0 -49
  444. package/node_modules/@hcengineering/contact/types/cache.d.ts.map +0 -1
  445. package/node_modules/@hcengineering/contact/types/index.d.ts +0 -367
  446. package/node_modules/@hcengineering/contact/types/index.d.ts.map +0 -1
  447. package/node_modules/@hcengineering/contact/types/types.d.ts +0 -25
  448. package/node_modules/@hcengineering/contact/types/types.d.ts.map +0 -1
  449. package/node_modules/@hcengineering/contact/types/utils.d.ts +0 -110
  450. package/node_modules/@hcengineering/contact/types/utils.d.ts.map +0 -1
  451. package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts +0 -2
  452. package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts.map +0 -1
  453. package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts +0 -2
  454. package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts.map +0 -1
  455. package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts +0 -2
  456. package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts.map +0 -1
  457. package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts +0 -2
  458. package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts.map +0 -1
  459. package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts +0 -2
  460. package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts.map +0 -1
  461. package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts +0 -4
  462. package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts.map +0 -1
  463. package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts +0 -2
  464. package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts.map +0 -1
  465. package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts +0 -2
  466. package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts.map +0 -1
  467. package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts +0 -2
  468. package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts.map +0 -1
  469. package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts +0 -2
  470. package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts.map +0 -1
  471. package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts +0 -2
  472. package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts.map +0 -1
  473. package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts +0 -2
  474. package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts.map +0 -1
  475. package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts +0 -50
  476. package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts.map +0 -1
  477. package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts +0 -2
  478. package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts.map +0 -1
  479. package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts +0 -2
  480. package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts.map +0 -1
  481. package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts +0 -2
  482. package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts.map +0 -1
  483. package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts +0 -2
  484. package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts.map +0 -1
  485. package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts +0 -2
  486. package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts.map +0 -1
  487. package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts +0 -2
  488. package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts.map +0 -1
  489. package/node_modules/@hcengineering/core/types/backup.d.ts +0 -26
  490. package/node_modules/@hcengineering/core/types/backup.d.ts.map +0 -1
  491. package/node_modules/@hcengineering/core/types/benchmark.d.ts +0 -19
  492. package/node_modules/@hcengineering/core/types/benchmark.d.ts.map +0 -1
  493. package/node_modules/@hcengineering/core/types/classes.d.ts +0 -716
  494. package/node_modules/@hcengineering/core/types/classes.d.ts.map +0 -1
  495. package/node_modules/@hcengineering/core/types/client.d.ts +0 -69
  496. package/node_modules/@hcengineering/core/types/client.d.ts.map +0 -1
  497. package/node_modules/@hcengineering/core/types/clone.d.ts +0 -3
  498. package/node_modules/@hcengineering/core/types/clone.d.ts.map +0 -1
  499. package/node_modules/@hcengineering/core/types/collaboration.d.ts +0 -16
  500. package/node_modules/@hcengineering/core/types/collaboration.d.ts.map +0 -1
  501. package/node_modules/@hcengineering/core/types/collaborators.d.ts +0 -3
  502. package/node_modules/@hcengineering/core/types/collaborators.d.ts.map +0 -1
  503. package/node_modules/@hcengineering/core/types/common.d.ts +0 -4
  504. package/node_modules/@hcengineering/core/types/common.d.ts.map +0 -1
  505. package/node_modules/@hcengineering/core/types/component.d.ts +0 -229
  506. package/node_modules/@hcengineering/core/types/component.d.ts.map +0 -1
  507. package/node_modules/@hcengineering/core/types/hierarchy.d.ts +0 -84
  508. package/node_modules/@hcengineering/core/types/hierarchy.d.ts.map +0 -1
  509. package/node_modules/@hcengineering/core/types/index.d.ts +0 -25
  510. package/node_modules/@hcengineering/core/types/index.d.ts.map +0 -1
  511. package/node_modules/@hcengineering/core/types/memdb.d.ts +0 -60
  512. package/node_modules/@hcengineering/core/types/memdb.d.ts.map +0 -1
  513. package/node_modules/@hcengineering/core/types/objvalue.d.ts +0 -10
  514. package/node_modules/@hcengineering/core/types/objvalue.d.ts.map +0 -1
  515. package/node_modules/@hcengineering/core/types/operations.d.ts +0 -87
  516. package/node_modules/@hcengineering/core/types/operations.d.ts.map +0 -1
  517. package/node_modules/@hcengineering/core/types/operator.d.ts +0 -16
  518. package/node_modules/@hcengineering/core/types/operator.d.ts.map +0 -1
  519. package/node_modules/@hcengineering/core/types/predicate.d.ts +0 -6
  520. package/node_modules/@hcengineering/core/types/predicate.d.ts.map +0 -1
  521. package/node_modules/@hcengineering/core/types/proxy.d.ts +0 -21
  522. package/node_modules/@hcengineering/core/types/proxy.d.ts.map +0 -1
  523. package/node_modules/@hcengineering/core/types/query.d.ts +0 -21
  524. package/node_modules/@hcengineering/core/types/query.d.ts.map +0 -1
  525. package/node_modules/@hcengineering/core/types/server.d.ts +0 -82
  526. package/node_modules/@hcengineering/core/types/server.d.ts.map +0 -1
  527. package/node_modules/@hcengineering/core/types/status.d.ts +0 -30
  528. package/node_modules/@hcengineering/core/types/status.d.ts.map +0 -1
  529. package/node_modules/@hcengineering/core/types/storage.d.ts +0 -233
  530. package/node_modules/@hcengineering/core/types/storage.d.ts.map +0 -1
  531. package/node_modules/@hcengineering/core/types/time.d.ts +0 -8
  532. package/node_modules/@hcengineering/core/types/time.d.ts.map +0 -1
  533. package/node_modules/@hcengineering/core/types/tx.d.ts +0 -261
  534. package/node_modules/@hcengineering/core/types/tx.d.ts.map +0 -1
  535. package/node_modules/@hcengineering/core/types/utils.d.ts +0 -207
  536. package/node_modules/@hcengineering/core/types/utils.d.ts.map +0 -1
  537. package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts +0 -2
  538. package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts.map +0 -1
  539. package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts +0 -2
  540. package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts.map +0 -1
  541. package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts +0 -2
  542. package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts.map +0 -1
  543. package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts +0 -2
  544. package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts.map +0 -1
  545. package/node_modules/@hcengineering/measurements/types/context.d.ts +0 -64
  546. package/node_modules/@hcengineering/measurements/types/context.d.ts.map +0 -1
  547. package/node_modules/@hcengineering/measurements/types/index.d.ts +0 -12
  548. package/node_modules/@hcengineering/measurements/types/index.d.ts.map +0 -1
  549. package/node_modules/@hcengineering/measurements/types/metrics.d.ts +0 -34
  550. package/node_modules/@hcengineering/measurements/types/metrics.d.ts.map +0 -1
  551. package/node_modules/@hcengineering/measurements/types/types.d.ts +0 -88
  552. package/node_modules/@hcengineering/measurements/types/types.d.ts.map +0 -1
  553. package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts +0 -2
  554. package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts.map +0 -1
  555. package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts +0 -2
  556. package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts.map +0 -1
  557. package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts +0 -7
  558. package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts.map +0 -1
  559. package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts +0 -2
  560. package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts.map +0 -1
  561. package/node_modules/@hcengineering/platform/types/event.d.ts +0 -39
  562. package/node_modules/@hcengineering/platform/types/event.d.ts.map +0 -1
  563. package/node_modules/@hcengineering/platform/types/i18n.d.ts +0 -28
  564. package/node_modules/@hcengineering/platform/types/i18n.d.ts.map +0 -1
  565. package/node_modules/@hcengineering/platform/types/ident.d.ts +0 -14
  566. package/node_modules/@hcengineering/platform/types/ident.d.ts.map +0 -1
  567. package/node_modules/@hcengineering/platform/types/index.d.ts +0 -19
  568. package/node_modules/@hcengineering/platform/types/index.d.ts.map +0 -1
  569. package/node_modules/@hcengineering/platform/types/metadata.d.ts +0 -38
  570. package/node_modules/@hcengineering/platform/types/metadata.d.ts.map +0 -1
  571. package/node_modules/@hcengineering/platform/types/platform.d.ts +0 -218
  572. package/node_modules/@hcengineering/platform/types/platform.d.ts.map +0 -1
  573. package/node_modules/@hcengineering/platform/types/resource.d.ts +0 -49
  574. package/node_modules/@hcengineering/platform/types/resource.d.ts.map +0 -1
  575. package/node_modules/@hcengineering/platform/types/status.d.ts +0 -60
  576. package/node_modules/@hcengineering/platform/types/status.d.ts.map +0 -1
  577. package/node_modules/@hcengineering/platform/types/testUtils.d.ts +0 -8
  578. package/node_modules/@hcengineering/platform/types/testUtils.d.ts.map +0 -1
  579. package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts +0 -2
  580. package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts.map +0 -1
  581. package/node_modules/@hcengineering/rank/types/index.d.ts +0 -3
  582. package/node_modules/@hcengineering/rank/types/index.d.ts.map +0 -1
  583. package/node_modules/@hcengineering/rank/types/types.d.ts +0 -2
  584. package/node_modules/@hcengineering/rank/types/types.d.ts.map +0 -1
  585. package/node_modules/@hcengineering/rank/types/utils.d.ts +0 -6
  586. package/node_modules/@hcengineering/rank/types/utils.d.ts.map +0 -1
  587. package/node_modules/@hcengineering/rpc/types/index.d.ts +0 -3
  588. package/node_modules/@hcengineering/rpc/types/index.d.ts.map +0 -1
  589. package/node_modules/@hcengineering/rpc/types/rpc.d.ts +0 -96
  590. package/node_modules/@hcengineering/rpc/types/rpc.d.ts.map +0 -1
  591. package/node_modules/@hcengineering/rpc/types/sliding.d.ts +0 -11
  592. package/node_modules/@hcengineering/rpc/types/sliding.d.ts.map +0 -1
  593. package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts +0 -2
  594. package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts.map +0 -1
  595. package/node_modules/@hcengineering/tags/types/analytics.d.ts +0 -5
  596. package/node_modules/@hcengineering/tags/types/analytics.d.ts.map +0 -1
  597. package/node_modules/@hcengineering/tags/types/index.d.ts +0 -105
  598. package/node_modules/@hcengineering/tags/types/index.d.ts.map +0 -1
  599. package/node_modules/@hcengineering/task/types/index.d.ts +0 -227
  600. package/node_modules/@hcengineering/task/types/index.d.ts.map +0 -1
  601. package/node_modules/@hcengineering/task/types/utils.d.ts +0 -61
  602. package/node_modules/@hcengineering/task/types/utils.d.ts.map +0 -1
  603. package/node_modules/@hcengineering/text/types/extensions.d.ts +0 -53
  604. package/node_modules/@hcengineering/text/types/extensions.d.ts.map +0 -1
  605. package/node_modules/@hcengineering/text/types/index.d.ts +0 -13
  606. package/node_modules/@hcengineering/text/types/index.d.ts.map +0 -1
  607. package/node_modules/@hcengineering/text/types/kit.d.ts +0 -12
  608. package/node_modules/@hcengineering/text/types/kit.d.ts.map +0 -1
  609. package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts +0 -72
  610. package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts.map +0 -1
  611. package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts +0 -106
  612. package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts.map +0 -1
  613. package/node_modules/@hcengineering/text/types/marks/code.d.ts +0 -8
  614. package/node_modules/@hcengineering/text/types/marks/code.d.ts.map +0 -1
  615. package/node_modules/@hcengineering/text/types/marks/colors.d.ts +0 -21
  616. package/node_modules/@hcengineering/text/types/marks/colors.d.ts.map +0 -1
  617. package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts +0 -5
  618. package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts.map +0 -1
  619. package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts +0 -23
  620. package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts.map +0 -1
  621. package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts +0 -6
  622. package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts.map +0 -1
  623. package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts +0 -2
  624. package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts.map +0 -1
  625. package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts +0 -5
  626. package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts.map +0 -1
  627. package/node_modules/@hcengineering/text/types/markup/utils.d.ts +0 -19
  628. package/node_modules/@hcengineering/text/types/markup/utils.d.ts.map +0 -1
  629. package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts +0 -12
  630. package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts.map +0 -1
  631. package/node_modules/@hcengineering/text/types/nodes/comment.d.ts +0 -6
  632. package/node_modules/@hcengineering/text/types/nodes/comment.d.ts.map +0 -1
  633. package/node_modules/@hcengineering/text/types/nodes/embed.d.ts +0 -3
  634. package/node_modules/@hcengineering/text/types/nodes/embed.d.ts.map +0 -1
  635. package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts +0 -17
  636. package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts.map +0 -1
  637. package/node_modules/@hcengineering/text/types/nodes/file.d.ts +0 -13
  638. package/node_modules/@hcengineering/text/types/nodes/file.d.ts.map +0 -1
  639. package/node_modules/@hcengineering/text/types/nodes/image.d.ts +0 -52
  640. package/node_modules/@hcengineering/text/types/nodes/image.d.ts.map +0 -1
  641. package/node_modules/@hcengineering/text/types/nodes/index.d.ts +0 -11
  642. package/node_modules/@hcengineering/text/types/nodes/index.d.ts.map +0 -1
  643. package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts +0 -3
  644. package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts.map +0 -1
  645. package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts +0 -4
  646. package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts.map +0 -1
  647. package/node_modules/@hcengineering/text/types/nodes/reference.d.ts +0 -18
  648. package/node_modules/@hcengineering/text/types/nodes/reference.d.ts.map +0 -1
  649. package/node_modules/@hcengineering/text/types/nodes/todo.d.ts +0 -3
  650. package/node_modules/@hcengineering/text/types/nodes/todo.d.ts.map +0 -1
  651. package/node_modules/@hcengineering/text/types/nodes/utils.d.ts +0 -6
  652. package/node_modules/@hcengineering/text/types/nodes/utils.d.ts.map +0 -1
  653. package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts +0 -28
  654. package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts.map +0 -1
  655. package/node_modules/@hcengineering/text-core/types/index.d.ts +0 -6
  656. package/node_modules/@hcengineering/text-core/types/index.d.ts.map +0 -1
  657. package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts +0 -2
  658. package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts.map +0 -1
  659. package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts +0 -2
  660. package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts.map +0 -1
  661. package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts +0 -25
  662. package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts.map +0 -1
  663. package/node_modules/@hcengineering/text-core/types/markup/model.d.ts +0 -74
  664. package/node_modules/@hcengineering/text-core/types/markup/model.d.ts.map +0 -1
  665. package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts +0 -15
  666. package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts.map +0 -1
  667. package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts +0 -6
  668. package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts.map +0 -1
  669. package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts +0 -25
  670. package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts.map +0 -1
  671. package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts +0 -2
  672. package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts.map +0 -1
  673. package/node_modules/@hcengineering/text-html/types/index.d.ts +0 -6
  674. package/node_modules/@hcengineering/text-html/types/index.d.ts.map +0 -1
  675. package/node_modules/@hcengineering/text-html/types/parser.d.ts +0 -10
  676. package/node_modules/@hcengineering/text-html/types/parser.d.ts.map +0 -1
  677. package/node_modules/@hcengineering/text-html/types/serializer.d.ts +0 -9
  678. package/node_modules/@hcengineering/text-html/types/serializer.d.ts.map +0 -1
  679. package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts +0 -9
  680. package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts.map +0 -1
  681. package/node_modules/@hcengineering/text-markdown/types/compare.d.ts +0 -10
  682. package/node_modules/@hcengineering/text-markdown/types/compare.d.ts.map +0 -1
  683. package/node_modules/@hcengineering/text-markdown/types/index.d.ts +0 -14
  684. package/node_modules/@hcengineering/text-markdown/types/index.d.ts.map +0 -1
  685. package/node_modules/@hcengineering/text-markdown/types/marks.d.ts +0 -8
  686. package/node_modules/@hcengineering/text-markdown/types/marks.d.ts.map +0 -1
  687. package/node_modules/@hcengineering/text-markdown/types/node.d.ts +0 -4
  688. package/node_modules/@hcengineering/text-markdown/types/node.d.ts.map +0 -1
  689. package/node_modules/@hcengineering/text-markdown/types/parser.d.ts +0 -50
  690. package/node_modules/@hcengineering/text-markdown/types/parser.d.ts.map +0 -1
  691. package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts +0 -102
  692. package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts.map +0 -1
  693. package/node_modules/@hcengineering/tracker/types/analytics.d.ts +0 -24
  694. package/node_modules/@hcengineering/tracker/types/analytics.d.ts.map +0 -1
  695. package/node_modules/@hcengineering/tracker/types/index.d.ts +0 -431
  696. package/node_modules/@hcengineering/tracker/types/index.d.ts.map +0 -1
@@ -26,8 +26,9 @@ function hashPath(path) {
26
26
  }
27
27
  function getIcon(root, icon) {
28
28
  var doc = (root.nodeType == 9 ? root : root.ownerDocument) || document;
29
- var node = doc.createElement("div");
29
+ var node = doc.createElement("button");
30
30
  node.className = prefix$2;
31
+ node.type = "button";
31
32
  if (icon.path) {
32
33
  var path = icon.path,
33
34
  width = icon.width,
@@ -77,7 +78,9 @@ var MenuItem = function () {
77
78
  key: "render",
78
79
  value: function render(view) {
79
80
  var spec = this.spec;
80
- var dom = spec.render ? spec.render(view) : spec.icon ? getIcon(view.root, spec.icon) : spec.label ? crel("div", null, translate(view, spec.label)) : null;
81
+ var dom = spec.render ? spec.render(view) : spec.icon ? getIcon(view.root, spec.icon) : spec.label ? crel("button", {
82
+ type: "button"
83
+ }, translate(view, spec.label)) : null;
81
84
  if (!dom) throw new RangeError("MenuItem without icon or label property");
82
85
  if (spec.title) {
83
86
  var title = typeof spec.title === "function" ? spec.title(view.state) : spec.title;
@@ -85,9 +88,15 @@ var MenuItem = function () {
85
88
  }
86
89
  if (spec["class"]) dom.classList.add(spec["class"]);
87
90
  if (spec.css) dom.style.cssText += spec.css;
91
+ dom.addEventListener("click", function (e) {
92
+ if (!dom.classList.contains(prefix$1 + "-disabled")) {
93
+ var setFocus = document.activeElement == dom || document.activeElement == view.dom;
94
+ spec.run(view.state, view.dispatch, view, e);
95
+ if (setFocus && document.activeElement == dom) view.focus();
96
+ }
97
+ });
88
98
  dom.addEventListener("mousedown", function (e) {
89
- e.preventDefault();
90
- if (!dom.classList.contains(prefix$1 + "-disabled")) spec.run(view.state, view.dispatch, view, e);
99
+ return e.preventDefault();
91
100
  });
92
101
  function update(state) {
93
102
  if (spec.select) {
@@ -99,10 +108,12 @@ var MenuItem = function () {
99
108
  if (spec.enable) {
100
109
  enabled = spec.enable(state) || false;
101
110
  setClass(dom, prefix$1 + "-disabled", !enabled);
111
+ dom.setAttribute("aria-disabled", (!enabled).toString());
102
112
  }
103
113
  if (spec.active) {
104
114
  var active = enabled && spec.active(state) || false;
105
115
  setClass(dom, prefix$1 + "-active", active);
116
+ dom.setAttribute("aria-pressed", active.toString());
106
117
  }
107
118
  return true;
108
119
  }
@@ -133,6 +144,9 @@ var Dropdown = function () {
133
144
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
134
145
  _classCallCheck(this, Dropdown);
135
146
  this.options = options;
147
+ this.focusables = [];
148
+ this.focusIndex = 0;
149
+ this.focusTimeout = -1;
136
150
  this.options = options || {};
137
151
  this.content = Array.isArray(content) ? content : [content];
138
152
  }
@@ -141,35 +155,61 @@ var Dropdown = function () {
141
155
  value: function render(view) {
142
156
  var _this = this;
143
157
  var content = renderDropdownItems(this.content, view);
158
+ this.focusables = content.focusables;
144
159
  var win = view.dom.ownerDocument.defaultView || window;
145
- var label = crel("div", {
160
+ var btn = crel("button", {
161
+ type: "button",
146
162
  "class": prefix$1 + "-dropdown " + (this.options["class"] || ""),
147
- style: this.options.css
163
+ style: this.options.css,
164
+ "aria-haspopup": "menu",
165
+ "aria-expanded": "false"
148
166
  }, translate(view, this.options.label || ""));
149
- if (this.options.title) label.setAttribute("title", translate(view, this.options.title));
167
+ if (this.options.title) btn.setAttribute("title", translate(view, this.options.title));
150
168
  var wrap = crel("div", {
151
169
  "class": prefix$1 + "-dropdown-wrap"
152
- }, label);
170
+ }, btn);
153
171
  var open = null;
154
172
  var listeningOnClose = null;
155
173
  var close = function close() {
156
174
  if (open && open.close()) {
157
175
  open = null;
158
- win.removeEventListener("mousedown", listeningOnClose);
176
+ win.removeEventListener("click", listeningOnClose);
159
177
  }
160
178
  };
161
- label.addEventListener("mousedown", function (e) {
162
- e.preventDefault();
179
+ btn.addEventListener("click", function (e) {
163
180
  markMenuEvent(e);
164
181
  if (open) {
165
182
  close();
166
183
  } else {
167
- open = _this.expand(wrap, content.dom);
168
- win.addEventListener("mousedown", listeningOnClose = function listeningOnClose() {
184
+ open = _this.expand(wrap, content.dom, btn);
185
+ win.addEventListener("click", listeningOnClose = function listeningOnClose() {
169
186
  if (!isMenuEvent(wrap)) close();
170
187
  });
188
+ if (e.detail === 0) {
189
+ var focusIndex = findFocusableIndex(_this.focusables, -1, 1);
190
+ if (focusIndex != null) _this.setFocusIndex(focusIndex);
191
+ }
192
+ open.node.addEventListener("keydown", function (event) {
193
+ markMenuEvent(event);
194
+ if (keyboardMoveFocus(_this, event, "vertical")) ;else if (event.key === "Escape") {
195
+ event.preventDefault();
196
+ event.stopPropagation();
197
+ btn.focus();
198
+ close();
199
+ }
200
+ });
201
+ open.node.addEventListener("focusout", function () {
202
+ clearTimeout(_this.focusTimeout);
203
+ _this.focusTimeout = setTimeout(function () {
204
+ var active = win.document.activeElement;
205
+ if (active && open && !open.node.contains(active)) close();
206
+ }, 20);
207
+ });
171
208
  }
172
209
  });
210
+ btn.addEventListener("mousedown", function (e) {
211
+ return e.preventDefault();
212
+ });
173
213
  function update(state) {
174
214
  var inner = content.update(state);
175
215
  wrap.style.display = inner ? "" : "none";
@@ -177,12 +217,13 @@ var Dropdown = function () {
177
217
  }
178
218
  return {
179
219
  dom: wrap,
180
- update: update
220
+ update: update,
221
+ focusable: btn
181
222
  };
182
223
  }
183
224
  }, {
184
225
  key: "expand",
185
- value: function expand(dom, items) {
226
+ value: function expand(dom, items, trigger) {
186
227
  var menuDOM = crel("div", {
187
228
  "class": prefix$1 + "-dropdown-menu " + (this.options["class"] || "")
188
229
  }, items);
@@ -191,32 +232,83 @@ var Dropdown = function () {
191
232
  if (done) return false;
192
233
  done = true;
193
234
  dom.removeChild(menuDOM);
235
+ trigger.ariaControlsElements = [];
236
+ trigger.setAttribute("aria-expanded", "false");
194
237
  return true;
195
238
  }
196
239
  dom.appendChild(menuDOM);
240
+ trigger.ariaControlsElements = [items];
241
+ trigger.setAttribute("aria-expanded", "true");
197
242
  return {
198
243
  close: close,
199
244
  node: menuDOM
200
245
  };
201
246
  }
247
+ }, {
248
+ key: "setFocusIndex",
249
+ value: function setFocusIndex(index) {
250
+ if (this.focusables.length <= 1) return;
251
+ this.focusables[this.focusIndex].setAttribute("tabindex", "-1");
252
+ this.focusIndex = index;
253
+ var nextFocusItem = this.focusables[index];
254
+ nextFocusItem.setAttribute("tabindex", "0");
255
+ nextFocusItem.focus();
256
+ }
202
257
  }]);
203
258
  return Dropdown;
204
259
  }();
260
+ function findFocusableIndex(focusables, startIndex, delta) {
261
+ var length = focusables.length;
262
+ for (var i = 0, index = startIndex + delta;; index += delta, i++) {
263
+ var normIndex = (index + length) % length;
264
+ if (focusables[normIndex].style.display != "none") return normIndex;
265
+ if (i == length) return null;
266
+ }
267
+ }
268
+ function keyboardMoveFocus(control, event, orientation) {
269
+ var focusables = control.focusables,
270
+ focusIndex = control.focusIndex;
271
+ var move = event.key == (orientation == "vertical" ? "ArrowDown" : "ArrowRight") ? findFocusableIndex(focusables, focusIndex, 1) : event.key == (orientation == "vertical" ? "ArrowUp" : "ArrowLeft") ? findFocusableIndex(focusables, focusIndex, -1) : event.key == "Home" ? findFocusableIndex(focusables, -1, 1) : event.key == "End" ? findFocusableIndex(focusables, focusables.length, -1) : null;
272
+ if (move == null) return false;
273
+ event.preventDefault();
274
+ event.stopPropagation();
275
+ control.setFocusIndex(move);
276
+ return true;
277
+ }
205
278
  function renderDropdownItems(items, view) {
206
- var rendered = [],
279
+ var elts = [],
280
+ focusables = [],
207
281
  updates = [];
208
282
  for (var i = 0; i < items.length; i++) {
209
- var _items$i$render = items[i].render(view),
210
- dom = _items$i$render.dom,
211
- update = _items$i$render.update;
212
- rendered.push(crel("div", {
213
- "class": prefix$1 + "-dropdown-item"
283
+ var item = items[i];
284
+ var _item$render = item.render(view),
285
+ dom = _item$render.dom,
286
+ _update = _item$render.update,
287
+ focusable = _item$render.focusable;
288
+ elts.push(crel("li", {
289
+ "class": "".concat(prefix$1, "-dropdown-item"),
290
+ role: "menuitem",
291
+ "tabindex": "-1"
214
292
  }, dom));
215
- updates.push(update);
293
+ focusables.push(focusable || dom);
294
+ updates.push(_update);
295
+ }
296
+ function update(state) {
297
+ var something = false;
298
+ for (var _i = 0; _i < elts.length; _i++) {
299
+ var _dom = elts[_i],
300
+ up = updates[_i](state);
301
+ if (up) something = true;
302
+ _dom.style.display = up ? "" : "none";
303
+ }
304
+ return something;
216
305
  }
217
306
  return {
218
- dom: rendered,
219
- update: combineUpdates(updates, rendered)
307
+ dom: crel("ul", {
308
+ role: "menu"
309
+ }, elts),
310
+ update: update,
311
+ focusables: focusables
220
312
  };
221
313
  }
222
314
  function combineUpdates(updates, nodes) {
@@ -235,33 +327,67 @@ var DropdownSubmenu = function () {
235
327
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
236
328
  _classCallCheck(this, DropdownSubmenu);
237
329
  this.options = options;
330
+ this.focusables = [];
331
+ this.focusIndex = 0;
332
+ this.focusTimeout = -1;
238
333
  this.content = Array.isArray(content) ? content : [content];
239
334
  }
240
335
  _createClass(DropdownSubmenu, [{
241
336
  key: "render",
242
337
  value: function render(view) {
338
+ var _this2 = this;
243
339
  var items = renderDropdownItems(this.content, view);
340
+ this.focusables = items.focusables;
244
341
  var win = view.dom.ownerDocument.defaultView || window;
245
- var label = crel("div", {
342
+ var btn = crel("button", {
343
+ type: "button",
246
344
  "class": prefix$1 + "-submenu-label"
247
345
  }, translate(view, this.options.label || ""));
248
346
  var wrap = crel("div", {
249
347
  "class": prefix$1 + "-submenu-wrap"
250
- }, label, crel("div", {
348
+ }, btn, crel("div", {
251
349
  "class": prefix$1 + "-submenu"
252
350
  }, items.dom));
253
351
  var _listeningOnClose = null;
254
- label.addEventListener("mousedown", function (e) {
352
+ var openSubmenu = function openSubmenu(e) {
255
353
  e.preventDefault();
354
+ e.stopPropagation();
256
355
  markMenuEvent(e);
257
- setClass(wrap, prefix$1 + "-submenu-wrap-active", false);
258
- if (!_listeningOnClose) win.addEventListener("mousedown", _listeningOnClose = function listeningOnClose() {
356
+ setClass(wrap, prefix$1 + "-submenu-wrap-active", true);
357
+ if (!_listeningOnClose) win.addEventListener("click", _listeningOnClose = function listeningOnClose() {
259
358
  if (!isMenuEvent(wrap)) {
260
359
  wrap.classList.remove(prefix$1 + "-submenu-wrap-active");
261
- win.removeEventListener("mousedown", _listeningOnClose);
360
+ win.removeEventListener("click", _listeningOnClose);
262
361
  _listeningOnClose = null;
263
362
  }
264
363
  });
364
+ if (!(e.type == "click" && e.detail)) {
365
+ var focusIndex = findFocusableIndex(_this2.focusables, -1, 1);
366
+ if (focusIndex != null) _this2.setFocusIndex(focusIndex);
367
+ }
368
+ };
369
+ btn.addEventListener("click", openSubmenu);
370
+ btn.addEventListener("keydown", function (e) {
371
+ if (e.key === "ArrowRight") openSubmenu(e);
372
+ });
373
+ btn.addEventListener("mousedown", function (e) {
374
+ return e.preventDefault();
375
+ });
376
+ items.dom.addEventListener("keydown", function (event) {
377
+ markMenuEvent(event);
378
+ if (keyboardMoveFocus(_this2, event, "vertical")) ;else if (event.key === "Escape" || event.key === "ArrowLeft") {
379
+ event.preventDefault();
380
+ event.stopPropagation();
381
+ setClass(wrap, prefix$1 + "-submenu-wrap-active", false);
382
+ btn.focus();
383
+ }
384
+ });
385
+ items.dom.addEventListener("focusout", function () {
386
+ clearTimeout(_this2.focusTimeout);
387
+ _this2.focusTimeout = setTimeout(function () {
388
+ var active = win.document.activeElement;
389
+ if (active && !items.dom.contains(active)) wrap.classList.remove(prefix$1 + "-submenu-wrap-active");
390
+ }, 20);
265
391
  });
266
392
  function update(state) {
267
393
  var inner = items.update(state);
@@ -270,15 +396,27 @@ var DropdownSubmenu = function () {
270
396
  }
271
397
  return {
272
398
  dom: wrap,
273
- update: update
399
+ update: update,
400
+ focusable: btn
274
401
  };
275
402
  }
403
+ }, {
404
+ key: "setFocusIndex",
405
+ value: function setFocusIndex(index) {
406
+ if (this.focusables.length <= 1) return;
407
+ this.focusables[this.focusIndex].setAttribute("tabindex", "-1");
408
+ this.focusIndex = index;
409
+ var nextFocusItem = this.focusables[index];
410
+ nextFocusItem.setAttribute("tabindex", "0");
411
+ nextFocusItem.focus();
412
+ }
276
413
  }]);
277
414
  return DropdownSubmenu;
278
415
  }();
279
416
  function renderGrouped(view, content) {
280
417
  var result = document.createDocumentFragment();
281
418
  var updates = [],
419
+ focusables = [],
282
420
  separators = [];
283
421
  for (var i = 0; i < content.length; i++) {
284
422
  var items = content[i],
@@ -287,13 +425,15 @@ function renderGrouped(view, content) {
287
425
  for (var j = 0; j < items.length; j++) {
288
426
  var _items$j$render = items[j].render(view),
289
427
  dom = _items$j$render.dom,
290
- _update = _items$j$render.update;
428
+ _update2 = _items$j$render.update,
429
+ focusable = _items$j$render.focusable;
430
+ focusables.push(focusable || dom);
291
431
  var span = crel("span", {
292
432
  "class": prefix$1 + "item"
293
433
  }, dom);
294
434
  result.appendChild(span);
295
435
  localNodes.push(span);
296
- localUpdates.push(_update);
436
+ localUpdates.push(_update2);
297
437
  }
298
438
  if (localUpdates.length) {
299
439
  updates.push(combineUpdates(localUpdates, localNodes));
@@ -303,9 +443,9 @@ function renderGrouped(view, content) {
303
443
  function update(state) {
304
444
  var something = false,
305
445
  needSep = false;
306
- for (var _i = 0; _i < updates.length; _i++) {
307
- var hasContent = updates[_i](state);
308
- if (_i) separators[_i - 1].style.display = needSep && hasContent ? "" : "none";
446
+ for (var _i2 = 0; _i2 < updates.length; _i2++) {
447
+ var hasContent = updates[_i2](state);
448
+ if (_i2) separators[_i2 - 1].style.display = needSep && hasContent ? "" : "none";
309
449
  needSep = hasContent;
310
450
  if (hasContent) something = true;
311
451
  }
@@ -313,12 +453,14 @@ function renderGrouped(view, content) {
313
453
  }
314
454
  return {
315
455
  dom: result,
316
- update: update
456
+ update: update,
457
+ focusables: focusables
317
458
  };
318
459
  }
319
460
  function separator() {
320
461
  return crel("span", {
321
- "class": prefix$1 + "separator"
462
+ "class": prefix$1 + "separator",
463
+ role: "separator"
322
464
  });
323
465
  }
324
466
  var icons = {
@@ -471,10 +613,12 @@ function menuBar(options) {
471
613
  }
472
614
  var MenuBarView = function () {
473
615
  function MenuBarView(editorView, options) {
474
- var _this2 = this;
616
+ var _this3 = this;
475
617
  _classCallCheck(this, MenuBarView);
476
618
  this.editorView = editorView;
477
619
  this.options = options;
620
+ this.focusables = [];
621
+ this.focusIndex = 0;
478
622
  this.spacer = null;
479
623
  this.maxHeight = 0;
480
624
  this.widthForMaxHeight = 0;
@@ -485,32 +629,67 @@ var MenuBarView = function () {
485
629
  "class": prefix + "-wrapper"
486
630
  });
487
631
  this.menu = this.wrapper.appendChild(crel("div", {
488
- "class": prefix
632
+ "class": prefix,
633
+ role: "toolbar"
489
634
  }));
490
635
  this.menu.className = prefix;
636
+ this.menu.ariaControlsElements = [editorView.dom];
491
637
  if (editorView.dom.parentNode) editorView.dom.parentNode.replaceChild(this.wrapper, editorView.dom);
492
- this.wrapper.appendChild(editorView.dom);
638
+ if (options.position === "after") {
639
+ this.wrapper.insertBefore(editorView.dom, this.wrapper.firstChild);
640
+ } else {
641
+ this.wrapper.appendChild(editorView.dom);
642
+ }
493
643
  var _renderGrouped = renderGrouped(this.editorView, this.options.content),
494
644
  dom = _renderGrouped.dom,
495
- update = _renderGrouped.update;
645
+ update = _renderGrouped.update,
646
+ focusables = _renderGrouped.focusables;
496
647
  this.contentUpdate = update;
648
+ this.focusables = focusables;
497
649
  this.menu.appendChild(dom);
498
- this.update();
499
650
  if (options.floating && !isIOS()) {
500
651
  this.updateFloat();
501
652
  var potentialScrollers = getAllWrapping(this.wrapper);
502
653
  this.scrollHandler = function (e) {
503
- var root = _this2.editorView.root;
504
- if (!(root.body || root).contains(_this2.wrapper)) potentialScrollers.forEach(function (el) {
505
- return el.removeEventListener("scroll", _this2.scrollHandler);
506
- });else _this2.updateFloat(e.target.getBoundingClientRect ? e.target : undefined);
654
+ var root = _this3.editorView.root;
655
+ if (!(root.body || root).contains(_this3.wrapper)) potentialScrollers.forEach(function (el) {
656
+ return el.removeEventListener("scroll", _this3.scrollHandler);
657
+ });else _this3.updateFloat(e.target.getBoundingClientRect ? e.target : undefined);
507
658
  };
508
659
  potentialScrollers.forEach(function (el) {
509
- return el.addEventListener('scroll', _this2.scrollHandler);
660
+ return el.addEventListener('scroll', _this3.scrollHandler);
510
661
  });
511
662
  }
663
+ var _loop = function _loop(i) {
664
+ var focusable = focusables[i];
665
+ if (i) focusable.setAttribute("tabindex", "-1");
666
+ focusable.addEventListener("focus", function () {
667
+ if (_this3.focusIndex === i) return;
668
+ var prevFocusItem = _this3.focusables[_this3.focusIndex];
669
+ prevFocusItem.setAttribute("tabindex", "-1");
670
+ focusable.setAttribute("tabindex", "0");
671
+ _this3.focusIndex = i;
672
+ });
673
+ };
674
+ for (var i = 0; i < focusables.length; i++) {
675
+ _loop(i);
676
+ }
677
+ this.menu.addEventListener("keydown", function (event) {
678
+ keyboardMoveFocus(_this3, event, "horizontal");
679
+ });
680
+ this.update();
512
681
  }
513
682
  _createClass(MenuBarView, [{
683
+ key: "setFocusIndex",
684
+ value: function setFocusIndex(index) {
685
+ if (this.focusables.length <= 1) return;
686
+ this.focusables[this.focusIndex].setAttribute("tabindex", "-1");
687
+ this.focusIndex = index;
688
+ var nextFocusItem = this.focusables[index];
689
+ nextFocusItem.setAttribute("tabindex", "0");
690
+ nextFocusItem.focus();
691
+ }
692
+ }, {
514
693
  key: "update",
515
694
  value: function update() {
516
695
  if (this.editorView.root != this.root) {
@@ -521,7 +700,12 @@ var MenuBarView = function () {
521
700
  this.menu.replaceChild(dom, this.menu.firstChild);
522
701
  this.root = this.editorView.root;
523
702
  }
703
+ var active = this.editorView.dom.ownerDocument.activeElement == this.focusables[this.focusIndex];
524
704
  this.contentUpdate(this.editorView.state);
705
+ if (active && this.focusables[this.focusIndex].style.display == "none") {
706
+ var next = findFocusableIndex(this.focusables, this.focusIndex, 1);
707
+ if (next != null) this.setFocusIndex(next);
708
+ }
525
709
  if (this.floating) {
526
710
  this.updateScrollCursor();
527
711
  } else {
@@ -12,21 +12,24 @@ interface MenuElement {
12
12
  Render the element for display in the menu. Must return a DOM
13
13
  element and a function that can be used to update the element to
14
14
  a new state. The `update` function must return false if the
15
- update hid the entire element.
15
+ update hid the entire element. May also return a `focusable`
16
+ DOM node, which is the node that should receive focus when this
17
+ element is focused. If not provided, the `dom` element will be used.
16
18
  */
17
19
  render(pm: EditorView): {
18
20
  dom: HTMLElement;
19
21
  update: (state: EditorState) => boolean;
22
+ focusable?: HTMLElement;
20
23
  };
21
24
  }
22
25
  /**
23
26
  An icon or label that, when clicked, executes a command.
24
27
  */
25
- declare class MenuItem implements MenuElement {
28
+ declare class MenuItem<E extends HTMLElement = HTMLButtonElement> implements MenuElement {
26
29
  /**
27
30
  The spec used to create this item.
28
31
  */
29
- readonly spec: MenuItemSpec;
32
+ readonly spec: MenuItemSpec<E>;
30
33
  /**
31
34
  Create a menu item.
32
35
  */
@@ -34,14 +37,14 @@ declare class MenuItem implements MenuElement {
34
37
  /**
35
38
  The spec used to create this item.
36
39
  */
37
- spec: MenuItemSpec);
40
+ spec: MenuItemSpec<E>);
38
41
  /**
39
42
  Renders the icon according to its [display
40
43
  spec](https://prosemirror.net/docs/ref/#menu.MenuItemSpec.display), and adds an event handler which
41
44
  executes the command when the representation is clicked.
42
45
  */
43
46
  render(view: EditorView): {
44
- dom: HTMLElement;
47
+ dom: HTMLButtonElement | E;
45
48
  update: (state: EditorState) => boolean;
46
49
  };
47
50
  }
@@ -68,7 +71,7 @@ type IconSpec = {
68
71
  /**
69
72
  The configuration object passed to the `MenuItem` constructor.
70
73
  */
71
- interface MenuItemSpec {
74
+ interface MenuItemSpec<E extends HTMLElement = HTMLButtonElement> {
72
75
  /**
73
76
  The function to execute when the menu item is activated.
74
77
  */
@@ -94,7 +97,7 @@ interface MenuItemSpec {
94
97
  A function that renders the item. You must provide either this,
95
98
  [`icon`](https://prosemirror.net/docs/ref/#menu.MenuItemSpec.icon), or [`label`](https://prosemirror.net/docs/ref/#MenuItemSpec.label).
96
99
  */
97
- render?: (view: EditorView) => HTMLElement;
100
+ render?: (view: EditorView) => E;
98
101
  /**
99
102
  Describes an icon to show for this item.
100
103
  */
@@ -124,6 +127,7 @@ A drop-down menu, displayed as a label with a downwards-pointing
124
127
  triangle to the right of it.
125
128
  */
126
129
  declare class Dropdown implements MenuElement {
130
+ private focusTimeout;
127
131
  /**
128
132
  Create a dropdown wrapping the elements.
129
133
  */
@@ -157,13 +161,16 @@ declare class Dropdown implements MenuElement {
157
161
  render(view: EditorView): {
158
162
  dom: HTMLElement;
159
163
  update: (state: EditorState) => boolean;
164
+ focusable: HTMLElement;
160
165
  };
166
+ setFocusIndex(index: number): void;
161
167
  }
162
168
  /**
163
169
  Represents a submenu wrapping a group of elements that start
164
170
  hidden and expand to the right when hovered over or tapped.
165
171
  */
166
172
  declare class DropdownSubmenu implements MenuElement {
173
+ private focusTimeout;
167
174
  /**
168
175
  Creates a submenu for the given group of menu elements. The
169
176
  following options are recognized:
@@ -184,7 +191,9 @@ declare class DropdownSubmenu implements MenuElement {
184
191
  render(view: EditorView): {
185
192
  dom: HTMLElement;
186
193
  update: (state: EditorState) => boolean;
194
+ focusable: HTMLElement;
187
195
  };
196
+ setFocusIndex(index: number): void;
188
197
  }
189
198
  /**
190
199
  Render the given, possibly nested, array of menu elements into a
@@ -195,6 +204,7 @@ be empty).
195
204
  declare function renderGrouped(view: EditorView, content: readonly (readonly MenuElement[])[]): {
196
205
  dom: DocumentFragment;
197
206
  update: (state: EditorState) => boolean;
207
+ focusables: HTMLElement[];
198
208
  };
199
209
  /**
200
210
  A set of basic editor-related icons. Contains the properties
@@ -209,23 +219,23 @@ declare const icons: {
209
219
  /**
210
220
  Menu item for the `joinUp` command.
211
221
  */
212
- declare const joinUpItem: MenuItem;
222
+ declare const joinUpItem: MenuItem<HTMLButtonElement>;
213
223
  /**
214
224
  Menu item for the `lift` command.
215
225
  */
216
- declare const liftItem: MenuItem;
226
+ declare const liftItem: MenuItem<HTMLButtonElement>;
217
227
  /**
218
228
  Menu item for the `selectParentNode` command.
219
229
  */
220
- declare const selectParentNodeItem: MenuItem;
230
+ declare const selectParentNodeItem: MenuItem<HTMLButtonElement>;
221
231
  /**
222
232
  Menu item for the `undo` command.
223
233
  */
224
- declare let undoItem: MenuItem;
234
+ declare let undoItem: MenuItem<HTMLButtonElement>;
225
235
  /**
226
236
  Menu item for the `redo` command.
227
237
  */
228
- declare let redoItem: MenuItem;
238
+ declare let redoItem: MenuItem<HTMLButtonElement>;
229
239
  /**
230
240
  Build a menu item for wrapping the selection in a given node type.
231
241
  Adds `run` and `select` properties to the ones present in
@@ -234,7 +244,7 @@ attributes for the wrapping node.
234
244
  */
235
245
  declare function wrapItem(nodeType: NodeType, options: Partial<MenuItemSpec> & {
236
246
  attrs?: Attrs | null;
237
- }): MenuItem;
247
+ }): MenuItem<HTMLButtonElement>;
238
248
  /**
239
249
  Build a menu item for changing the type of the textblock around the
240
250
  selection to the given type. Provides `run`, `active`, and `select`
@@ -243,7 +253,7 @@ be an object to provide the attributes for the textblock node.
243
253
  */
244
254
  declare function blockTypeItem(nodeType: NodeType, options: Partial<MenuItemSpec> & {
245
255
  attrs?: Attrs | null;
246
- }): MenuItem;
256
+ }): MenuItem<HTMLButtonElement>;
247
257
 
248
258
  /**
249
259
  A plugin that will place a menu bar above the editor. Note that
@@ -256,6 +266,11 @@ declare function menuBar(options: {
256
266
  */
257
267
  content: readonly (readonly MenuElement[])[];
258
268
  /**
269
+ Determines whether the menu is placed before or after the editor in the DOM.
270
+ The default is "before".
271
+ */
272
+ position?: "before" | "after";
273
+ /**
259
274
  Determines whether the menu floats, i.e. whether it sticks to
260
275
  the top of the viewport when the editor is partially scrolled
261
276
  out of view.