texditor 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +232 -0
  3. package/dist/core/base/base-model.d.ts +160 -0
  4. package/dist/core/base/base-model.d.ts.map +1 -0
  5. package/dist/core/base/event-manager.d.ts +20 -0
  6. package/dist/core/base/event-manager.d.ts.map +1 -0
  7. package/dist/core/base/index.d.ts +3 -0
  8. package/dist/core/base/index.d.ts.map +1 -0
  9. package/dist/core/base.d.ts +2 -0
  10. package/dist/core/base.mjs +1 -0
  11. package/dist/core/block-manager.d.ts +91 -0
  12. package/dist/core/block-manager.d.ts.map +1 -0
  13. package/dist/core/commands.d.ts +73 -0
  14. package/dist/core/commands.d.ts.map +1 -0
  15. package/dist/core/config.d.ts +11 -0
  16. package/dist/core/config.d.ts.map +1 -0
  17. package/dist/core/events.d.ts +121 -0
  18. package/dist/core/events.d.ts.map +1 -0
  19. package/dist/core/extensions.d.ts +23 -0
  20. package/dist/core/extensions.d.ts.map +1 -0
  21. package/dist/core/history-manager.d.ts +76 -0
  22. package/dist/core/history-manager.d.ts.map +1 -0
  23. package/dist/core/i18n.d.ts +29 -0
  24. package/dist/core/i18n.d.ts.map +1 -0
  25. package/dist/core/models/action-model.d.ts +54 -0
  26. package/dist/core/models/action-model.d.ts.map +1 -0
  27. package/dist/core/models/block-model.d.ts +396 -0
  28. package/dist/core/models/block-model.d.ts.map +1 -0
  29. package/dist/core/models/extension-model.d.ts +25 -0
  30. package/dist/core/models/extension-model.d.ts.map +1 -0
  31. package/dist/core/models/file-action-model.d.ts +20 -0
  32. package/dist/core/models/file-action-model.d.ts.map +1 -0
  33. package/dist/core/models/index.d.ts +7 -0
  34. package/dist/core/models/index.d.ts.map +1 -0
  35. package/dist/core/models/tool-model.d.ts +69 -0
  36. package/dist/core/models/tool-model.d.ts.map +1 -0
  37. package/dist/core/models.d.ts +2 -0
  38. package/dist/core/models.mjs +6 -0
  39. package/dist/core/security/sanitizer.d.ts +65 -0
  40. package/dist/core/security/sanitizer.d.ts.map +1 -0
  41. package/dist/core/selection-api.d.ts +52 -0
  42. package/dist/core/selection-api.d.ts.map +1 -0
  43. package/dist/core/tools.d.ts +27 -0
  44. package/dist/core/tools.d.ts.map +1 -0
  45. package/dist/core/ui/slider.d.ts +50 -0
  46. package/dist/core/ui/slider.d.ts.map +1 -0
  47. package/dist/core/ui/toasts.d.ts +23 -0
  48. package/dist/core/ui/toasts.d.ts.map +1 -0
  49. package/dist/core/ui/virtual-selection.d.ts +171 -0
  50. package/dist/core/ui/virtual-selection.d.ts.map +1 -0
  51. package/dist/entities/actions/convert-action.d.ts +9 -0
  52. package/dist/entities/actions/convert-action.d.ts.map +1 -0
  53. package/dist/entities/actions/create-action.d.ts +8 -0
  54. package/dist/entities/actions/create-action.d.ts.map +1 -0
  55. package/dist/entities/actions/delete-action.d.ts +8 -0
  56. package/dist/entities/actions/delete-action.d.ts.map +1 -0
  57. package/dist/entities/actions/index.d.ts +7 -0
  58. package/dist/entities/actions/index.d.ts.map +1 -0
  59. package/dist/entities/actions/move-down-action.d.ts +9 -0
  60. package/dist/entities/actions/move-down-action.d.ts.map +1 -0
  61. package/dist/entities/actions/move-up-action.d.ts +9 -0
  62. package/dist/entities/actions/move-up-action.d.ts.map +1 -0
  63. package/dist/entities/actions.d.ts +2 -0
  64. package/dist/entities/actions.mjs +6 -0
  65. package/dist/entities/blocks/code/index.d.ts +48 -0
  66. package/dist/entities/blocks/code/index.d.ts.map +1 -0
  67. package/dist/entities/blocks/code/languages.d.ts +4 -0
  68. package/dist/entities/blocks/code/languages.d.ts.map +1 -0
  69. package/dist/entities/blocks/files/actions/DeleteFileAction.d.ts +7 -0
  70. package/dist/entities/blocks/files/actions/DeleteFileAction.d.ts.map +1 -0
  71. package/dist/entities/blocks/files/actions/DownloadFileAction.d.ts +12 -0
  72. package/dist/entities/blocks/files/actions/DownloadFileAction.d.ts.map +1 -0
  73. package/dist/entities/blocks/files/actions/EditFileAction.d.ts +32 -0
  74. package/dist/entities/blocks/files/actions/EditFileAction.d.ts.map +1 -0
  75. package/dist/entities/blocks/files/actions/MoveLeftFileAction.d.ts +8 -0
  76. package/dist/entities/blocks/files/actions/MoveLeftFileAction.d.ts.map +1 -0
  77. package/dist/entities/blocks/files/actions/MoveRightFileAction.d.ts +8 -0
  78. package/dist/entities/blocks/files/actions/MoveRightFileAction.d.ts.map +1 -0
  79. package/dist/entities/blocks/files/index.d.ts +185 -0
  80. package/dist/entities/blocks/files/index.d.ts.map +1 -0
  81. package/dist/entities/blocks/gallery/index.d.ts +60 -0
  82. package/dist/entities/blocks/gallery/index.d.ts.map +1 -0
  83. package/dist/entities/blocks/header/H1.d.ts +4 -0
  84. package/dist/entities/blocks/header/H1.d.ts.map +1 -0
  85. package/dist/entities/blocks/header/H2.d.ts +6 -0
  86. package/dist/entities/blocks/header/H2.d.ts.map +1 -0
  87. package/dist/entities/blocks/header/H3.d.ts +6 -0
  88. package/dist/entities/blocks/header/H3.d.ts.map +1 -0
  89. package/dist/entities/blocks/header/H4.d.ts +6 -0
  90. package/dist/entities/blocks/header/H4.d.ts.map +1 -0
  91. package/dist/entities/blocks/header/H5.d.ts +6 -0
  92. package/dist/entities/blocks/header/H5.d.ts.map +1 -0
  93. package/dist/entities/blocks/header/H6.d.ts +6 -0
  94. package/dist/entities/blocks/header/H6.d.ts.map +1 -0
  95. package/dist/entities/blocks/header/index.d.ts +6 -0
  96. package/dist/entities/blocks/header/index.d.ts.map +1 -0
  97. package/dist/entities/blocks/index.d.ts +14 -0
  98. package/dist/entities/blocks/index.d.ts.map +1 -0
  99. package/dist/entities/blocks/list/index.d.ts +6 -0
  100. package/dist/entities/blocks/list/index.d.ts.map +1 -0
  101. package/dist/entities/blocks/list/ol.d.ts +6 -0
  102. package/dist/entities/blocks/list/ol.d.ts.map +1 -0
  103. package/dist/entities/blocks/paragraph/index.d.ts +6 -0
  104. package/dist/entities/blocks/paragraph/index.d.ts.map +1 -0
  105. package/dist/entities/blocks.d.ts +2 -0
  106. package/dist/entities/blocks.mjs +13 -0
  107. package/dist/entities/extensions/delete-selected.d.ts +9 -0
  108. package/dist/entities/extensions/delete-selected.d.ts.map +1 -0
  109. package/dist/entities/extensions/index.d.ts +5 -0
  110. package/dist/entities/extensions/index.d.ts.map +1 -0
  111. package/dist/entities/extensions/redo.d.ts +8 -0
  112. package/dist/entities/extensions/redo.d.ts.map +1 -0
  113. package/dist/entities/extensions/undo.d.ts +8 -0
  114. package/dist/entities/extensions/undo.d.ts.map +1 -0
  115. package/dist/entities/extensions.d.ts +2 -0
  116. package/dist/entities/extensions.mjs +4 -0
  117. package/dist/entities/tools/bold.d.ts +6 -0
  118. package/dist/entities/tools/bold.d.ts.map +1 -0
  119. package/dist/entities/tools/clear-formatting.d.ts +7 -0
  120. package/dist/entities/tools/clear-formatting.d.ts.map +1 -0
  121. package/dist/entities/tools/index.d.ts +10 -0
  122. package/dist/entities/tools/index.d.ts.map +1 -0
  123. package/dist/entities/tools/inline-code.d.ts +6 -0
  124. package/dist/entities/tools/inline-code.d.ts.map +1 -0
  125. package/dist/entities/tools/italic.d.ts +6 -0
  126. package/dist/entities/tools/italic.d.ts.map +1 -0
  127. package/dist/entities/tools/link.d.ts +35 -0
  128. package/dist/entities/tools/link.d.ts.map +1 -0
  129. package/dist/entities/tools/marker.d.ts +6 -0
  130. package/dist/entities/tools/marker.d.ts.map +1 -0
  131. package/dist/entities/tools/subscript.d.ts +6 -0
  132. package/dist/entities/tools/subscript.d.ts.map +1 -0
  133. package/dist/entities/tools/superscript.d.ts +6 -0
  134. package/dist/entities/tools/superscript.d.ts.map +1 -0
  135. package/dist/entities/tools.d.ts +2 -0
  136. package/dist/entities/tools.mjs +9 -0
  137. package/dist/icons/index.d.ts +42 -0
  138. package/dist/icons/index.d.ts.map +1 -0
  139. package/dist/locales/en.d.ts +66 -0
  140. package/dist/locales/en.d.ts.map +1 -0
  141. package/dist/locales/index.d.ts +4 -0
  142. package/dist/locales/index.d.ts.map +1 -0
  143. package/dist/locales/ru.d.ts +66 -0
  144. package/dist/locales/ru.d.ts.map +1 -0
  145. package/dist/locales.d.ts +2 -0
  146. package/dist/locales.mjs +3 -0
  147. package/dist/main.d.ts +6 -0
  148. package/dist/node_modules/snappykit/dist/snappykit.mjs +440 -0
  149. package/dist/node_modules/sortum/dist/sortum.mjs +588 -0
  150. package/dist/src/core/base/base-model.mjs +184 -0
  151. package/dist/src/core/base/event-manager.mjs +31 -0
  152. package/dist/src/core/block-manager.mjs +499 -0
  153. package/dist/src/core/commands.mjs +311 -0
  154. package/dist/src/core/config.mjs +12 -0
  155. package/dist/src/core/events.mjs +369 -0
  156. package/dist/src/core/extensions.mjs +48 -0
  157. package/dist/src/core/history-manager.mjs +107 -0
  158. package/dist/src/core/i18n.mjs +25 -0
  159. package/dist/src/core/models/action-model.mjs +72 -0
  160. package/dist/src/core/models/block-model.mjs +619 -0
  161. package/dist/src/core/models/extension-model.mjs +28 -0
  162. package/dist/src/core/models/file-action-model.mjs +24 -0
  163. package/dist/src/core/models/tool-model.mjs +80 -0
  164. package/dist/src/core/security/sanitizer.mjs +130 -0
  165. package/dist/src/core/selection-api.mjs +202 -0
  166. package/dist/src/core/tools.mjs +88 -0
  167. package/dist/src/core/ui/slider.mjs +81 -0
  168. package/dist/src/core/ui/toasts.mjs +55 -0
  169. package/dist/src/core/ui/virtual-selection.mjs +205 -0
  170. package/dist/src/entities/actions/convert-action.mjs +43 -0
  171. package/dist/src/entities/actions/create-action.mjs +39 -0
  172. package/dist/src/entities/actions/delete-action.mjs +19 -0
  173. package/dist/src/entities/actions/move-down-action.mjs +22 -0
  174. package/dist/src/entities/actions/move-up-action.mjs +22 -0
  175. package/dist/src/entities/blocks/code/index.mjs +144 -0
  176. package/dist/src/entities/blocks/code/languages.mjs +54 -0
  177. package/dist/src/entities/blocks/files/actions/DeleteFileAction.mjs +21 -0
  178. package/dist/src/entities/blocks/files/actions/DownloadFileAction.mjs +44 -0
  179. package/dist/src/entities/blocks/files/actions/EditFileAction.mjs +111 -0
  180. package/dist/src/entities/blocks/files/actions/MoveLeftFileAction.mjs +24 -0
  181. package/dist/src/entities/blocks/files/actions/MoveRightFileAction.mjs +24 -0
  182. package/dist/src/entities/blocks/files/index.mjs +424 -0
  183. package/dist/src/entities/blocks/gallery/index.mjs +141 -0
  184. package/dist/src/entities/blocks/header/H1.mjs +5 -0
  185. package/dist/src/entities/blocks/header/H2.mjs +16 -0
  186. package/dist/src/entities/blocks/header/H3.mjs +16 -0
  187. package/dist/src/entities/blocks/header/H4.mjs +16 -0
  188. package/dist/src/entities/blocks/header/H5.mjs +16 -0
  189. package/dist/src/entities/blocks/header/H6.mjs +16 -0
  190. package/dist/src/entities/blocks/header/index.mjs +46 -0
  191. package/dist/src/entities/blocks/list/index.mjs +51 -0
  192. package/dist/src/entities/blocks/list/ol.mjs +16 -0
  193. package/dist/src/entities/blocks/paragraph/index.mjs +46 -0
  194. package/dist/src/entities/extensions/delete-selected.mjs +27 -0
  195. package/dist/src/entities/extensions/redo.mjs +22 -0
  196. package/dist/src/entities/extensions/undo.mjs +22 -0
  197. package/dist/src/entities/tools/bold.mjs +16 -0
  198. package/dist/src/entities/tools/clear-formatting.mjs +20 -0
  199. package/dist/src/entities/tools/inline-code.mjs +19 -0
  200. package/dist/src/entities/tools/italic.mjs +16 -0
  201. package/dist/src/entities/tools/link.mjs +89 -0
  202. package/dist/src/entities/tools/marker.mjs +17 -0
  203. package/dist/src/entities/tools/subscript.mjs +17 -0
  204. package/dist/src/entities/tools/superscript.mjs +18 -0
  205. package/dist/src/icons/index.mjs +4 -0
  206. package/dist/src/locales/en.mjs +68 -0
  207. package/dist/src/locales/ru.mjs +68 -0
  208. package/dist/src/store/currentStore.mjs +8 -0
  209. package/dist/src/store/mainStore.mjs +4 -0
  210. package/dist/src/utils/ajax.mjs +35 -0
  211. package/dist/src/utils/common.mjs +26 -0
  212. package/dist/src/utils/icon.mjs +12 -0
  213. package/dist/src/utils/sanitizer.mjs +20 -0
  214. package/dist/src/views/extensions.mjs +18 -0
  215. package/dist/src/views/main.mjs +19 -0
  216. package/dist/src/views/tools.mjs +9 -0
  217. package/dist/store/currentStore.d.ts +15 -0
  218. package/dist/store/currentStore.d.ts.map +1 -0
  219. package/dist/store/mainStore.d.ts +14 -0
  220. package/dist/store/mainStore.d.ts.map +1 -0
  221. package/dist/styles/animations.css +1 -0
  222. package/dist/styles/core/ui/selection.css +1 -0
  223. package/dist/styles/core/ui/slider.css +1 -0
  224. package/dist/styles/entities/blocks/code.css +1 -0
  225. package/dist/styles/entities/blocks/files.css +1 -0
  226. package/dist/styles/entities/blocks/gallery.css +1 -0
  227. package/dist/styles/entities/blocks/list.css +1 -0
  228. package/dist/styles/entities/blocks/paragraph.css +1 -0
  229. package/dist/styles/entities/tools/inline-code.css +1 -0
  230. package/dist/styles/entities/tools/link.css +1 -0
  231. package/dist/styles/texditor.css +1 -0
  232. package/dist/styles/theme.css +42 -0
  233. package/dist/texditor.d.ts +68 -0
  234. package/dist/texditor.d.ts.map +1 -0
  235. package/dist/texditor.mjs +138 -0
  236. package/dist/types/core/base/base-model.d.ts +212 -0
  237. package/dist/types/core/base/base-model.d.ts.map +1 -0
  238. package/dist/types/core/base/event-manager.d.ts +42 -0
  239. package/dist/types/core/base/event-manager.d.ts.map +1 -0
  240. package/dist/types/core/base/index.d.ts +3 -0
  241. package/dist/types/core/base/index.d.ts.map +1 -0
  242. package/dist/types/core/block-manager.d.ts +223 -0
  243. package/dist/types/core/block-manager.d.ts.map +1 -0
  244. package/dist/types/core/commands.d.ts +93 -0
  245. package/dist/types/core/commands.d.ts.map +1 -0
  246. package/dist/types/core/config.d.ts +86 -0
  247. package/dist/types/core/config.d.ts.map +1 -0
  248. package/dist/types/core/events.d.ts +58 -0
  249. package/dist/types/core/events.d.ts.map +1 -0
  250. package/dist/types/core/extensions.d.ts +19 -0
  251. package/dist/types/core/extensions.d.ts.map +1 -0
  252. package/dist/types/core/history-manager.d.ts +72 -0
  253. package/dist/types/core/history-manager.d.ts.map +1 -0
  254. package/dist/types/core/http/index.d.ts +2 -0
  255. package/dist/types/core/http/index.d.ts.map +1 -0
  256. package/dist/types/core/http/response.d.ts +6 -0
  257. package/dist/types/core/http/response.d.ts.map +1 -0
  258. package/dist/types/core/i18n.d.ts +40 -0
  259. package/dist/types/core/i18n.d.ts.map +1 -0
  260. package/dist/types/core/index.d.ts +15 -0
  261. package/dist/types/core/index.d.ts.map +1 -0
  262. package/dist/types/core/models/action-model.d.ts +46 -0
  263. package/dist/types/core/models/action-model.d.ts.map +1 -0
  264. package/dist/types/core/models/block-model.d.ts +404 -0
  265. package/dist/types/core/models/block-model.d.ts.map +1 -0
  266. package/dist/types/core/models/extension-model.d.ts +41 -0
  267. package/dist/types/core/models/extension-model.d.ts.map +1 -0
  268. package/dist/types/core/models/file-action-model.d.ts +36 -0
  269. package/dist/types/core/models/file-action-model.d.ts.map +1 -0
  270. package/dist/types/core/models/index.d.ts +7 -0
  271. package/dist/types/core/models/index.d.ts.map +1 -0
  272. package/dist/types/core/models/tool-model.d.ts +54 -0
  273. package/dist/types/core/models/tool-model.d.ts.map +1 -0
  274. package/dist/types/core/sanitizer.d.ts +27 -0
  275. package/dist/types/core/sanitizer.d.ts.map +1 -0
  276. package/dist/types/core/selection-api.d.ts +116 -0
  277. package/dist/types/core/selection-api.d.ts.map +1 -0
  278. package/dist/types/core/tools.d.ts +35 -0
  279. package/dist/types/core/tools.d.ts.map +1 -0
  280. package/dist/types/core/ui/index.d.ts +4 -0
  281. package/dist/types/core/ui/index.d.ts.map +1 -0
  282. package/dist/types/core/ui/slider.d.ts +45 -0
  283. package/dist/types/core/ui/slider.d.ts.map +1 -0
  284. package/dist/types/core/ui/toasts.d.ts +58 -0
  285. package/dist/types/core/ui/toasts.d.ts.map +1 -0
  286. package/dist/types/core/ui/virtual-selection.d.ts +83 -0
  287. package/dist/types/core/ui/virtual-selection.d.ts.map +1 -0
  288. package/dist/types/entities/blocks/code.d.ts +4 -0
  289. package/dist/types/entities/blocks/code.d.ts.map +1 -0
  290. package/dist/types/entities/blocks/files.d.ts +170 -0
  291. package/dist/types/entities/blocks/files.d.ts.map +1 -0
  292. package/dist/types/entities/blocks/gallery.d.ts +40 -0
  293. package/dist/types/entities/blocks/gallery.d.ts.map +1 -0
  294. package/dist/types/entities/blocks/header.d.ts +4 -0
  295. package/dist/types/entities/blocks/header.d.ts.map +1 -0
  296. package/dist/types/entities/blocks/index.d.ts +7 -0
  297. package/dist/types/entities/blocks/index.d.ts.map +1 -0
  298. package/dist/types/entities/blocks/list.d.ts +4 -0
  299. package/dist/types/entities/blocks/list.d.ts.map +1 -0
  300. package/dist/types/entities/blocks/paragraph.d.ts +4 -0
  301. package/dist/types/entities/blocks/paragraph.d.ts.map +1 -0
  302. package/dist/types/entities/index.d.ts +2 -0
  303. package/dist/types/entities/index.d.ts.map +1 -0
  304. package/dist/types/index.d.ts +5 -0
  305. package/dist/types/index.d.ts.map +1 -0
  306. package/dist/types/texditor.d.ts +66 -0
  307. package/dist/types/texditor.d.ts.map +1 -0
  308. package/dist/types/utils/ajax.d.ts +31 -0
  309. package/dist/types/utils/ajax.d.ts.map +1 -0
  310. package/dist/types/utils/icon.d.ts +10 -0
  311. package/dist/types/utils/icon.d.ts.map +1 -0
  312. package/dist/types/utils/index.d.ts +3 -0
  313. package/dist/types/utils/index.d.ts.map +1 -0
  314. package/dist/utils/ajax.d.ts +9 -0
  315. package/dist/utils/ajax.d.ts.map +1 -0
  316. package/dist/utils/common.d.ts +28 -0
  317. package/dist/utils/common.d.ts.map +1 -0
  318. package/dist/utils/icon.d.ts +12 -0
  319. package/dist/utils/icon.d.ts.map +1 -0
  320. package/dist/utils/index.d.ts +5 -0
  321. package/dist/utils/index.d.ts.map +1 -0
  322. package/dist/utils/sanitizer.d.ts +8 -0
  323. package/dist/utils/sanitizer.d.ts.map +1 -0
  324. package/dist/views/extensions.d.ts +3 -0
  325. package/dist/views/extensions.d.ts.map +1 -0
  326. package/dist/views/main.d.ts +3 -0
  327. package/dist/views/main.d.ts.map +1 -0
  328. package/dist/views/tools.d.ts +2 -0
  329. package/dist/views/tools.d.ts.map +1 -0
  330. package/package.json +75 -0
@@ -0,0 +1,619 @@
1
+ import { executeMethodIfExists as e } from "../../utils/common.mjs";
2
+ import { A as t, D as n, F as r, O as i, Q as a, S as o, T as s, Te as c, Z as l, b as u, de as d, g as f, ie as p, le as m, m as h, n as g, oe as _, se as v, w as y, y as b } from "../../../node_modules/snappykit/dist/snappykit.mjs";
3
+ import { IconBars as x, IconMove as S } from "../../icons/index.mjs";
4
+ import { renderIcon as C } from "../../utils/icon.mjs";
5
+ import w from "../security/sanitizer.mjs";
6
+ import T from "../base/base-model.mjs";
7
+ import { y as E } from "../../../node_modules/sortum/dist/sortum.mjs";
8
+ import { mainStore as D } from "../../store/mainStore.mjs";
9
+ import O from "../ui/toasts.mjs";
10
+ //#region src/core/models/block-model.ts
11
+ var k = class extends T {
12
+ constructor(...e) {
13
+ super(...e), this.sortableItems = null, this.toastsInstance = null;
14
+ }
15
+ static setup(e) {
16
+ return super.setup(e);
17
+ }
18
+ change(e, t = {}, n = {}) {
19
+ let { events: r } = this.editor, i = {
20
+ type: e,
21
+ modelCode: this.getModelCode(),
22
+ ...t
23
+ };
24
+ Object.keys(n).length && r.change({
25
+ ...i,
26
+ ...n
27
+ }), this.trigger(e, i), this.trigger("onChange", i);
28
+ }
29
+ parentConfig() {
30
+ return {
31
+ __modelCode: "block",
32
+ autoMerge: !0,
33
+ autoParse: !0,
34
+ icon: "",
35
+ visibleIcon: !1,
36
+ translation: "",
37
+ groupCode: "",
38
+ contentClassName: "",
39
+ itemTagName: "li",
40
+ itemName: "li",
41
+ itemRelatedNames: [],
42
+ itemClassName: "",
43
+ itemBodyClassName: "",
44
+ maxItems: 0,
45
+ backspaceRemove: !0,
46
+ className: "",
47
+ visibleTools: !1,
48
+ availableTools: [],
49
+ editable: !1,
50
+ editableItems: !1,
51
+ singleItem: !1,
52
+ enterCreate: !0,
53
+ raw: !1,
54
+ sanitizer: !1,
55
+ sanitizerConfig: {
56
+ elements: [
57
+ "b",
58
+ "a",
59
+ "i",
60
+ "s",
61
+ "u",
62
+ "sup",
63
+ "sub",
64
+ "mark",
65
+ "code"
66
+ ],
67
+ attributes: { a: ["href", "target"] },
68
+ protocols: { a: { href: [
69
+ "https",
70
+ "ftp",
71
+ "http",
72
+ "mailto"
73
+ ] } }
74
+ },
75
+ tagName: "div",
76
+ relatedNames: [],
77
+ emptyDetect: !1,
78
+ customSave: !1,
79
+ normalize: !1,
80
+ convertible: !1,
81
+ sortableItems: !1,
82
+ dragZoneClassName: "tex-item-drag-zone-default",
83
+ visibleTitle: !1,
84
+ attributeTitle: !1,
85
+ toastTimeout: 7e3,
86
+ toastsClassName: "tex-toasts"
87
+ };
88
+ }
89
+ parentOnCreateElement(e) {
90
+ let { config: n, i18n: r } = this.editor, a = this.getTagName(), o = this.getContentClassName(), s = [];
91
+ if (n.get("actions", []).length) {
92
+ let e = p("div", (e) => {
93
+ b(e, "tex-actions");
94
+ let t = p("div", (e) => {
95
+ b(e, "tex-actions-content tex-animate-fadeIn"), y(e, [p("div", (e) => {
96
+ b(e, "tex-actions-content-body");
97
+ }), p("div", (e) => {
98
+ b(e, "tex-actions-content-dropdown");
99
+ })]);
100
+ });
101
+ y(e, [p("div", (e) => {
102
+ b(e, "tex-actions-btn tex-animate-fadeIn"), i(e, "title", r.get("actions", "Actions")), v(e, C(x, {
103
+ width: 14,
104
+ height: 14
105
+ })), l(e, "click.open", () => this.showActions());
106
+ }), t]);
107
+ });
108
+ s.push(e);
109
+ }
110
+ let c = p(a, (e) => {
111
+ b(e, "tex-block-content" + (o ? " " + o : "")), this.isEmptyDetect() && t(e, "empty", "true"), this.isEditable() && (e.contentEditable = "true");
112
+ let n = this.getPlaceholder();
113
+ n && !g(n) && t(e, "placeholder", n);
114
+ });
115
+ s.push(c), y(e, s);
116
+ }
117
+ showActions() {
118
+ this.hideActions();
119
+ let { config: t } = this.editor, n = this.getEventId(), r = this.getElement(), [i] = _(".tex-actions", r);
120
+ if (i) {
121
+ let a = t.get("actions", []);
122
+ o(".tex-actions-content", (t) => {
123
+ let [n] = _(".tex-actions-content-body", t);
124
+ n && (a.forEach((t) => {
125
+ let i = new t(this.editor);
126
+ e(i, "__setBlockElement", [r]);
127
+ let a = i.getElement(), o = i.isVisible();
128
+ y(n, a), f(a, "display", o ? "" : "none"), e(i, "__onMount", [a]);
129
+ }), f(t, "display", "block"));
130
+ }, r), c(document, "click.actions" + n, (e) => {
131
+ m(e.target, i) || this.hideActions();
132
+ }, !0);
133
+ }
134
+ }
135
+ hideActions() {
136
+ let e = this.getEventId(), t = this.getElement(), [n] = _(".tex-actions", t);
137
+ n && (a(document, "click.actions" + e), o(".tex-actions-content", (e) => {
138
+ o(".tex-actions-content-body", (e) => v(e, ""), e), o(".tex-actions-content-dropdown", (e) => {
139
+ v(e, ""), u(e, "tex-active");
140
+ }, e), f(e, "display", "");
141
+ }, t));
142
+ }
143
+ refreshSortableItems() {
144
+ let { blockManager: e } = this.editor;
145
+ if (!this.isSortableItems()) return;
146
+ this.sortableItems?.destroy();
147
+ let t = this.getContentElement(), n = this.editor.getRoot();
148
+ !t || !n || (this.sortableItems = new E(t, {
149
+ handleSelector: ".tex-item-drag-zone",
150
+ group: this.getGroupCode(),
151
+ targetClass: "tex-sortable-item",
152
+ invalidClass: "tex-sortable-invalid",
153
+ ghostClass: "tex-sortable-ghost",
154
+ pressDuration: 10,
155
+ edgeThreshold: 200,
156
+ maxItems: this.getMaxItems(),
157
+ onStart: () => {
158
+ e.destroyVirtualSelection();
159
+ },
160
+ onEnd: (a) => {
161
+ e.refreshVirtualSelection();
162
+ let [o] = D.get("editors").filter((e) => m(a.destination, e)), s = o && o !== n, c = s ? o.texditor.blockManager : e, l = c.findParent(a.destination), u = l?.baseModel, d = l !== this.getElement(), f = c.getIndex(l), p = e.getIndex(this.getElement());
163
+ d && (e.rebuild(p), s ? c.rebuild(f) : e.rebuild(f));
164
+ let h = e.getBlock(p);
165
+ if (h?.baseModel && h.baseModel?.change("moveListItem", {
166
+ item: a.item,
167
+ index: a.fromIndex,
168
+ targetIndex: a.toIndex,
169
+ source: a.source,
170
+ destination: a.destination
171
+ }, {
172
+ blockElement: h.baseModel.getElement(),
173
+ contentElement: t
174
+ }), u) {
175
+ let e = u.getItemBody(a.toIndex || 0);
176
+ if (e) {
177
+ let t = r(e), n = i(e, "contentEditable") === "true" ? t : 0;
178
+ c.focus(f, n, n, a.toIndex);
179
+ }
180
+ }
181
+ }
182
+ }));
183
+ }
184
+ compose(e) {
185
+ let t = this.getContentElement();
186
+ if (!this.isEditable() && this.isEditableItems()) {
187
+ let n = e?.data || {};
188
+ if (Object.keys(n).length) Array.isArray(n) && n.length && n.forEach((e) => {
189
+ if (!g(e.data)) {
190
+ let n = this.__makeItemElement(e.data);
191
+ n && y(t, n);
192
+ }
193
+ });
194
+ else {
195
+ let e = this.__makeItemElement();
196
+ e && y(t, e);
197
+ }
198
+ } else {
199
+ let n = e?.data || "";
200
+ n && typeof n == "string" && (this.isRaw() ? d(t, n) : v(t, n));
201
+ }
202
+ return this.getElement();
203
+ }
204
+ onCompose(e) {}
205
+ __compose(e) {
206
+ this.sanitize(), typeof e == "object" && Object.keys(e).length && this.setOptions(e);
207
+ let t = this.compose(e);
208
+ return this.onCompose(e), this.change("onCompose", { createSchema: e }), t;
209
+ }
210
+ parse(e) {
211
+ return e;
212
+ }
213
+ __parse(e) {
214
+ let t = this.parse(e);
215
+ return this.change("parse", { createSchema: t }), t;
216
+ }
217
+ getTagName() {
218
+ return this.getConfig("tagName", "");
219
+ }
220
+ getPlaceholder() {
221
+ return this.getConfig("placeholder", "");
222
+ }
223
+ getGroupCode() {
224
+ return this.getConfig("groupCode", "block");
225
+ }
226
+ getContentClassName() {
227
+ return this.getConfig("contentClassName", "");
228
+ }
229
+ getContentElement() {
230
+ let [e] = _(".tex-block-content", this.getElement());
231
+ return e;
232
+ }
233
+ isAutoMerge() {
234
+ return this.getConfig("autoMerge", !0);
235
+ }
236
+ isAutoParse() {
237
+ return this.getConfig("autoParse", !0);
238
+ }
239
+ isEnterCreate() {
240
+ return this.getConfig("enterCreate", !0);
241
+ }
242
+ isEmpty() {
243
+ let e = this.getContentElement();
244
+ if (!e) return !0;
245
+ if (this.isEditableItems()) {
246
+ let e = this.getItemsLength(), t = this.getItemBody(0);
247
+ return t ? e === 0 || e === 1 && g(v(t).trim()) : !0;
248
+ }
249
+ let t = v(e).trim();
250
+ return g(t) || t == "<br>";
251
+ }
252
+ isEmptyItem(e) {
253
+ let t = this.getItemBody(e);
254
+ if (!t) return !0;
255
+ let n = v(t).trim();
256
+ return g(n) || n == "<br>";
257
+ }
258
+ isEmptyDetect() {
259
+ return this.getConfig("emptyDetect", !1);
260
+ }
261
+ isBackspaceRemove() {
262
+ return this.getConfig("backspaceRemove", !0);
263
+ }
264
+ isEditable() {
265
+ return this.getConfig("editable", !1);
266
+ }
267
+ isEditableItems() {
268
+ return this.getConfig("editableItems", !1);
269
+ }
270
+ isSingleItem() {
271
+ return this.getConfig("singleItem", !1);
272
+ }
273
+ isRaw() {
274
+ return this.getConfig("raw", !1);
275
+ }
276
+ isNormalize() {
277
+ return this.getConfig("normalize", !1);
278
+ }
279
+ isConvertible() {
280
+ return this.getConfig("convertible", !1);
281
+ }
282
+ isCustomSave() {
283
+ return this.getConfig("customSave", !1);
284
+ }
285
+ isVisibleTools() {
286
+ return this.getConfig("visibleTools", !1);
287
+ }
288
+ getAvailableTools() {
289
+ return this.getConfig("availableTools", []);
290
+ }
291
+ getRelatedNames() {
292
+ return this.getConfig("relatedNames", []);
293
+ }
294
+ getSupportedNames() {
295
+ return [this.getName(), ...this.getRelatedNames()];
296
+ }
297
+ merge() {
298
+ return null;
299
+ }
300
+ __merge() {
301
+ let e = this.merge();
302
+ return this.change("merge", { node: e }), e;
303
+ }
304
+ isSanitizer() {
305
+ return this.getConfig("sanitizer", !1);
306
+ }
307
+ sanitize() {
308
+ if (this.isSanitizer()) {
309
+ let e = this.toSanitize();
310
+ if (e || Array.isArray(e)) {
311
+ let t = new w(this.getSanitizerConfig());
312
+ Array.isArray(e) ? e.forEach((e) => {
313
+ v(e, t.sanitize(e));
314
+ }) : v(e, t.sanitize(e)), this.change("sanitize", { node: e });
315
+ }
316
+ }
317
+ }
318
+ toSanitize() {
319
+ if (this.isEditableItems()) {
320
+ let e = [], t = 0;
321
+ return this.getItems().forEach(() => {
322
+ let n = this.getItemBody(t);
323
+ n && e.push(n), t++;
324
+ }), e;
325
+ }
326
+ return this.getContentElement();
327
+ }
328
+ getSanitizerConfig() {
329
+ return this.getConfig("sanitizerConfig", {});
330
+ }
331
+ toNormalize() {
332
+ return this.toSanitize();
333
+ }
334
+ getItemTagName() {
335
+ return this.getConfig("itemTagName", "li");
336
+ }
337
+ getItemClassName() {
338
+ return this.getConfig("itemClassName", "");
339
+ }
340
+ getItemBodyClassName() {
341
+ return this.getConfig("itemBodyClassName", "");
342
+ }
343
+ getItemName() {
344
+ return this.getConfig("itemName", "li");
345
+ }
346
+ getMaxItems() {
347
+ return this.getConfig("maxItems", 0);
348
+ }
349
+ getItemRelatedNames() {
350
+ return this.getConfig("itemRelatedNames", []);
351
+ }
352
+ getItemSupportedNames() {
353
+ return [this.getItemName(), ...this.getItemRelatedNames()];
354
+ }
355
+ isSortableItems() {
356
+ return this.getConfig("sortableItems", !1);
357
+ }
358
+ getDragZoneClassName() {
359
+ return this.getConfig("dragZoneClassName", "tex-item-drag-zone-default");
360
+ }
361
+ getItems() {
362
+ let e = this.getContentElement();
363
+ return e ? _(":scope > *", e) : [];
364
+ }
365
+ getItemsLength() {
366
+ return this.getItems().length;
367
+ }
368
+ makeItemDragZone() {
369
+ return p("span", (e) => {
370
+ b(e, "tex-item-drag-zone " + this.getDragZoneClassName()), v(e, C(S, {
371
+ width: 14,
372
+ height: 14
373
+ }));
374
+ });
375
+ }
376
+ makeItemElement(e = "") {
377
+ let t = this.getItemTagName(), n = this.getItemName(), r = this.getItemClassName(), a = this.getItemBodyClassName();
378
+ return p(t, (t) => {
379
+ b(t, "tex-item " + r), t.id = this.getId() + "-" + n + "-" + h(8), y(t, p("div", (t) => {
380
+ if (b(t, "tex-item-body " + a), this.isEditableItems() && i(t, "contentEditable", "true"), typeof e == "string") {
381
+ let n = g(e || "") ? "" : e || "";
382
+ this.isRaw() ? (v(t, ""), d(t, n)) : v(t, n);
383
+ }
384
+ })), this.isSortableItems() && y(t, this.makeItemDragZone());
385
+ });
386
+ }
387
+ canCreateItem() {
388
+ let { i18n: e } = this.editor, t = this.getMaxItems();
389
+ return t > 0 && this.getItemsLength() >= t ? (this.toasts().add(e.get("maxItems", "Maximum of elements"), {
390
+ insertType: "append",
391
+ single: !0
392
+ }), !1) : !0;
393
+ }
394
+ __makeItemElement(e = "") {
395
+ if (!this.canCreateItem()) return null;
396
+ let t = this.makeItemElement(e);
397
+ return this.change("makeItemElement", {
398
+ node: t,
399
+ content: e
400
+ }), t;
401
+ }
402
+ createItem(e, t = -1, r = !1) {
403
+ let a = this.getContentElement();
404
+ if (!a) return !1;
405
+ let o = this.__makeItemElement(e);
406
+ if (!o) return !1;
407
+ if (t === 0) s(a, o);
408
+ else if (t === -1) {
409
+ let e = this.getItem(-1);
410
+ e ? n(e, o) : y(a, o);
411
+ } else {
412
+ let e = t - 1;
413
+ if (e < 0) s(a, o);
414
+ else {
415
+ let t = this.getItem(e);
416
+ t ? n(t, o) : y(a, o);
417
+ }
418
+ }
419
+ this.refreshSortableItems();
420
+ let c = this.getItemIndex(o), l = this.getItemBody(c);
421
+ return r || (l && (i(l, "contentEditable") == "true" ? l.focus() : l.click()), this.change("createItem", { index: c }, {
422
+ contentElement: a,
423
+ blockElement: this.getElement()
424
+ })), !0;
425
+ }
426
+ moveItem(e, t, r = !1) {
427
+ let i = this.getContentElement();
428
+ if (!i) return;
429
+ let a = this.getItemsLength();
430
+ if (a === 0) return;
431
+ let o = e;
432
+ o < 0 && (o = 0), o >= a && (o = a - 1);
433
+ let c = t;
434
+ if (c <= 0 ? c = 0 : c >= a && (c = a - 1), o === c) return;
435
+ let l = this.getItem(o);
436
+ if (l) {
437
+ if (l.remove(), c === 0) s(i, l);
438
+ else if (c >= a - 1) y(i, l);
439
+ else {
440
+ let e = c - 1, t = this.getItem(e);
441
+ t ? n(t, l) : y(i, l);
442
+ }
443
+ r || this.change("moveItem", {
444
+ item: l,
445
+ index: e,
446
+ targetIndex: c
447
+ }, {
448
+ contentElement: i,
449
+ blockElement: this.getElement()
450
+ });
451
+ }
452
+ }
453
+ removeItem(e = -1) {
454
+ let t = this.getItem(e), n = this.getItemIndex(t) || 0;
455
+ return t ? (t.remove(), this.change("removeItem", { index: n }, {
456
+ contentElement: this.getContentElement(),
457
+ blockElement: this.getElement()
458
+ }), !0) : !1;
459
+ }
460
+ getItem(e) {
461
+ let t = this.getItems();
462
+ if (!t.length) return null;
463
+ if (e === -1) {
464
+ let e = null, n = this.editor.selectionApi.getRange();
465
+ return n ? (t.forEach((t) => {
466
+ n.intersectsNode(t) && (e = t);
467
+ }), e) : t[0] || null;
468
+ }
469
+ return t[e] || null;
470
+ }
471
+ getItemBody(e) {
472
+ let t = this.getItem(e);
473
+ if (!t) return null;
474
+ let [n] = _(".tex-item-body", t);
475
+ return n || null;
476
+ }
477
+ getItemIndex(e) {
478
+ let t = 0, n = this.getItems(), r = e || this.getItem(-1);
479
+ return n.length && r && n.forEach((e, n) => {
480
+ e == r && (t = n);
481
+ }), t;
482
+ }
483
+ getToastsClassName() {
484
+ return this.getConfig("toastsClassName", "tex-toasts");
485
+ }
486
+ getToastTimeout() {
487
+ return this.getConfig("toastTimeout", 7e3);
488
+ }
489
+ toasts() {
490
+ return this.toastsInstance ||= new O(this.getElement(), this.getToastsClassName(), this.getToastTimeout()), this.toastsInstance;
491
+ }
492
+ save(e, t) {
493
+ return e;
494
+ }
495
+ __save(e, t) {
496
+ let n = this.save(e, t);
497
+ return this.trigger("save", {
498
+ type: "save",
499
+ modelCode: this.getModelCode(),
500
+ blockSchema: n
501
+ }), n;
502
+ }
503
+ parentOnMount() {
504
+ this.refreshSortableItems();
505
+ }
506
+ onPaste(e, t) {
507
+ return !0;
508
+ }
509
+ __onPaste(e, t) {
510
+ let n = this.onPaste(e, t);
511
+ return this.change("onPaste", {
512
+ domEvent: e,
513
+ status: n,
514
+ map: t
515
+ }), n;
516
+ }
517
+ defEvent(t, n) {
518
+ let r = "on" + t, i = !!e(this, r, [n]);
519
+ return i || n.preventDefault(), this.change(r, {
520
+ domEvent: n,
521
+ status: i
522
+ }), i;
523
+ }
524
+ onKeyDown(e) {
525
+ return !0;
526
+ }
527
+ __onKeyDown(e) {
528
+ return this.defEvent("KeyDown", e);
529
+ }
530
+ onKeyUp(e) {
531
+ return !0;
532
+ }
533
+ __onKeyUp(e) {
534
+ return this.defEvent("KeyUp", e);
535
+ }
536
+ onFocus(e) {
537
+ return !0;
538
+ }
539
+ __onFocus(e) {
540
+ return this.defEvent("Focus", e);
541
+ }
542
+ onBlur(e) {
543
+ return !0;
544
+ }
545
+ __onBlur(e) {
546
+ return this.defEvent("Blur", e);
547
+ }
548
+ __onClick(e) {
549
+ this.onClick(e);
550
+ }
551
+ onSelectionChange(e, t) {
552
+ return !0;
553
+ }
554
+ __onSelectionChange(e, t) {
555
+ let n = this.onSelectionChange(e, t);
556
+ return this.trigger("onSelectionChange", {
557
+ type: "onSelectionChange",
558
+ modelCode: this.getModelCode(),
559
+ domEvent: e,
560
+ range: t,
561
+ status: n
562
+ }), n;
563
+ }
564
+ onDragStart(e) {
565
+ return !0;
566
+ }
567
+ __onDragStart(e) {
568
+ return this.defEvent("DragStart", e);
569
+ }
570
+ onDragLeave(e) {
571
+ return !0;
572
+ }
573
+ __onDragLeave(e) {
574
+ return this.defEvent("DragLeave", e);
575
+ }
576
+ onDragOver(e) {
577
+ return !0;
578
+ }
579
+ __onDragOver(e) {
580
+ return this.defEvent("DragOver", e);
581
+ }
582
+ onDrag(e) {
583
+ return !1;
584
+ }
585
+ __onDrag(e) {
586
+ return this.defEvent("Drag", e);
587
+ }
588
+ onDragEnd(e) {
589
+ return !0;
590
+ }
591
+ __onDragEnd(e) {
592
+ return this.defEvent("DragEnd", e);
593
+ }
594
+ onDrop(e) {
595
+ return !0;
596
+ }
597
+ __onDrop(e) {
598
+ return this.defEvent("Drop", e);
599
+ }
600
+ beforeConvert(e, t) {
601
+ return [e, t];
602
+ }
603
+ __beforeConvert(e, t) {
604
+ return this.beforeConvert(e, t);
605
+ }
606
+ afterConvert(e) {
607
+ return e;
608
+ }
609
+ __afterConvert(e) {
610
+ return this.afterConvert(e);
611
+ }
612
+ parentDestroy() {
613
+ this.sortableItems &&= (this.sortableItems.destroy(), null);
614
+ let e = this.getEventId();
615
+ a(document, "click.actions" + e);
616
+ }
617
+ };
618
+ //#endregion
619
+ export { k as default };
@@ -0,0 +1,28 @@
1
+ import { re as e } from "../../../node_modules/snappykit/dist/snappykit.mjs";
2
+ import t from "../base/base-model.mjs";
3
+ //#region src/core/models/extension-model.ts
4
+ var n = class extends t {
5
+ static setup(e) {
6
+ return super.setup(e);
7
+ }
8
+ parentConfig() {
9
+ let { config: e } = this.editor;
10
+ return {
11
+ __modelCode: "extension",
12
+ visibleTitle: e.get("extensionVisibleTitle", !1),
13
+ toggleActive: !1,
14
+ groupName: ""
15
+ };
16
+ }
17
+ parentOnClick(t) {
18
+ this.isToggleActive() && t.delegateTarget && e(t.delegateTarget, "tex-extension-active"), this.onClick(t);
19
+ }
20
+ isToggleActive() {
21
+ return this.getConfig("toggleActive", !1);
22
+ }
23
+ getGroupName() {
24
+ return this.getConfig("groupName", "");
25
+ }
26
+ };
27
+ //#endregion
28
+ export { n as default };
@@ -0,0 +1,24 @@
1
+ import e from "../base/base-model.mjs";
2
+ //#region src/core/models/file-action-model.ts
3
+ var t = class extends e {
4
+ static setup(e) {
5
+ return super.setup(e);
6
+ }
7
+ getItemElement() {
8
+ let e = this.getElement();
9
+ return e ? e.closest(".tex-item") : null;
10
+ }
11
+ getBlockElement() {
12
+ let e = this.getElement();
13
+ return e ? e.closest(".tex-block") : null;
14
+ }
15
+ parentConfig() {
16
+ return {
17
+ __modelCode: "fileAction",
18
+ visibleTitle: !1,
19
+ className: "tex-file-action"
20
+ };
21
+ }
22
+ };
23
+ //#endregion
24
+ export { t as default };