roosterjs-content-model-dom 0.10.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 (1182) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +307 -0
  3. package/lib/domToModel/context/createDomToModelContext.d.ts +7 -0
  4. package/lib/domToModel/context/createDomToModelContext.js +65 -0
  5. package/lib/domToModel/context/createDomToModelContext.js.map +1 -0
  6. package/lib/domToModel/context/defaultProcessors.d.ts +5 -0
  7. package/lib/domToModel/context/defaultProcessors.js +64 -0
  8. package/lib/domToModel/context/defaultProcessors.js.map +1 -0
  9. package/lib/domToModel/domToContentModel.d.ts +9 -0
  10. package/lib/domToModel/domToContentModel.js +32 -0
  11. package/lib/domToModel/domToContentModel.js.map +1 -0
  12. package/lib/domToModel/processors/blockProcessor.d.ts +5 -0
  13. package/lib/domToModel/processors/blockProcessor.js +31 -0
  14. package/lib/domToModel/processors/blockProcessor.js.map +1 -0
  15. package/lib/domToModel/processors/brProcessor.d.ts +5 -0
  16. package/lib/domToModel/processors/brProcessor.js +17 -0
  17. package/lib/domToModel/processors/brProcessor.js.map +1 -0
  18. package/lib/domToModel/processors/childProcessor.d.ts +25 -0
  19. package/lib/domToModel/processors/childProcessor.js +62 -0
  20. package/lib/domToModel/processors/childProcessor.js.map +1 -0
  21. package/lib/domToModel/processors/codeProcessor.d.ts +5 -0
  22. package/lib/domToModel/processors/codeProcessor.js +17 -0
  23. package/lib/domToModel/processors/codeProcessor.js.map +1 -0
  24. package/lib/domToModel/processors/delimiterProcessor.d.ts +8 -0
  25. package/lib/domToModel/processors/delimiterProcessor.js +23 -0
  26. package/lib/domToModel/processors/delimiterProcessor.js.map +1 -0
  27. package/lib/domToModel/processors/elementProcessor.d.ts +8 -0
  28. package/lib/domToModel/processors/elementProcessor.js +30 -0
  29. package/lib/domToModel/processors/elementProcessor.js.map +1 -0
  30. package/lib/domToModel/processors/entityProcessor.d.ts +8 -0
  31. package/lib/domToModel/processors/entityProcessor.js +43 -0
  32. package/lib/domToModel/processors/entityProcessor.js.map +1 -0
  33. package/lib/domToModel/processors/fontProcessor.d.ts +5 -0
  34. package/lib/domToModel/processors/fontProcessor.js +48 -0
  35. package/lib/domToModel/processors/fontProcessor.js.map +1 -0
  36. package/lib/domToModel/processors/formatContainerProcessor.d.ts +9 -0
  37. package/lib/domToModel/processors/formatContainerProcessor.js +71 -0
  38. package/lib/domToModel/processors/formatContainerProcessor.js.map +1 -0
  39. package/lib/domToModel/processors/generalProcessor.d.ts +5 -0
  40. package/lib/domToModel/processors/generalProcessor.js +50 -0
  41. package/lib/domToModel/processors/generalProcessor.js.map +1 -0
  42. package/lib/domToModel/processors/headingProcessor.d.ts +5 -0
  43. package/lib/domToModel/processors/headingProcessor.js +23 -0
  44. package/lib/domToModel/processors/headingProcessor.js.map +1 -0
  45. package/lib/domToModel/processors/hrProcessor.d.ts +5 -0
  46. package/lib/domToModel/processors/hrProcessor.js +27 -0
  47. package/lib/domToModel/processors/hrProcessor.js.map +1 -0
  48. package/lib/domToModel/processors/imageProcessor.d.ts +5 -0
  49. package/lib/domToModel/processors/imageProcessor.js +41 -0
  50. package/lib/domToModel/processors/imageProcessor.js.map +1 -0
  51. package/lib/domToModel/processors/knownElementProcessor.d.ts +5 -0
  52. package/lib/domToModel/processors/knownElementProcessor.js +96 -0
  53. package/lib/domToModel/processors/knownElementProcessor.js.map +1 -0
  54. package/lib/domToModel/processors/linkProcessor.d.ts +5 -0
  55. package/lib/domToModel/processors/linkProcessor.js +24 -0
  56. package/lib/domToModel/processors/linkProcessor.js.map +1 -0
  57. package/lib/domToModel/processors/listItemProcessor.d.ts +5 -0
  58. package/lib/domToModel/processors/listItemProcessor.js +39 -0
  59. package/lib/domToModel/processors/listItemProcessor.js.map +1 -0
  60. package/lib/domToModel/processors/listProcessor.d.ts +5 -0
  61. package/lib/domToModel/processors/listProcessor.js +42 -0
  62. package/lib/domToModel/processors/listProcessor.js.map +1 -0
  63. package/lib/domToModel/processors/pProcessor.d.ts +5 -0
  64. package/lib/domToModel/processors/pProcessor.js +24 -0
  65. package/lib/domToModel/processors/pProcessor.js.map +1 -0
  66. package/lib/domToModel/processors/tableProcessor.d.ts +19 -0
  67. package/lib/domToModel/processors/tableProcessor.js +164 -0
  68. package/lib/domToModel/processors/tableProcessor.js.map +1 -0
  69. package/lib/domToModel/processors/textProcessor.d.ts +5 -0
  70. package/lib/domToModel/processors/textProcessor.js +62 -0
  71. package/lib/domToModel/processors/textProcessor.js.map +1 -0
  72. package/lib/domToModel/utils/addSelectionMarker.d.ts +5 -0
  73. package/lib/domToModel/utils/addSelectionMarker.js +16 -0
  74. package/lib/domToModel/utils/addSelectionMarker.js.map +1 -0
  75. package/lib/domToModel/utils/areSameFormats.d.ts +7 -0
  76. package/lib/domToModel/utils/areSameFormats.js +21 -0
  77. package/lib/domToModel/utils/areSameFormats.js.map +1 -0
  78. package/lib/domToModel/utils/getBoundingClientRect.d.ts +4 -0
  79. package/lib/domToModel/utils/getBoundingClientRect.js +11 -0
  80. package/lib/domToModel/utils/getBoundingClientRect.js.map +1 -0
  81. package/lib/domToModel/utils/getDefaultStyle.d.ts +9 -0
  82. package/lib/domToModel/utils/getDefaultStyle.js +16 -0
  83. package/lib/domToModel/utils/getDefaultStyle.js.map +1 -0
  84. package/lib/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
  85. package/lib/domToModel/utils/getRegularSelectionOffsets.js +22 -0
  86. package/lib/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
  87. package/lib/domToModel/utils/isBlockElement.d.ts +8 -0
  88. package/lib/domToModel/utils/isBlockElement.js +17 -0
  89. package/lib/domToModel/utils/isBlockElement.js.map +1 -0
  90. package/lib/domToModel/utils/parseFormat.d.ts +9 -0
  91. package/lib/domToModel/utils/parseFormat.js +19 -0
  92. package/lib/domToModel/utils/parseFormat.js.map +1 -0
  93. package/lib/domToModel/utils/stackFormat.d.ts +15 -0
  94. package/lib/domToModel/utils/stackFormat.js +112 -0
  95. package/lib/domToModel/utils/stackFormat.js.map +1 -0
  96. package/lib/domUtils/isNodeOfType.d.ts +44 -0
  97. package/lib/domUtils/isNodeOfType.js +13 -0
  98. package/lib/domUtils/isNodeOfType.js.map +1 -0
  99. package/lib/domUtils/metadata/updateListMetadata.d.ts +8 -0
  100. package/lib/domUtils/metadata/updateListMetadata.js +20 -0
  101. package/lib/domUtils/metadata/updateListMetadata.js.map +1 -0
  102. package/lib/domUtils/metadata/updateMetadata.d.ts +15 -0
  103. package/lib/domUtils/metadata/updateMetadata.js +43 -0
  104. package/lib/domUtils/metadata/updateMetadata.js.map +1 -0
  105. package/lib/domUtils/stringUtil.d.ts +24 -0
  106. package/lib/domUtils/stringUtil.js +47 -0
  107. package/lib/domUtils/stringUtil.js.map +1 -0
  108. package/lib/formatHandlers/FormatHandler.d.ts +15 -0
  109. package/lib/formatHandlers/FormatHandler.js +3 -0
  110. package/lib/formatHandlers/FormatHandler.js.map +1 -0
  111. package/lib/formatHandlers/block/directionFormatHandler.d.ts +6 -0
  112. package/lib/formatHandlers/block/directionFormatHandler.js +20 -0
  113. package/lib/formatHandlers/block/directionFormatHandler.js.map +1 -0
  114. package/lib/formatHandlers/block/displayFormatHandler.d.ts +6 -0
  115. package/lib/formatHandlers/block/displayFormatHandler.js +20 -0
  116. package/lib/formatHandlers/block/displayFormatHandler.js.map +1 -0
  117. package/lib/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
  118. package/lib/formatHandlers/block/htmlAlignFormatHandler.js +26 -0
  119. package/lib/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
  120. package/lib/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
  121. package/lib/formatHandlers/block/lineHeightFormatHandler.js +20 -0
  122. package/lib/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
  123. package/lib/formatHandlers/block/marginFormatHandler.d.ts +6 -0
  124. package/lib/formatHandlers/block/marginFormatHandler.js +45 -0
  125. package/lib/formatHandlers/block/marginFormatHandler.js.map +1 -0
  126. package/lib/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
  127. package/lib/formatHandlers/block/paddingFormatHandler.js +31 -0
  128. package/lib/formatHandlers/block/paddingFormatHandler.js.map +1 -0
  129. package/lib/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
  130. package/lib/formatHandlers/block/textAlignFormatHandler.js +41 -0
  131. package/lib/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
  132. package/lib/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
  133. package/lib/formatHandlers/block/whiteSpaceFormatHandler.js +21 -0
  134. package/lib/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
  135. package/lib/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
  136. package/lib/formatHandlers/common/backgroundColorFormatHandler.js +21 -0
  137. package/lib/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
  138. package/lib/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
  139. package/lib/formatHandlers/common/borderBoxFormatHandler.js +20 -0
  140. package/lib/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
  141. package/lib/formatHandlers/common/borderFormatHandler.d.ts +10 -0
  142. package/lib/formatHandlers/common/borderFormatHandler.js +35 -0
  143. package/lib/formatHandlers/common/borderFormatHandler.js.map +1 -0
  144. package/lib/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
  145. package/lib/formatHandlers/common/boxShadowFormatHandler.js +20 -0
  146. package/lib/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
  147. package/lib/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
  148. package/lib/formatHandlers/common/datasetFormatHandler.js +21 -0
  149. package/lib/formatHandlers/common/datasetFormatHandler.js.map +1 -0
  150. package/lib/formatHandlers/common/idFormatHandler.d.ts +6 -0
  151. package/lib/formatHandlers/common/idFormatHandler.js +19 -0
  152. package/lib/formatHandlers/common/idFormatHandler.js.map +1 -0
  153. package/lib/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
  154. package/lib/formatHandlers/common/sizeFormatHandler.js +65 -0
  155. package/lib/formatHandlers/common/sizeFormatHandler.js.map +1 -0
  156. package/lib/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
  157. package/lib/formatHandlers/common/verticalAlignFormatHandler.js +31 -0
  158. package/lib/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
  159. package/lib/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
  160. package/lib/formatHandlers/common/wordBreakFormatHandler.js +20 -0
  161. package/lib/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
  162. package/lib/formatHandlers/defaultFormatHandlers.d.ts +17 -0
  163. package/lib/formatHandlers/defaultFormatHandlers.js +224 -0
  164. package/lib/formatHandlers/defaultFormatHandlers.js.map +1 -0
  165. package/lib/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
  166. package/lib/formatHandlers/list/listItemMetadataFormatHandler.js +102 -0
  167. package/lib/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
  168. package/lib/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
  169. package/lib/formatHandlers/list/listItemThreadFormatHandler.js +46 -0
  170. package/lib/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
  171. package/lib/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
  172. package/lib/formatHandlers/list/listLevelMetadataFormatHandler.js +88 -0
  173. package/lib/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
  174. package/lib/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
  175. package/lib/formatHandlers/list/listLevelThreadFormatHandler.js +37 -0
  176. package/lib/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
  177. package/lib/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
  178. package/lib/formatHandlers/list/listStylePositionFormatHandler.js +20 -0
  179. package/lib/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
  180. package/lib/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
  181. package/lib/formatHandlers/list/listTypeFormatHandler.js +17 -0
  182. package/lib/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
  183. package/lib/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
  184. package/lib/formatHandlers/root/rootDirectionFormatHandler.js +17 -0
  185. package/lib/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
  186. package/lib/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
  187. package/lib/formatHandlers/root/zoomScaleFormatHandler.js +18 -0
  188. package/lib/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
  189. package/lib/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
  190. package/lib/formatHandlers/segment/boldFormatHandler.js +33 -0
  191. package/lib/formatHandlers/segment/boldFormatHandler.js.map +1 -0
  192. package/lib/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
  193. package/lib/formatHandlers/segment/fontFamilyFormatHandler.js +20 -0
  194. package/lib/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
  195. package/lib/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
  196. package/lib/formatHandlers/segment/fontSizeFormatHandler.js +24 -0
  197. package/lib/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
  198. package/lib/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
  199. package/lib/formatHandlers/segment/italicFormatHandler.js +35 -0
  200. package/lib/formatHandlers/segment/italicFormatHandler.js.map +1 -0
  201. package/lib/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
  202. package/lib/formatHandlers/segment/letterSpacingFormatHandler.js +20 -0
  203. package/lib/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
  204. package/lib/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
  205. package/lib/formatHandlers/segment/linkFormatHandler.js +65 -0
  206. package/lib/formatHandlers/segment/linkFormatHandler.js.map +1 -0
  207. package/lib/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
  208. package/lib/formatHandlers/segment/strikeFormatHandler.js +23 -0
  209. package/lib/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
  210. package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
  211. package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.js +43 -0
  212. package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
  213. package/lib/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
  214. package/lib/formatHandlers/segment/textColorFormatHandler.js +22 -0
  215. package/lib/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
  216. package/lib/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
  217. package/lib/formatHandlers/segment/underlineFormatHandler.js +35 -0
  218. package/lib/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
  219. package/lib/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
  220. package/lib/formatHandlers/table/tableLayoutFormatHandler.js +20 -0
  221. package/lib/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
  222. package/lib/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
  223. package/lib/formatHandlers/table/tableSpacingFormatHandler.js +22 -0
  224. package/lib/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
  225. package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
  226. package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.js +18 -0
  227. package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
  228. package/lib/formatHandlers/utils/color.d.ts +9 -0
  229. package/lib/formatHandlers/utils/color.js +55 -0
  230. package/lib/formatHandlers/utils/color.js.map +1 -0
  231. package/lib/formatHandlers/utils/defaultStyles.d.ts +15 -0
  232. package/lib/formatHandlers/utils/defaultStyles.js +192 -0
  233. package/lib/formatHandlers/utils/defaultStyles.js.map +1 -0
  234. package/lib/formatHandlers/utils/dir.d.ts +29 -0
  235. package/lib/formatHandlers/utils/dir.js +51 -0
  236. package/lib/formatHandlers/utils/dir.js.map +1 -0
  237. package/lib/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
  238. package/lib/formatHandlers/utils/parseValueWithUnit.js +60 -0
  239. package/lib/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
  240. package/lib/index.d.ts +40 -0
  241. package/lib/index.js +89 -0
  242. package/lib/index.js.map +1 -0
  243. package/lib/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
  244. package/lib/modelApi/block/setParagraphNotImplicit.js +14 -0
  245. package/lib/modelApi/block/setParagraphNotImplicit.js.map +1 -0
  246. package/lib/modelApi/common/addBlock.d.ts +7 -0
  247. package/lib/modelApi/common/addBlock.js +13 -0
  248. package/lib/modelApi/common/addBlock.js.map +1 -0
  249. package/lib/modelApi/common/addDecorators.d.ts +15 -0
  250. package/lib/modelApi/common/addDecorators.js +38 -0
  251. package/lib/modelApi/common/addDecorators.js.map +1 -0
  252. package/lib/modelApi/common/addSegment.d.ts +8 -0
  253. package/lib/modelApi/common/addSegment.js +36 -0
  254. package/lib/modelApi/common/addSegment.js.map +1 -0
  255. package/lib/modelApi/common/isEmpty.d.ts +17 -0
  256. package/lib/modelApi/common/isEmpty.js +80 -0
  257. package/lib/modelApi/common/isEmpty.js.map +1 -0
  258. package/lib/modelApi/common/isGeneralSegment.d.ts +6 -0
  259. package/lib/modelApi/common/isGeneralSegment.js +13 -0
  260. package/lib/modelApi/common/isGeneralSegment.js.map +1 -0
  261. package/lib/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
  262. package/lib/modelApi/common/isWhiteSpacePreserved.js +16 -0
  263. package/lib/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
  264. package/lib/modelApi/common/normalizeContentModel.d.ts +11 -0
  265. package/lib/modelApi/common/normalizeContentModel.js +48 -0
  266. package/lib/modelApi/common/normalizeContentModel.js.map +1 -0
  267. package/lib/modelApi/common/normalizeParagraph.d.ts +5 -0
  268. package/lib/modelApi/common/normalizeParagraph.js +43 -0
  269. package/lib/modelApi/common/normalizeParagraph.js.map +1 -0
  270. package/lib/modelApi/common/normalizeSegment.d.ts +29 -0
  271. package/lib/modelApi/common/normalizeSegment.js +110 -0
  272. package/lib/modelApi/common/normalizeSegment.js.map +1 -0
  273. package/lib/modelApi/common/unwrapBlock.d.ts +7 -0
  274. package/lib/modelApi/common/unwrapBlock.js +21 -0
  275. package/lib/modelApi/common/unwrapBlock.js.map +1 -0
  276. package/lib/modelApi/creators/createBr.d.ts +6 -0
  277. package/lib/modelApi/creators/createBr.js +16 -0
  278. package/lib/modelApi/creators/createBr.js.map +1 -0
  279. package/lib/modelApi/creators/createContentModelDocument.d.ts +6 -0
  280. package/lib/modelApi/creators/createContentModelDocument.js +19 -0
  281. package/lib/modelApi/creators/createContentModelDocument.js.map +1 -0
  282. package/lib/modelApi/creators/createDivider.d.ts +7 -0
  283. package/lib/modelApi/creators/createDivider.js +18 -0
  284. package/lib/modelApi/creators/createDivider.js.map +1 -0
  285. package/lib/modelApi/creators/createEntity.d.ts +10 -0
  286. package/lib/modelApi/creators/createEntity.js +25 -0
  287. package/lib/modelApi/creators/createEntity.js.map +1 -0
  288. package/lib/modelApi/creators/createFormatContainer.d.ts +7 -0
  289. package/lib/modelApi/creators/createFormatContainer.js +20 -0
  290. package/lib/modelApi/creators/createFormatContainer.js.map +1 -0
  291. package/lib/modelApi/creators/createGeneralBlock.d.ts +6 -0
  292. package/lib/modelApi/creators/createGeneralBlock.js +18 -0
  293. package/lib/modelApi/creators/createGeneralBlock.js.map +1 -0
  294. package/lib/modelApi/creators/createGeneralSegment.d.ts +7 -0
  295. package/lib/modelApi/creators/createGeneralSegment.js +21 -0
  296. package/lib/modelApi/creators/createGeneralSegment.js.map +1 -0
  297. package/lib/modelApi/creators/createImage.d.ts +7 -0
  298. package/lib/modelApi/creators/createImage.js +19 -0
  299. package/lib/modelApi/creators/createImage.js.map +1 -0
  300. package/lib/modelApi/creators/createListItem.d.ts +7 -0
  301. package/lib/modelApi/creators/createListItem.js +22 -0
  302. package/lib/modelApi/creators/createListItem.js.map +1 -0
  303. package/lib/modelApi/creators/createParagraph.d.ts +9 -0
  304. package/lib/modelApi/creators/createParagraph.js +33 -0
  305. package/lib/modelApi/creators/createParagraph.js.map +1 -0
  306. package/lib/modelApi/creators/createParagraphDecorator.d.ts +7 -0
  307. package/lib/modelApi/creators/createParagraphDecorator.js +17 -0
  308. package/lib/modelApi/creators/createParagraphDecorator.js.map +1 -0
  309. package/lib/modelApi/creators/createSelectionMarker.d.ts +6 -0
  310. package/lib/modelApi/creators/createSelectionMarker.js +17 -0
  311. package/lib/modelApi/creators/createSelectionMarker.js.map +1 -0
  312. package/lib/modelApi/creators/createTable.d.ts +7 -0
  313. package/lib/modelApi/creators/createTable.js +28 -0
  314. package/lib/modelApi/creators/createTable.js.map +1 -0
  315. package/lib/modelApi/creators/createTableCell.d.ts +9 -0
  316. package/lib/modelApi/creators/createTableCell.js +26 -0
  317. package/lib/modelApi/creators/createTableCell.js.map +1 -0
  318. package/lib/modelApi/creators/createText.d.ts +7 -0
  319. package/lib/modelApi/creators/createText.js +18 -0
  320. package/lib/modelApi/creators/createText.js.map +1 -0
  321. package/lib/modelToDom/contentModelToDom.d.ts +17 -0
  322. package/lib/modelToDom/contentModelToDom.js +85 -0
  323. package/lib/modelToDom/contentModelToDom.js.map +1 -0
  324. package/lib/modelToDom/context/createModelToDomContext.d.ts +7 -0
  325. package/lib/modelToDom/context/createModelToDomContext.js +26 -0
  326. package/lib/modelToDom/context/createModelToDomContext.js.map +1 -0
  327. package/lib/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
  328. package/lib/modelToDom/context/defaultContentModelHandlers.js +39 -0
  329. package/lib/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
  330. package/lib/modelToDom/handlers/handleBlock.d.ts +5 -0
  331. package/lib/modelToDom/handlers/handleBlock.js +39 -0
  332. package/lib/modelToDom/handlers/handleBlock.js.map +1 -0
  333. package/lib/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
  334. package/lib/modelToDom/handlers/handleBlockGroupChildren.js +37 -0
  335. package/lib/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
  336. package/lib/modelToDom/handlers/handleBr.d.ts +5 -0
  337. package/lib/modelToDom/handlers/handleBr.js +16 -0
  338. package/lib/modelToDom/handlers/handleBr.js.map +1 -0
  339. package/lib/modelToDom/handlers/handleDivider.d.ts +5 -0
  340. package/lib/modelToDom/handlers/handleDivider.js +28 -0
  341. package/lib/modelToDom/handlers/handleDivider.js.map +1 -0
  342. package/lib/modelToDom/handlers/handleEntity.d.ts +5 -0
  343. package/lib/modelToDom/handlers/handleEntity.js +40 -0
  344. package/lib/modelToDom/handlers/handleEntity.js.map +1 -0
  345. package/lib/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
  346. package/lib/modelToDom/handlers/handleFormatContainer.js +43 -0
  347. package/lib/modelToDom/handlers/handleFormatContainer.js.map +1 -0
  348. package/lib/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
  349. package/lib/modelToDom/handlers/handleGeneralModel.js +34 -0
  350. package/lib/modelToDom/handlers/handleGeneralModel.js.map +1 -0
  351. package/lib/modelToDom/handlers/handleImage.d.ts +5 -0
  352. package/lib/modelToDom/handlers/handleImage.js +41 -0
  353. package/lib/modelToDom/handlers/handleImage.js.map +1 -0
  354. package/lib/modelToDom/handlers/handleList.d.ts +5 -0
  355. package/lib/modelToDom/handlers/handleList.js +58 -0
  356. package/lib/modelToDom/handlers/handleList.js.map +1 -0
  357. package/lib/modelToDom/handlers/handleListItem.d.ts +5 -0
  358. package/lib/modelToDom/handlers/handleListItem.js +37 -0
  359. package/lib/modelToDom/handlers/handleListItem.js.map +1 -0
  360. package/lib/modelToDom/handlers/handleParagraph.d.ts +5 -0
  361. package/lib/modelToDom/handlers/handleParagraph.js +81 -0
  362. package/lib/modelToDom/handlers/handleParagraph.js.map +1 -0
  363. package/lib/modelToDom/handlers/handleSegment.d.ts +5 -0
  364. package/lib/modelToDom/handlers/handleSegment.js +38 -0
  365. package/lib/modelToDom/handlers/handleSegment.js.map +1 -0
  366. package/lib/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
  367. package/lib/modelToDom/handlers/handleSegmentDecorator.js +35 -0
  368. package/lib/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
  369. package/lib/modelToDom/handlers/handleTable.d.ts +5 -0
  370. package/lib/modelToDom/handlers/handleTable.js +105 -0
  371. package/lib/modelToDom/handlers/handleTable.js.map +1 -0
  372. package/lib/modelToDom/handlers/handleText.d.ts +5 -0
  373. package/lib/modelToDom/handlers/handleText.js +16 -0
  374. package/lib/modelToDom/handlers/handleText.js.map +1 -0
  375. package/lib/modelToDom/optimizers/mergeNode.d.ts +4 -0
  376. package/lib/modelToDom/optimizers/mergeNode.js +42 -0
  377. package/lib/modelToDom/optimizers/mergeNode.js.map +1 -0
  378. package/lib/modelToDom/optimizers/optimize.d.ts +4 -0
  379. package/lib/modelToDom/optimizers/optimize.js +25 -0
  380. package/lib/modelToDom/optimizers/optimize.js.map +1 -0
  381. package/lib/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
  382. package/lib/modelToDom/optimizers/removeUnnecessarySpan.js +29 -0
  383. package/lib/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
  384. package/lib/modelToDom/utils/applyFormat.d.ts +10 -0
  385. package/lib/modelToDom/utils/applyFormat.js +18 -0
  386. package/lib/modelToDom/utils/applyFormat.js.map +1 -0
  387. package/lib/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
  388. package/lib/modelToDom/utils/handleSegmentCommon.js +19 -0
  389. package/lib/modelToDom/utils/handleSegmentCommon.js.map +1 -0
  390. package/lib/modelToDom/utils/reuseCachedElement.d.ts +8 -0
  391. package/lib/modelToDom/utils/reuseCachedElement.js +46 -0
  392. package/lib/modelToDom/utils/reuseCachedElement.js.map +1 -0
  393. package/lib/modelToDom/utils/stackFormat.d.ts +5 -0
  394. package/lib/modelToDom/utils/stackFormat.js +27 -0
  395. package/lib/modelToDom/utils/stackFormat.js.map +1 -0
  396. package/lib-amd/domToModel/context/createDomToModelContext.d.ts +7 -0
  397. package/lib-amd/domToModel/context/createDomToModelContext.js +63 -0
  398. package/lib-amd/domToModel/context/createDomToModelContext.js.map +1 -0
  399. package/lib-amd/domToModel/context/defaultProcessors.d.ts +5 -0
  400. package/lib-amd/domToModel/context/defaultProcessors.js +47 -0
  401. package/lib-amd/domToModel/context/defaultProcessors.js.map +1 -0
  402. package/lib-amd/domToModel/domToContentModel.d.ts +9 -0
  403. package/lib-amd/domToModel/domToContentModel.js +27 -0
  404. package/lib-amd/domToModel/domToContentModel.js.map +1 -0
  405. package/lib-amd/domToModel/processors/blockProcessor.d.ts +5 -0
  406. package/lib-amd/domToModel/processors/blockProcessor.js +28 -0
  407. package/lib-amd/domToModel/processors/blockProcessor.js.map +1 -0
  408. package/lib-amd/domToModel/processors/brProcessor.d.ts +5 -0
  409. package/lib-amd/domToModel/processors/brProcessor.js +17 -0
  410. package/lib-amd/domToModel/processors/brProcessor.js.map +1 -0
  411. package/lib-amd/domToModel/processors/childProcessor.d.ts +25 -0
  412. package/lib-amd/domToModel/processors/childProcessor.js +60 -0
  413. package/lib-amd/domToModel/processors/childProcessor.js.map +1 -0
  414. package/lib-amd/domToModel/processors/codeProcessor.d.ts +5 -0
  415. package/lib-amd/domToModel/processors/codeProcessor.js +16 -0
  416. package/lib-amd/domToModel/processors/codeProcessor.js.map +1 -0
  417. package/lib-amd/domToModel/processors/delimiterProcessor.d.ts +8 -0
  418. package/lib-amd/domToModel/processors/delimiterProcessor.js +22 -0
  419. package/lib-amd/domToModel/processors/delimiterProcessor.js.map +1 -0
  420. package/lib-amd/domToModel/processors/elementProcessor.d.ts +8 -0
  421. package/lib-amd/domToModel/processors/elementProcessor.js +31 -0
  422. package/lib-amd/domToModel/processors/elementProcessor.js.map +1 -0
  423. package/lib-amd/domToModel/processors/entityProcessor.d.ts +8 -0
  424. package/lib-amd/domToModel/processors/entityProcessor.js +39 -0
  425. package/lib-amd/domToModel/processors/entityProcessor.js.map +1 -0
  426. package/lib-amd/domToModel/processors/fontProcessor.d.ts +5 -0
  427. package/lib-amd/domToModel/processors/fontProcessor.js +47 -0
  428. package/lib-amd/domToModel/processors/fontProcessor.js.map +1 -0
  429. package/lib-amd/domToModel/processors/formatContainerProcessor.d.ts +9 -0
  430. package/lib-amd/domToModel/processors/formatContainerProcessor.js +65 -0
  431. package/lib-amd/domToModel/processors/formatContainerProcessor.js.map +1 -0
  432. package/lib-amd/domToModel/processors/generalProcessor.d.ts +5 -0
  433. package/lib-amd/domToModel/processors/generalProcessor.js +45 -0
  434. package/lib-amd/domToModel/processors/generalProcessor.js.map +1 -0
  435. package/lib-amd/domToModel/processors/headingProcessor.d.ts +5 -0
  436. package/lib-amd/domToModel/processors/headingProcessor.js +19 -0
  437. package/lib-amd/domToModel/processors/headingProcessor.js.map +1 -0
  438. package/lib-amd/domToModel/processors/hrProcessor.d.ts +5 -0
  439. package/lib-amd/domToModel/processors/hrProcessor.js +25 -0
  440. package/lib-amd/domToModel/processors/hrProcessor.js.map +1 -0
  441. package/lib-amd/domToModel/processors/imageProcessor.d.ts +5 -0
  442. package/lib-amd/domToModel/processors/imageProcessor.js +38 -0
  443. package/lib-amd/domToModel/processors/imageProcessor.js.map +1 -0
  444. package/lib-amd/domToModel/processors/knownElementProcessor.d.ts +5 -0
  445. package/lib-amd/domToModel/processors/knownElementProcessor.js +90 -0
  446. package/lib-amd/domToModel/processors/knownElementProcessor.js.map +1 -0
  447. package/lib-amd/domToModel/processors/linkProcessor.d.ts +5 -0
  448. package/lib-amd/domToModel/processors/linkProcessor.js +23 -0
  449. package/lib-amd/domToModel/processors/linkProcessor.js.map +1 -0
  450. package/lib-amd/domToModel/processors/listItemProcessor.d.ts +5 -0
  451. package/lib-amd/domToModel/processors/listItemProcessor.js +38 -0
  452. package/lib-amd/domToModel/processors/listItemProcessor.js.map +1 -0
  453. package/lib-amd/domToModel/processors/listProcessor.d.ts +5 -0
  454. package/lib-amd/domToModel/processors/listProcessor.js +40 -0
  455. package/lib-amd/domToModel/processors/listProcessor.js.map +1 -0
  456. package/lib-amd/domToModel/processors/pProcessor.d.ts +5 -0
  457. package/lib-amd/domToModel/processors/pProcessor.js +20 -0
  458. package/lib-amd/domToModel/processors/pProcessor.js.map +1 -0
  459. package/lib-amd/domToModel/processors/tableProcessor.d.ts +19 -0
  460. package/lib-amd/domToModel/processors/tableProcessor.js +159 -0
  461. package/lib-amd/domToModel/processors/tableProcessor.js.map +1 -0
  462. package/lib-amd/domToModel/processors/textProcessor.d.ts +5 -0
  463. package/lib-amd/domToModel/processors/textProcessor.js +56 -0
  464. package/lib-amd/domToModel/processors/textProcessor.js.map +1 -0
  465. package/lib-amd/domToModel/utils/addSelectionMarker.d.ts +5 -0
  466. package/lib-amd/domToModel/utils/addSelectionMarker.js +15 -0
  467. package/lib-amd/domToModel/utils/addSelectionMarker.js.map +1 -0
  468. package/lib-amd/domToModel/utils/areSameFormats.d.ts +7 -0
  469. package/lib-amd/domToModel/utils/areSameFormats.js +22 -0
  470. package/lib-amd/domToModel/utils/areSameFormats.js.map +1 -0
  471. package/lib-amd/domToModel/utils/getBoundingClientRect.d.ts +4 -0
  472. package/lib-amd/domToModel/utils/getBoundingClientRect.js +13 -0
  473. package/lib-amd/domToModel/utils/getBoundingClientRect.js.map +1 -0
  474. package/lib-amd/domToModel/utils/getDefaultStyle.d.ts +9 -0
  475. package/lib-amd/domToModel/utils/getDefaultStyle.js +18 -0
  476. package/lib-amd/domToModel/utils/getDefaultStyle.js.map +1 -0
  477. package/lib-amd/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
  478. package/lib-amd/domToModel/utils/getRegularSelectionOffsets.js +24 -0
  479. package/lib-amd/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
  480. package/lib-amd/domToModel/utils/isBlockElement.d.ts +8 -0
  481. package/lib-amd/domToModel/utils/isBlockElement.js +18 -0
  482. package/lib-amd/domToModel/utils/isBlockElement.js.map +1 -0
  483. package/lib-amd/domToModel/utils/parseFormat.d.ts +9 -0
  484. package/lib-amd/domToModel/utils/parseFormat.js +20 -0
  485. package/lib-amd/domToModel/utils/parseFormat.js.map +1 -0
  486. package/lib-amd/domToModel/utils/stackFormat.d.ts +15 -0
  487. package/lib-amd/domToModel/utils/stackFormat.js +112 -0
  488. package/lib-amd/domToModel/utils/stackFormat.js.map +1 -0
  489. package/lib-amd/domUtils/isNodeOfType.d.ts +44 -0
  490. package/lib-amd/domUtils/isNodeOfType.js +15 -0
  491. package/lib-amd/domUtils/isNodeOfType.js.map +1 -0
  492. package/lib-amd/domUtils/metadata/updateListMetadata.d.ts +8 -0
  493. package/lib-amd/domUtils/metadata/updateListMetadata.js +20 -0
  494. package/lib-amd/domUtils/metadata/updateListMetadata.js.map +1 -0
  495. package/lib-amd/domUtils/metadata/updateMetadata.d.ts +15 -0
  496. package/lib-amd/domUtils/metadata/updateMetadata.js +44 -0
  497. package/lib-amd/domUtils/metadata/updateMetadata.js.map +1 -0
  498. package/lib-amd/domUtils/stringUtil.d.ts +24 -0
  499. package/lib-amd/domUtils/stringUtil.js +49 -0
  500. package/lib-amd/domUtils/stringUtil.js.map +1 -0
  501. package/lib-amd/formatHandlers/FormatHandler.d.ts +15 -0
  502. package/lib-amd/formatHandlers/FormatHandler.js +5 -0
  503. package/lib-amd/formatHandlers/FormatHandler.js.map +1 -0
  504. package/lib-amd/formatHandlers/block/directionFormatHandler.d.ts +6 -0
  505. package/lib-amd/formatHandlers/block/directionFormatHandler.js +22 -0
  506. package/lib-amd/formatHandlers/block/directionFormatHandler.js.map +1 -0
  507. package/lib-amd/formatHandlers/block/displayFormatHandler.d.ts +6 -0
  508. package/lib-amd/formatHandlers/block/displayFormatHandler.js +22 -0
  509. package/lib-amd/formatHandlers/block/displayFormatHandler.js.map +1 -0
  510. package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
  511. package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.js +26 -0
  512. package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
  513. package/lib-amd/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
  514. package/lib-amd/formatHandlers/block/lineHeightFormatHandler.js +22 -0
  515. package/lib-amd/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
  516. package/lib-amd/formatHandlers/block/marginFormatHandler.d.ts +6 -0
  517. package/lib-amd/formatHandlers/block/marginFormatHandler.js +46 -0
  518. package/lib-amd/formatHandlers/block/marginFormatHandler.js.map +1 -0
  519. package/lib-amd/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
  520. package/lib-amd/formatHandlers/block/paddingFormatHandler.js +33 -0
  521. package/lib-amd/formatHandlers/block/paddingFormatHandler.js.map +1 -0
  522. package/lib-amd/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
  523. package/lib-amd/formatHandlers/block/textAlignFormatHandler.js +41 -0
  524. package/lib-amd/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
  525. package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
  526. package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.js +23 -0
  527. package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
  528. package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
  529. package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.js +22 -0
  530. package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
  531. package/lib-amd/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
  532. package/lib-amd/formatHandlers/common/borderBoxFormatHandler.js +22 -0
  533. package/lib-amd/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
  534. package/lib-amd/formatHandlers/common/borderFormatHandler.d.ts +10 -0
  535. package/lib-amd/formatHandlers/common/borderFormatHandler.js +37 -0
  536. package/lib-amd/formatHandlers/common/borderFormatHandler.js.map +1 -0
  537. package/lib-amd/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
  538. package/lib-amd/formatHandlers/common/boxShadowFormatHandler.js +22 -0
  539. package/lib-amd/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
  540. package/lib-amd/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
  541. package/lib-amd/formatHandlers/common/datasetFormatHandler.js +22 -0
  542. package/lib-amd/formatHandlers/common/datasetFormatHandler.js.map +1 -0
  543. package/lib-amd/formatHandlers/common/idFormatHandler.d.ts +6 -0
  544. package/lib-amd/formatHandlers/common/idFormatHandler.js +21 -0
  545. package/lib-amd/formatHandlers/common/idFormatHandler.js.map +1 -0
  546. package/lib-amd/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
  547. package/lib-amd/formatHandlers/common/sizeFormatHandler.js +67 -0
  548. package/lib-amd/formatHandlers/common/sizeFormatHandler.js.map +1 -0
  549. package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
  550. package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.js +33 -0
  551. package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
  552. package/lib-amd/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
  553. package/lib-amd/formatHandlers/common/wordBreakFormatHandler.js +22 -0
  554. package/lib-amd/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
  555. package/lib-amd/formatHandlers/defaultFormatHandlers.d.ts +17 -0
  556. package/lib-amd/formatHandlers/defaultFormatHandlers.js +188 -0
  557. package/lib-amd/formatHandlers/defaultFormatHandlers.js.map +1 -0
  558. package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
  559. package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.js +100 -0
  560. package/lib-amd/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
  561. package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
  562. package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.js +47 -0
  563. package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
  564. package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
  565. package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.js +89 -0
  566. package/lib-amd/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
  567. package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
  568. package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.js +38 -0
  569. package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
  570. package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
  571. package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.js +22 -0
  572. package/lib-amd/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
  573. package/lib-amd/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
  574. package/lib-amd/formatHandlers/list/listTypeFormatHandler.js +18 -0
  575. package/lib-amd/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
  576. package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
  577. package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.js +19 -0
  578. package/lib-amd/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
  579. package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
  580. package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.js +20 -0
  581. package/lib-amd/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
  582. package/lib-amd/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
  583. package/lib-amd/formatHandlers/segment/boldFormatHandler.js +34 -0
  584. package/lib-amd/formatHandlers/segment/boldFormatHandler.js.map +1 -0
  585. package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
  586. package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.js +22 -0
  587. package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
  588. package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
  589. package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.js +25 -0
  590. package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
  591. package/lib-amd/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
  592. package/lib-amd/formatHandlers/segment/italicFormatHandler.js +36 -0
  593. package/lib-amd/formatHandlers/segment/italicFormatHandler.js.map +1 -0
  594. package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
  595. package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.js +22 -0
  596. package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
  597. package/lib-amd/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
  598. package/lib-amd/formatHandlers/segment/linkFormatHandler.js +66 -0
  599. package/lib-amd/formatHandlers/segment/linkFormatHandler.js.map +1 -0
  600. package/lib-amd/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
  601. package/lib-amd/formatHandlers/segment/strikeFormatHandler.js +24 -0
  602. package/lib-amd/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
  603. package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
  604. package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.js +44 -0
  605. package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
  606. package/lib-amd/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
  607. package/lib-amd/formatHandlers/segment/textColorFormatHandler.js +23 -0
  608. package/lib-amd/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
  609. package/lib-amd/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
  610. package/lib-amd/formatHandlers/segment/underlineFormatHandler.js +36 -0
  611. package/lib-amd/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
  612. package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
  613. package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.js +22 -0
  614. package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
  615. package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
  616. package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.js +24 -0
  617. package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
  618. package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
  619. package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.js +20 -0
  620. package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
  621. package/lib-amd/formatHandlers/utils/color.d.ts +9 -0
  622. package/lib-amd/formatHandlers/utils/color.js +56 -0
  623. package/lib-amd/formatHandlers/utils/color.js.map +1 -0
  624. package/lib-amd/formatHandlers/utils/defaultStyles.d.ts +15 -0
  625. package/lib-amd/formatHandlers/utils/defaultStyles.js +194 -0
  626. package/lib-amd/formatHandlers/utils/defaultStyles.js.map +1 -0
  627. package/lib-amd/formatHandlers/utils/dir.d.ts +29 -0
  628. package/lib-amd/formatHandlers/utils/dir.js +53 -0
  629. package/lib-amd/formatHandlers/utils/dir.js.map +1 -0
  630. package/lib-amd/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
  631. package/lib-amd/formatHandlers/utils/parseValueWithUnit.js +60 -0
  632. package/lib-amd/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
  633. package/lib-amd/index.d.ts +40 -0
  634. package/lib-amd/index.js +51 -0
  635. package/lib-amd/index.js.map +1 -0
  636. package/lib-amd/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
  637. package/lib-amd/modelApi/block/setParagraphNotImplicit.js +16 -0
  638. package/lib-amd/modelApi/block/setParagraphNotImplicit.js.map +1 -0
  639. package/lib-amd/modelApi/common/addBlock.d.ts +7 -0
  640. package/lib-amd/modelApi/common/addBlock.js +15 -0
  641. package/lib-amd/modelApi/common/addBlock.js.map +1 -0
  642. package/lib-amd/modelApi/common/addDecorators.d.ts +15 -0
  643. package/lib-amd/modelApi/common/addDecorators.js +39 -0
  644. package/lib-amd/modelApi/common/addDecorators.js.map +1 -0
  645. package/lib-amd/modelApi/common/addSegment.d.ts +8 -0
  646. package/lib-amd/modelApi/common/addSegment.js +36 -0
  647. package/lib-amd/modelApi/common/addSegment.js.map +1 -0
  648. package/lib-amd/modelApi/common/isEmpty.d.ts +17 -0
  649. package/lib-amd/modelApi/common/isEmpty.js +82 -0
  650. package/lib-amd/modelApi/common/isEmpty.js.map +1 -0
  651. package/lib-amd/modelApi/common/isGeneralSegment.d.ts +6 -0
  652. package/lib-amd/modelApi/common/isGeneralSegment.js +15 -0
  653. package/lib-amd/modelApi/common/isGeneralSegment.js.map +1 -0
  654. package/lib-amd/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
  655. package/lib-amd/modelApi/common/isWhiteSpacePreserved.js +18 -0
  656. package/lib-amd/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
  657. package/lib-amd/modelApi/common/normalizeContentModel.d.ts +11 -0
  658. package/lib-amd/modelApi/common/normalizeContentModel.js +47 -0
  659. package/lib-amd/modelApi/common/normalizeContentModel.js.map +1 -0
  660. package/lib-amd/modelApi/common/normalizeParagraph.d.ts +5 -0
  661. package/lib-amd/modelApi/common/normalizeParagraph.js +41 -0
  662. package/lib-amd/modelApi/common/normalizeParagraph.js.map +1 -0
  663. package/lib-amd/modelApi/common/normalizeSegment.d.ts +29 -0
  664. package/lib-amd/modelApi/common/normalizeSegment.js +111 -0
  665. package/lib-amd/modelApi/common/normalizeSegment.js.map +1 -0
  666. package/lib-amd/modelApi/common/unwrapBlock.d.ts +7 -0
  667. package/lib-amd/modelApi/common/unwrapBlock.js +21 -0
  668. package/lib-amd/modelApi/common/unwrapBlock.js.map +1 -0
  669. package/lib-amd/modelApi/creators/createBr.d.ts +6 -0
  670. package/lib-amd/modelApi/creators/createBr.js +17 -0
  671. package/lib-amd/modelApi/creators/createBr.js.map +1 -0
  672. package/lib-amd/modelApi/creators/createContentModelDocument.d.ts +6 -0
  673. package/lib-amd/modelApi/creators/createContentModelDocument.js +21 -0
  674. package/lib-amd/modelApi/creators/createContentModelDocument.js.map +1 -0
  675. package/lib-amd/modelApi/creators/createDivider.d.ts +7 -0
  676. package/lib-amd/modelApi/creators/createDivider.js +19 -0
  677. package/lib-amd/modelApi/creators/createDivider.js.map +1 -0
  678. package/lib-amd/modelApi/creators/createEntity.d.ts +10 -0
  679. package/lib-amd/modelApi/creators/createEntity.js +26 -0
  680. package/lib-amd/modelApi/creators/createEntity.js.map +1 -0
  681. package/lib-amd/modelApi/creators/createFormatContainer.d.ts +7 -0
  682. package/lib-amd/modelApi/creators/createFormatContainer.js +21 -0
  683. package/lib-amd/modelApi/creators/createFormatContainer.js.map +1 -0
  684. package/lib-amd/modelApi/creators/createGeneralBlock.d.ts +6 -0
  685. package/lib-amd/modelApi/creators/createGeneralBlock.js +20 -0
  686. package/lib-amd/modelApi/creators/createGeneralBlock.js.map +1 -0
  687. package/lib-amd/modelApi/creators/createGeneralSegment.d.ts +7 -0
  688. package/lib-amd/modelApi/creators/createGeneralSegment.js +22 -0
  689. package/lib-amd/modelApi/creators/createGeneralSegment.js.map +1 -0
  690. package/lib-amd/modelApi/creators/createImage.d.ts +7 -0
  691. package/lib-amd/modelApi/creators/createImage.js +20 -0
  692. package/lib-amd/modelApi/creators/createImage.js.map +1 -0
  693. package/lib-amd/modelApi/creators/createListItem.d.ts +7 -0
  694. package/lib-amd/modelApi/creators/createListItem.js +22 -0
  695. package/lib-amd/modelApi/creators/createListItem.js.map +1 -0
  696. package/lib-amd/modelApi/creators/createParagraph.d.ts +9 -0
  697. package/lib-amd/modelApi/creators/createParagraph.js +34 -0
  698. package/lib-amd/modelApi/creators/createParagraph.js.map +1 -0
  699. package/lib-amd/modelApi/creators/createParagraphDecorator.d.ts +7 -0
  700. package/lib-amd/modelApi/creators/createParagraphDecorator.js +18 -0
  701. package/lib-amd/modelApi/creators/createParagraphDecorator.js.map +1 -0
  702. package/lib-amd/modelApi/creators/createSelectionMarker.d.ts +6 -0
  703. package/lib-amd/modelApi/creators/createSelectionMarker.js +18 -0
  704. package/lib-amd/modelApi/creators/createSelectionMarker.js.map +1 -0
  705. package/lib-amd/modelApi/creators/createTable.d.ts +7 -0
  706. package/lib-amd/modelApi/creators/createTable.js +29 -0
  707. package/lib-amd/modelApi/creators/createTable.js.map +1 -0
  708. package/lib-amd/modelApi/creators/createTableCell.d.ts +9 -0
  709. package/lib-amd/modelApi/creators/createTableCell.js +27 -0
  710. package/lib-amd/modelApi/creators/createTableCell.js.map +1 -0
  711. package/lib-amd/modelApi/creators/createText.d.ts +7 -0
  712. package/lib-amd/modelApi/creators/createText.js +19 -0
  713. package/lib-amd/modelApi/creators/createText.js.map +1 -0
  714. package/lib-amd/modelToDom/contentModelToDom.d.ts +17 -0
  715. package/lib-amd/modelToDom/contentModelToDom.js +84 -0
  716. package/lib-amd/modelToDom/contentModelToDom.js.map +1 -0
  717. package/lib-amd/modelToDom/context/createModelToDomContext.d.ts +7 -0
  718. package/lib-amd/modelToDom/context/createModelToDomContext.js +24 -0
  719. package/lib-amd/modelToDom/context/createModelToDomContext.js.map +1 -0
  720. package/lib-amd/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
  721. package/lib-amd/modelToDom/context/defaultContentModelHandlers.js +26 -0
  722. package/lib-amd/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
  723. package/lib-amd/modelToDom/handlers/handleBlock.d.ts +5 -0
  724. package/lib-amd/modelToDom/handlers/handleBlock.js +41 -0
  725. package/lib-amd/modelToDom/handlers/handleBlock.js.map +1 -0
  726. package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
  727. package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js +39 -0
  728. package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
  729. package/lib-amd/modelToDom/handlers/handleBr.d.ts +5 -0
  730. package/lib-amd/modelToDom/handlers/handleBr.js +17 -0
  731. package/lib-amd/modelToDom/handlers/handleBr.js.map +1 -0
  732. package/lib-amd/modelToDom/handlers/handleDivider.d.ts +5 -0
  733. package/lib-amd/modelToDom/handlers/handleDivider.js +28 -0
  734. package/lib-amd/modelToDom/handlers/handleDivider.js.map +1 -0
  735. package/lib-amd/modelToDom/handlers/handleEntity.d.ts +5 -0
  736. package/lib-amd/modelToDom/handlers/handleEntity.js +38 -0
  737. package/lib-amd/modelToDom/handlers/handleEntity.js.map +1 -0
  738. package/lib-amd/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
  739. package/lib-amd/modelToDom/handlers/handleFormatContainer.js +41 -0
  740. package/lib-amd/modelToDom/handlers/handleFormatContainer.js.map +1 -0
  741. package/lib-amd/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
  742. package/lib-amd/modelToDom/handlers/handleGeneralModel.js +31 -0
  743. package/lib-amd/modelToDom/handlers/handleGeneralModel.js.map +1 -0
  744. package/lib-amd/modelToDom/handlers/handleImage.d.ts +5 -0
  745. package/lib-amd/modelToDom/handlers/handleImage.js +40 -0
  746. package/lib-amd/modelToDom/handlers/handleImage.js.map +1 -0
  747. package/lib-amd/modelToDom/handlers/handleList.d.ts +5 -0
  748. package/lib-amd/modelToDom/handlers/handleList.js +57 -0
  749. package/lib-amd/modelToDom/handlers/handleList.js.map +1 -0
  750. package/lib-amd/modelToDom/handlers/handleListItem.d.ts +5 -0
  751. package/lib-amd/modelToDom/handlers/handleListItem.js +36 -0
  752. package/lib-amd/modelToDom/handlers/handleListItem.js.map +1 -0
  753. package/lib-amd/modelToDom/handlers/handleParagraph.d.ts +5 -0
  754. package/lib-amd/modelToDom/handlers/handleParagraph.js +77 -0
  755. package/lib-amd/modelToDom/handlers/handleParagraph.js.map +1 -0
  756. package/lib-amd/modelToDom/handlers/handleSegment.d.ts +5 -0
  757. package/lib-amd/modelToDom/handlers/handleSegment.js +39 -0
  758. package/lib-amd/modelToDom/handlers/handleSegment.js.map +1 -0
  759. package/lib-amd/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
  760. package/lib-amd/modelToDom/handlers/handleSegmentDecorator.js +34 -0
  761. package/lib-amd/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
  762. package/lib-amd/modelToDom/handlers/handleTable.d.ts +5 -0
  763. package/lib-amd/modelToDom/handlers/handleTable.js +102 -0
  764. package/lib-amd/modelToDom/handlers/handleTable.js.map +1 -0
  765. package/lib-amd/modelToDom/handlers/handleText.d.ts +5 -0
  766. package/lib-amd/modelToDom/handlers/handleText.js +17 -0
  767. package/lib-amd/modelToDom/handlers/handleText.js.map +1 -0
  768. package/lib-amd/modelToDom/optimizers/mergeNode.d.ts +4 -0
  769. package/lib-amd/modelToDom/optimizers/mergeNode.js +43 -0
  770. package/lib-amd/modelToDom/optimizers/mergeNode.js.map +1 -0
  771. package/lib-amd/modelToDom/optimizers/optimize.d.ts +4 -0
  772. package/lib-amd/modelToDom/optimizers/optimize.js +24 -0
  773. package/lib-amd/modelToDom/optimizers/optimize.js.map +1 -0
  774. package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
  775. package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.js +30 -0
  776. package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
  777. package/lib-amd/modelToDom/utils/applyFormat.d.ts +10 -0
  778. package/lib-amd/modelToDom/utils/applyFormat.js +20 -0
  779. package/lib-amd/modelToDom/utils/applyFormat.js.map +1 -0
  780. package/lib-amd/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
  781. package/lib-amd/modelToDom/utils/handleSegmentCommon.js +20 -0
  782. package/lib-amd/modelToDom/utils/handleSegmentCommon.js.map +1 -0
  783. package/lib-amd/modelToDom/utils/reuseCachedElement.d.ts +8 -0
  784. package/lib-amd/modelToDom/utils/reuseCachedElement.js +46 -0
  785. package/lib-amd/modelToDom/utils/reuseCachedElement.js.map +1 -0
  786. package/lib-amd/modelToDom/utils/stackFormat.d.ts +5 -0
  787. package/lib-amd/modelToDom/utils/stackFormat.js +28 -0
  788. package/lib-amd/modelToDom/utils/stackFormat.js.map +1 -0
  789. package/lib-mjs/domToModel/context/createDomToModelContext.d.ts +7 -0
  790. package/lib-mjs/domToModel/context/createDomToModelContext.js +61 -0
  791. package/lib-mjs/domToModel/context/createDomToModelContext.js.map +1 -0
  792. package/lib-mjs/domToModel/context/defaultProcessors.d.ts +5 -0
  793. package/lib-mjs/domToModel/context/defaultProcessors.js +61 -0
  794. package/lib-mjs/domToModel/context/defaultProcessors.js.map +1 -0
  795. package/lib-mjs/domToModel/domToContentModel.d.ts +9 -0
  796. package/lib-mjs/domToModel/domToContentModel.js +28 -0
  797. package/lib-mjs/domToModel/domToContentModel.js.map +1 -0
  798. package/lib-mjs/domToModel/processors/blockProcessor.d.ts +5 -0
  799. package/lib-mjs/domToModel/processors/blockProcessor.js +27 -0
  800. package/lib-mjs/domToModel/processors/blockProcessor.js.map +1 -0
  801. package/lib-mjs/domToModel/processors/brProcessor.d.ts +5 -0
  802. package/lib-mjs/domToModel/processors/brProcessor.js +13 -0
  803. package/lib-mjs/domToModel/processors/brProcessor.js.map +1 -0
  804. package/lib-mjs/domToModel/processors/childProcessor.d.ts +25 -0
  805. package/lib-mjs/domToModel/processors/childProcessor.js +56 -0
  806. package/lib-mjs/domToModel/processors/childProcessor.js.map +1 -0
  807. package/lib-mjs/domToModel/processors/codeProcessor.d.ts +5 -0
  808. package/lib-mjs/domToModel/processors/codeProcessor.js +13 -0
  809. package/lib-mjs/domToModel/processors/codeProcessor.js.map +1 -0
  810. package/lib-mjs/domToModel/processors/delimiterProcessor.d.ts +8 -0
  811. package/lib-mjs/domToModel/processors/delimiterProcessor.js +19 -0
  812. package/lib-mjs/domToModel/processors/delimiterProcessor.js.map +1 -0
  813. package/lib-mjs/domToModel/processors/elementProcessor.d.ts +8 -0
  814. package/lib-mjs/domToModel/processors/elementProcessor.js +26 -0
  815. package/lib-mjs/domToModel/processors/elementProcessor.js.map +1 -0
  816. package/lib-mjs/domToModel/processors/entityProcessor.d.ts +8 -0
  817. package/lib-mjs/domToModel/processors/entityProcessor.js +39 -0
  818. package/lib-mjs/domToModel/processors/entityProcessor.js.map +1 -0
  819. package/lib-mjs/domToModel/processors/fontProcessor.d.ts +5 -0
  820. package/lib-mjs/domToModel/processors/fontProcessor.js +44 -0
  821. package/lib-mjs/domToModel/processors/fontProcessor.js.map +1 -0
  822. package/lib-mjs/domToModel/processors/formatContainerProcessor.d.ts +9 -0
  823. package/lib-mjs/domToModel/processors/formatContainerProcessor.js +67 -0
  824. package/lib-mjs/domToModel/processors/formatContainerProcessor.js.map +1 -0
  825. package/lib-mjs/domToModel/processors/generalProcessor.d.ts +5 -0
  826. package/lib-mjs/domToModel/processors/generalProcessor.js +46 -0
  827. package/lib-mjs/domToModel/processors/generalProcessor.js.map +1 -0
  828. package/lib-mjs/domToModel/processors/headingProcessor.d.ts +5 -0
  829. package/lib-mjs/domToModel/processors/headingProcessor.js +19 -0
  830. package/lib-mjs/domToModel/processors/headingProcessor.js.map +1 -0
  831. package/lib-mjs/domToModel/processors/hrProcessor.d.ts +5 -0
  832. package/lib-mjs/domToModel/processors/hrProcessor.js +23 -0
  833. package/lib-mjs/domToModel/processors/hrProcessor.js.map +1 -0
  834. package/lib-mjs/domToModel/processors/imageProcessor.d.ts +5 -0
  835. package/lib-mjs/domToModel/processors/imageProcessor.js +37 -0
  836. package/lib-mjs/domToModel/processors/imageProcessor.js.map +1 -0
  837. package/lib-mjs/domToModel/processors/knownElementProcessor.d.ts +5 -0
  838. package/lib-mjs/domToModel/processors/knownElementProcessor.js +92 -0
  839. package/lib-mjs/domToModel/processors/knownElementProcessor.js.map +1 -0
  840. package/lib-mjs/domToModel/processors/linkProcessor.d.ts +5 -0
  841. package/lib-mjs/domToModel/processors/linkProcessor.js +20 -0
  842. package/lib-mjs/domToModel/processors/linkProcessor.js.map +1 -0
  843. package/lib-mjs/domToModel/processors/listItemProcessor.d.ts +5 -0
  844. package/lib-mjs/domToModel/processors/listItemProcessor.js +35 -0
  845. package/lib-mjs/domToModel/processors/listItemProcessor.js.map +1 -0
  846. package/lib-mjs/domToModel/processors/listProcessor.d.ts +5 -0
  847. package/lib-mjs/domToModel/processors/listProcessor.js +38 -0
  848. package/lib-mjs/domToModel/processors/listProcessor.js.map +1 -0
  849. package/lib-mjs/domToModel/processors/pProcessor.d.ts +5 -0
  850. package/lib-mjs/domToModel/processors/pProcessor.js +20 -0
  851. package/lib-mjs/domToModel/processors/pProcessor.js.map +1 -0
  852. package/lib-mjs/domToModel/processors/tableProcessor.d.ts +19 -0
  853. package/lib-mjs/domToModel/processors/tableProcessor.js +160 -0
  854. package/lib-mjs/domToModel/processors/tableProcessor.js.map +1 -0
  855. package/lib-mjs/domToModel/processors/textProcessor.d.ts +5 -0
  856. package/lib-mjs/domToModel/processors/textProcessor.js +58 -0
  857. package/lib-mjs/domToModel/processors/textProcessor.js.map +1 -0
  858. package/lib-mjs/domToModel/utils/addSelectionMarker.d.ts +5 -0
  859. package/lib-mjs/domToModel/utils/addSelectionMarker.js +12 -0
  860. package/lib-mjs/domToModel/utils/addSelectionMarker.js.map +1 -0
  861. package/lib-mjs/domToModel/utils/areSameFormats.d.ts +7 -0
  862. package/lib-mjs/domToModel/utils/areSameFormats.js +17 -0
  863. package/lib-mjs/domToModel/utils/areSameFormats.js.map +1 -0
  864. package/lib-mjs/domToModel/utils/getBoundingClientRect.d.ts +4 -0
  865. package/lib-mjs/domToModel/utils/getBoundingClientRect.js +7 -0
  866. package/lib-mjs/domToModel/utils/getBoundingClientRect.js.map +1 -0
  867. package/lib-mjs/domToModel/utils/getDefaultStyle.d.ts +9 -0
  868. package/lib-mjs/domToModel/utils/getDefaultStyle.js +12 -0
  869. package/lib-mjs/domToModel/utils/getDefaultStyle.js.map +1 -0
  870. package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.d.ts +9 -0
  871. package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.js +18 -0
  872. package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.js.map +1 -0
  873. package/lib-mjs/domToModel/utils/isBlockElement.d.ts +8 -0
  874. package/lib-mjs/domToModel/utils/isBlockElement.js +13 -0
  875. package/lib-mjs/domToModel/utils/isBlockElement.js.map +1 -0
  876. package/lib-mjs/domToModel/utils/parseFormat.d.ts +9 -0
  877. package/lib-mjs/domToModel/utils/parseFormat.js +15 -0
  878. package/lib-mjs/domToModel/utils/parseFormat.js.map +1 -0
  879. package/lib-mjs/domToModel/utils/stackFormat.d.ts +15 -0
  880. package/lib-mjs/domToModel/utils/stackFormat.js +108 -0
  881. package/lib-mjs/domToModel/utils/stackFormat.js.map +1 -0
  882. package/lib-mjs/domUtils/isNodeOfType.d.ts +44 -0
  883. package/lib-mjs/domUtils/isNodeOfType.js +9 -0
  884. package/lib-mjs/domUtils/isNodeOfType.js.map +1 -0
  885. package/lib-mjs/domUtils/metadata/updateListMetadata.d.ts +8 -0
  886. package/lib-mjs/domUtils/metadata/updateListMetadata.js +16 -0
  887. package/lib-mjs/domUtils/metadata/updateListMetadata.js.map +1 -0
  888. package/lib-mjs/domUtils/metadata/updateMetadata.d.ts +15 -0
  889. package/lib-mjs/domUtils/metadata/updateMetadata.js +38 -0
  890. package/lib-mjs/domUtils/metadata/updateMetadata.js.map +1 -0
  891. package/lib-mjs/domUtils/stringUtil.d.ts +24 -0
  892. package/lib-mjs/domUtils/stringUtil.js +40 -0
  893. package/lib-mjs/domUtils/stringUtil.js.map +1 -0
  894. package/lib-mjs/formatHandlers/FormatHandler.d.ts +15 -0
  895. package/lib-mjs/formatHandlers/FormatHandler.js +2 -0
  896. package/lib-mjs/formatHandlers/FormatHandler.js.map +1 -0
  897. package/lib-mjs/formatHandlers/block/directionFormatHandler.d.ts +6 -0
  898. package/lib-mjs/formatHandlers/block/directionFormatHandler.js +17 -0
  899. package/lib-mjs/formatHandlers/block/directionFormatHandler.js.map +1 -0
  900. package/lib-mjs/formatHandlers/block/displayFormatHandler.d.ts +6 -0
  901. package/lib-mjs/formatHandlers/block/displayFormatHandler.js +17 -0
  902. package/lib-mjs/formatHandlers/block/displayFormatHandler.js.map +1 -0
  903. package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.d.ts +6 -0
  904. package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.js +23 -0
  905. package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -0
  906. package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.d.ts +6 -0
  907. package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.js +17 -0
  908. package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.js.map +1 -0
  909. package/lib-mjs/formatHandlers/block/marginFormatHandler.d.ts +6 -0
  910. package/lib-mjs/formatHandlers/block/marginFormatHandler.js +42 -0
  911. package/lib-mjs/formatHandlers/block/marginFormatHandler.js.map +1 -0
  912. package/lib-mjs/formatHandlers/block/paddingFormatHandler.d.ts +6 -0
  913. package/lib-mjs/formatHandlers/block/paddingFormatHandler.js +28 -0
  914. package/lib-mjs/formatHandlers/block/paddingFormatHandler.js.map +1 -0
  915. package/lib-mjs/formatHandlers/block/textAlignFormatHandler.d.ts +6 -0
  916. package/lib-mjs/formatHandlers/block/textAlignFormatHandler.js +38 -0
  917. package/lib-mjs/formatHandlers/block/textAlignFormatHandler.js.map +1 -0
  918. package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.d.ts +6 -0
  919. package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.js +18 -0
  920. package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -0
  921. package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.d.ts +6 -0
  922. package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.js +18 -0
  923. package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -0
  924. package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.d.ts +6 -0
  925. package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.js +17 -0
  926. package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.js.map +1 -0
  927. package/lib-mjs/formatHandlers/common/borderFormatHandler.d.ts +10 -0
  928. package/lib-mjs/formatHandlers/common/borderFormatHandler.js +32 -0
  929. package/lib-mjs/formatHandlers/common/borderFormatHandler.js.map +1 -0
  930. package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.d.ts +6 -0
  931. package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.js +17 -0
  932. package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.js.map +1 -0
  933. package/lib-mjs/formatHandlers/common/datasetFormatHandler.d.ts +6 -0
  934. package/lib-mjs/formatHandlers/common/datasetFormatHandler.js +18 -0
  935. package/lib-mjs/formatHandlers/common/datasetFormatHandler.js.map +1 -0
  936. package/lib-mjs/formatHandlers/common/idFormatHandler.d.ts +6 -0
  937. package/lib-mjs/formatHandlers/common/idFormatHandler.js +16 -0
  938. package/lib-mjs/formatHandlers/common/idFormatHandler.js.map +1 -0
  939. package/lib-mjs/formatHandlers/common/sizeFormatHandler.d.ts +6 -0
  940. package/lib-mjs/formatHandlers/common/sizeFormatHandler.js +62 -0
  941. package/lib-mjs/formatHandlers/common/sizeFormatHandler.js.map +1 -0
  942. package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.d.ts +6 -0
  943. package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.js +28 -0
  944. package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -0
  945. package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.d.ts +6 -0
  946. package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.js +17 -0
  947. package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.js.map +1 -0
  948. package/lib-mjs/formatHandlers/defaultFormatHandlers.d.ts +17 -0
  949. package/lib-mjs/formatHandlers/defaultFormatHandlers.js +219 -0
  950. package/lib-mjs/formatHandlers/defaultFormatHandlers.js.map +1 -0
  951. package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.d.ts +11 -0
  952. package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.js +98 -0
  953. package/lib-mjs/formatHandlers/list/listItemMetadataFormatHandler.js.map +1 -0
  954. package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.d.ts +6 -0
  955. package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.js +43 -0
  956. package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -0
  957. package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.d.ts +15 -0
  958. package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.js +85 -0
  959. package/lib-mjs/formatHandlers/list/listLevelMetadataFormatHandler.js.map +1 -0
  960. package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.d.ts +6 -0
  961. package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.js +34 -0
  962. package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -0
  963. package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.d.ts +6 -0
  964. package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.js +17 -0
  965. package/lib-mjs/formatHandlers/list/listStylePositionFormatHandler.js.map +1 -0
  966. package/lib-mjs/formatHandlers/list/listTypeFormatHandler.d.ts +6 -0
  967. package/lib-mjs/formatHandlers/list/listTypeFormatHandler.js +14 -0
  968. package/lib-mjs/formatHandlers/list/listTypeFormatHandler.js.map +1 -0
  969. package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.d.ts +6 -0
  970. package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.js +14 -0
  971. package/lib-mjs/formatHandlers/root/rootDirectionFormatHandler.js.map +1 -0
  972. package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.d.ts +6 -0
  973. package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.js +15 -0
  974. package/lib-mjs/formatHandlers/root/zoomScaleFormatHandler.js.map +1 -0
  975. package/lib-mjs/formatHandlers/segment/boldFormatHandler.d.ts +6 -0
  976. package/lib-mjs/formatHandlers/segment/boldFormatHandler.js +30 -0
  977. package/lib-mjs/formatHandlers/segment/boldFormatHandler.js.map +1 -0
  978. package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.d.ts +6 -0
  979. package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.js +17 -0
  980. package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -0
  981. package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.d.ts +6 -0
  982. package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.js +21 -0
  983. package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -0
  984. package/lib-mjs/formatHandlers/segment/italicFormatHandler.d.ts +6 -0
  985. package/lib-mjs/formatHandlers/segment/italicFormatHandler.js +32 -0
  986. package/lib-mjs/formatHandlers/segment/italicFormatHandler.js.map +1 -0
  987. package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.d.ts +6 -0
  988. package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.js +17 -0
  989. package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -0
  990. package/lib-mjs/formatHandlers/segment/linkFormatHandler.d.ts +6 -0
  991. package/lib-mjs/formatHandlers/segment/linkFormatHandler.js +62 -0
  992. package/lib-mjs/formatHandlers/segment/linkFormatHandler.js.map +1 -0
  993. package/lib-mjs/formatHandlers/segment/strikeFormatHandler.d.ts +6 -0
  994. package/lib-mjs/formatHandlers/segment/strikeFormatHandler.js +20 -0
  995. package/lib-mjs/formatHandlers/segment/strikeFormatHandler.js.map +1 -0
  996. package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.d.ts +10 -0
  997. package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.js +39 -0
  998. package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -0
  999. package/lib-mjs/formatHandlers/segment/textColorFormatHandler.d.ts +6 -0
  1000. package/lib-mjs/formatHandlers/segment/textColorFormatHandler.js +19 -0
  1001. package/lib-mjs/formatHandlers/segment/textColorFormatHandler.js.map +1 -0
  1002. package/lib-mjs/formatHandlers/segment/underlineFormatHandler.d.ts +6 -0
  1003. package/lib-mjs/formatHandlers/segment/underlineFormatHandler.js +32 -0
  1004. package/lib-mjs/formatHandlers/segment/underlineFormatHandler.js.map +1 -0
  1005. package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.d.ts +6 -0
  1006. package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.js +17 -0
  1007. package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -0
  1008. package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.d.ts +6 -0
  1009. package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.js +19 -0
  1010. package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -0
  1011. package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.d.ts +6 -0
  1012. package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.js +15 -0
  1013. package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -0
  1014. package/lib-mjs/formatHandlers/utils/color.d.ts +9 -0
  1015. package/lib-mjs/formatHandlers/utils/color.js +50 -0
  1016. package/lib-mjs/formatHandlers/utils/color.js.map +1 -0
  1017. package/lib-mjs/formatHandlers/utils/defaultStyles.d.ts +15 -0
  1018. package/lib-mjs/formatHandlers/utils/defaultStyles.js +189 -0
  1019. package/lib-mjs/formatHandlers/utils/defaultStyles.js.map +1 -0
  1020. package/lib-mjs/formatHandlers/utils/dir.d.ts +29 -0
  1021. package/lib-mjs/formatHandlers/utils/dir.js +47 -0
  1022. package/lib-mjs/formatHandlers/utils/dir.js.map +1 -0
  1023. package/lib-mjs/formatHandlers/utils/parseValueWithUnit.d.ts +7 -0
  1024. package/lib-mjs/formatHandlers/utils/parseValueWithUnit.js +56 -0
  1025. package/lib-mjs/formatHandlers/utils/parseValueWithUnit.js.map +1 -0
  1026. package/lib-mjs/index.d.ts +40 -0
  1027. package/lib-mjs/index.js +41 -0
  1028. package/lib-mjs/index.js.map +1 -0
  1029. package/lib-mjs/modelApi/block/setParagraphNotImplicit.d.ts +6 -0
  1030. package/lib-mjs/modelApi/block/setParagraphNotImplicit.js +10 -0
  1031. package/lib-mjs/modelApi/block/setParagraphNotImplicit.js.map +1 -0
  1032. package/lib-mjs/modelApi/common/addBlock.d.ts +7 -0
  1033. package/lib-mjs/modelApi/common/addBlock.js +9 -0
  1034. package/lib-mjs/modelApi/common/addBlock.js.map +1 -0
  1035. package/lib-mjs/modelApi/common/addDecorators.d.ts +15 -0
  1036. package/lib-mjs/modelApi/common/addDecorators.js +32 -0
  1037. package/lib-mjs/modelApi/common/addDecorators.js.map +1 -0
  1038. package/lib-mjs/modelApi/common/addSegment.d.ts +8 -0
  1039. package/lib-mjs/modelApi/common/addSegment.js +32 -0
  1040. package/lib-mjs/modelApi/common/addSegment.js.map +1 -0
  1041. package/lib-mjs/modelApi/common/isEmpty.d.ts +17 -0
  1042. package/lib-mjs/modelApi/common/isEmpty.js +73 -0
  1043. package/lib-mjs/modelApi/common/isEmpty.js.map +1 -0
  1044. package/lib-mjs/modelApi/common/isGeneralSegment.d.ts +6 -0
  1045. package/lib-mjs/modelApi/common/isGeneralSegment.js +9 -0
  1046. package/lib-mjs/modelApi/common/isGeneralSegment.js.map +1 -0
  1047. package/lib-mjs/modelApi/common/isWhiteSpacePreserved.d.ts +6 -0
  1048. package/lib-mjs/modelApi/common/isWhiteSpacePreserved.js +12 -0
  1049. package/lib-mjs/modelApi/common/isWhiteSpacePreserved.js.map +1 -0
  1050. package/lib-mjs/modelApi/common/normalizeContentModel.d.ts +11 -0
  1051. package/lib-mjs/modelApi/common/normalizeContentModel.js +44 -0
  1052. package/lib-mjs/modelApi/common/normalizeContentModel.js.map +1 -0
  1053. package/lib-mjs/modelApi/common/normalizeParagraph.d.ts +5 -0
  1054. package/lib-mjs/modelApi/common/normalizeParagraph.js +39 -0
  1055. package/lib-mjs/modelApi/common/normalizeParagraph.js.map +1 -0
  1056. package/lib-mjs/modelApi/common/normalizeSegment.d.ts +29 -0
  1057. package/lib-mjs/modelApi/common/normalizeSegment.js +103 -0
  1058. package/lib-mjs/modelApi/common/normalizeSegment.js.map +1 -0
  1059. package/lib-mjs/modelApi/common/unwrapBlock.d.ts +7 -0
  1060. package/lib-mjs/modelApi/common/unwrapBlock.js +17 -0
  1061. package/lib-mjs/modelApi/common/unwrapBlock.js.map +1 -0
  1062. package/lib-mjs/modelApi/creators/createBr.d.ts +6 -0
  1063. package/lib-mjs/modelApi/creators/createBr.js +12 -0
  1064. package/lib-mjs/modelApi/creators/createBr.js.map +1 -0
  1065. package/lib-mjs/modelApi/creators/createContentModelDocument.d.ts +6 -0
  1066. package/lib-mjs/modelApi/creators/createContentModelDocument.js +15 -0
  1067. package/lib-mjs/modelApi/creators/createContentModelDocument.js.map +1 -0
  1068. package/lib-mjs/modelApi/creators/createDivider.d.ts +7 -0
  1069. package/lib-mjs/modelApi/creators/createDivider.js +14 -0
  1070. package/lib-mjs/modelApi/creators/createDivider.js.map +1 -0
  1071. package/lib-mjs/modelApi/creators/createEntity.d.ts +10 -0
  1072. package/lib-mjs/modelApi/creators/createEntity.js +21 -0
  1073. package/lib-mjs/modelApi/creators/createEntity.js.map +1 -0
  1074. package/lib-mjs/modelApi/creators/createFormatContainer.d.ts +7 -0
  1075. package/lib-mjs/modelApi/creators/createFormatContainer.js +16 -0
  1076. package/lib-mjs/modelApi/creators/createFormatContainer.js.map +1 -0
  1077. package/lib-mjs/modelApi/creators/createGeneralBlock.d.ts +6 -0
  1078. package/lib-mjs/modelApi/creators/createGeneralBlock.js +14 -0
  1079. package/lib-mjs/modelApi/creators/createGeneralBlock.js.map +1 -0
  1080. package/lib-mjs/modelApi/creators/createGeneralSegment.d.ts +7 -0
  1081. package/lib-mjs/modelApi/creators/createGeneralSegment.js +17 -0
  1082. package/lib-mjs/modelApi/creators/createGeneralSegment.js.map +1 -0
  1083. package/lib-mjs/modelApi/creators/createImage.d.ts +7 -0
  1084. package/lib-mjs/modelApi/creators/createImage.js +15 -0
  1085. package/lib-mjs/modelApi/creators/createImage.js.map +1 -0
  1086. package/lib-mjs/modelApi/creators/createListItem.d.ts +7 -0
  1087. package/lib-mjs/modelApi/creators/createListItem.js +18 -0
  1088. package/lib-mjs/modelApi/creators/createListItem.js.map +1 -0
  1089. package/lib-mjs/modelApi/creators/createParagraph.d.ts +9 -0
  1090. package/lib-mjs/modelApi/creators/createParagraph.js +29 -0
  1091. package/lib-mjs/modelApi/creators/createParagraph.js.map +1 -0
  1092. package/lib-mjs/modelApi/creators/createParagraphDecorator.d.ts +7 -0
  1093. package/lib-mjs/modelApi/creators/createParagraphDecorator.js +13 -0
  1094. package/lib-mjs/modelApi/creators/createParagraphDecorator.js.map +1 -0
  1095. package/lib-mjs/modelApi/creators/createSelectionMarker.d.ts +6 -0
  1096. package/lib-mjs/modelApi/creators/createSelectionMarker.js +13 -0
  1097. package/lib-mjs/modelApi/creators/createSelectionMarker.js.map +1 -0
  1098. package/lib-mjs/modelApi/creators/createTable.d.ts +7 -0
  1099. package/lib-mjs/modelApi/creators/createTable.js +24 -0
  1100. package/lib-mjs/modelApi/creators/createTable.js.map +1 -0
  1101. package/lib-mjs/modelApi/creators/createTableCell.d.ts +9 -0
  1102. package/lib-mjs/modelApi/creators/createTableCell.js +22 -0
  1103. package/lib-mjs/modelApi/creators/createTableCell.js.map +1 -0
  1104. package/lib-mjs/modelApi/creators/createText.d.ts +7 -0
  1105. package/lib-mjs/modelApi/creators/createText.js +14 -0
  1106. package/lib-mjs/modelApi/creators/createText.js.map +1 -0
  1107. package/lib-mjs/modelToDom/contentModelToDom.d.ts +17 -0
  1108. package/lib-mjs/modelToDom/contentModelToDom.js +81 -0
  1109. package/lib-mjs/modelToDom/contentModelToDom.js.map +1 -0
  1110. package/lib-mjs/modelToDom/context/createModelToDomContext.d.ts +7 -0
  1111. package/lib-mjs/modelToDom/context/createModelToDomContext.js +22 -0
  1112. package/lib-mjs/modelToDom/context/createModelToDomContext.js.map +1 -0
  1113. package/lib-mjs/modelToDom/context/defaultContentModelHandlers.d.ts +5 -0
  1114. package/lib-mjs/modelToDom/context/defaultContentModelHandlers.js +36 -0
  1115. package/lib-mjs/modelToDom/context/defaultContentModelHandlers.js.map +1 -0
  1116. package/lib-mjs/modelToDom/handlers/handleBlock.d.ts +5 -0
  1117. package/lib-mjs/modelToDom/handlers/handleBlock.js +35 -0
  1118. package/lib-mjs/modelToDom/handlers/handleBlock.js.map +1 -0
  1119. package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.d.ts +5 -0
  1120. package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js +33 -0
  1121. package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -0
  1122. package/lib-mjs/modelToDom/handlers/handleBr.d.ts +5 -0
  1123. package/lib-mjs/modelToDom/handlers/handleBr.js +12 -0
  1124. package/lib-mjs/modelToDom/handlers/handleBr.js.map +1 -0
  1125. package/lib-mjs/modelToDom/handlers/handleDivider.d.ts +5 -0
  1126. package/lib-mjs/modelToDom/handlers/handleDivider.js +24 -0
  1127. package/lib-mjs/modelToDom/handlers/handleDivider.js.map +1 -0
  1128. package/lib-mjs/modelToDom/handlers/handleEntity.d.ts +5 -0
  1129. package/lib-mjs/modelToDom/handlers/handleEntity.js +36 -0
  1130. package/lib-mjs/modelToDom/handlers/handleEntity.js.map +1 -0
  1131. package/lib-mjs/modelToDom/handlers/handleFormatContainer.d.ts +5 -0
  1132. package/lib-mjs/modelToDom/handlers/handleFormatContainer.js +39 -0
  1133. package/lib-mjs/modelToDom/handlers/handleFormatContainer.js.map +1 -0
  1134. package/lib-mjs/modelToDom/handlers/handleGeneralModel.d.ts +5 -0
  1135. package/lib-mjs/modelToDom/handlers/handleGeneralModel.js +30 -0
  1136. package/lib-mjs/modelToDom/handlers/handleGeneralModel.js.map +1 -0
  1137. package/lib-mjs/modelToDom/handlers/handleImage.d.ts +5 -0
  1138. package/lib-mjs/modelToDom/handlers/handleImage.js +37 -0
  1139. package/lib-mjs/modelToDom/handlers/handleImage.js.map +1 -0
  1140. package/lib-mjs/modelToDom/handlers/handleList.d.ts +5 -0
  1141. package/lib-mjs/modelToDom/handlers/handleList.js +54 -0
  1142. package/lib-mjs/modelToDom/handlers/handleList.js.map +1 -0
  1143. package/lib-mjs/modelToDom/handlers/handleListItem.d.ts +5 -0
  1144. package/lib-mjs/modelToDom/handlers/handleListItem.js +33 -0
  1145. package/lib-mjs/modelToDom/handlers/handleListItem.js.map +1 -0
  1146. package/lib-mjs/modelToDom/handlers/handleParagraph.d.ts +5 -0
  1147. package/lib-mjs/modelToDom/handlers/handleParagraph.js +77 -0
  1148. package/lib-mjs/modelToDom/handlers/handleParagraph.js.map +1 -0
  1149. package/lib-mjs/modelToDom/handlers/handleSegment.d.ts +5 -0
  1150. package/lib-mjs/modelToDom/handlers/handleSegment.js +34 -0
  1151. package/lib-mjs/modelToDom/handlers/handleSegment.js.map +1 -0
  1152. package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.d.ts +5 -0
  1153. package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.js +31 -0
  1154. package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.js.map +1 -0
  1155. package/lib-mjs/modelToDom/handlers/handleTable.d.ts +5 -0
  1156. package/lib-mjs/modelToDom/handlers/handleTable.js +101 -0
  1157. package/lib-mjs/modelToDom/handlers/handleTable.js.map +1 -0
  1158. package/lib-mjs/modelToDom/handlers/handleText.d.ts +5 -0
  1159. package/lib-mjs/modelToDom/handlers/handleText.js +12 -0
  1160. package/lib-mjs/modelToDom/handlers/handleText.js.map +1 -0
  1161. package/lib-mjs/modelToDom/optimizers/mergeNode.d.ts +4 -0
  1162. package/lib-mjs/modelToDom/optimizers/mergeNode.js +38 -0
  1163. package/lib-mjs/modelToDom/optimizers/mergeNode.js.map +1 -0
  1164. package/lib-mjs/modelToDom/optimizers/optimize.d.ts +4 -0
  1165. package/lib-mjs/modelToDom/optimizers/optimize.js +21 -0
  1166. package/lib-mjs/modelToDom/optimizers/optimize.js.map +1 -0
  1167. package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.d.ts +4 -0
  1168. package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.js +25 -0
  1169. package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -0
  1170. package/lib-mjs/modelToDom/utils/applyFormat.d.ts +10 -0
  1171. package/lib-mjs/modelToDom/utils/applyFormat.js +14 -0
  1172. package/lib-mjs/modelToDom/utils/applyFormat.js.map +1 -0
  1173. package/lib-mjs/modelToDom/utils/handleSegmentCommon.d.ts +5 -0
  1174. package/lib-mjs/modelToDom/utils/handleSegmentCommon.js +15 -0
  1175. package/lib-mjs/modelToDom/utils/handleSegmentCommon.js.map +1 -0
  1176. package/lib-mjs/modelToDom/utils/reuseCachedElement.d.ts +8 -0
  1177. package/lib-mjs/modelToDom/utils/reuseCachedElement.js +41 -0
  1178. package/lib-mjs/modelToDom/utils/reuseCachedElement.js.map +1 -0
  1179. package/lib-mjs/modelToDom/utils/stackFormat.d.ts +5 -0
  1180. package/lib-mjs/modelToDom/utils/stackFormat.js +23 -0
  1181. package/lib-mjs/modelToDom/utils/stackFormat.js.map +1 -0
  1182. package/package.json +18 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageProcessor = void 0;
4
+ var addDecorators_1 = require("../../modelApi/common/addDecorators");
5
+ var addSegment_1 = require("../../modelApi/common/addSegment");
6
+ var createImage_1 = require("../../modelApi/creators/createImage");
7
+ var parseFormat_1 = require("../utils/parseFormat");
8
+ var stackFormat_1 = require("../utils/stackFormat");
9
+ /**
10
+ * @internal
11
+ */
12
+ var imageProcessor = function (group, element, context) {
13
+ (0, stackFormat_1.stackFormat)(context, { segment: 'shallowClone' }, function () {
14
+ var _a;
15
+ var imageFormat = context.segmentFormat;
16
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, imageFormat, context);
17
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.image, imageFormat, context);
18
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.block, context.blockFormat, context);
19
+ var image = (0, createImage_1.createImage)(element.src, imageFormat);
20
+ var alt = element.alt;
21
+ var title = element.title;
22
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, image.dataset, context);
23
+ (0, addDecorators_1.addDecorators)(image, context);
24
+ if (alt) {
25
+ image.alt = alt;
26
+ }
27
+ if (title) {
28
+ image.title = title;
29
+ }
30
+ if (context.isInSelection) {
31
+ image.isSelected = true;
32
+ }
33
+ if (((_a = context.imageSelection) === null || _a === void 0 ? void 0 : _a.image) == element) {
34
+ image.isSelectedAsImageSelection = true;
35
+ image.isSelected = true;
36
+ }
37
+ (0, addSegment_1.addSegment)(group, image);
38
+ });
39
+ };
40
+ exports.imageProcessor = imageProcessor;
41
+ //# sourceMappingURL=imageProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/imageProcessor.ts"],"names":[],"mappings":";;;AAAA,qEAAoE;AACpE,+DAA8D;AAE9D,mEAAkE;AAClE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,cAAc,GAAuC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACtF,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;;QAC9C,IAAM,WAAW,GAA4B,OAAO,CAAC,aAAa,CAAC;QAEnE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACxE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhF,IAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,IAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAA,6BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9B,IAAI,GAAG,EAAE;YACL,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;SACnB;QACD,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,KAAK,KAAI,OAAO,EAAE;YAC1C,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACxC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QAED,IAAA,uBAAU,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AA/BW,QAAA,cAAc,kBA+BzB","sourcesContent":["import { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { ContentModelImageFormat, ElementProcessor } from 'roosterjs-content-model-types';\nimport { createImage } from '../../modelApi/creators/createImage';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const imageProcessor: ElementProcessor<HTMLImageElement> = (group, element, context) => {\n stackFormat(context, { segment: 'shallowClone' }, () => {\n const imageFormat: ContentModelImageFormat = context.segmentFormat;\n\n parseFormat(element, context.formatParsers.segment, imageFormat, context);\n parseFormat(element, context.formatParsers.image, imageFormat, context);\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n\n const image = createImage(element.src, imageFormat);\n const alt = element.alt;\n const title = element.title;\n\n parseFormat(element, context.formatParsers.dataset, image.dataset, context);\n addDecorators(image, context);\n\n if (alt) {\n image.alt = alt;\n }\n if (title) {\n image.title = title;\n }\n if (context.isInSelection) {\n image.isSelected = true;\n }\n if (context.imageSelection?.image == element) {\n image.isSelectedAsImageSelection = true;\n image.isSelected = true;\n }\n\n addSegment(group, image);\n });\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const knownElementProcessor: ElementProcessor<HTMLElement>;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.knownElementProcessor = void 0;
4
+ var addBlock_1 = require("../../modelApi/common/addBlock");
5
+ var blockProcessor_1 = require("./blockProcessor");
6
+ var createParagraph_1 = require("../../modelApi/creators/createParagraph");
7
+ var formatContainerProcessor_1 = require("./formatContainerProcessor");
8
+ var getDefaultStyle_1 = require("../utils/getDefaultStyle");
9
+ var isBlockElement_1 = require("../utils/isBlockElement");
10
+ var parseFormat_1 = require("../utils/parseFormat");
11
+ var stackFormat_1 = require("../utils/stackFormat");
12
+ var FormatContainerTriggerStyles = [
13
+ 'marginBottom',
14
+ 'marginTop',
15
+ 'paddingBottom',
16
+ 'paddingTop',
17
+ 'paddingLeft',
18
+ 'paddingRight',
19
+ 'borderTopWidth',
20
+ 'borderBottomWidth',
21
+ 'borderLeftWidth',
22
+ 'borderRightWidth',
23
+ 'width',
24
+ 'height',
25
+ 'maxWidth',
26
+ 'maxHeight',
27
+ 'minWidth',
28
+ 'minHeight',
29
+ ];
30
+ var ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];
31
+ var SegmentDecoratorTags = ['A', 'CODE'];
32
+ /**
33
+ * @internal
34
+ */
35
+ var knownElementProcessor = function (group, element, context) {
36
+ var isBlock = (0, isBlockElement_1.isBlockElement)(element, context);
37
+ if ((isBlock || element.style.display == 'inline-block') && // For inline-block here, we will also check if it should be represented as Format Container
38
+ shouldUseFormatContainer(element, context)) {
39
+ (0, formatContainerProcessor_1.formatContainerProcessor)(group, element, context);
40
+ }
41
+ else if (isBlock) {
42
+ var decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;
43
+ var isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;
44
+ (0, stackFormat_1.stackFormat)(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, function () {
45
+ var segmentFormat = {};
46
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, segmentFormat, context);
47
+ Object.assign(context.segmentFormat, segmentFormat);
48
+ (0, blockProcessor_1.blockProcessor)(group, element, context, segmentFormat);
49
+ });
50
+ if (isBlock && !isSegmentDecorator) {
51
+ (0, addBlock_1.addBlock)(group, (0, createParagraph_1.createParagraph)(true /*isImplicit*/, context.blockFormat, undefined /*segmentFormat*/, decorator));
52
+ }
53
+ }
54
+ else {
55
+ (0, stackFormat_1.stackFormat)(context, {
56
+ segment: 'shallowClone',
57
+ paragraph: 'shallowClone',
58
+ link: 'cloneFormat',
59
+ }, function () {
60
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
61
+ if (context.link.format.href && element.tagName != 'A') {
62
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentUnderLink, context.link.format, context);
63
+ }
64
+ context.elementProcessors.child(group, element, context);
65
+ });
66
+ }
67
+ };
68
+ exports.knownElementProcessor = knownElementProcessor;
69
+ function shouldUseFormatContainer(element, context) {
70
+ // For those tags that we know we should not use format container, just return false
71
+ if (ByPassFormatContainerTags.indexOf(element.tagName) >= 0) {
72
+ return false;
73
+ }
74
+ var style = element.style;
75
+ var defaultStyle = (0, getDefaultStyle_1.getDefaultStyle)(element, context);
76
+ var bgcolor = style.getPropertyValue('background-color');
77
+ // For block element with background, we need to use format container
78
+ if (bgcolor && bgcolor != 'transparent') {
79
+ return true;
80
+ }
81
+ // For block element with positive value of border width or top/bottom margin/padding,
82
+ // we need to use format container
83
+ if (FormatContainerTriggerStyles.some(function (key) { return parseInt(style[key] || defaultStyle[key] || '') > 0; })) {
84
+ return true;
85
+ }
86
+ // For margin left/right with value "auto", we need to use format container
87
+ if (style.marginLeft == 'auto' || style.marginRight == 'auto') {
88
+ return true;
89
+ }
90
+ // For element with "align" attribute, we need to use format container
91
+ if (element.getAttribute('align')) {
92
+ return true;
93
+ }
94
+ return false;
95
+ }
96
+ //# sourceMappingURL=knownElementProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knownElementProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/knownElementProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { formatContainerProcessor } from './formatContainerProcessor';\nimport { getDefaultStyle } from '../utils/getDefaultStyle';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport {\n ContentModelSegmentFormat,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\nconst FormatContainerTriggerStyles: (keyof CSSStyleDeclaration)[] = [\n 'marginBottom',\n 'marginTop',\n 'paddingBottom',\n 'paddingTop',\n 'paddingLeft',\n 'paddingRight',\n 'borderTopWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n];\nconst ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];\nconst SegmentDecoratorTags = ['A', 'CODE'];\n\n/**\n * @internal\n */\nexport const knownElementProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const isBlock = isBlockElement(element, context);\n\n if (\n (isBlock || element.style.display == 'inline-block') && // For inline-block here, we will also check if it should be represented as Format Container\n shouldUseFormatContainer(element, context)\n ) {\n formatContainerProcessor(group, element, context);\n } else if (isBlock) {\n const decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;\n const isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;\n\n stackFormat(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, () => {\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n Object.assign(context.segmentFormat, segmentFormat);\n\n blockProcessor(group, element, context, segmentFormat);\n });\n\n if (isBlock && !isSegmentDecorator) {\n addBlock(\n group,\n createParagraph(\n true /*isImplicit*/,\n context.blockFormat,\n undefined /*segmentFormat*/,\n decorator\n )\n );\n }\n } else {\n stackFormat(\n context,\n {\n segment: 'shallowClone',\n paragraph: 'shallowClone',\n link: 'cloneFormat',\n },\n () => {\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n if (context.link.format.href && element.tagName != 'A') {\n parseFormat(\n element,\n context.formatParsers.segmentUnderLink,\n context.link.format,\n context\n );\n }\n\n context.elementProcessors.child(group, element, context);\n }\n );\n }\n};\n\nfunction shouldUseFormatContainer(element: HTMLElement, context: DomToModelContext) {\n // For those tags that we know we should not use format container, just return false\n if (ByPassFormatContainerTags.indexOf(element.tagName) >= 0) {\n return false;\n }\n\n const style = element.style;\n const defaultStyle = getDefaultStyle(element, context);\n\n const bgcolor = style.getPropertyValue('background-color');\n\n // For block element with background, we need to use format container\n if (bgcolor && bgcolor != 'transparent') {\n return true;\n }\n\n // For block element with positive value of border width or top/bottom margin/padding,\n // we need to use format container\n if (\n FormatContainerTriggerStyles.some(\n key => parseInt((style[key] as string) || (defaultStyle[key] as string) || '') > 0\n )\n ) {\n return true;\n }\n\n // For margin left/right with value \"auto\", we need to use format container\n if (style.marginLeft == 'auto' || style.marginRight == 'auto') {\n return true;\n }\n\n // For element with \"align\" attribute, we need to use format container\n if (element.getAttribute('align')) {\n return true;\n }\n\n return false;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const linkProcessor: ElementProcessor<HTMLElement>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.linkProcessor = void 0;
4
+ var knownElementProcessor_1 = require("./knownElementProcessor");
5
+ var parseFormat_1 = require("../utils/parseFormat");
6
+ var stackFormat_1 = require("../utils/stackFormat");
7
+ /**
8
+ * @internal
9
+ */
10
+ var linkProcessor = function (group, element, context) {
11
+ if (element.hasAttribute('href')) {
12
+ (0, stackFormat_1.stackFormat)(context, { link: 'linkDefault' }, function () {
13
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.link, context.link.format, context);
14
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, context.link.dataset, context);
15
+ (0, knownElementProcessor_1.knownElementProcessor)(group, element, context);
16
+ });
17
+ }
18
+ else {
19
+ // A tag without href, can be treated as normal SPAN tag
20
+ (0, knownElementProcessor_1.knownElementProcessor)(group, element, context);
21
+ }
22
+ };
23
+ exports.linkProcessor = linkProcessor;
24
+ //# sourceMappingURL=linkProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/linkProcessor.ts"],"names":[],"mappings":";;;AACA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,aAAa,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC9B,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;YAC1C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnF,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;KACN;SAAM;QACH,wDAAwD;QACxD,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAClD;AACL,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB","sourcesContent":["import { ElementProcessor } from 'roosterjs-content-model-types';\nimport { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const linkProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n if (element.hasAttribute('href')) {\n stackFormat(context, { link: 'linkDefault' }, () => {\n parseFormat(element, context.formatParsers.link, context.link.format, context);\n parseFormat(element, context.formatParsers.dataset, context.link.dataset, context);\n\n knownElementProcessor(group, element, context);\n });\n } else {\n // A tag without href, can be treated as normal SPAN tag\n knownElementProcessor(group, element, context);\n }\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const listItemProcessor: ElementProcessor<HTMLLIElement>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listItemProcessor = void 0;
4
+ var createListItem_1 = require("../../modelApi/creators/createListItem");
5
+ var parseFormat_1 = require("../utils/parseFormat");
6
+ var stackFormat_1 = require("../utils/stackFormat");
7
+ /**
8
+ * @internal
9
+ */
10
+ var listItemProcessor = function (group, element, context) {
11
+ var _a;
12
+ var listFormat = context.listFormat;
13
+ if (listFormat.listParent && listFormat.levels.length > 0) {
14
+ (0, stackFormat_1.stackFormat)(context, {
15
+ segment: 'shallowCloneForBlock',
16
+ }, function () {
17
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
18
+ var listItem = (0, createListItem_1.createListItem)(listFormat.levels, context.segmentFormat);
19
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.listItemElement, listItem.format, context);
20
+ listFormat.listParent.blocks.push(listItem);
21
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.listItem, listItem.levels[listItem.levels.length - 1], context);
22
+ context.elementProcessors.child(listItem, element, context);
23
+ var firstChild = listItem.blocks[0];
24
+ if (listItem.blocks.length == 1 &&
25
+ firstChild.blockType == 'Paragraph' &&
26
+ firstChild.isImplicit) {
27
+ Object.assign(listItem.format, firstChild.format);
28
+ firstChild.format = {};
29
+ }
30
+ });
31
+ }
32
+ else {
33
+ var currentBlocks = (_a = listFormat.listParent) === null || _a === void 0 ? void 0 : _a.blocks;
34
+ var lastItem = currentBlocks === null || currentBlocks === void 0 ? void 0 : currentBlocks[(currentBlocks === null || currentBlocks === void 0 ? void 0 : currentBlocks.length) - 1];
35
+ context.elementProcessors['*']((lastItem === null || lastItem === void 0 ? void 0 : lastItem.blockType) == 'BlockGroup' ? lastItem : group, element, context);
36
+ }
37
+ };
38
+ exports.listItemProcessor = listItemProcessor;
39
+ //# sourceMappingURL=listItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAExE,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,iBAAiB,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAC9E,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;IAE/B,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACvD,IAAA,yBAAW,EACP,OAAO,EACP;YACI,OAAO,EAAE,sBAAsB;SAClC,EACD;YACI,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,cAAc,EACpC,OAAO,CAAC,aAAa,EACrB,OAAO,CACV,CAAC;YAEF,IAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,eAAe,EACrC,QAAQ,CAAC,MAAM,EACf,OAAO,CACV,CAAC;YAEF,UAAU,CAAC,UAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAA,yBAAW,EACP,OAAO,EACP,OAAO,CAAC,aAAa,CAAC,QAAQ,EAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAC3C,OAAO,CACV,CAAC;YAEF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtC,IACI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;gBAC3B,UAAU,CAAC,SAAS,IAAI,WAAW;gBACnC,UAAU,CAAC,UAAU,EACvB;gBACE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;aAC1B;QACL,CAAC,CACJ,CAAC;KACL;SAAM;QACH,IAAM,aAAa,GAAG,MAAA,UAAU,CAAC,UAAU,0CAAE,MAAM,CAAC;QACpD,IAAM,QAAQ,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;QAE5D,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAC1B,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,KAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EACtD,OAAO,EACP,OAAO,CACV,CAAC;KACL;AACL,CAAC,CAAC;AA1DW,QAAA,iBAAiB,qBA0D5B","sourcesContent":["import { createListItem } from '../../modelApi/creators/createListItem';\nimport { ElementProcessor } from 'roosterjs-content-model-types';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const listItemProcessor: ElementProcessor<HTMLLIElement> = (group, element, context) => {\n const { listFormat } = context;\n\n if (listFormat.listParent && listFormat.levels.length > 0) {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n },\n () => {\n parseFormat(\n element,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n const listItem = createListItem(listFormat.levels, context.segmentFormat);\n parseFormat(\n element,\n context.formatParsers.listItemElement,\n listItem.format,\n context\n );\n\n listFormat.listParent!.blocks.push(listItem);\n\n parseFormat(\n element,\n context.formatParsers.listItem,\n listItem.levels[listItem.levels.length - 1],\n context\n );\n\n context.elementProcessors.child(listItem, element, context);\n\n const firstChild = listItem.blocks[0];\n\n if (\n listItem.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n ) {\n Object.assign(listItem.format, firstChild.format);\n firstChild.format = {};\n }\n }\n );\n } else {\n const currentBlocks = listFormat.listParent?.blocks;\n const lastItem = currentBlocks?.[currentBlocks?.length - 1];\n\n context.elementProcessors['*'](\n lastItem?.blockType == 'BlockGroup' ? lastItem : group,\n element,\n context\n );\n }\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const listProcessor: ElementProcessor<HTMLOListElement | HTMLUListElement>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listProcessor = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var parseFormat_1 = require("../utils/parseFormat");
6
+ var stackFormat_1 = require("../utils/stackFormat");
7
+ var updateListMetadata_1 = require("../../domUtils/metadata/updateListMetadata");
8
+ /**
9
+ * @internal
10
+ */
11
+ var listProcessor = function (group, element, context) {
12
+ (0, stackFormat_1.stackFormat)(context, {
13
+ segment: 'shallowCloneForBlock',
14
+ paragraph: 'shallowCloneForGroup',
15
+ }, function () {
16
+ var level = (0, tslib_1.__assign)({}, context.blockFormat);
17
+ var listFormat = context.listFormat;
18
+ processMetadata(element, context, level);
19
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.listLevel, level, context);
20
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segment, context.segmentFormat, context);
21
+ var originalListParent = listFormat.listParent;
22
+ listFormat.listParent = listFormat.listParent || group;
23
+ listFormat.levels.push(level);
24
+ try {
25
+ context.elementProcessors.child(group, element, context);
26
+ }
27
+ finally {
28
+ listFormat.levels.pop();
29
+ listFormat.listParent = originalListParent;
30
+ }
31
+ });
32
+ };
33
+ exports.listProcessor = listProcessor;
34
+ function processMetadata(element, context, level) {
35
+ var dataset = {};
36
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.dataset, dataset, context);
37
+ (0, updateListMetadata_1.updateListMetadata)({ dataset: dataset }, function (metadata) {
38
+ Object.assign(level, metadata || {});
39
+ return null;
40
+ });
41
+ }
42
+ //# sourceMappingURL=listProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;;AAAA,oDAAmD;AACnD,oDAAmD;AACnD,iFAAgF;AAQhF;;GAEG;AACI,IAAM,aAAa,GAA0D,UAChF,KAAK,EACL,OAAO,EACP,OAAO;IAEP,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,sBAAsB;QAC/B,SAAS,EAAE,sBAAsB;KACpC,EACD;QACI,IAAM,KAAK,6BAAyC,OAAO,CAAC,WAAW,CAAE,CAAC;QAClE,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE/B,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACtE,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC;QAEjD,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;QACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI;YACA,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5D;gBAAS;YACN,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC;SAC9C;IACL,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB;AAEF,SAAS,eAAe,CACpB,OAA4C,EAC5C,OAA0B,EAC1B,KAAsC;IAEtC,IAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,IAAA,uCAAkB,EAAC,EAAE,OAAO,SAAA,EAAE,EAAE,UAAA,QAAQ;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport { updateListMetadata } from '../../domUtils/metadata/updateListMetadata';\nimport {\n ContentModelListItemLevelFormat,\n DatasetFormat,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const listProcessor: ElementProcessor<HTMLOListElement | HTMLUListElement> = (\n group,\n element,\n context\n) => {\n stackFormat(\n context,\n {\n segment: 'shallowCloneForBlock',\n paragraph: 'shallowCloneForGroup',\n },\n () => {\n const level: ContentModelListItemLevelFormat = { ...context.blockFormat };\n const { listFormat } = context;\n\n processMetadata(element, context, level);\n parseFormat(element, context.formatParsers.listLevel, level, context);\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n const originalListParent = listFormat.listParent;\n\n listFormat.listParent = listFormat.listParent || group;\n listFormat.levels.push(level);\n\n try {\n context.elementProcessors.child(group, element, context);\n } finally {\n listFormat.levels.pop();\n listFormat.listParent = originalListParent;\n }\n }\n );\n};\n\nfunction processMetadata(\n element: HTMLOListElement | HTMLUListElement,\n context: DomToModelContext,\n level: ContentModelListItemLevelFormat\n) {\n const dataset: DatasetFormat = {};\n parseFormat(element, context.formatParsers.dataset, dataset, context);\n updateListMetadata({ dataset }, metadata => {\n Object.assign(level, metadata || {});\n return null;\n });\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const pProcessor: ElementProcessor<HTMLElement>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pProcessor = void 0;
4
+ var addBlock_1 = require("../../modelApi/common/addBlock");
5
+ var blockProcessor_1 = require("./blockProcessor");
6
+ var createParagraph_1 = require("../../modelApi/creators/createParagraph");
7
+ var createParagraphDecorator_1 = require("../../modelApi/creators/createParagraphDecorator");
8
+ var parseFormat_1 = require("../utils/parseFormat");
9
+ var stackFormat_1 = require("../utils/stackFormat");
10
+ /**
11
+ * @internal
12
+ */
13
+ var pProcessor = function (group, element, context) {
14
+ (0, stackFormat_1.stackFormat)(context, { blockDecorator: 'empty', segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, function () {
15
+ context.blockDecorator = (0, createParagraphDecorator_1.createParagraphDecorator)(element.tagName);
16
+ var segmentFormat = {};
17
+ (0, parseFormat_1.parseFormat)(element, context.formatParsers.segmentOnBlock, segmentFormat, context);
18
+ Object.assign(context.segmentFormat, segmentFormat);
19
+ (0, blockProcessor_1.blockProcessor)(group, element, context, segmentFormat);
20
+ });
21
+ (0, addBlock_1.addBlock)(group, (0, createParagraph_1.createParagraph)(true /*isImplicit*/, context.blockFormat));
22
+ };
23
+ exports.pProcessor = pProcessor;
24
+ //# sourceMappingURL=pProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/pProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,mDAAkD;AAElD,2EAA0E;AAC1E,6FAA4F;AAC5F,oDAAmD;AACnD,oDAAmD;AAEnD;;GAEG;AACI,IAAM,UAAU,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC7E,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,EACvF;QACI,OAAO,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAEpD,IAAA,+BAAc,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC,CACJ,CAAC;IAEF,IAAA,mBAAQ,EAAC,KAAK,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\n\n/**\n * @internal\n */\nexport const pProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n stackFormat(\n context,\n { blockDecorator: 'empty', segment: 'shallowCloneForBlock', paragraph: 'shallowClone' },\n () => {\n context.blockDecorator = createParagraphDecorator(element.tagName);\n\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n Object.assign(context.segmentFormat, segmentFormat);\n\n blockProcessor(group, element, context, segmentFormat);\n }\n );\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n"]}
@@ -0,0 +1,19 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * Content Model Element Processor for table
4
+ *
5
+ * For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.
6
+ * To make it easier to edit a table, we will use a different way to describe table.
7
+ *
8
+ * 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.
9
+ * 2. For a regular table cell, it is mapped to one item of this array
10
+ * 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned
11
+ * cells, and use "spanLeft" and "spanAbove" to mark its state
12
+ * 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell
13
+ * 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according
14
+ * its neighbour cell's spanLeft/spanAbove attribute
15
+ * @param group The parent block group
16
+ * @param parent Parent DOM node to process
17
+ * @param context DOM to Content Model context
18
+ */
19
+ export declare const tableProcessor: ElementProcessor<HTMLTableElement>;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tableProcessor = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var addBlock_1 = require("../../modelApi/common/addBlock");
6
+ var createTable_1 = require("../../modelApi/creators/createTable");
7
+ var createTableCell_1 = require("../../modelApi/creators/createTableCell");
8
+ var getBoundingClientRect_1 = require("../utils/getBoundingClientRect");
9
+ var parseFormat_1 = require("../utils/parseFormat");
10
+ var stackFormat_1 = require("../utils/stackFormat");
11
+ /**
12
+ * Content Model Element Processor for table
13
+ *
14
+ * For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.
15
+ * To make it easier to edit a table, we will use a different way to describe table.
16
+ *
17
+ * 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.
18
+ * 2. For a regular table cell, it is mapped to one item of this array
19
+ * 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned
20
+ * cells, and use "spanLeft" and "spanAbove" to mark its state
21
+ * 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell
22
+ * 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according
23
+ * its neighbour cell's spanLeft/spanAbove attribute
24
+ * @param group The parent block group
25
+ * @param parent Parent DOM node to process
26
+ * @param context DOM to Content Model context
27
+ */
28
+ var tableProcessor = function (group, tableElement, context) {
29
+ (0, stackFormat_1.stackFormat)(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowCloneForGroup' }, function () {
30
+ (0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.block, context.blockFormat, context);
31
+ var table = (0, createTable_1.createTable)(tableElement.rows.length, context.blockFormat);
32
+ var _a = context.tableSelection || {}, selectedTable = _a.table, firstCell = _a.firstCell, lastCell = _a.lastCell;
33
+ var hasTableSelection = selectedTable == tableElement && !!firstCell && !!lastCell;
34
+ if (context.allowCacheElement) {
35
+ table.cachedElement = tableElement;
36
+ }
37
+ (0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.table, table.format, context);
38
+ (0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.tableBorder, table.format, context);
39
+ (0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
40
+ (0, parseFormat_1.parseFormat)(tableElement, context.formatParsers.dataset, table.dataset, context);
41
+ (0, addBlock_1.addBlock)(group, table);
42
+ var columnPositions = [0];
43
+ var rowPositions = [0];
44
+ var zoomScale = context.zoomScaleFormat.zoomScale || 1;
45
+ var _loop_1 = function (row) {
46
+ var tr = tableElement.rows[row];
47
+ var tableRow = table.rows[row];
48
+ if (context.allowCacheElement) {
49
+ tableRow.cachedElement = tr;
50
+ }
51
+ (0, parseFormat_1.parseFormat)(tr, context.formatParsers.tableRow, tableRow.format, context);
52
+ (0, stackFormat_1.stackFormat)(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, function () {
53
+ var parent = tr.parentElement;
54
+ var parentTag = parent === null || parent === void 0 ? void 0 : parent.tagName;
55
+ if (parent &&
56
+ (parentTag == 'TBODY' || parentTag == 'THEAD' || parentTag == 'TFOOT')) {
57
+ // If there is TBODY around TR, retrieve format from TBODY first, in case some format are declared there
58
+ (0, parseFormat_1.parseFormat)(parent, context.formatParsers.block, context.blockFormat, context);
59
+ (0, parseFormat_1.parseFormat)(parent, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
60
+ }
61
+ (0, parseFormat_1.parseFormat)(tr, context.formatParsers.block, context.blockFormat, context);
62
+ (0, parseFormat_1.parseFormat)(tr, context.formatParsers.segmentOnBlock, context.segmentFormat, context);
63
+ var _loop_2 = function (sourceCol, targetCol) {
64
+ for (; tableRow.cells[targetCol]; targetCol++) { }
65
+ var td = tr.cells[sourceCol];
66
+ var hasSelectionBeforeCell = context.isInSelection;
67
+ var colEnd = targetCol + td.colSpan;
68
+ var rowEnd = row + td.rowSpan;
69
+ var needCalcWidth = columnPositions[colEnd] === undefined;
70
+ var needCalcHeight = rowPositions[rowEnd] === undefined;
71
+ if (needCalcWidth || needCalcHeight) {
72
+ var rect = (0, getBoundingClientRect_1.getBoundingClientRect)(td);
73
+ if (rect.width > 0 || rect.height > 0) {
74
+ if (needCalcWidth) {
75
+ columnPositions[colEnd] =
76
+ columnPositions[targetCol] + rect.width / zoomScale;
77
+ }
78
+ if (needCalcHeight) {
79
+ rowPositions[rowEnd] =
80
+ rowPositions[row] + rect.height / zoomScale;
81
+ }
82
+ }
83
+ }
84
+ (0, stackFormat_1.stackFormat)(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, function () {
85
+ (0, parseFormat_1.parseFormat)(td, context.formatParsers.block, context.blockFormat, context);
86
+ (0, parseFormat_1.parseFormat)(td, context.formatParsers.segmentOnTableCell, context.segmentFormat, context);
87
+ var cellFormat = (0, tslib_1.__assign)({}, context.blockFormat);
88
+ var dataset = {};
89
+ (0, parseFormat_1.parseFormat)(td, context.formatParsers.tableCell, cellFormat, context);
90
+ (0, parseFormat_1.parseFormat)(td, context.formatParsers.tableBorder, cellFormat, context);
91
+ (0, parseFormat_1.parseFormat)(td, context.formatParsers.dataset, dataset, context);
92
+ for (var colSpan = 1; colSpan <= td.colSpan; colSpan++, targetCol++) {
93
+ for (var rowSpan = 1; rowSpan <= td.rowSpan; rowSpan++) {
94
+ var hasTd = colSpan == 1 && rowSpan == 1;
95
+ var cell = (0, createTableCell_1.createTableCell)(colSpan > 1, rowSpan > 1, td.tagName == 'TH', cellFormat);
96
+ cell.dataset = (0, tslib_1.__assign)({}, dataset);
97
+ var spannedRow = table.rows[row + rowSpan - 1];
98
+ if (spannedRow) {
99
+ spannedRow.cells[targetCol] = cell;
100
+ }
101
+ if (hasTd) {
102
+ if (context.allowCacheElement) {
103
+ cell.cachedElement = td;
104
+ }
105
+ var _a = context.listFormat, listParent = _a.listParent, levels = _a.levels;
106
+ context.listFormat.listParent = undefined;
107
+ context.listFormat.levels = [];
108
+ try {
109
+ context.elementProcessors.child(cell, td, context);
110
+ }
111
+ finally {
112
+ context.listFormat.listParent = listParent;
113
+ context.listFormat.levels = levels;
114
+ }
115
+ }
116
+ var hasSelectionAfterCell = context.isInSelection;
117
+ if ((hasSelectionBeforeCell && hasSelectionAfterCell) ||
118
+ (hasTableSelection &&
119
+ row >= firstCell.y &&
120
+ row <= lastCell.y &&
121
+ targetCol >= firstCell.x &&
122
+ targetCol <= lastCell.x)) {
123
+ cell.isSelected = true;
124
+ }
125
+ }
126
+ }
127
+ });
128
+ out_targetCol_1 = targetCol;
129
+ };
130
+ var out_targetCol_1;
131
+ for (var sourceCol = 0, targetCol = 0; sourceCol < tr.cells.length; sourceCol++) {
132
+ _loop_2(sourceCol, targetCol);
133
+ targetCol = out_targetCol_1;
134
+ }
135
+ });
136
+ };
137
+ for (var row = 0; row < tableElement.rows.length; row++) {
138
+ _loop_1(row);
139
+ }
140
+ table.widths = calcSizes(columnPositions);
141
+ var heights = calcSizes(rowPositions);
142
+ table.rows.forEach(function (row, i) {
143
+ if (heights[i] > 0) {
144
+ row.height = heights[i];
145
+ }
146
+ });
147
+ });
148
+ };
149
+ exports.tableProcessor = tableProcessor;
150
+ function calcSizes(positions) {
151
+ var result = [];
152
+ var lastPos = positions[positions.length - 1];
153
+ for (var i = positions.length - 2; i >= 0; i--) {
154
+ if (positions[i] === undefined) {
155
+ result[i] = 0;
156
+ }
157
+ else {
158
+ result[i] = lastPos - positions[i];
159
+ lastPos = positions[i];
160
+ }
161
+ }
162
+ return result;
163
+ }
164
+ //# sourceMappingURL=tableProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/tableProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createTable } from '../../modelApi/creators/createTable';\nimport { createTableCell } from '../../modelApi/creators/createTableCell';\nimport { getBoundingClientRect } from '../utils/getBoundingClientRect';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport {\n ContentModelTableCellFormat,\n DatasetFormat,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for table\n *\n * For Table with merged/splitted cells, HTML uses colSpan and rowSpan attributes to specify how it should be rendered.\n * To make it easier to edit a table, we will use a different way to describe table.\n *\n * 1. For a m * n table (m rows, n columns), we always create a m * n array for the cells.\n * 2. For a regular table cell, it is mapped to one item of this array\n * 3. For a merged/splitted table cell, it will has colSpan/rowSpan value. We also created TableCell model for those spanned\n * cells, and use \"spanLeft\" and \"spanAbove\" to mark its state\n * 4. When edit table, we always edit on this mapped m * n array because it always has an item for each cell\n * 5. When write back to DOM, we create TD/TH elements for those non-spanned cells, and mark its colSpan/rowSpan value according\n * its neighbour cell's spanLeft/spanAbove attribute\n * @param group The parent block group\n * @param parent Parent DOM node to process\n * @param context DOM to Content Model context\n */\nexport const tableProcessor: ElementProcessor<HTMLTableElement> = (\n group,\n tableElement,\n context\n) => {\n stackFormat(\n context,\n { segment: 'shallowCloneForBlock', paragraph: 'shallowCloneForGroup' },\n () => {\n parseFormat(tableElement, context.formatParsers.block, context.blockFormat, context);\n\n const table = createTable(tableElement.rows.length, context.blockFormat);\n const { table: selectedTable, firstCell, lastCell } = context.tableSelection || {};\n const hasTableSelection = selectedTable == tableElement && !!firstCell && !!lastCell;\n\n if (context.allowCacheElement) {\n table.cachedElement = tableElement;\n }\n\n parseFormat(tableElement, context.formatParsers.table, table.format, context);\n parseFormat(tableElement, context.formatParsers.tableBorder, table.format, context);\n parseFormat(\n tableElement,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n parseFormat(tableElement, context.formatParsers.dataset, table.dataset, context);\n addBlock(group, table);\n\n const columnPositions: number[] = [0];\n const rowPositions: number[] = [0];\n const zoomScale = context.zoomScaleFormat.zoomScale || 1;\n\n for (let row = 0; row < tableElement.rows.length; row++) {\n const tr = tableElement.rows[row];\n const tableRow = table.rows[row];\n\n if (context.allowCacheElement) {\n tableRow.cachedElement = tr;\n }\n\n parseFormat(tr, context.formatParsers.tableRow, tableRow.format, context);\n\n stackFormat(context, { paragraph: 'shallowClone', segment: 'shallowClone' }, () => {\n const parent = tr.parentElement;\n const parentTag = parent?.tagName;\n\n if (\n parent &&\n (parentTag == 'TBODY' || parentTag == 'THEAD' || parentTag == 'TFOOT')\n ) {\n // If there is TBODY around TR, retrieve format from TBODY first, in case some format are declared there\n parseFormat(\n parent,\n context.formatParsers.block,\n context.blockFormat,\n context\n );\n parseFormat(\n parent,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n }\n\n parseFormat(tr, context.formatParsers.block, context.blockFormat, context);\n parseFormat(\n tr,\n context.formatParsers.segmentOnBlock,\n context.segmentFormat,\n context\n );\n\n for (\n let sourceCol = 0, targetCol = 0;\n sourceCol < tr.cells.length;\n sourceCol++\n ) {\n for (; tableRow.cells[targetCol]; targetCol++) {}\n\n const td = tr.cells[sourceCol];\n const hasSelectionBeforeCell = context.isInSelection;\n const colEnd = targetCol + td.colSpan;\n const rowEnd = row + td.rowSpan;\n const needCalcWidth = columnPositions[colEnd] === undefined;\n const needCalcHeight = rowPositions[rowEnd] === undefined;\n\n if (needCalcWidth || needCalcHeight) {\n const rect = getBoundingClientRect(td);\n\n if (rect.width > 0 || rect.height > 0) {\n if (needCalcWidth) {\n columnPositions[colEnd] =\n columnPositions[targetCol] + rect.width / zoomScale;\n }\n\n if (needCalcHeight) {\n rowPositions[rowEnd] =\n rowPositions[row] + rect.height / zoomScale;\n }\n }\n }\n\n stackFormat(\n context,\n { paragraph: 'shallowClone', segment: 'shallowClone' },\n () => {\n parseFormat(\n td,\n context.formatParsers.block,\n context.blockFormat,\n context\n );\n parseFormat(\n td,\n context.formatParsers.segmentOnTableCell,\n context.segmentFormat,\n context\n );\n\n const cellFormat: ContentModelTableCellFormat = {\n ...context.blockFormat,\n };\n const dataset: DatasetFormat = {};\n\n parseFormat(\n td,\n context.formatParsers.tableCell,\n cellFormat,\n context\n );\n parseFormat(\n td,\n context.formatParsers.tableBorder,\n cellFormat,\n context\n );\n parseFormat(td, context.formatParsers.dataset, dataset, context);\n\n for (\n let colSpan = 1;\n colSpan <= td.colSpan;\n colSpan++, targetCol++\n ) {\n for (let rowSpan = 1; rowSpan <= td.rowSpan; rowSpan++) {\n const hasTd = colSpan == 1 && rowSpan == 1;\n const cell = createTableCell(\n colSpan > 1,\n rowSpan > 1,\n td.tagName == 'TH',\n cellFormat\n );\n\n cell.dataset = { ...dataset };\n\n const spannedRow = table.rows[row + rowSpan - 1];\n\n if (spannedRow) {\n spannedRow.cells[targetCol] = cell;\n }\n\n if (hasTd) {\n if (context.allowCacheElement) {\n cell.cachedElement = td;\n }\n\n const { listParent, levels } = context.listFormat;\n\n context.listFormat.listParent = undefined;\n context.listFormat.levels = [];\n\n try {\n context.elementProcessors.child(cell, td, context);\n } finally {\n context.listFormat.listParent = listParent;\n context.listFormat.levels = levels;\n }\n }\n\n const hasSelectionAfterCell = context.isInSelection;\n\n if (\n (hasSelectionBeforeCell && hasSelectionAfterCell) ||\n (hasTableSelection &&\n row >= firstCell.y &&\n row <= lastCell.y &&\n targetCol >= firstCell.x &&\n targetCol <= lastCell.x)\n ) {\n cell.isSelected = true;\n }\n }\n }\n }\n );\n }\n });\n }\n\n table.widths = calcSizes(columnPositions);\n\n const heights = calcSizes(rowPositions);\n\n table.rows.forEach((row, i) => {\n if (heights[i] > 0) {\n row.height = heights[i];\n }\n });\n }\n );\n};\n\nfunction calcSizes(positions: number[]): number[] {\n let result: number[] = [];\n let lastPos = positions[positions.length - 1];\n\n for (let i = positions.length - 2; i >= 0; i--) {\n if (positions[i] === undefined) {\n result[i] = 0;\n } else {\n result[i] = lastPos - positions[i];\n lastPos = positions[i];\n }\n }\n\n return result;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ElementProcessor } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const textProcessor: ElementProcessor<Text>;