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,396 @@
1
+ import { BlockElement, BlockSchema, SanitizerConfig, BlockModelConfig, BlockModel as IBlockModel, BlockCreateSchema, PasteMap, BlockModelConstructor, TexditorEventBase, Toasts as IToasts } from '../../types';
2
+ import { default as BaseModel } from '../base/base-model';
3
+ /**
4
+ * Base block model class - manages block behavior, content, and lifecycle
5
+ */
6
+ export default class BlockModel extends BaseModel<BlockElement> implements IBlockModel {
7
+ /** Sortable items manager instance */
8
+ private sortableItems;
9
+ /** Toasts instance */
10
+ private toastsInstance;
11
+ /** @see IBlockModel.setup */
12
+ static setup(config: Partial<BlockModelConfig>): BlockModelConstructor;
13
+ /** @see BlockModel.change */
14
+ change(name: string, params?: TexditorEventBase, globalParams?: TexditorEventBase): void;
15
+ /**
16
+ * Parent model configuration
17
+ * @returns Parent model configuration
18
+ */
19
+ protected parentConfig(): Partial<BlockModelConfig>;
20
+ /**
21
+ * Parent hook called after model node creation
22
+ * @param el - Created model node
23
+ */
24
+ protected parentOnCreateElement(el: BlockElement): void;
25
+ /** @see IBlockModel.showActions */
26
+ showActions(): void;
27
+ /** @see IBlockModel.hideActions */
28
+ hideActions(): void;
29
+ /**
30
+ * Refresh sortable items functionality
31
+ */
32
+ protected refreshSortableItems(): void;
33
+ /**
34
+ * Composes content from schema before mounting
35
+ * @param composeSchema - Composition schema
36
+ * @returns Composed block node
37
+ */
38
+ protected compose(createSchema?: BlockCreateSchema): BlockElement;
39
+ /**
40
+ * Hook triggered after composition is complete
41
+ * @param _createSchema - Composition schema used for composition
42
+ */
43
+ protected onCompose(_createSchema?: BlockCreateSchema): void;
44
+ /**
45
+ * Prepares the unit before mounting
46
+ * @param composeSchema - Composition schema
47
+ * @returns Composed block node
48
+ */
49
+ __compose(createSchema?: BlockCreateSchema): BlockElement;
50
+ /**
51
+ * Parses block schema preparing it for composition
52
+ * @param item - Block schema
53
+ * @returns Composition schema
54
+ */
55
+ protected parse(item: BlockSchema): BlockCreateSchema;
56
+ /**
57
+ * Public wrapper for parse method
58
+ * @param item - Block schema
59
+ * @returns Composition schema
60
+ */
61
+ __parse(item: BlockSchema): BlockCreateSchema;
62
+ /** @see IBlockModel.getTagName */
63
+ getTagName(): string;
64
+ /** @see IBlockModel.getPlaceholder */
65
+ getPlaceholder(): string;
66
+ /** @see IBlockModel.getGroupCode */
67
+ getGroupCode(): string;
68
+ /** @see IBlockModel.getContentClassName */
69
+ getContentClassName(): string;
70
+ /** @see IBlockModel.getContentElement */
71
+ getContentElement(): HTMLElement;
72
+ /** @see IBlockModel.isAutoMerge */
73
+ isAutoMerge(): boolean;
74
+ /** @see IBlockModel.isAutoParse */
75
+ isAutoParse(): boolean;
76
+ /** @see IBlockModel.isEnterCreate */
77
+ isEnterCreate(): boolean;
78
+ /** @see IBlockModel.isEmpty */
79
+ isEmpty(): boolean;
80
+ /** @see IBlockModel.isEmptyItem */
81
+ isEmptyItem(index: number): boolean;
82
+ /** @see IBlockModel.isEmptyDetect */
83
+ isEmptyDetect(): boolean;
84
+ /** @see IBlockModel.isBackspaceRemove */
85
+ isBackspaceRemove(): boolean;
86
+ /** @see IBlockModel.isEditable */
87
+ isEditable(): boolean;
88
+ /** @see IBlockModel.isEditableItems */
89
+ isEditableItems(): boolean;
90
+ /** @see IBlockModel.isSingleItem */
91
+ isSingleItem(): boolean;
92
+ /** @see IBlockModel.isRaw */
93
+ isRaw(): boolean;
94
+ /** @see IBlockModel.isNormalize */
95
+ isNormalize(): boolean;
96
+ /** @see IBlockModel.isConvertible */
97
+ isConvertible(): boolean;
98
+ /** @see IBlockModel.isCustomSave */
99
+ isCustomSave(): boolean;
100
+ /** @see IBlockModel.isVisibleTools */
101
+ isVisibleTools(): boolean;
102
+ /** @see IBlockModel.getAvailableTools */
103
+ getAvailableTools(): string[];
104
+ /** @see IBlockModel.getRelatedNames */
105
+ getRelatedNames(): string[];
106
+ /** @see IBlockModel.getSupportedNames */
107
+ getSupportedNames(): string[];
108
+ /**
109
+ * Merge block
110
+ * @returns Merged element or null
111
+ */
112
+ protected merge(): HTMLElement | null;
113
+ /**
114
+ * Public wrapper for merge method
115
+ * @returns Merged element or null
116
+ */
117
+ __merge(): HTMLElement | null;
118
+ /** @see IBlockModel.isSanitizer */
119
+ isSanitizer(): boolean;
120
+ /** @see IBlockModel.sanitize */
121
+ sanitize(): void;
122
+ /** @see IBlockModel.toSanitize */
123
+ toSanitize(): BlockElement | HTMLElement | HTMLElement[] | null;
124
+ /** @see IBlockModel.getSanitizerConfig */
125
+ getSanitizerConfig(): SanitizerConfig;
126
+ /** @see IBlockModel.toNormalize */
127
+ toNormalize(): BlockElement | HTMLElement | HTMLElement[] | null;
128
+ /** @see IBlockModel.getItemTagName */
129
+ getItemTagName(): string;
130
+ /** @see IBlockModel.getItemClassName */
131
+ getItemClassName(): string;
132
+ /** @see IBlockModel.getItemBodyClassName */
133
+ getItemBodyClassName(): string;
134
+ /** @see IBlockModel.getItemName */
135
+ getItemName(): string;
136
+ /** @see IBlockModel.getMaxItems */
137
+ getMaxItems(): number;
138
+ /** @see IBlockModel.getItemRelatedNames */
139
+ getItemRelatedNames(): string[];
140
+ /** @see IBlockModel.getItemSupportedNames */
141
+ getItemSupportedNames(): string[];
142
+ /** @see IBlockModel.isSortableItems */
143
+ isSortableItems(): boolean;
144
+ /** @see IBlockModel.getDragZoneClassName */
145
+ getDragZoneClassName(): string;
146
+ /** @see IBlockModel.getItems */
147
+ getItems(): HTMLElement[];
148
+ /** @see IBlockModel.getItemsLength */
149
+ getItemsLength(): number;
150
+ /**
151
+ * Create drag zone element for sorting
152
+ * @returns Drag zone element
153
+ */
154
+ protected makeItemDragZone(): HTMLSpanElement;
155
+ /**
156
+ * Creates an item element
157
+ * @param content - Item content
158
+ * @returns The item element
159
+ */
160
+ protected makeItemElement(content?: string | unknown): HTMLElement;
161
+ /** @see IBlockModel.canCreateItem */
162
+ canCreateItem(): boolean;
163
+ /**
164
+ * Public wrapper for makeItemElement
165
+ * @param content - Item content
166
+ * @returns Item element
167
+ */
168
+ __makeItemElement(content?: string | unknown): HTMLElement | null;
169
+ /** @see IBlockModel.createItem */
170
+ createItem(content?: string | unknown, index?: number, skipEvents?: boolean): boolean;
171
+ /** @see IBlockModel.moveItem */
172
+ moveItem(index: number, targetIndex: number, skipEvents?: boolean): void;
173
+ /** @see IBlockModel.removeItem */
174
+ removeItem(index?: number): boolean;
175
+ /** @see IBlockModel.getItem */
176
+ getItem(index: number): HTMLElement | null;
177
+ /** @see IBlockModel.getItemBody */
178
+ getItemBody(index: number): HTMLElement | null;
179
+ /** @see IBlockModel.getItemIndex */
180
+ getItemIndex(itemElement?: HTMLElement): number;
181
+ /** @see IBlockModel.getToastsClassName */
182
+ getToastsClassName(): string;
183
+ /** @see IBlockModel.getToastTimeout */
184
+ getToastTimeout(): number;
185
+ /** @see IBlockModel.toasts */
186
+ toasts(): IToasts;
187
+ /**
188
+ * Saves block data to output format
189
+ * @param blockSchema - Block schema
190
+ * @param _blockElement - Block element
191
+ * @returns The modified block output
192
+ */
193
+ protected save(blockSchema: BlockSchema, _blockElement?: BlockElement): BlockSchema;
194
+ /**
195
+ * Public wrapper for save method
196
+ * @param block - Block output object
197
+ * @param blockElement - Block node (optional)
198
+ * @returns Modified block output
199
+ */
200
+ __save(block: BlockSchema, blockElement?: BlockElement): BlockSchema;
201
+ /**
202
+ * Parent hook called after mounting to the DOM
203
+ */
204
+ protected parentOnMount(): void;
205
+ /**
206
+ * Handle paste event
207
+ * @param _evt - Paste event
208
+ * @param _map - Paste data map
209
+ * @returns True to allow paste
210
+ */
211
+ protected onPaste(_evt: Event, _map: PasteMap): boolean;
212
+ /**
213
+ * Public wrapper for onPaste
214
+ * @param evt - Paste event
215
+ * @param map - Paste data map
216
+ * @returns True to allow paste
217
+ */
218
+ __onPaste(evt: Event, map: PasteMap): boolean;
219
+ /**
220
+ * Handles a DOM event by executing the corresponding handler if present
221
+ * @param name - Event name
222
+ * @param evt - The DOM event object
223
+ * @returns Whether a handler was executed
224
+ */
225
+ private defEvent;
226
+ /**
227
+ * Handle key down event
228
+ * @param _evt - Keyboard event
229
+ * @returns True to allow default behavior
230
+ */
231
+ protected onKeyDown(_evt: KeyboardEvent): boolean;
232
+ /**
233
+ * Public wrapper for onKeyDown
234
+ * @param evt - Keyboard event
235
+ * @returns True to allow default behavior
236
+ */
237
+ __onKeyDown(evt: KeyboardEvent): boolean;
238
+ /**
239
+ * Handle key up event
240
+ * @param _evt - Keyboard event
241
+ * @returns True to allow default behavior
242
+ */
243
+ protected onKeyUp(_evt: KeyboardEvent): boolean;
244
+ /**
245
+ * Public wrapper for onKeyUp
246
+ * @param evt - Keyboard event
247
+ * @returns True to allow default behavior
248
+ */
249
+ __onKeyUp(evt: KeyboardEvent): boolean;
250
+ /**
251
+ * Handle focus event
252
+ * @param _evt - Focus event
253
+ * @returns True to allow default behavior
254
+ */
255
+ protected onFocus(_evt: FocusEvent): boolean;
256
+ /**
257
+ * Public wrapper for onFocus
258
+ * @param evt - Focus event
259
+ * @returns True to allow default behavior
260
+ */
261
+ __onFocus(evt: FocusEvent): boolean;
262
+ /**
263
+ * Handle blur event
264
+ * @param _evt - Blur event
265
+ * @returns True to allow default behavior
266
+ */
267
+ protected onBlur(_evt: FocusEvent): boolean;
268
+ /**
269
+ * Public wrapper for onBlur
270
+ * @param evt - Blur event
271
+ * @returns True to allow default behavior
272
+ */
273
+ __onBlur(evt: FocusEvent): boolean;
274
+ /**
275
+ * Public wrapper for onClick
276
+ * @param evt - Mouse event
277
+ */
278
+ __onClick(evt: MouseEvent): void;
279
+ /**
280
+ * Handle selection change event
281
+ * @param _evt - Selection change event
282
+ * @param _range - Current selection range
283
+ * @returns True if selection handled
284
+ */
285
+ protected onSelectionChange(_evt: Event, _range: Range): boolean;
286
+ /**
287
+ * Public wrapper for onSelectionChange
288
+ * @param evt - Selection change event
289
+ * @param range - Current selection range
290
+ * @returns True if selection handled
291
+ */
292
+ __onSelectionChange(evt: Event, range: Range): boolean;
293
+ /**
294
+ * Handle drag start event
295
+ * @param _evt - Drag event
296
+ * @returns True to allow default behavior
297
+ */
298
+ protected onDragStart(_evt: DragEvent): boolean;
299
+ /**
300
+ * Public wrapper for onDragStart
301
+ * @param evt - Drag event
302
+ * @returns True to allow default behavior
303
+ */
304
+ __onDragStart(evt: DragEvent): boolean;
305
+ /**
306
+ * Handle drag leave event
307
+ * @param _evt - Drag event
308
+ * @returns True to allow default behavior
309
+ */
310
+ protected onDragLeave(_evt: DragEvent): boolean;
311
+ /**
312
+ * Public wrapper for onDragLeave
313
+ * @param evt - Drag event
314
+ * @returns True to allow default behavior
315
+ */
316
+ __onDragLeave(evt: DragEvent): boolean;
317
+ /**
318
+ * Handle drag over event
319
+ * @param _evt - Drag event
320
+ * @returns True to allow default behavior
321
+ */
322
+ protected onDragOver(_evt: DragEvent): boolean;
323
+ /**
324
+ * Public wrapper for onDragOver
325
+ * @param evt - Drag event
326
+ * @returns True to allow default behavior
327
+ */
328
+ __onDragOver(evt: DragEvent): boolean;
329
+ /**
330
+ * Handle drag event
331
+ * @param _evt - Drag event
332
+ * @returns True to allow default behavior
333
+ */
334
+ protected onDrag(_evt: DragEvent): boolean;
335
+ /**
336
+ * Public wrapper for onDrag
337
+ * @param evt - Drag event
338
+ * @returns True to allow default behavior
339
+ */
340
+ __onDrag(evt: DragEvent): boolean;
341
+ /**
342
+ * Handle drag end event
343
+ * @param _evt - Drag event
344
+ * @returns True to allow default behavior
345
+ */
346
+ protected onDragEnd(_evt: DragEvent): boolean;
347
+ /**
348
+ * Public wrapper for onDragEnd
349
+ * @param evt - Drag event
350
+ * @returns True to allow default behavior
351
+ */
352
+ __onDragEnd(evt: DragEvent): boolean;
353
+ /**
354
+ * Handle drop event
355
+ * @param _evt - Drag event
356
+ * @returns True to allow default behavior
357
+ */
358
+ protected onDrop(_evt: DragEvent): boolean;
359
+ /**
360
+ * Public wrapper for onDrop
361
+ * @param evt - Drag event
362
+ * @returns True to allow default behavior
363
+ */
364
+ __onDrop(evt: DragEvent): boolean;
365
+ /**
366
+ * Hook called before block conversion
367
+ * @param blockElement - Block node to convert
368
+ * @param targetModel - Target block model
369
+ * @returns Tuple of modified block node and target model
370
+ */
371
+ protected beforeConvert(blockElement: BlockElement, targetModel: BlockModel): [BlockElement, BlockModel];
372
+ /**
373
+ * Public wrapper for beforeConvert
374
+ * @param blockElement - Block node to convert
375
+ * @param targetModel - Target block model
376
+ * @returns Tuple of modified block node and target model
377
+ */
378
+ __beforeConvert(blockElement: BlockElement, targetModel: BlockModel): [BlockElement, BlockModel];
379
+ /**
380
+ * Hook called after block conversion
381
+ * @param newBlockElement - Newly converted block node
382
+ * @returns Modified block node
383
+ */
384
+ protected afterConvert(newBlockElement: BlockElement): BlockElement;
385
+ /**
386
+ * Public wrapper for afterConvert
387
+ * @param newBlockElement - Newly converted block node
388
+ * @returns Modified block node
389
+ */
390
+ __afterConvert(newBlockElement: BlockElement): BlockElement;
391
+ /**
392
+ * Parent hook called before the element is destroyed
393
+ */
394
+ protected parentDestroy(): void;
395
+ }
396
+ //# sourceMappingURL=block-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-model.d.ts","sourceRoot":"","sources":["../../../src/core/models/block-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ExtensionModelConfig, ExtensionModelConstructor, ExtensionModel as IExtensionModel, ExtensionElement } from '../../types';
2
+ import { default as BaseModel } from '../base/base-model';
3
+ export default class ExtensionModel extends BaseModel<ExtensionElement> implements IExtensionModel {
4
+ /**
5
+ * Set up global configuration
6
+ * @param config - Partial configuration
7
+ * @returns Model constructor
8
+ */
9
+ static setup(this: ExtensionModelConstructor, config: Partial<ExtensionModelConfig>): ExtensionModelConstructor;
10
+ /**
11
+ * Parent model configuration
12
+ * @returns Parent model configuration
13
+ */
14
+ protected parentConfig(): Partial<ExtensionModelConfig>;
15
+ /**
16
+ * Handle click with toggle functionality
17
+ * @param evt - Custom event with element reference
18
+ */
19
+ protected parentOnClick(evt: MouseEvent): void;
20
+ /** @see IExtensionModel.isToggleActive */
21
+ isToggleActive(): boolean;
22
+ /** @see IExtensionModel.getGroupName */
23
+ getGroupName(): string;
24
+ }
25
+ //# sourceMappingURL=extension-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-model.d.ts","sourceRoot":"","sources":["../../../src/core/models/extension-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,IAAI,eAAe,EACjC,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS,CAAC,gBAAgB,CAAE,YAAW,eAAe;IAChG;;;;OAIG;WACW,KAAK,CACjB,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,yBAAyB;IAI5B;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAWvD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAU9C,0CAA0C;IAC1C,cAAc,IAAI,OAAO;IAIzB,wCAAwC;IACxC,YAAY,IAAI,MAAM;CAGvB"}
@@ -0,0 +1,20 @@
1
+ import { FileActionModel as IFileActionModel, FileActionModelConfig, FileItemElement, FileActionModelConstructor, FileActionElement, BlockElement } from '../../types';
2
+ import { default as BaseModel } from '../base/base-model';
3
+ export default class FileActionModel extends BaseModel<FileActionElement> implements IFileActionModel {
4
+ /**
5
+ * Set up global configuration
6
+ * @param config - Partial configuration
7
+ * @returns Model constructor
8
+ */
9
+ static setup(config: Partial<FileActionModelConfig>): FileActionModelConstructor;
10
+ /** @see IFileActionModel.getItemElement */
11
+ getItemElement(): FileItemElement | null;
12
+ /** @see IFileActionModel.getItemElement */
13
+ getBlockElement(): BlockElement | null;
14
+ /**
15
+ * Parent model configuration
16
+ * @returns Parent model configuration
17
+ */
18
+ protected parentConfig(): Partial<FileActionModelConfig>;
19
+ }
20
+ //# sourceMappingURL=file-action-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-action-model.d.ts","sourceRoot":"","sources":["../../../src/core/models/file-action-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,IAAI,gBAAgB,EACnC,qBAAqB,EACrB,eAAe,EACf,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS,CAAC,iBAAiB,CAAE,YAAW,gBAAgB;IACnG;;;;OAIG;WACW,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,0BAA0B;IAIvF,2CAA2C;IAC3C,cAAc,IAAI,eAAe,GAAG,IAAI;IAOxC,2CAA2C;IAC3C,eAAe,IAAI,YAAY,GAAG,IAAI;IAOtC;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAOzD"}
@@ -0,0 +1,7 @@
1
+ import { default as ActionModel } from './action-model';
2
+ import { default as BlockModel } from './block-model';
3
+ import { default as ExtensionModel } from './extension-model';
4
+ import { default as ToolModel } from './tool-model';
5
+ import { default as FileActionModel } from './file-action-model';
6
+ export { ActionModel, BlockModel, ExtensionModel, FileActionModel, ToolModel };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { ToolModel as IToolModel, ToolModelConfig, ToolModelConstructor, ToolElement, BlockElement } from '../../types';
2
+ import { default as BaseModel } from '../base/base-model';
3
+ export default class ToolModel extends BaseModel<ToolElement> implements IToolModel {
4
+ /**
5
+ * Reference to the parent block node that contains this action
6
+ */
7
+ private blockElement?;
8
+ /**
9
+ * Set up global configuration
10
+ * @param config - Partial configuration
11
+ * @returns Model constructor
12
+ */
13
+ static setup(config: Partial<ToolModelConfig>): ToolModelConstructor;
14
+ /**
15
+ * @see IToolModel.getBlockElement
16
+ */
17
+ getBlockElement(): BlockElement | null;
18
+ /**
19
+ * Parent model configuration
20
+ * @returns Parent model configuration
21
+ */
22
+ protected parentConfig(): Partial<ToolModelConfig>;
23
+ /**
24
+ * @see IToolModel.getTagName
25
+ */
26
+ getTagName(): string;
27
+ /**
28
+ * Format action wrapper for tool operations
29
+ * @param callback - Callback function that performs the formatting
30
+ */
31
+ private formatAction;
32
+ /**
33
+ * @see IToolModel.format
34
+ */
35
+ format(): void;
36
+ /**
37
+ * @see IToolModel.forcedFormat
38
+ */
39
+ forcedFormat(): void;
40
+ /**
41
+ * @see IToolModel.removeFormat
42
+ */
43
+ removeFormat(): void;
44
+ /**
45
+ * @see IToolModel.isSeparate
46
+ */
47
+ isOverride(): boolean;
48
+ /**
49
+ * Hook called after format is applied
50
+ * @param _tags - Array of formatted HTML elements
51
+ */
52
+ protected onFormat(_tags: HTMLElement[]): void;
53
+ /**
54
+ * Handle click event
55
+ * @param _evt - Custom event with element reference
56
+ */
57
+ protected onClick(_evt: MouseEvent): void;
58
+ /**
59
+ * Check if model element is visible
60
+ * @returns True if model element should be displayed
61
+ */
62
+ isVisible(): boolean;
63
+ /**
64
+ * Internal method to set the parent block node reference
65
+ * @param blockElement - Block node
66
+ */
67
+ __setBlockElement(blockElement: BlockElement): void;
68
+ }
69
+ //# sourceMappingURL=tool-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-model.d.ts","sourceRoot":"","sources":["../../../src/core/models/tool-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,IAAI,UAAU,EACvB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS,CAAC,WAAW,CAAE,YAAW,UAAU;IACjF;;OAEG;IACH,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC;;;;OAIG;WACW,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,oBAAoB;IAI3E;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAQlD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,MAAM,IAAI,IAAI;IAMd;;OAEG;IACH,YAAY,IAAI,IAAI;IAMpB;;OAEG;IACH,YAAY,IAAI,IAAI;IAgBpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;IAE9C;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIzC;;;OAGG;IACH,SAAS,IAAI,OAAO;IAkBpB;;;OAGG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;CAGpD"}
@@ -0,0 +1,2 @@
1
+ export * from './models/index'
2
+ export {}
@@ -0,0 +1,6 @@
1
+ import e from "../src/core/models/block-model.mjs";
2
+ import t from "../src/core/models/file-action-model.mjs";
3
+ import n from "../src/core/models/tool-model.mjs";
4
+ import r from "../src/core/models/action-model.mjs";
5
+ import i from "../src/core/models/extension-model.mjs";
6
+ export { r as ActionModel, e as BlockModel, i as ExtensionModel, t as FileActionModel, n as ToolModel };
@@ -0,0 +1,65 @@
1
+ import { SanitizerConfig } from '../../types';
2
+ export default class Sanitizer {
3
+ static REGEX_PROTOCOL: RegExp;
4
+ static RELATIVE: string;
5
+ static ALL: string;
6
+ private config;
7
+ private allowedElements;
8
+ private dom;
9
+ private currentElement;
10
+ private whitelistNodes;
11
+ private transformers;
12
+ /**
13
+ * Creates a new Sanitizer instance with the provided configuration
14
+ * @param options - Configuration options for the sanitizer
15
+ */
16
+ constructor(options?: SanitizerConfig);
17
+ /**
18
+ * Finds the index of a node in an array
19
+ * @param needle - The node to search for
20
+ * @param haystack - The array of nodes to search in
21
+ * @returns The index of the node or -1 if not found
22
+ */
23
+ private arrayIndex;
24
+ /**
25
+ * Merges multiple arrays while removing duplicates
26
+ * @param arrays - Arrays to merge
27
+ * @returns A new array with unique items from all input arrays
28
+ */
29
+ private mergeArrays;
30
+ /**
31
+ * Cleans a node based on its type
32
+ * @param elem - The node to clean
33
+ */
34
+ private clean;
35
+ /**
36
+ * Cleans an element node by applying transformations and filtering attributes
37
+ * @param elem - The element to clean
38
+ */
39
+ private cleanElement;
40
+ /**
41
+ * Applies transformers to a node and returns the transformed result
42
+ * @param node - The node to transform
43
+ * @returns The transformation output containing whitelist status and attributes
44
+ */
45
+ private transformElement;
46
+ /**
47
+ * Converts an array of nodes to a string, handling text and element nodes appropriately
48
+ * @param nodes - The nodes to convert to string
49
+ * @returns The concatenated string representation of the nodes
50
+ */
51
+ mergeTextNodesToString(nodes: Node[] | NodeListOf<ChildNode>): string;
52
+ /**
53
+ * Escapes HTML special characters in text
54
+ * @param text - The text to escape
55
+ * @returns The escaped HTML string
56
+ */
57
+ private escapeHtml;
58
+ /**
59
+ * Sanitizes HTML input by removing disallowed elements and attributes
60
+ * @param input - HTML string or HTMLElement to sanitize
61
+ * @returns The sanitized HTML string
62
+ */
63
+ sanitize(input: string | Node): string;
64
+ }
65
+ //# sourceMappingURL=sanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../../../src/core/security/sanitizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAyC,MAAM,SAAS,CAAC;AAEtF,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAoD;IACzE,MAAM,CAAC,QAAQ,SAAQ;IACvB,MAAM,CAAC,GAAG,SAAO;IACjB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,YAAY,CAAmE;IAEvF;;;OAGG;gBACS,OAAO,GAAE,eAAoB;IAuCzC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAOlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;OAGG;IACH,OAAO,CAAC,KAAK;IAwBb;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiEpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM;IAarE;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;CAqBvC"}