roosterjs-content-model-dom 0.27.0 → 0.28.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 (463) hide show
  1. package/lib/config/defaultContentModelFormatMap.js.map +1 -1
  2. package/lib/config/defaultHTMLStyleMap.js.map +1 -1
  3. package/lib/domToModel/context/createDomToModelContext.js.map +1 -1
  4. package/lib/domToModel/context/defaultProcessors.js.map +1 -1
  5. package/lib/domToModel/domToContentModel.js.map +1 -1
  6. package/lib/domToModel/processors/blockProcessor.js.map +1 -1
  7. package/lib/domToModel/processors/brProcessor.js.map +1 -1
  8. package/lib/domToModel/processors/childProcessor.js.map +1 -1
  9. package/lib/domToModel/processors/codeProcessor.js.map +1 -1
  10. package/lib/domToModel/processors/delimiterProcessor.js.map +1 -1
  11. package/lib/domToModel/processors/elementProcessor.js.map +1 -1
  12. package/lib/domToModel/processors/entityProcessor.js.map +1 -1
  13. package/lib/domToModel/processors/fontProcessor.js.map +1 -1
  14. package/lib/domToModel/processors/formatContainerProcessor.js.map +1 -1
  15. package/lib/domToModel/processors/generalProcessor.js.map +1 -1
  16. package/lib/domToModel/processors/headingProcessor.js.map +1 -1
  17. package/lib/domToModel/processors/hrProcessor.js.map +1 -1
  18. package/lib/domToModel/processors/imageProcessor.js.map +1 -1
  19. package/lib/domToModel/processors/knownElementProcessor.js.map +1 -1
  20. package/lib/domToModel/processors/linkProcessor.js.map +1 -1
  21. package/lib/domToModel/processors/listItemProcessor.js.map +1 -1
  22. package/lib/domToModel/processors/listProcessor.js.map +1 -1
  23. package/lib/domToModel/processors/pProcessor.js.map +1 -1
  24. package/lib/domToModel/processors/tableProcessor.js.map +1 -1
  25. package/lib/domToModel/processors/textProcessor.js.map +1 -1
  26. package/lib/domToModel/utils/addSelectionMarker.js.map +1 -1
  27. package/lib/domToModel/utils/areSameFormats.js.map +1 -1
  28. package/lib/domToModel/utils/getBoundingClientRect.js.map +1 -1
  29. package/lib/domToModel/utils/getDefaultStyle.js.map +1 -1
  30. package/lib/domToModel/utils/getRegularSelectionOffsets.js.map +1 -1
  31. package/lib/domToModel/utils/isBlockElement.js.map +1 -1
  32. package/lib/domToModel/utils/parseFormat.js.map +1 -1
  33. package/lib/domToModel/utils/stackFormat.js.map +1 -1
  34. package/lib/domUtils/entityUtils.js +2 -2
  35. package/lib/domUtils/entityUtils.js.map +1 -1
  36. package/lib/domUtils/getObjectKeys.js.map +1 -1
  37. package/lib/domUtils/isElementOfType.js.map +1 -1
  38. package/lib/domUtils/isNodeOfType.js.map +1 -1
  39. package/lib/domUtils/isWhiteSpacePreserved.js.map +1 -1
  40. package/lib/domUtils/metadata/updateMetadata.js.map +1 -1
  41. package/lib/domUtils/metadata/validate.js.map +1 -1
  42. package/lib/domUtils/moveChildNodes.js.map +1 -1
  43. package/lib/domUtils/normalizeRect.d.ts +7 -0
  44. package/lib/domUtils/normalizeRect.js +21 -0
  45. package/lib/domUtils/normalizeRect.js.map +1 -0
  46. package/lib/domUtils/reuseCachedElement.js.map +1 -1
  47. package/lib/domUtils/toArray.d.ts +5 -5
  48. package/lib/domUtils/toArray.js +2 -1
  49. package/lib/domUtils/toArray.js.map +1 -1
  50. package/lib/domUtils/unwrap.js.map +1 -1
  51. package/lib/domUtils/wrap.js.map +1 -1
  52. package/lib/formatHandlers/FormatHandler.js.map +1 -1
  53. package/lib/formatHandlers/block/directionFormatHandler.js.map +1 -1
  54. package/lib/formatHandlers/block/displayFormatHandler.js.map +1 -1
  55. package/lib/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -1
  56. package/lib/formatHandlers/block/lineHeightFormatHandler.js.map +1 -1
  57. package/lib/formatHandlers/block/marginFormatHandler.js.map +1 -1
  58. package/lib/formatHandlers/block/paddingFormatHandler.js.map +1 -1
  59. package/lib/formatHandlers/block/textAlignFormatHandler.js.map +1 -1
  60. package/lib/formatHandlers/block/textIndentFormatHandler.js.map +1 -1
  61. package/lib/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -1
  62. package/lib/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -1
  63. package/lib/formatHandlers/common/borderBoxFormatHandler.js.map +1 -1
  64. package/lib/formatHandlers/common/borderFormatHandler.js.map +1 -1
  65. package/lib/formatHandlers/common/boxShadowFormatHandler.js.map +1 -1
  66. package/lib/formatHandlers/common/datasetFormatHandler.js.map +1 -1
  67. package/lib/formatHandlers/common/floatFormatHandler.js.map +1 -1
  68. package/lib/formatHandlers/common/idFormatHandler.js.map +1 -1
  69. package/lib/formatHandlers/common/sizeFormatHandler.js.map +1 -1
  70. package/lib/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -1
  71. package/lib/formatHandlers/common/wordBreakFormatHandler.js.map +1 -1
  72. package/lib/formatHandlers/defaultFormatHandlers.js.map +1 -1
  73. package/lib/formatHandlers/entity/entityFormatHandler.js.map +1 -1
  74. package/lib/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -1
  75. package/lib/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -1
  76. package/lib/formatHandlers/list/listStyleFormatHandler.js.map +1 -1
  77. package/lib/formatHandlers/segment/boldFormatHandler.js.map +1 -1
  78. package/lib/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -1
  79. package/lib/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -1
  80. package/lib/formatHandlers/segment/italicFormatHandler.js.map +1 -1
  81. package/lib/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -1
  82. package/lib/formatHandlers/segment/linkFormatHandler.js.map +1 -1
  83. package/lib/formatHandlers/segment/strikeFormatHandler.js.map +1 -1
  84. package/lib/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -1
  85. package/lib/formatHandlers/segment/textColorFormatHandler.js.map +1 -1
  86. package/lib/formatHandlers/segment/underlineFormatHandler.js.map +1 -1
  87. package/lib/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -1
  88. package/lib/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -1
  89. package/lib/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -1
  90. package/lib/formatHandlers/utils/color.js.map +1 -1
  91. package/lib/formatHandlers/utils/dir.d.ts +1 -1
  92. package/lib/formatHandlers/utils/dir.js.map +1 -1
  93. package/lib/formatHandlers/utils/parseValueWithUnit.js.map +1 -1
  94. package/lib/formatHandlers/utils/shouldSetValue.js.map +1 -1
  95. package/lib/index.d.ts +2 -1
  96. package/lib/index.js +5 -3
  97. package/lib/index.js.map +1 -1
  98. package/lib/modelApi/block/setParagraphNotImplicit.js.map +1 -1
  99. package/lib/modelApi/common/addBlock.js.map +1 -1
  100. package/lib/modelApi/common/addDecorators.js.map +1 -1
  101. package/lib/modelApi/common/addSegment.js.map +1 -1
  102. package/lib/modelApi/common/ensureParagraph.js.map +1 -1
  103. package/lib/modelApi/common/hasSpacesOnly.js.map +1 -1
  104. package/lib/modelApi/common/hasSpacesOnlyTest.js.map +1 -1
  105. package/lib/modelApi/common/isEmpty.js.map +1 -1
  106. package/lib/modelApi/common/isGeneralSegment.js.map +1 -1
  107. package/lib/modelApi/common/normalizeContentModel.js.map +1 -1
  108. package/lib/modelApi/common/normalizeParagraph.js.map +1 -1
  109. package/lib/modelApi/common/normalizeSegment.js.map +1 -1
  110. package/lib/modelApi/common/unwrapBlock.js.map +1 -1
  111. package/lib/modelApi/creators/createBr.js.map +1 -1
  112. package/lib/modelApi/creators/createContentModelDocument.js.map +1 -1
  113. package/lib/modelApi/creators/createDivider.js.map +1 -1
  114. package/lib/modelApi/creators/createEmptyModel.js.map +1 -1
  115. package/lib/modelApi/creators/createEntity.js.map +1 -1
  116. package/lib/modelApi/creators/createFormatContainer.js.map +1 -1
  117. package/lib/modelApi/creators/createGeneralBlock.js.map +1 -1
  118. package/lib/modelApi/creators/createGeneralSegment.js.map +1 -1
  119. package/lib/modelApi/creators/createImage.js.map +1 -1
  120. package/lib/modelApi/creators/createListItem.js.map +1 -1
  121. package/lib/modelApi/creators/createListLevel.js.map +1 -1
  122. package/lib/modelApi/creators/createParagraph.js.map +1 -1
  123. package/lib/modelApi/creators/createParagraphDecorator.js.map +1 -1
  124. package/lib/modelApi/creators/createSelectionMarker.js.map +1 -1
  125. package/lib/modelApi/creators/createTable.js.map +1 -1
  126. package/lib/modelApi/creators/createTableCell.js.map +1 -1
  127. package/lib/modelApi/creators/createText.js.map +1 -1
  128. package/lib/modelToDom/contentModelToDom.js +2 -2
  129. package/lib/modelToDom/contentModelToDom.js.map +1 -1
  130. package/lib/modelToDom/context/createModelToDomContext.js.map +1 -1
  131. package/lib/modelToDom/context/defaultContentModelHandlers.js.map +1 -1
  132. package/lib/modelToDom/handlers/handleBlock.js.map +1 -1
  133. package/lib/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
  134. package/lib/modelToDom/handlers/handleBr.js.map +1 -1
  135. package/lib/modelToDom/handlers/handleDivider.js.map +1 -1
  136. package/lib/modelToDom/handlers/handleEntity.js.map +1 -1
  137. package/lib/modelToDom/handlers/handleFormatContainer.js.map +1 -1
  138. package/lib/modelToDom/handlers/handleGeneralModel.js.map +1 -1
  139. package/lib/modelToDom/handlers/handleImage.js.map +1 -1
  140. package/lib/modelToDom/handlers/handleList.js.map +1 -1
  141. package/lib/modelToDom/handlers/handleListItem.js.map +1 -1
  142. package/lib/modelToDom/handlers/handleParagraph.js.map +1 -1
  143. package/lib/modelToDom/handlers/handleSegment.js.map +1 -1
  144. package/lib/modelToDom/handlers/handleSegmentDecorator.js.map +1 -1
  145. package/lib/modelToDom/handlers/handleTable.js.map +1 -1
  146. package/lib/modelToDom/handlers/handleText.js.map +1 -1
  147. package/lib/modelToDom/optimizers/mergeNode.js.map +1 -1
  148. package/lib/modelToDom/optimizers/optimize.js.map +1 -1
  149. package/lib/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -1
  150. package/lib/modelToDom/utils/applyFormat.js.map +1 -1
  151. package/lib/modelToDom/utils/applyMetadata.js.map +1 -1
  152. package/lib/modelToDom/utils/handleSegmentCommon.js.map +1 -1
  153. package/lib/modelToDom/utils/stackFormat.js.map +1 -1
  154. package/lib/modelToText/contentModelToText.js.map +1 -1
  155. package/lib-amd/config/defaultContentModelFormatMap.js.map +1 -1
  156. package/lib-amd/config/defaultHTMLStyleMap.js.map +1 -1
  157. package/lib-amd/domToModel/context/createDomToModelContext.js.map +1 -1
  158. package/lib-amd/domToModel/context/defaultProcessors.js.map +1 -1
  159. package/lib-amd/domToModel/domToContentModel.js.map +1 -1
  160. package/lib-amd/domToModel/processors/blockProcessor.js.map +1 -1
  161. package/lib-amd/domToModel/processors/brProcessor.js.map +1 -1
  162. package/lib-amd/domToModel/processors/childProcessor.js.map +1 -1
  163. package/lib-amd/domToModel/processors/codeProcessor.js.map +1 -1
  164. package/lib-amd/domToModel/processors/delimiterProcessor.js.map +1 -1
  165. package/lib-amd/domToModel/processors/elementProcessor.js.map +1 -1
  166. package/lib-amd/domToModel/processors/entityProcessor.js.map +1 -1
  167. package/lib-amd/domToModel/processors/fontProcessor.js.map +1 -1
  168. package/lib-amd/domToModel/processors/formatContainerProcessor.js.map +1 -1
  169. package/lib-amd/domToModel/processors/generalProcessor.js.map +1 -1
  170. package/lib-amd/domToModel/processors/headingProcessor.js.map +1 -1
  171. package/lib-amd/domToModel/processors/hrProcessor.js.map +1 -1
  172. package/lib-amd/domToModel/processors/imageProcessor.js.map +1 -1
  173. package/lib-amd/domToModel/processors/knownElementProcessor.js.map +1 -1
  174. package/lib-amd/domToModel/processors/linkProcessor.js.map +1 -1
  175. package/lib-amd/domToModel/processors/listItemProcessor.js.map +1 -1
  176. package/lib-amd/domToModel/processors/listProcessor.js.map +1 -1
  177. package/lib-amd/domToModel/processors/pProcessor.js.map +1 -1
  178. package/lib-amd/domToModel/processors/tableProcessor.js.map +1 -1
  179. package/lib-amd/domToModel/processors/textProcessor.js.map +1 -1
  180. package/lib-amd/domToModel/utils/addSelectionMarker.js.map +1 -1
  181. package/lib-amd/domToModel/utils/areSameFormats.js.map +1 -1
  182. package/lib-amd/domToModel/utils/getBoundingClientRect.js.map +1 -1
  183. package/lib-amd/domToModel/utils/getDefaultStyle.js.map +1 -1
  184. package/lib-amd/domToModel/utils/getRegularSelectionOffsets.js.map +1 -1
  185. package/lib-amd/domToModel/utils/isBlockElement.js.map +1 -1
  186. package/lib-amd/domToModel/utils/parseFormat.js.map +1 -1
  187. package/lib-amd/domToModel/utils/stackFormat.js.map +1 -1
  188. package/lib-amd/domUtils/entityUtils.js +2 -2
  189. package/lib-amd/domUtils/entityUtils.js.map +1 -1
  190. package/lib-amd/domUtils/getObjectKeys.js.map +1 -1
  191. package/lib-amd/domUtils/isElementOfType.js.map +1 -1
  192. package/lib-amd/domUtils/isNodeOfType.js.map +1 -1
  193. package/lib-amd/domUtils/isWhiteSpacePreserved.js.map +1 -1
  194. package/lib-amd/domUtils/metadata/updateMetadata.js.map +1 -1
  195. package/lib-amd/domUtils/metadata/validate.js.map +1 -1
  196. package/lib-amd/domUtils/moveChildNodes.js.map +1 -1
  197. package/lib-amd/domUtils/normalizeRect.d.ts +7 -0
  198. package/lib-amd/domUtils/normalizeRect.js +23 -0
  199. package/lib-amd/domUtils/normalizeRect.js.map +1 -0
  200. package/lib-amd/domUtils/reuseCachedElement.js.map +1 -1
  201. package/lib-amd/domUtils/toArray.d.ts +5 -5
  202. package/lib-amd/domUtils/toArray.js +2 -1
  203. package/lib-amd/domUtils/toArray.js.map +1 -1
  204. package/lib-amd/domUtils/unwrap.js.map +1 -1
  205. package/lib-amd/domUtils/wrap.js.map +1 -1
  206. package/lib-amd/formatHandlers/FormatHandler.js.map +1 -1
  207. package/lib-amd/formatHandlers/block/directionFormatHandler.js.map +1 -1
  208. package/lib-amd/formatHandlers/block/displayFormatHandler.js.map +1 -1
  209. package/lib-amd/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -1
  210. package/lib-amd/formatHandlers/block/lineHeightFormatHandler.js.map +1 -1
  211. package/lib-amd/formatHandlers/block/marginFormatHandler.js.map +1 -1
  212. package/lib-amd/formatHandlers/block/paddingFormatHandler.js.map +1 -1
  213. package/lib-amd/formatHandlers/block/textAlignFormatHandler.js.map +1 -1
  214. package/lib-amd/formatHandlers/block/textIndentFormatHandler.js.map +1 -1
  215. package/lib-amd/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -1
  216. package/lib-amd/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -1
  217. package/lib-amd/formatHandlers/common/borderBoxFormatHandler.js.map +1 -1
  218. package/lib-amd/formatHandlers/common/borderFormatHandler.js.map +1 -1
  219. package/lib-amd/formatHandlers/common/boxShadowFormatHandler.js.map +1 -1
  220. package/lib-amd/formatHandlers/common/datasetFormatHandler.js.map +1 -1
  221. package/lib-amd/formatHandlers/common/floatFormatHandler.js.map +1 -1
  222. package/lib-amd/formatHandlers/common/idFormatHandler.js.map +1 -1
  223. package/lib-amd/formatHandlers/common/sizeFormatHandler.js.map +1 -1
  224. package/lib-amd/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -1
  225. package/lib-amd/formatHandlers/common/wordBreakFormatHandler.js.map +1 -1
  226. package/lib-amd/formatHandlers/defaultFormatHandlers.js.map +1 -1
  227. package/lib-amd/formatHandlers/entity/entityFormatHandler.js.map +1 -1
  228. package/lib-amd/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -1
  229. package/lib-amd/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -1
  230. package/lib-amd/formatHandlers/list/listStyleFormatHandler.js.map +1 -1
  231. package/lib-amd/formatHandlers/segment/boldFormatHandler.js.map +1 -1
  232. package/lib-amd/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -1
  233. package/lib-amd/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -1
  234. package/lib-amd/formatHandlers/segment/italicFormatHandler.js.map +1 -1
  235. package/lib-amd/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -1
  236. package/lib-amd/formatHandlers/segment/linkFormatHandler.js.map +1 -1
  237. package/lib-amd/formatHandlers/segment/strikeFormatHandler.js.map +1 -1
  238. package/lib-amd/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -1
  239. package/lib-amd/formatHandlers/segment/textColorFormatHandler.js.map +1 -1
  240. package/lib-amd/formatHandlers/segment/underlineFormatHandler.js.map +1 -1
  241. package/lib-amd/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -1
  242. package/lib-amd/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -1
  243. package/lib-amd/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -1
  244. package/lib-amd/formatHandlers/utils/color.js.map +1 -1
  245. package/lib-amd/formatHandlers/utils/dir.d.ts +1 -1
  246. package/lib-amd/formatHandlers/utils/dir.js.map +1 -1
  247. package/lib-amd/formatHandlers/utils/parseValueWithUnit.js.map +1 -1
  248. package/lib-amd/formatHandlers/utils/shouldSetValue.js.map +1 -1
  249. package/lib-amd/index.d.ts +2 -1
  250. package/lib-amd/index.js +4 -3
  251. package/lib-amd/index.js.map +1 -1
  252. package/lib-amd/modelApi/block/setParagraphNotImplicit.js.map +1 -1
  253. package/lib-amd/modelApi/common/addBlock.js.map +1 -1
  254. package/lib-amd/modelApi/common/addDecorators.js.map +1 -1
  255. package/lib-amd/modelApi/common/addSegment.js.map +1 -1
  256. package/lib-amd/modelApi/common/ensureParagraph.js.map +1 -1
  257. package/lib-amd/modelApi/common/hasSpacesOnly.js.map +1 -1
  258. package/lib-amd/modelApi/common/hasSpacesOnlyTest.js.map +1 -1
  259. package/lib-amd/modelApi/common/isEmpty.js.map +1 -1
  260. package/lib-amd/modelApi/common/isGeneralSegment.js.map +1 -1
  261. package/lib-amd/modelApi/common/normalizeContentModel.js.map +1 -1
  262. package/lib-amd/modelApi/common/normalizeParagraph.js.map +1 -1
  263. package/lib-amd/modelApi/common/normalizeSegment.js.map +1 -1
  264. package/lib-amd/modelApi/common/unwrapBlock.js.map +1 -1
  265. package/lib-amd/modelApi/creators/createBr.js.map +1 -1
  266. package/lib-amd/modelApi/creators/createContentModelDocument.js.map +1 -1
  267. package/lib-amd/modelApi/creators/createDivider.js.map +1 -1
  268. package/lib-amd/modelApi/creators/createEmptyModel.js.map +1 -1
  269. package/lib-amd/modelApi/creators/createEntity.js.map +1 -1
  270. package/lib-amd/modelApi/creators/createFormatContainer.js.map +1 -1
  271. package/lib-amd/modelApi/creators/createGeneralBlock.js.map +1 -1
  272. package/lib-amd/modelApi/creators/createGeneralSegment.js.map +1 -1
  273. package/lib-amd/modelApi/creators/createImage.js.map +1 -1
  274. package/lib-amd/modelApi/creators/createListItem.js.map +1 -1
  275. package/lib-amd/modelApi/creators/createListLevel.js.map +1 -1
  276. package/lib-amd/modelApi/creators/createParagraph.js.map +1 -1
  277. package/lib-amd/modelApi/creators/createParagraphDecorator.js.map +1 -1
  278. package/lib-amd/modelApi/creators/createSelectionMarker.js.map +1 -1
  279. package/lib-amd/modelApi/creators/createTable.js.map +1 -1
  280. package/lib-amd/modelApi/creators/createTableCell.js.map +1 -1
  281. package/lib-amd/modelApi/creators/createText.js.map +1 -1
  282. package/lib-amd/modelToDom/contentModelToDom.js +2 -2
  283. package/lib-amd/modelToDom/contentModelToDom.js.map +1 -1
  284. package/lib-amd/modelToDom/context/createModelToDomContext.js.map +1 -1
  285. package/lib-amd/modelToDom/context/defaultContentModelHandlers.js.map +1 -1
  286. package/lib-amd/modelToDom/handlers/handleBlock.js.map +1 -1
  287. package/lib-amd/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
  288. package/lib-amd/modelToDom/handlers/handleBr.js.map +1 -1
  289. package/lib-amd/modelToDom/handlers/handleDivider.js.map +1 -1
  290. package/lib-amd/modelToDom/handlers/handleEntity.js.map +1 -1
  291. package/lib-amd/modelToDom/handlers/handleFormatContainer.js.map +1 -1
  292. package/lib-amd/modelToDom/handlers/handleGeneralModel.js.map +1 -1
  293. package/lib-amd/modelToDom/handlers/handleImage.js.map +1 -1
  294. package/lib-amd/modelToDom/handlers/handleList.js.map +1 -1
  295. package/lib-amd/modelToDom/handlers/handleListItem.js.map +1 -1
  296. package/lib-amd/modelToDom/handlers/handleParagraph.js.map +1 -1
  297. package/lib-amd/modelToDom/handlers/handleSegment.js.map +1 -1
  298. package/lib-amd/modelToDom/handlers/handleSegmentDecorator.js.map +1 -1
  299. package/lib-amd/modelToDom/handlers/handleTable.js.map +1 -1
  300. package/lib-amd/modelToDom/handlers/handleText.js.map +1 -1
  301. package/lib-amd/modelToDom/optimizers/mergeNode.js.map +1 -1
  302. package/lib-amd/modelToDom/optimizers/optimize.js.map +1 -1
  303. package/lib-amd/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -1
  304. package/lib-amd/modelToDom/utils/applyFormat.js.map +1 -1
  305. package/lib-amd/modelToDom/utils/applyMetadata.js.map +1 -1
  306. package/lib-amd/modelToDom/utils/handleSegmentCommon.js.map +1 -1
  307. package/lib-amd/modelToDom/utils/stackFormat.js.map +1 -1
  308. package/lib-amd/modelToText/contentModelToText.js.map +1 -1
  309. package/lib-mjs/config/defaultContentModelFormatMap.js.map +1 -1
  310. package/lib-mjs/config/defaultHTMLStyleMap.js.map +1 -1
  311. package/lib-mjs/domToModel/context/createDomToModelContext.js.map +1 -1
  312. package/lib-mjs/domToModel/context/defaultProcessors.js.map +1 -1
  313. package/lib-mjs/domToModel/domToContentModel.js.map +1 -1
  314. package/lib-mjs/domToModel/processors/blockProcessor.js.map +1 -1
  315. package/lib-mjs/domToModel/processors/brProcessor.js.map +1 -1
  316. package/lib-mjs/domToModel/processors/childProcessor.js.map +1 -1
  317. package/lib-mjs/domToModel/processors/codeProcessor.js.map +1 -1
  318. package/lib-mjs/domToModel/processors/delimiterProcessor.js.map +1 -1
  319. package/lib-mjs/domToModel/processors/elementProcessor.js.map +1 -1
  320. package/lib-mjs/domToModel/processors/entityProcessor.js.map +1 -1
  321. package/lib-mjs/domToModel/processors/fontProcessor.js.map +1 -1
  322. package/lib-mjs/domToModel/processors/formatContainerProcessor.js.map +1 -1
  323. package/lib-mjs/domToModel/processors/generalProcessor.js.map +1 -1
  324. package/lib-mjs/domToModel/processors/headingProcessor.js.map +1 -1
  325. package/lib-mjs/domToModel/processors/hrProcessor.js.map +1 -1
  326. package/lib-mjs/domToModel/processors/imageProcessor.js.map +1 -1
  327. package/lib-mjs/domToModel/processors/knownElementProcessor.js.map +1 -1
  328. package/lib-mjs/domToModel/processors/linkProcessor.js.map +1 -1
  329. package/lib-mjs/domToModel/processors/listItemProcessor.js.map +1 -1
  330. package/lib-mjs/domToModel/processors/listProcessor.js.map +1 -1
  331. package/lib-mjs/domToModel/processors/pProcessor.js.map +1 -1
  332. package/lib-mjs/domToModel/processors/tableProcessor.js.map +1 -1
  333. package/lib-mjs/domToModel/processors/textProcessor.js.map +1 -1
  334. package/lib-mjs/domToModel/utils/addSelectionMarker.js.map +1 -1
  335. package/lib-mjs/domToModel/utils/areSameFormats.js.map +1 -1
  336. package/lib-mjs/domToModel/utils/getBoundingClientRect.js.map +1 -1
  337. package/lib-mjs/domToModel/utils/getDefaultStyle.js.map +1 -1
  338. package/lib-mjs/domToModel/utils/getRegularSelectionOffsets.js.map +1 -1
  339. package/lib-mjs/domToModel/utils/isBlockElement.js.map +1 -1
  340. package/lib-mjs/domToModel/utils/parseFormat.js.map +1 -1
  341. package/lib-mjs/domToModel/utils/stackFormat.js.map +1 -1
  342. package/lib-mjs/domUtils/entityUtils.js +1 -1
  343. package/lib-mjs/domUtils/entityUtils.js.map +1 -1
  344. package/lib-mjs/domUtils/getObjectKeys.js.map +1 -1
  345. package/lib-mjs/domUtils/isElementOfType.js.map +1 -1
  346. package/lib-mjs/domUtils/isNodeOfType.js.map +1 -1
  347. package/lib-mjs/domUtils/isWhiteSpacePreserved.js.map +1 -1
  348. package/lib-mjs/domUtils/metadata/updateMetadata.js.map +1 -1
  349. package/lib-mjs/domUtils/metadata/validate.js.map +1 -1
  350. package/lib-mjs/domUtils/moveChildNodes.js.map +1 -1
  351. package/lib-mjs/domUtils/normalizeRect.d.ts +7 -0
  352. package/lib-mjs/domUtils/normalizeRect.js +17 -0
  353. package/lib-mjs/domUtils/normalizeRect.js.map +1 -0
  354. package/lib-mjs/domUtils/reuseCachedElement.js.map +1 -1
  355. package/lib-mjs/domUtils/toArray.d.ts +5 -5
  356. package/lib-mjs/domUtils/toArray.js +1 -1
  357. package/lib-mjs/domUtils/toArray.js.map +1 -1
  358. package/lib-mjs/domUtils/unwrap.js.map +1 -1
  359. package/lib-mjs/domUtils/wrap.js.map +1 -1
  360. package/lib-mjs/formatHandlers/FormatHandler.js.map +1 -1
  361. package/lib-mjs/formatHandlers/block/directionFormatHandler.js.map +1 -1
  362. package/lib-mjs/formatHandlers/block/displayFormatHandler.js.map +1 -1
  363. package/lib-mjs/formatHandlers/block/htmlAlignFormatHandler.js.map +1 -1
  364. package/lib-mjs/formatHandlers/block/lineHeightFormatHandler.js.map +1 -1
  365. package/lib-mjs/formatHandlers/block/marginFormatHandler.js.map +1 -1
  366. package/lib-mjs/formatHandlers/block/paddingFormatHandler.js.map +1 -1
  367. package/lib-mjs/formatHandlers/block/textAlignFormatHandler.js.map +1 -1
  368. package/lib-mjs/formatHandlers/block/textIndentFormatHandler.js.map +1 -1
  369. package/lib-mjs/formatHandlers/block/whiteSpaceFormatHandler.js.map +1 -1
  370. package/lib-mjs/formatHandlers/common/backgroundColorFormatHandler.js.map +1 -1
  371. package/lib-mjs/formatHandlers/common/borderBoxFormatHandler.js.map +1 -1
  372. package/lib-mjs/formatHandlers/common/borderFormatHandler.js.map +1 -1
  373. package/lib-mjs/formatHandlers/common/boxShadowFormatHandler.js.map +1 -1
  374. package/lib-mjs/formatHandlers/common/datasetFormatHandler.js.map +1 -1
  375. package/lib-mjs/formatHandlers/common/floatFormatHandler.js.map +1 -1
  376. package/lib-mjs/formatHandlers/common/idFormatHandler.js.map +1 -1
  377. package/lib-mjs/formatHandlers/common/sizeFormatHandler.js.map +1 -1
  378. package/lib-mjs/formatHandlers/common/verticalAlignFormatHandler.js.map +1 -1
  379. package/lib-mjs/formatHandlers/common/wordBreakFormatHandler.js.map +1 -1
  380. package/lib-mjs/formatHandlers/defaultFormatHandlers.js.map +1 -1
  381. package/lib-mjs/formatHandlers/entity/entityFormatHandler.js.map +1 -1
  382. package/lib-mjs/formatHandlers/list/listItemThreadFormatHandler.js.map +1 -1
  383. package/lib-mjs/formatHandlers/list/listLevelThreadFormatHandler.js.map +1 -1
  384. package/lib-mjs/formatHandlers/list/listStyleFormatHandler.js.map +1 -1
  385. package/lib-mjs/formatHandlers/segment/boldFormatHandler.js.map +1 -1
  386. package/lib-mjs/formatHandlers/segment/fontFamilyFormatHandler.js.map +1 -1
  387. package/lib-mjs/formatHandlers/segment/fontSizeFormatHandler.js.map +1 -1
  388. package/lib-mjs/formatHandlers/segment/italicFormatHandler.js.map +1 -1
  389. package/lib-mjs/formatHandlers/segment/letterSpacingFormatHandler.js.map +1 -1
  390. package/lib-mjs/formatHandlers/segment/linkFormatHandler.js.map +1 -1
  391. package/lib-mjs/formatHandlers/segment/strikeFormatHandler.js.map +1 -1
  392. package/lib-mjs/formatHandlers/segment/superOrSubScriptFormatHandler.js.map +1 -1
  393. package/lib-mjs/formatHandlers/segment/textColorFormatHandler.js.map +1 -1
  394. package/lib-mjs/formatHandlers/segment/underlineFormatHandler.js.map +1 -1
  395. package/lib-mjs/formatHandlers/table/tableLayoutFormatHandler.js.map +1 -1
  396. package/lib-mjs/formatHandlers/table/tableSpacingFormatHandler.js.map +1 -1
  397. package/lib-mjs/formatHandlers/table/textColorOnTableCellFormatHandler.js.map +1 -1
  398. package/lib-mjs/formatHandlers/utils/color.js.map +1 -1
  399. package/lib-mjs/formatHandlers/utils/dir.d.ts +1 -1
  400. package/lib-mjs/formatHandlers/utils/dir.js.map +1 -1
  401. package/lib-mjs/formatHandlers/utils/parseValueWithUnit.js.map +1 -1
  402. package/lib-mjs/formatHandlers/utils/shouldSetValue.js.map +1 -1
  403. package/lib-mjs/index.d.ts +2 -1
  404. package/lib-mjs/index.js +2 -1
  405. package/lib-mjs/index.js.map +1 -1
  406. package/lib-mjs/modelApi/block/setParagraphNotImplicit.js.map +1 -1
  407. package/lib-mjs/modelApi/common/addBlock.js.map +1 -1
  408. package/lib-mjs/modelApi/common/addDecorators.js.map +1 -1
  409. package/lib-mjs/modelApi/common/addSegment.js.map +1 -1
  410. package/lib-mjs/modelApi/common/ensureParagraph.js.map +1 -1
  411. package/lib-mjs/modelApi/common/hasSpacesOnly.js.map +1 -1
  412. package/lib-mjs/modelApi/common/hasSpacesOnlyTest.js.map +1 -1
  413. package/lib-mjs/modelApi/common/isEmpty.js.map +1 -1
  414. package/lib-mjs/modelApi/common/isGeneralSegment.js.map +1 -1
  415. package/lib-mjs/modelApi/common/normalizeContentModel.js.map +1 -1
  416. package/lib-mjs/modelApi/common/normalizeParagraph.js.map +1 -1
  417. package/lib-mjs/modelApi/common/normalizeSegment.js.map +1 -1
  418. package/lib-mjs/modelApi/common/unwrapBlock.js.map +1 -1
  419. package/lib-mjs/modelApi/creators/createBr.js.map +1 -1
  420. package/lib-mjs/modelApi/creators/createContentModelDocument.js.map +1 -1
  421. package/lib-mjs/modelApi/creators/createDivider.js.map +1 -1
  422. package/lib-mjs/modelApi/creators/createEmptyModel.js.map +1 -1
  423. package/lib-mjs/modelApi/creators/createEntity.js.map +1 -1
  424. package/lib-mjs/modelApi/creators/createFormatContainer.js.map +1 -1
  425. package/lib-mjs/modelApi/creators/createGeneralBlock.js.map +1 -1
  426. package/lib-mjs/modelApi/creators/createGeneralSegment.js.map +1 -1
  427. package/lib-mjs/modelApi/creators/createImage.js.map +1 -1
  428. package/lib-mjs/modelApi/creators/createListItem.js.map +1 -1
  429. package/lib-mjs/modelApi/creators/createListLevel.js.map +1 -1
  430. package/lib-mjs/modelApi/creators/createParagraph.js.map +1 -1
  431. package/lib-mjs/modelApi/creators/createParagraphDecorator.js.map +1 -1
  432. package/lib-mjs/modelApi/creators/createSelectionMarker.js.map +1 -1
  433. package/lib-mjs/modelApi/creators/createTable.js.map +1 -1
  434. package/lib-mjs/modelApi/creators/createTableCell.js.map +1 -1
  435. package/lib-mjs/modelApi/creators/createText.js.map +1 -1
  436. package/lib-mjs/modelToDom/contentModelToDom.js +1 -1
  437. package/lib-mjs/modelToDom/contentModelToDom.js.map +1 -1
  438. package/lib-mjs/modelToDom/context/createModelToDomContext.js.map +1 -1
  439. package/lib-mjs/modelToDom/context/defaultContentModelHandlers.js.map +1 -1
  440. package/lib-mjs/modelToDom/handlers/handleBlock.js.map +1 -1
  441. package/lib-mjs/modelToDom/handlers/handleBlockGroupChildren.js.map +1 -1
  442. package/lib-mjs/modelToDom/handlers/handleBr.js.map +1 -1
  443. package/lib-mjs/modelToDom/handlers/handleDivider.js.map +1 -1
  444. package/lib-mjs/modelToDom/handlers/handleEntity.js.map +1 -1
  445. package/lib-mjs/modelToDom/handlers/handleFormatContainer.js.map +1 -1
  446. package/lib-mjs/modelToDom/handlers/handleGeneralModel.js.map +1 -1
  447. package/lib-mjs/modelToDom/handlers/handleImage.js.map +1 -1
  448. package/lib-mjs/modelToDom/handlers/handleList.js.map +1 -1
  449. package/lib-mjs/modelToDom/handlers/handleListItem.js.map +1 -1
  450. package/lib-mjs/modelToDom/handlers/handleParagraph.js.map +1 -1
  451. package/lib-mjs/modelToDom/handlers/handleSegment.js.map +1 -1
  452. package/lib-mjs/modelToDom/handlers/handleSegmentDecorator.js.map +1 -1
  453. package/lib-mjs/modelToDom/handlers/handleTable.js.map +1 -1
  454. package/lib-mjs/modelToDom/handlers/handleText.js.map +1 -1
  455. package/lib-mjs/modelToDom/optimizers/mergeNode.js.map +1 -1
  456. package/lib-mjs/modelToDom/optimizers/optimize.js.map +1 -1
  457. package/lib-mjs/modelToDom/optimizers/removeUnnecessarySpan.js.map +1 -1
  458. package/lib-mjs/modelToDom/utils/applyFormat.js.map +1 -1
  459. package/lib-mjs/modelToDom/utils/applyMetadata.js.map +1 -1
  460. package/lib-mjs/modelToDom/utils/handleSegmentCommon.js.map +1 -1
  461. package/lib-mjs/modelToDom/utils/stackFormat.js.map +1 -1
  462. package/lib-mjs/modelToText/contentModelToText.js.map +1 -1
  463. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"defaultContentModelFormatMap.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-dom/lib/config/defaultContentModelFormatMap.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,4BAA4B,GAA6B;IAClE,CAAC,EAAE;QACC,SAAS,EAAE,IAAI;KAClB;IACD,UAAU,EAAE;QACR,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,MAAM;KACtB;IACD,IAAI,EAAE;QACF,UAAU,EAAE,WAAW;KAC1B;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,KAAK;KAClB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,OAAO;KACpB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,KAAK,EAAE,wFAAwF;KAC5G;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,CAAC,EAAE;QACC,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACtB;IACD,GAAG,EAAE;QACD,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACtB;CACJ,CAAC","sourcesContent":["import type { DefaultImplicitFormatMap } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * A map from tag name to its default implicit formats\n */\nexport const defaultContentModelFormatMap: DefaultImplicitFormatMap = {\n a: {\n underline: true,\n },\n blockquote: {\n marginTop: '1em',\n marginBottom: '1em',\n marginLeft: '40px',\n marginRight: '40px',\n },\n code: {\n fontFamily: 'monospace',\n },\n h1: {\n fontWeight: 'bold',\n fontSize: '2em',\n },\n h2: {\n fontWeight: 'bold',\n fontSize: '1.5em',\n },\n h3: {\n fontWeight: 'bold',\n fontSize: '1.17em',\n },\n h4: {\n fontWeight: 'bold',\n fontSize: '1em', // Set this default value here to overwrite existing font size when change heading level\n },\n h5: {\n fontWeight: 'bold',\n fontSize: '0.83em',\n },\n h6: {\n fontWeight: 'bold',\n fontSize: '0.67em',\n },\n p: {\n marginTop: '1em',\n marginBottom: '1em',\n },\n pre: {\n fontFamily: 'monospace',\n whiteSpace: 'pre',\n marginTop: '1em',\n marginBottom: '1em',\n },\n};\n"]}
1
+ {"version":3,"file":"defaultContentModelFormatMap.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/config/defaultContentModelFormatMap.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,4BAA4B,GAA6B;IAClE,CAAC,EAAE;QACC,SAAS,EAAE,IAAI;KAClB;IACD,UAAU,EAAE;QACR,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,MAAM;KACtB;IACD,IAAI,EAAE;QACF,UAAU,EAAE,WAAW;KAC1B;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,KAAK;KAClB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,OAAO;KACpB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,KAAK,EAAE,wFAAwF;KAC5G;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,EAAE,EAAE;QACA,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;KACrB;IACD,CAAC,EAAE;QACC,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACtB;IACD,GAAG,EAAE;QACD,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACtB;CACJ,CAAC","sourcesContent":["import type { DefaultImplicitFormatMap } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * A map from tag name to its default implicit formats\n */\nexport const defaultContentModelFormatMap: DefaultImplicitFormatMap = {\n a: {\n underline: true,\n },\n blockquote: {\n marginTop: '1em',\n marginBottom: '1em',\n marginLeft: '40px',\n marginRight: '40px',\n },\n code: {\n fontFamily: 'monospace',\n },\n h1: {\n fontWeight: 'bold',\n fontSize: '2em',\n },\n h2: {\n fontWeight: 'bold',\n fontSize: '1.5em',\n },\n h3: {\n fontWeight: 'bold',\n fontSize: '1.17em',\n },\n h4: {\n fontWeight: 'bold',\n fontSize: '1em', // Set this default value here to overwrite existing font size when change heading level\n },\n h5: {\n fontWeight: 'bold',\n fontSize: '0.83em',\n },\n h6: {\n fontWeight: 'bold',\n fontSize: '0.67em',\n },\n p: {\n marginTop: '1em',\n marginBottom: '1em',\n },\n pre: {\n fontFamily: 'monospace',\n whiteSpace: 'pre',\n marginTop: '1em',\n marginBottom: '1em',\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultHTMLStyleMap.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-dom/lib/config/defaultHTMLStyleMap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DefaultStyleMap } from 'roosterjs-content-model-types';\n\nconst blockElement: Partial<CSSStyleDeclaration> = {\n display: 'block',\n};\n\n/**\n * @internal\n */\nexport const defaultHTMLStyleMap: DefaultStyleMap = {\n address: blockElement,\n article: blockElement,\n aside: blockElement,\n b: {\n fontWeight: 'bold',\n },\n blockquote: {\n display: 'block',\n marginTop: '1em',\n marginBottom: '1em',\n marginLeft: '40px',\n marginRight: '40px',\n },\n br: blockElement,\n center: {\n display: 'block',\n textAlign: 'center',\n },\n dd: blockElement,\n div: blockElement,\n dl: blockElement,\n dt: blockElement,\n em: {\n fontStyle: 'italic',\n },\n fieldset: blockElement,\n figcaption: blockElement,\n figure: blockElement,\n footer: blockElement,\n form: blockElement,\n h1: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '2em',\n },\n h2: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '1.5em',\n },\n h3: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '1.17em',\n },\n h4: {\n display: 'block',\n fontWeight: 'bold',\n },\n h5: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '0.83em',\n },\n h6: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '0.67em',\n },\n header: blockElement,\n hr: blockElement,\n i: {\n fontStyle: 'italic',\n },\n li: {\n display: 'list-item',\n },\n main: blockElement,\n nav: blockElement,\n ol: { ...blockElement, paddingInlineStart: '40px' },\n p: {\n display: 'block',\n marginTop: '1em',\n marginBottom: '1em',\n },\n pre: {\n display: 'block',\n fontFamily: 'monospace',\n whiteSpace: 'pre',\n marginTop: '1em',\n marginBottom: '1em',\n },\n s: {\n textDecoration: 'line-through',\n },\n section: blockElement,\n strike: {\n textDecoration: 'line-through',\n },\n strong: {\n fontWeight: 'bold',\n },\n sub: {\n verticalAlign: 'sub',\n fontSize: 'smaller',\n },\n sup: {\n verticalAlign: 'super',\n fontSize: 'smaller',\n },\n table: {\n display: 'table',\n boxSizing: 'border-box',\n },\n td: {\n display: 'table-cell',\n },\n th: {\n display: 'table-cell',\n },\n u: {\n textDecoration: 'underline',\n },\n ul: { ...blockElement, paddingInlineStart: '40px' },\n};\n"]}
1
+ {"version":3,"file":"defaultHTMLStyleMap.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/config/defaultHTMLStyleMap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DefaultStyleMap } from 'roosterjs-content-model-types';\n\nconst blockElement: Partial<CSSStyleDeclaration> = {\n display: 'block',\n};\n\n/**\n * @internal\n */\nexport const defaultHTMLStyleMap: DefaultStyleMap = {\n address: blockElement,\n article: blockElement,\n aside: blockElement,\n b: {\n fontWeight: 'bold',\n },\n blockquote: {\n display: 'block',\n marginTop: '1em',\n marginBottom: '1em',\n marginLeft: '40px',\n marginRight: '40px',\n },\n br: blockElement,\n center: {\n display: 'block',\n textAlign: 'center',\n },\n dd: blockElement,\n div: blockElement,\n dl: blockElement,\n dt: blockElement,\n em: {\n fontStyle: 'italic',\n },\n fieldset: blockElement,\n figcaption: blockElement,\n figure: blockElement,\n footer: blockElement,\n form: blockElement,\n h1: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '2em',\n },\n h2: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '1.5em',\n },\n h3: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '1.17em',\n },\n h4: {\n display: 'block',\n fontWeight: 'bold',\n },\n h5: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '0.83em',\n },\n h6: {\n display: 'block',\n fontWeight: 'bold',\n fontSize: '0.67em',\n },\n header: blockElement,\n hr: blockElement,\n i: {\n fontStyle: 'italic',\n },\n li: {\n display: 'list-item',\n },\n main: blockElement,\n nav: blockElement,\n ol: { ...blockElement, paddingInlineStart: '40px' },\n p: {\n display: 'block',\n marginTop: '1em',\n marginBottom: '1em',\n },\n pre: {\n display: 'block',\n fontFamily: 'monospace',\n whiteSpace: 'pre',\n marginTop: '1em',\n marginBottom: '1em',\n },\n s: {\n textDecoration: 'line-through',\n },\n section: blockElement,\n strike: {\n textDecoration: 'line-through',\n },\n strong: {\n fontWeight: 'bold',\n },\n sub: {\n verticalAlign: 'sub',\n fontSize: 'smaller',\n },\n sup: {\n verticalAlign: 'super',\n fontSize: 'smaller',\n },\n table: {\n display: 'table',\n boxSizing: 'border-box',\n },\n td: {\n display: 'table-cell',\n },\n th: {\n display: 'table-cell',\n },\n u: {\n textDecoration: 'underline',\n },\n ul: { ...blockElement, paddingInlineStart: '40px' },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"createDomToModelContext.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/context/createDomToModelContext.ts"],"names":[],"mappings":";;;;AAAA,yDAA0D;AAC1D,8DAA6D;AAC7D,oFAGoD;AAgBpD;;;;GAIG;AACH,SAAgB,uBAAuB,CACnC,aAA6B;IAC7B,iBAA4C;SAA5C,UAA4C,EAA5C,qBAA4C,EAA5C,IAA4C;QAA5C,gCAA4C;;IAE5C,OAAO,iCAAiC,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7F,CAAC;AALD,0DAKC;AAED;;;;GAIG;AACH,SAAgB,iCAAiC,CAC7C,MAA0B,EAC1B,aAA6B;IAE7B,OAAO,MAAM,CAAC,MAAM,CAChB,EAAE,EACF,aAAa,EACb,gCAAgC,EAAE,EAClC,6BAA6B,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,EACvD,gCAAgC,EAAE,EAClC,MAAM,CACT,CAAC;AACN,CAAC;AAZD,8EAYC;AAED,SAAS,gCAAgC;IACrC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAmB;IACtD,IAAM,WAAW,GAA4B,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,OAAO;QACH,WAAW,aAAA;QACX,aAAa,EAAE,EAAE;QAEjB,UAAU,EAAE;YACR,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,EAAE;SACvB;KACJ,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC;IACrC,OAAO;QACH,IAAI,EAAE;YACF,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACd;QACD,IAAI,EAAE;YACF,MAAM,EAAE,EAAE;SACb;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACd;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAClC,OAAyC;IAEzC,OAAO;QACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,OAAb,MAAM,8BACrB,EAAE;YACF,uCAAmB,uBAChB,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,iBAAiB,EAApB,CAAoB,CAAC,UAC5C;QACD,aAAa,EAAE,kBAAkB,CAC7B,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,EAAvB,CAAuB,CAAC,EACzC,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,uBAAuB,EAA1B,CAA0B,CAAC,CAC/C;QACD,wBAAwB,EAAE,uCAAmB;QAC7C,oBAAoB,8CAAA;KACvB,CAAC;AACN,CAAC;AAhBD,wDAgBC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAC9B,SAAsD,EACtD,sBAA8E;IAD9E,0BAAA,EAAA,cAAsD;IACtD,uCAAA,EAAA,2BAA8E;IAE9E,IAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,OAAb,MAAM,8BAAQ,EAAE,uBAAK,SAAS,UAAC,CAAC;IAE1D,IAAM,MAAM,GAAG,IAAA,6BAAa,EAAC,oDAA4B,CAAC,CAAC,MAAM,CAC7D,UAAC,MAAM,EAAE,GAAG;;QACR,IAAM,KAAK,GAAG,CAAA,KAAA,oDAA4B,CAAC,GAAG,CAAC;aAC1C,GAAG,CACA,UAAA,SAAS;YACL,OAAA,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,SAAS;gBACvC,CAAC,CAAC,4CAAoB,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAsB;QAFxD,CAEwD,CAC/D,CAAA;aACA,MAAM,8DACA,sBAAsB,CAAC,GAAG,CACzB,UAAA,OAAO,YAAI,OAAA,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,CAAC,mCAAI,EAAE,CAAwB,CAAA,EAAA,CAC3D,UACJ,CAAC;QAEN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAEpB,OAAO,MAAM,CAAC;IAClB,CAAC,EACD;QACI,IAAI,EAAE,EAAwB;KACL,CAChC,CAAC;IAEF,sBAAsB,CAAC,OAAO,CAAC,UAAA,OAAO;QAClC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;YACf,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AArCD,gDAqCC","sourcesContent":["import { defaultProcessorMap } from './defaultProcessors';\nimport { getObjectKeys } from '../../domUtils/getObjectKeys';\nimport {\n defaultFormatKeysPerCategory,\n defaultFormatParsers,\n} from '../../formatHandlers/defaultFormatHandlers';\nimport type {\n ContentModelBlockFormat,\n DomToModelContext,\n DomToModelDecoratorContext,\n DomToModelFormatContext,\n DomToModelOption,\n DomToModelSelectionContext,\n DomToModelSettings,\n EditorContext,\n FormatParser,\n FormatParsers,\n FormatParsersPerCategory,\n TextFormatParser,\n} from 'roosterjs-content-model-types';\n\n/**\n * Create context object for DOM to Content Model conversion\n * @param editorContext Context of editor\n * @param options Option array to customize the DOM to Model conversion behavior\n */\nexport function createDomToModelContext(\n editorContext?: EditorContext,\n ...options: (DomToModelOption | undefined)[]\n): DomToModelContext {\n return createDomToModelContextWithConfig(createDomToModelConfig(options), editorContext);\n}\n\n/**\n * Create context object for DOM to Content Model conversion with an existing configure\n * @param config A full config object to define how to convert DOM tree to Content Model\n * @param editorContext Context of editor\n */\nexport function createDomToModelContextWithConfig(\n config: DomToModelSettings,\n editorContext?: EditorContext\n) {\n return Object.assign(\n {},\n editorContext,\n createDomToModelSelectionContext(),\n createDomToModelFormatContext(editorContext?.isRootRtl),\n createDomToModelDecoratorContext(),\n config\n );\n}\n\nfunction createDomToModelSelectionContext(): DomToModelSelectionContext {\n return { isInSelection: false };\n}\n\nfunction createDomToModelFormatContext(isRootRtl?: boolean): DomToModelFormatContext {\n const blockFormat: ContentModelBlockFormat = isRootRtl ? { direction: 'rtl' } : {};\n\n return {\n blockFormat,\n segmentFormat: {},\n\n listFormat: {\n levels: [],\n threadItemCounts: [],\n },\n };\n}\n\nfunction createDomToModelDecoratorContext(): DomToModelDecoratorContext {\n return {\n link: {\n format: {},\n dataset: {},\n },\n code: {\n format: {},\n },\n blockDecorator: {\n format: {},\n tagName: '',\n },\n };\n}\n\n/**\n * Create Dom to Content Model Config object\n * @param options All customizations of content model creation\n */\nexport function createDomToModelConfig(\n options: (DomToModelOption | undefined)[]\n): DomToModelSettings {\n return {\n elementProcessors: Object.assign(\n {},\n defaultProcessorMap,\n ...options.map(x => x?.processorOverride)\n ),\n formatParsers: buildFormatParsers(\n options.map(x => x?.formatParserOverride),\n options.map(x => x?.additionalFormatParsers)\n ),\n defaultElementProcessors: defaultProcessorMap,\n defaultFormatParsers,\n };\n}\n\n/**\n * @internal Export for test only\n * Build format parsers used by DOM to Content Model conversion\n * @param override\n * @param additionalParsersArray\n * @returns\n */\nexport function buildFormatParsers(\n overrides: (Partial<FormatParsers> | undefined)[] = [],\n additionalParsersArray: (Partial<FormatParsersPerCategory> | undefined)[] = []\n): FormatParsersPerCategory {\n const combinedOverrides = Object.assign({}, ...overrides);\n\n const result = getObjectKeys(defaultFormatKeysPerCategory).reduce(\n (result, key) => {\n const value = defaultFormatKeysPerCategory[key]\n .map(\n formatKey =>\n (combinedOverrides[formatKey] === undefined\n ? defaultFormatParsers[formatKey]\n : combinedOverrides[formatKey]) as FormatParser<any>\n )\n .concat(\n ...additionalParsersArray.map(\n parsers => (parsers?.[key] ?? []) as FormatParser<any>[]\n )\n );\n\n result[key] = value;\n\n return result;\n },\n {\n text: [] as TextFormatParser[],\n } as FormatParsersPerCategory\n );\n\n additionalParsersArray.forEach(parsers => {\n if (parsers?.text) {\n result.text = result.text.concat(parsers.text);\n }\n });\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"createDomToModelContext.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/context/createDomToModelContext.ts"],"names":[],"mappings":";;;;AAAA,yDAA0D;AAC1D,8DAA6D;AAC7D,oFAGoD;AAgBpD;;;;GAIG;AACH,SAAgB,uBAAuB,CACnC,aAA6B;IAC7B,iBAA4C;SAA5C,UAA4C,EAA5C,qBAA4C,EAA5C,IAA4C;QAA5C,gCAA4C;;IAE5C,OAAO,iCAAiC,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7F,CAAC;AALD,0DAKC;AAED;;;;GAIG;AACH,SAAgB,iCAAiC,CAC7C,MAA0B,EAC1B,aAA6B;IAE7B,OAAO,MAAM,CAAC,MAAM,CAChB,EAAE,EACF,aAAa,EACb,gCAAgC,EAAE,EAClC,6BAA6B,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,EACvD,gCAAgC,EAAE,EAClC,MAAM,CACT,CAAC;AACN,CAAC;AAZD,8EAYC;AAED,SAAS,gCAAgC;IACrC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAmB;IACtD,IAAM,WAAW,GAA4B,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,OAAO;QACH,WAAW,aAAA;QACX,aAAa,EAAE,EAAE;QAEjB,UAAU,EAAE;YACR,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,EAAE;SACvB;KACJ,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC;IACrC,OAAO;QACH,IAAI,EAAE;YACF,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACd;QACD,IAAI,EAAE;YACF,MAAM,EAAE,EAAE;SACb;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACd;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAClC,OAAyC;IAEzC,OAAO;QACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,OAAb,MAAM,8BACrB,EAAE;YACF,uCAAmB,uBAChB,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,iBAAiB,EAApB,CAAoB,CAAC,UAC5C;QACD,aAAa,EAAE,kBAAkB,CAC7B,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,EAAvB,CAAuB,CAAC,EACzC,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,uBAAuB,EAA1B,CAA0B,CAAC,CAC/C;QACD,wBAAwB,EAAE,uCAAmB;QAC7C,oBAAoB,8CAAA;KACvB,CAAC;AACN,CAAC;AAhBD,wDAgBC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAC9B,SAAsD,EACtD,sBAA8E;IAD9E,0BAAA,EAAA,cAAsD;IACtD,uCAAA,EAAA,2BAA8E;IAE9E,IAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,OAAb,MAAM,8BAAQ,EAAE,uBAAK,SAAS,UAAC,CAAC;IAE1D,IAAM,MAAM,GAAG,IAAA,6BAAa,EAAC,oDAA4B,CAAC,CAAC,MAAM,CAC7D,UAAC,MAAM,EAAE,GAAG;;QACR,IAAM,KAAK,GAAG,CAAA,KAAA,oDAA4B,CAAC,GAAG,CAAC;aAC1C,GAAG,CACA,UAAA,SAAS;YACL,OAAA,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,SAAS;gBACvC,CAAC,CAAC,4CAAoB,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAsB;QAFxD,CAEwD,CAC/D,CAAA;aACA,MAAM,8DACA,sBAAsB,CAAC,GAAG,CACzB,UAAA,OAAO,YAAI,OAAA,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,CAAC,mCAAI,EAAE,CAAwB,CAAA,EAAA,CAC3D,UACJ,CAAC;QAEN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAEpB,OAAO,MAAM,CAAC;IAClB,CAAC,EACD;QACI,IAAI,EAAE,EAAwB;KACL,CAChC,CAAC;IAEF,sBAAsB,CAAC,OAAO,CAAC,UAAA,OAAO;QAClC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;YACf,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AArCD,gDAqCC","sourcesContent":["import { defaultProcessorMap } from './defaultProcessors';\nimport { getObjectKeys } from '../../domUtils/getObjectKeys';\nimport {\n defaultFormatKeysPerCategory,\n defaultFormatParsers,\n} from '../../formatHandlers/defaultFormatHandlers';\nimport type {\n ContentModelBlockFormat,\n DomToModelContext,\n DomToModelDecoratorContext,\n DomToModelFormatContext,\n DomToModelOption,\n DomToModelSelectionContext,\n DomToModelSettings,\n EditorContext,\n FormatParser,\n FormatParsers,\n FormatParsersPerCategory,\n TextFormatParser,\n} from 'roosterjs-content-model-types';\n\n/**\n * Create context object for DOM to Content Model conversion\n * @param editorContext Context of editor\n * @param options Option array to customize the DOM to Model conversion behavior\n */\nexport function createDomToModelContext(\n editorContext?: EditorContext,\n ...options: (DomToModelOption | undefined)[]\n): DomToModelContext {\n return createDomToModelContextWithConfig(createDomToModelConfig(options), editorContext);\n}\n\n/**\n * Create context object for DOM to Content Model conversion with an existing configure\n * @param config A full config object to define how to convert DOM tree to Content Model\n * @param editorContext Context of editor\n */\nexport function createDomToModelContextWithConfig(\n config: DomToModelSettings,\n editorContext?: EditorContext\n) {\n return Object.assign(\n {},\n editorContext,\n createDomToModelSelectionContext(),\n createDomToModelFormatContext(editorContext?.isRootRtl),\n createDomToModelDecoratorContext(),\n config\n );\n}\n\nfunction createDomToModelSelectionContext(): DomToModelSelectionContext {\n return { isInSelection: false };\n}\n\nfunction createDomToModelFormatContext(isRootRtl?: boolean): DomToModelFormatContext {\n const blockFormat: ContentModelBlockFormat = isRootRtl ? { direction: 'rtl' } : {};\n\n return {\n blockFormat,\n segmentFormat: {},\n\n listFormat: {\n levels: [],\n threadItemCounts: [],\n },\n };\n}\n\nfunction createDomToModelDecoratorContext(): DomToModelDecoratorContext {\n return {\n link: {\n format: {},\n dataset: {},\n },\n code: {\n format: {},\n },\n blockDecorator: {\n format: {},\n tagName: '',\n },\n };\n}\n\n/**\n * Create Dom to Content Model Config object\n * @param options All customizations of content model creation\n */\nexport function createDomToModelConfig(\n options: (DomToModelOption | undefined)[]\n): DomToModelSettings {\n return {\n elementProcessors: Object.assign(\n {},\n defaultProcessorMap,\n ...options.map(x => x?.processorOverride)\n ),\n formatParsers: buildFormatParsers(\n options.map(x => x?.formatParserOverride),\n options.map(x => x?.additionalFormatParsers)\n ),\n defaultElementProcessors: defaultProcessorMap,\n defaultFormatParsers,\n };\n}\n\n/**\n * @internal Export for test only\n * Build format parsers used by DOM to Content Model conversion\n * @param override\n * @param additionalParsersArray\n * @returns\n */\nexport function buildFormatParsers(\n overrides: (Partial<FormatParsers> | undefined)[] = [],\n additionalParsersArray: (Partial<FormatParsersPerCategory> | undefined)[] = []\n): FormatParsersPerCategory {\n const combinedOverrides = Object.assign({}, ...overrides);\n\n const result = getObjectKeys(defaultFormatKeysPerCategory).reduce(\n (result, key) => {\n const value = defaultFormatKeysPerCategory[key]\n .map(\n formatKey =>\n (combinedOverrides[formatKey] === undefined\n ? defaultFormatParsers[formatKey]\n : combinedOverrides[formatKey]) as FormatParser<any>\n )\n .concat(\n ...additionalParsersArray.map(\n parsers => (parsers?.[key] ?? []) as FormatParser<any>[]\n )\n );\n\n result[key] = value;\n\n return result;\n },\n {\n text: [] as TextFormatParser[],\n } as FormatParsersPerCategory\n );\n\n additionalParsersArray.forEach(parsers => {\n if (parsers?.text) {\n result.text = result.text.concat(parsers.text);\n }\n });\n\n return result;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProcessors.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/context/defaultProcessors.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AACxD,+DAA8D;AAC9D,6DAA4D;AAC5D,uEAAsE;AACtE,mEAAkE;AAClE,iEAAgE;AAChE,6DAA4D;AAC5D,mFAAkF;AAClF,mEAAkE;AAClE,mEAAkE;AAClE,yDAAwD;AACxD,+DAA8D;AAC9D,6EAA4E;AAC5E,6DAA4D;AAC5D,qEAAoE;AACpE,6DAA4D;AAC5D,uDAAsD;AACtD,+DAA8D;AAC9D,6DAA4D;AAG5D;;GAEG;AACU,QAAA,mBAAmB,GAAwB;IACpD,CAAC,EAAE,6BAAa;IAChB,CAAC,EAAE,6CAAqB;IACxB,UAAU,EAAE,6CAAqB;IACjC,EAAE,EAAE,yBAAW;IACf,IAAI,EAAE,6BAAa;IACnB,GAAG,EAAE,6CAAqB;IAC1B,EAAE,EAAE,6CAAqB;IACzB,IAAI,EAAE,6BAAa;IACnB,CAAC,EAAE,6CAAqB;IACxB,GAAG,EAAE,+BAAc;IACnB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,yBAAW;IACf,EAAE,EAAE,qCAAiB;IACrB,EAAE,EAAE,6BAAa;IACjB,CAAC,EAAE,uBAAU;IACb,GAAG,EAAE,mDAAwB;IAC7B,CAAC,EAAE,6CAAqB;IACxB,OAAO,EAAE,6CAAqB;IAC9B,IAAI,EAAE,6CAAqB;IAC3B,MAAM,EAAE,6CAAqB;IAC7B,MAAM,EAAE,6CAAqB;IAC7B,GAAG,EAAE,6CAAqB;IAC1B,GAAG,EAAE,6CAAqB;IAC1B,KAAK,EAAE,+BAAc;IACrB,CAAC,EAAE,6CAAqB;IACxB,EAAE,EAAE,6BAAa;IAEjB,GAAG,EAAE,mCAAgB;IACrB,OAAO,EAAE,6BAAa;IACtB,OAAO,EAAE,mCAAgB;IACzB,MAAM,EAAE,iCAAe;IACvB,KAAK,EAAE,+BAAc;IACrB,SAAS,EAAE,uCAAkB;CAChC,CAAC","sourcesContent":["import { brProcessor } from '../processors/brProcessor';\nimport { childProcessor } from '../processors/childProcessor';\nimport { codeProcessor } from '../processors/codeProcessor';\nimport { delimiterProcessor } from '../processors/delimiterProcessor';\nimport { elementProcessor } from '../processors/elementProcessor';\nimport { entityProcessor } from '../processors/entityProcessor';\nimport { fontProcessor } from '../processors/fontProcessor';\nimport { formatContainerProcessor } from '../processors/formatContainerProcessor';\nimport { generalProcessor } from '../processors/generalProcessor';\nimport { headingProcessor } from '../processors/headingProcessor';\nimport { hrProcessor } from '../processors/hrProcessor';\nimport { imageProcessor } from '../processors/imageProcessor';\nimport { knownElementProcessor } from '../processors/knownElementProcessor';\nimport { linkProcessor } from '../processors/linkProcessor';\nimport { listItemProcessor } from '../processors/listItemProcessor';\nimport { listProcessor } from '../processors/listProcessor';\nimport { pProcessor } from '../processors/pProcessor';\nimport { tableProcessor } from '../processors/tableProcessor';\nimport { textProcessor } from '../processors/textProcessor';\nimport type { ElementProcessorMap } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const defaultProcessorMap: ElementProcessorMap = {\n a: linkProcessor,\n b: knownElementProcessor,\n blockquote: knownElementProcessor,\n br: brProcessor,\n code: codeProcessor,\n div: knownElementProcessor,\n em: knownElementProcessor,\n font: fontProcessor,\n i: knownElementProcessor,\n img: imageProcessor,\n h1: headingProcessor,\n h2: headingProcessor,\n h3: headingProcessor,\n h4: headingProcessor,\n h5: headingProcessor,\n h6: headingProcessor,\n hr: hrProcessor,\n li: listItemProcessor,\n ol: listProcessor,\n p: pProcessor,\n pre: formatContainerProcessor,\n s: knownElementProcessor,\n section: knownElementProcessor,\n span: knownElementProcessor,\n strike: knownElementProcessor,\n strong: knownElementProcessor,\n sub: knownElementProcessor,\n sup: knownElementProcessor,\n table: tableProcessor,\n u: knownElementProcessor,\n ul: listProcessor,\n\n '*': generalProcessor,\n '#text': textProcessor,\n element: elementProcessor,\n entity: entityProcessor,\n child: childProcessor,\n delimiter: delimiterProcessor,\n};\n"]}
1
+ {"version":3,"file":"defaultProcessors.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/context/defaultProcessors.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AACxD,+DAA8D;AAC9D,6DAA4D;AAC5D,uEAAsE;AACtE,mEAAkE;AAClE,iEAAgE;AAChE,6DAA4D;AAC5D,mFAAkF;AAClF,mEAAkE;AAClE,mEAAkE;AAClE,yDAAwD;AACxD,+DAA8D;AAC9D,6EAA4E;AAC5E,6DAA4D;AAC5D,qEAAoE;AACpE,6DAA4D;AAC5D,uDAAsD;AACtD,+DAA8D;AAC9D,6DAA4D;AAG5D;;GAEG;AACU,QAAA,mBAAmB,GAAwB;IACpD,CAAC,EAAE,6BAAa;IAChB,CAAC,EAAE,6CAAqB;IACxB,UAAU,EAAE,6CAAqB;IACjC,EAAE,EAAE,yBAAW;IACf,IAAI,EAAE,6BAAa;IACnB,GAAG,EAAE,6CAAqB;IAC1B,EAAE,EAAE,6CAAqB;IACzB,IAAI,EAAE,6BAAa;IACnB,CAAC,EAAE,6CAAqB;IACxB,GAAG,EAAE,+BAAc;IACnB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,mCAAgB;IACpB,EAAE,EAAE,yBAAW;IACf,EAAE,EAAE,qCAAiB;IACrB,EAAE,EAAE,6BAAa;IACjB,CAAC,EAAE,uBAAU;IACb,GAAG,EAAE,mDAAwB;IAC7B,CAAC,EAAE,6CAAqB;IACxB,OAAO,EAAE,6CAAqB;IAC9B,IAAI,EAAE,6CAAqB;IAC3B,MAAM,EAAE,6CAAqB;IAC7B,MAAM,EAAE,6CAAqB;IAC7B,GAAG,EAAE,6CAAqB;IAC1B,GAAG,EAAE,6CAAqB;IAC1B,KAAK,EAAE,+BAAc;IACrB,CAAC,EAAE,6CAAqB;IACxB,EAAE,EAAE,6BAAa;IAEjB,GAAG,EAAE,mCAAgB;IACrB,OAAO,EAAE,6BAAa;IACtB,OAAO,EAAE,mCAAgB;IACzB,MAAM,EAAE,iCAAe;IACvB,KAAK,EAAE,+BAAc;IACrB,SAAS,EAAE,uCAAkB;CAChC,CAAC","sourcesContent":["import { brProcessor } from '../processors/brProcessor';\nimport { childProcessor } from '../processors/childProcessor';\nimport { codeProcessor } from '../processors/codeProcessor';\nimport { delimiterProcessor } from '../processors/delimiterProcessor';\nimport { elementProcessor } from '../processors/elementProcessor';\nimport { entityProcessor } from '../processors/entityProcessor';\nimport { fontProcessor } from '../processors/fontProcessor';\nimport { formatContainerProcessor } from '../processors/formatContainerProcessor';\nimport { generalProcessor } from '../processors/generalProcessor';\nimport { headingProcessor } from '../processors/headingProcessor';\nimport { hrProcessor } from '../processors/hrProcessor';\nimport { imageProcessor } from '../processors/imageProcessor';\nimport { knownElementProcessor } from '../processors/knownElementProcessor';\nimport { linkProcessor } from '../processors/linkProcessor';\nimport { listItemProcessor } from '../processors/listItemProcessor';\nimport { listProcessor } from '../processors/listProcessor';\nimport { pProcessor } from '../processors/pProcessor';\nimport { tableProcessor } from '../processors/tableProcessor';\nimport { textProcessor } from '../processors/textProcessor';\nimport type { ElementProcessorMap } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const defaultProcessorMap: ElementProcessorMap = {\n a: linkProcessor,\n b: knownElementProcessor,\n blockquote: knownElementProcessor,\n br: brProcessor,\n code: codeProcessor,\n div: knownElementProcessor,\n em: knownElementProcessor,\n font: fontProcessor,\n i: knownElementProcessor,\n img: imageProcessor,\n h1: headingProcessor,\n h2: headingProcessor,\n h3: headingProcessor,\n h4: headingProcessor,\n h5: headingProcessor,\n h6: headingProcessor,\n hr: hrProcessor,\n li: listItemProcessor,\n ol: listProcessor,\n p: pProcessor,\n pre: formatContainerProcessor,\n s: knownElementProcessor,\n section: knownElementProcessor,\n span: knownElementProcessor,\n strike: knownElementProcessor,\n strong: knownElementProcessor,\n sub: knownElementProcessor,\n sup: knownElementProcessor,\n table: tableProcessor,\n u: knownElementProcessor,\n ul: listProcessor,\n\n '*': generalProcessor,\n '#text': textProcessor,\n element: elementProcessor,\n entity: entityProcessor,\n child: childProcessor,\n delimiter: delimiterProcessor,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"domToContentModel.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/domToContentModel.ts"],"names":[],"mappings":";;;AAAA,8FAA6F;AAC7F,kFAAiF;AAOjF;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC7B,IAAoC,EACpC,OAA0B,EAC1B,SAAwB;IAExB,IAAM,KAAK,GAAG,IAAA,uDAA0B,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAA,6CAAqB,EAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC;AACjB,CAAC;AAbD,8CAaC","sourcesContent":["import { createContentModelDocument } from '../modelApi/creators/createContentModelDocument';\nimport { normalizeContentModel } from '../modelApi/common/normalizeContentModel';\nimport type {\n ContentModelDocument,\n DOMSelection,\n DomToModelContext,\n} from 'roosterjs-content-model-types';\n\n/**\n * Create Content Model from DOM tree in this editor\n * @param root Root element of DOM tree to create Content Model from\n * @param context Context object for DOM to Content Model conversion\n * @param selection Selection that already exists in content\n * @returns A ContentModelDocument object that contains all the models created from the give root element\n */\nexport function domToContentModel(\n root: HTMLElement | DocumentFragment,\n context: DomToModelContext,\n selection?: DOMSelection\n): ContentModelDocument {\n const model = createContentModelDocument(context.defaultFormat);\n\n context.selection = selection;\n context.elementProcessors.child(model, root, context);\n\n normalizeContentModel(model);\n\n return model;\n}\n"]}
1
+ {"version":3,"file":"domToContentModel.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/domToModel/domToContentModel.ts"],"names":[],"mappings":";;;AAAA,8FAA6F;AAC7F,kFAAiF;AAOjF;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC7B,IAAoC,EACpC,OAA0B,EAC1B,SAAwB;IAExB,IAAM,KAAK,GAAG,IAAA,uDAA0B,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAA,6CAAqB,EAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC;AACjB,CAAC;AAbD,8CAaC","sourcesContent":["import { createContentModelDocument } from '../modelApi/creators/createContentModelDocument';\nimport { normalizeContentModel } from '../modelApi/common/normalizeContentModel';\nimport type {\n ContentModelDocument,\n DOMSelection,\n DomToModelContext,\n} from 'roosterjs-content-model-types';\n\n/**\n * Create Content Model from DOM tree in this editor\n * @param root Root element of DOM tree to create Content Model from\n * @param context Context object for DOM to Content Model conversion\n * @param selection Selection that already exists in content\n * @returns A ContentModelDocument object that contains all the models created from the give root element\n */\nexport function domToContentModel(\n root: HTMLElement | DocumentFragment,\n context: DomToModelContext,\n selection?: DOMSelection\n): ContentModelDocument {\n const model = createContentModelDocument(context.defaultFormat);\n\n context.selection = selection;\n context.elementProcessors.child(model, root, context);\n\n normalizeContentModel(model);\n\n return model;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blockProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/blockProcessor.ts"],"names":[],"mappings":";;;;AAAA,2DAA0D;AAC1D,uEAA2D;AAC3D,2EAA0E;AAC1E,oDAAmD;AAOnD,IAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAE3C;;GAEG;AACH,SAAgB,cAAc,CAC1B,KAA6B,EAC7B,OAAoB,EACpB,OAA0B,EAC1B,aAAyC;IAEzC,IAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhF,IAAM,WAAW,6BAAQ,OAAO,CAAC,WAAW,CAAE,CAAC;IAE/C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5E,wCAAa,CAAC,OAAO,CAAC,UAAA,KAAK;QACvB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;SACnD;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE;QACrB,IAAM,SAAS,GAAG,IAAA,iCAAe,EAC7B,KAAK,CAAC,cAAc,EACpB,WAAW,EACX,aAAa,EACb,SAAS,CACZ,CAAC;QAEF,IAAA,mBAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9B;IAED,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAjCD,wCAiCC","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { ContextStyles } from './formatContainerProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { parseFormat } from '../utils/parseFormat';\nimport type {\n ContentModelBlockGroup,\n ContentModelSegmentFormat,\n DomToModelContext,\n} from 'roosterjs-content-model-types';\n\nconst SegmentDecoratorTags = ['A', 'CODE'];\n\n/**\n * @internal\n */\nexport function blockProcessor(\n group: ContentModelBlockGroup,\n element: HTMLElement,\n context: DomToModelContext,\n segmentFormat?: ContentModelSegmentFormat\n) {\n const decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;\n const isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;\n\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n\n const blockFormat = { ...context.blockFormat };\n\n parseFormat(element, context.formatParsers.container, blockFormat, context);\n\n ContextStyles.forEach(style => {\n if (blockFormat[style]) {\n context.blockFormat[style] = blockFormat[style];\n }\n });\n\n if (!isSegmentDecorator) {\n const paragraph = createParagraph(\n false /*isImplicit*/,\n blockFormat,\n segmentFormat,\n decorator\n );\n\n addBlock(group, paragraph);\n }\n\n context.elementProcessors.child(group, element, context);\n}\n"]}
1
+ {"version":3,"file":"blockProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/blockProcessor.ts"],"names":[],"mappings":";;;;AAAA,2DAA0D;AAC1D,uEAA2D;AAC3D,2EAA0E;AAC1E,oDAAmD;AAOnD,IAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAE3C;;GAEG;AACH,SAAgB,cAAc,CAC1B,KAA6B,EAC7B,OAAoB,EACpB,OAA0B,EAC1B,aAAyC;IAEzC,IAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhF,IAAM,WAAW,6BAAQ,OAAO,CAAC,WAAW,CAAE,CAAC;IAE/C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5E,wCAAa,CAAC,OAAO,CAAC,UAAA,KAAK;QACvB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;SACnD;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE;QACrB,IAAM,SAAS,GAAG,IAAA,iCAAe,EAC7B,KAAK,CAAC,cAAc,EACpB,WAAW,EACX,aAAa,EACb,SAAS,CACZ,CAAC;QAEF,IAAA,mBAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9B;IAED,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAjCD,wCAiCC","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { ContextStyles } from './formatContainerProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { parseFormat } from '../utils/parseFormat';\nimport type {\n ContentModelBlockGroup,\n ContentModelSegmentFormat,\n DomToModelContext,\n} from 'roosterjs-content-model-types';\n\nconst SegmentDecoratorTags = ['A', 'CODE'];\n\n/**\n * @internal\n */\nexport function blockProcessor(\n group: ContentModelBlockGroup,\n element: HTMLElement,\n context: DomToModelContext,\n segmentFormat?: ContentModelSegmentFormat\n) {\n const decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;\n const isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;\n\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n\n const blockFormat = { ...context.blockFormat };\n\n parseFormat(element, context.formatParsers.container, blockFormat, context);\n\n ContextStyles.forEach(style => {\n if (blockFormat[style]) {\n context.blockFormat[style] = blockFormat[style];\n }\n });\n\n if (!isSegmentDecorator) {\n const paragraph = createParagraph(\n false /*isImplicit*/,\n blockFormat,\n segmentFormat,\n decorator\n );\n\n addBlock(group, paragraph);\n }\n\n context.elementProcessors.child(group, element, context);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"brProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/brProcessor.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAC9D,6DAA4D;AAG5D;;GAEG;AACI,IAAM,WAAW,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAChF,IAAM,EAAE,GAAG,IAAA,mBAAQ,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,OAAO,CAAC,aAAa,EAAE;QACvB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;IAED,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AATW,QAAA,WAAW,eAStB","sourcesContent":["import { addSegment } from '../../modelApi/common/addSegment';\nimport { createBr } from '../../modelApi/creators/createBr';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const brProcessor: ElementProcessor<HTMLBRElement> = (group, element, context) => {\n const br = createBr(context.segmentFormat);\n\n if (context.isInSelection) {\n br.isSelected = true;\n }\n\n const paragraph = addSegment(group, br, context.blockFormat);\n context.domIndexer?.onSegment(element, paragraph, [br]);\n};\n"]}
1
+ {"version":3,"file":"brProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/brProcessor.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAC9D,6DAA4D;AAG5D;;GAEG;AACI,IAAM,WAAW,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IAChF,IAAM,EAAE,GAAG,IAAA,mBAAQ,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,OAAO,CAAC,aAAa,EAAE;QACvB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;IAED,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AATW,QAAA,WAAW,eAStB","sourcesContent":["import { addSegment } from '../../modelApi/common/addSegment';\nimport { createBr } from '../../modelApi/creators/createBr';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const brProcessor: ElementProcessor<HTMLBRElement> = (group, element, context) => {\n const br = createBr(context.segmentFormat);\n\n if (context.isInSelection) {\n br.isSelected = true;\n }\n\n const paragraph = addSegment(group, br, context.blockFormat);\n context.domIndexer?.onSegment(element, paragraph, [br]);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"childProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/childProcessor.ts"],"names":[],"mappings":";;;;AAAA,kEAAiE;AACjE,kFAAiF;AACjF,4DAA2D;AAO3D;;;;;GAKG;AACI,IAAM,cAAc,GAAiC,UACxD,KAA6B,EAC7B,MAAkB,EAClB,OAA0B;IAEpB,IAAA,KAAA,oBAAmC,IAAA,uDAA0B,EAAC,OAAO,EAAE,MAAM,CAAC,IAAA,EAA7E,eAAe,QAAA,EAAE,aAAa,QAA+C,CAAC;IACrF,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE;QAClE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEtF,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAExC,KAAK,EAAE,CAAC;KACX;IAED,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB;AAEF;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC5B,KAA6B,EAC7B,KAAW,EACX,OAA0B;IAE1B,IAAI,IAAA,2BAAY,EAAC,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE;QACtE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC5D;SAAM,IAAI,IAAA,2BAAY,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE;QACzC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC7D;AACL,CAAC;AAVD,4CAUC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAClC,KAAa,EACb,OAA0B,EAC1B,KAA6B,EAC7B,eAAuB,EACvB,aAAqB,EACrB,SAAgB;;IAEhB,IAAI,KAAK,IAAI,eAAe,EAAE;QAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAE7B,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACxD;IAED,IAAI,KAAK,IAAI,aAAa,IAAI,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;YACpC,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SACxD;QACD,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;KACjC;AACL,CAAC;AApBD,wDAoBC","sourcesContent":["import { addSelectionMarker } from '../utils/addSelectionMarker';\nimport { getRegularSelectionOffsets } from '../utils/getRegularSelectionOffsets';\nimport { isNodeOfType } from '../../domUtils/isNodeOfType';\nimport type {\n ContentModelBlockGroup,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for child elements\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 childProcessor: ElementProcessor<ParentNode> = (\n group: ContentModelBlockGroup,\n parent: ParentNode,\n context: DomToModelContext\n) => {\n const [nodeStartOffset, nodeEndOffset] = getRegularSelectionOffsets(context, parent);\n let index = 0;\n\n for (let child = parent.firstChild; child; child = child.nextSibling) {\n handleRegularSelection(index, context, group, nodeStartOffset, nodeEndOffset, parent);\n\n processChildNode(group, child, context);\n\n index++;\n }\n\n handleRegularSelection(index, context, group, nodeStartOffset, nodeEndOffset, parent);\n};\n\n/**\n * Helper function for processing child node\n * @param group The parent block group\n * @param parent Parent DOM node to process\n * @param context DOM to Content Model context\n *\n */\nexport function processChildNode(\n group: ContentModelBlockGroup,\n child: Node,\n context: DomToModelContext\n) {\n if (isNodeOfType(child, 'ELEMENT_NODE') && child.style.display != 'none') {\n context.elementProcessors.element(group, child, context);\n } else if (isNodeOfType(child, 'TEXT_NODE')) {\n context.elementProcessors['#text'](group, child, context);\n }\n}\n\n/**\n * Helper function to handle regular (range based) selection when process child node\n * @param index Index of current child node in its parent\n * @param context DOM to Content Model context\n * @param group The parent block group\n * @param nodeStartOffset Start offset of current regular selection\n * @param nodeEndOffset End offset of current regular selection\n * @param container The container node of this selection\n */\nexport function handleRegularSelection(\n index: number,\n context: DomToModelContext,\n group: ContentModelBlockGroup,\n nodeStartOffset: number,\n nodeEndOffset: number,\n container?: Node\n) {\n if (index == nodeStartOffset) {\n context.isInSelection = true;\n\n addSelectionMarker(group, context, container, index);\n }\n\n if (index == nodeEndOffset && context.selection?.type == 'range') {\n if (!context.selection.range.collapsed) {\n addSelectionMarker(group, context, container, index);\n }\n context.isInSelection = false;\n }\n}\n"]}
1
+ {"version":3,"file":"childProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/childProcessor.ts"],"names":[],"mappings":";;;;AAAA,kEAAiE;AACjE,kFAAiF;AACjF,4DAA2D;AAO3D;;;;;GAKG;AACI,IAAM,cAAc,GAAiC,UACxD,KAA6B,EAC7B,MAAkB,EAClB,OAA0B;IAEpB,IAAA,KAAA,oBAAmC,IAAA,uDAA0B,EAAC,OAAO,EAAE,MAAM,CAAC,IAAA,EAA7E,eAAe,QAAA,EAAE,aAAa,QAA+C,CAAC;IACrF,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE;QAClE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEtF,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAExC,KAAK,EAAE,CAAC;KACX;IAED,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB;AAEF;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC5B,KAA6B,EAC7B,KAAW,EACX,OAA0B;IAE1B,IAAI,IAAA,2BAAY,EAAC,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE;QACtE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC5D;SAAM,IAAI,IAAA,2BAAY,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE;QACzC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC7D;AACL,CAAC;AAVD,4CAUC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAClC,KAAa,EACb,OAA0B,EAC1B,KAA6B,EAC7B,eAAuB,EACvB,aAAqB,EACrB,SAAgB;;IAEhB,IAAI,KAAK,IAAI,eAAe,EAAE;QAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAE7B,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACxD;IAED,IAAI,KAAK,IAAI,aAAa,IAAI,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;YACpC,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SACxD;QACD,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;KACjC;AACL,CAAC;AApBD,wDAoBC","sourcesContent":["import { addSelectionMarker } from '../utils/addSelectionMarker';\nimport { getRegularSelectionOffsets } from '../utils/getRegularSelectionOffsets';\nimport { isNodeOfType } from '../../domUtils/isNodeOfType';\nimport type {\n ContentModelBlockGroup,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for child elements\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 childProcessor: ElementProcessor<ParentNode> = (\n group: ContentModelBlockGroup,\n parent: ParentNode,\n context: DomToModelContext\n) => {\n const [nodeStartOffset, nodeEndOffset] = getRegularSelectionOffsets(context, parent);\n let index = 0;\n\n for (let child = parent.firstChild; child; child = child.nextSibling) {\n handleRegularSelection(index, context, group, nodeStartOffset, nodeEndOffset, parent);\n\n processChildNode(group, child, context);\n\n index++;\n }\n\n handleRegularSelection(index, context, group, nodeStartOffset, nodeEndOffset, parent);\n};\n\n/**\n * Helper function for processing child node\n * @param group The parent block group\n * @param parent Parent DOM node to process\n * @param context DOM to Content Model context\n *\n */\nexport function processChildNode(\n group: ContentModelBlockGroup,\n child: Node,\n context: DomToModelContext\n) {\n if (isNodeOfType(child, 'ELEMENT_NODE') && child.style.display != 'none') {\n context.elementProcessors.element(group, child, context);\n } else if (isNodeOfType(child, 'TEXT_NODE')) {\n context.elementProcessors['#text'](group, child, context);\n }\n}\n\n/**\n * Helper function to handle regular (range based) selection when process child node\n * @param index Index of current child node in its parent\n * @param context DOM to Content Model context\n * @param group The parent block group\n * @param nodeStartOffset Start offset of current regular selection\n * @param nodeEndOffset End offset of current regular selection\n * @param container The container node of this selection\n */\nexport function handleRegularSelection(\n index: number,\n context: DomToModelContext,\n group: ContentModelBlockGroup,\n nodeStartOffset: number,\n nodeEndOffset: number,\n container?: Node\n) {\n if (index == nodeStartOffset) {\n context.isInSelection = true;\n\n addSelectionMarker(group, context, container, index);\n }\n\n if (index == nodeEndOffset && context.selection?.type == 'range') {\n if (!context.selection.range.collapsed) {\n addSelectionMarker(group, context, container, index);\n }\n context.isInSelection = false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"codeProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/codeProcessor.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,aAAa,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;QAC1C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/E,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB","sourcesContent":["import { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const codeProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n stackFormat(context, { code: 'codeDefault' }, () => {\n parseFormat(element, context.formatParsers.code, context.code.format, context);\n\n knownElementProcessor(group, element, context);\n });\n};\n"]}
1
+ {"version":3,"file":"codeProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/codeProcessor.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,aAAa,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;QAC1C,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/E,IAAA,6CAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB","sourcesContent":["import { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const codeProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n stackFormat(context, { code: 'codeDefault' }, () => {\n parseFormat(element, context.formatParsers.code, context.code.format, context);\n\n knownElementProcessor(group, element, context);\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"delimiterProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/delimiterProcessor.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AAGjE;;;;;GAKG;AACI,IAAM,kBAAkB,GAA2B,UAAC,KAAK,EAAE,IAAI,EAAE,OAAO;;IAC3E,IAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,IAAI,KAAK,EAAE;QACP,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YACrC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAE7B,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACtC;QAED,IAAI,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;gBACpC,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACtC;YAED,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;SACjC;KACJ;AACL,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B","sourcesContent":["import { addSelectionMarker } from '../utils/addSelectionMarker';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * @param group\n * @param node\n * @param context\n */\nexport const delimiterProcessor: ElementProcessor<Node> = (group, node, context) => {\n const range = context.selection?.type == 'range' ? context.selection.range : null;\n\n if (range) {\n if (node.contains(range.startContainer)) {\n context.isInSelection = true;\n\n addSelectionMarker(group, context);\n }\n\n if (context.selection?.type == 'range' && node.contains(range.endContainer)) {\n if (!context.selection.range.collapsed) {\n addSelectionMarker(group, context);\n }\n\n context.isInSelection = false;\n }\n }\n};\n"]}
1
+ {"version":3,"file":"delimiterProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/delimiterProcessor.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AAGjE;;;;;GAKG;AACI,IAAM,kBAAkB,GAA2B,UAAC,KAAK,EAAE,IAAI,EAAE,OAAO;;IAC3E,IAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,IAAI,KAAK,EAAE;QACP,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YACrC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAE7B,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACtC;QAED,IAAI,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,KAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;gBACpC,IAAA,uCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACtC;YAED,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;SACjC;KACJ;AACL,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B","sourcesContent":["import { addSelectionMarker } from '../utils/addSelectionMarker';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * @param group\n * @param node\n * @param context\n */\nexport const delimiterProcessor: ElementProcessor<Node> = (group, node, context) => {\n const range = context.selection?.type == 'range' ? context.selection.range : null;\n\n if (range) {\n if (node.contains(range.startContainer)) {\n context.isInSelection = true;\n\n addSelectionMarker(group, context);\n }\n\n if (context.selection?.type == 'range' && node.contains(range.endContainer)) {\n if (!context.selection.range.collapsed) {\n addSelectionMarker(group, context);\n }\n\n context.isInSelection = false;\n }\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"elementProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/elementProcessor.ts"],"names":[],"mappings":";;;AAAA,0DAAgF;AAOhF;;;;;GAKG;AACI,IAAM,gBAAgB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACnF,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAA+B,CAAC;IAC3E,IAAM,SAAS,GAAG,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC;QACzD,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAClC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC9D,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAA2B,CAAC;IAC9D,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF,SAAS,wBAAwB,CAAC,OAAoB,EAAE,OAA0B;IAC9E,OAAO,IAAA,6BAAe,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,2CAA2C;QAC7G,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM;QAClC,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAoB,EAAE,OAA0B;IACjF,OAAO,IAAA,+BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC","sourcesContent":["import { isEntityDelimiter, isEntityElement } from '../../domUtils/entityUtils';\nimport type {\n DomToModelContext,\n ElementProcessor,\n ElementProcessorMap,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * @param group\n * @param element\n * @param context\n */\nexport const elementProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const tagName = element.tagName.toLowerCase() as keyof ElementProcessorMap;\n const processor = (tryGetProcessorForEntity(element, context) ||\n tryGetProcessorForDelimiter(element, context) ||\n context.elementProcessors[tagName] ||\n (tagName.indexOf(':') >= 0 && context.elementProcessors.child) ||\n context.elementProcessors['*']) as ElementProcessor<Node>;\n processor(group, element, context);\n};\n\nfunction tryGetProcessorForEntity(element: HTMLElement, context: DomToModelContext) {\n return isEntityElement(element) || element.contentEditable == 'false' // For readonly element, treat as an entity\n ? context.elementProcessors.entity\n : null;\n}\n\nfunction tryGetProcessorForDelimiter(element: HTMLElement, context: DomToModelContext) {\n return isEntityDelimiter(element) ? context.elementProcessors.delimiter : null;\n}\n"]}
1
+ {"version":3,"file":"elementProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/elementProcessor.ts"],"names":[],"mappings":";;;AAAA,0DAAgF;AAOhF;;;;;GAKG;AACI,IAAM,gBAAgB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACnF,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAA+B,CAAC;IAC3E,IAAM,SAAS,GAAG,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC;QACzD,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAClC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC9D,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAA2B,CAAC;IAC9D,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF,SAAS,wBAAwB,CAAC,OAAoB,EAAE,OAA0B;IAC9E,OAAO,IAAA,6BAAe,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,2CAA2C;QAC7G,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM;QAClC,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAoB,EAAE,OAA0B;IACjF,OAAO,IAAA,+BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC","sourcesContent":["import { isEntityDelimiter, isEntityElement } from '../../domUtils/entityUtils';\nimport type {\n DomToModelContext,\n ElementProcessor,\n ElementProcessorMap,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * @param group\n * @param element\n * @param context\n */\nexport const elementProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const tagName = element.tagName.toLowerCase() as keyof ElementProcessorMap;\n const processor = (tryGetProcessorForEntity(element, context) ||\n tryGetProcessorForDelimiter(element, context) ||\n context.elementProcessors[tagName] ||\n (tagName.indexOf(':') >= 0 && context.elementProcessors.child) ||\n context.elementProcessors['*']) as ElementProcessor<Node>;\n processor(group, element, context);\n};\n\nfunction tryGetProcessorForEntity(element: HTMLElement, context: DomToModelContext) {\n return isEntityElement(element) || element.contentEditable == 'false' // For readonly element, treat as an entity\n ? context.elementProcessors.entity\n : null;\n}\n\nfunction tryGetProcessorForDelimiter(element: HTMLElement, context: DomToModelContext) {\n return isEntityDelimiter(element) ? context.elementProcessors.delimiter : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"entityProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/entityProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,+DAA8D;AAC9D,qEAAoE;AACpE,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD;;;;;GAKG;AACI,IAAM,eAAe,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAClF,IAAM,aAAa,GACf,IAAA,+BAAc,EAAC,OAAO,CAAC;QACvB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAE/E,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EACpE;;QACI,IAAM,WAAW,GAAG,IAAA,2BAAY,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAEtF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;SACjC;QAED,IAAI,aAAa,EAAE;YACf,IAAA,mBAAQ,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAChC;aAAM;YACH,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACjD,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;SACpE;IACL,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAzBW,QAAA,eAAe,mBAyB1B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createEntity } from '../../modelApi/creators/createEntity';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for entity\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 entityProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const isBlockEntity =\n isBlockElement(element) ||\n (element.style.display == 'inline-block' && element.style.width == '100%');\n\n stackFormat(\n context,\n { segment: isBlockEntity ? 'empty' : undefined, paragraph: 'empty' },\n () => {\n const entityModel = createEntity(element, true /*isReadonly*/, context.segmentFormat);\n\n parseFormat(element, context.formatParsers.entity, entityModel.entityFormat, context);\n\n if (context.isInSelection) {\n entityModel.isSelected = true;\n }\n\n if (isBlockEntity) {\n addBlock(group, entityModel);\n } else {\n const paragraph = addSegment(group, entityModel);\n context.domIndexer?.onSegment(element, paragraph, [entityModel]);\n }\n }\n );\n};\n"]}
1
+ {"version":3,"file":"entityProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/entityProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,+DAA8D;AAC9D,qEAAoE;AACpE,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD;;;;;GAKG;AACI,IAAM,eAAe,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAClF,IAAM,aAAa,GACf,IAAA,+BAAc,EAAC,OAAO,CAAC;QACvB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAE/E,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EACpE;;QACI,IAAM,WAAW,GAAG,IAAA,2BAAY,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAEtF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;SACjC;QAED,IAAI,aAAa,EAAE;YACf,IAAA,mBAAQ,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAChC;aAAM;YACH,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACjD,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;SACpE;IACL,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAzBW,QAAA,eAAe,mBAyB1B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createEntity } from '../../modelApi/creators/createEntity';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * Content Model Element Processor for entity\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 entityProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const isBlockEntity =\n isBlockElement(element) ||\n (element.style.display == 'inline-block' && element.style.width == '100%');\n\n stackFormat(\n context,\n { segment: isBlockEntity ? 'empty' : undefined, paragraph: 'empty' },\n () => {\n const entityModel = createEntity(element, true /*isReadonly*/, context.segmentFormat);\n\n parseFormat(element, context.formatParsers.entity, entityModel.entityFormat, context);\n\n if (context.isInSelection) {\n entityModel.isSelected = true;\n }\n\n if (isBlockEntity) {\n addBlock(group, entityModel);\n } else {\n const paragraph = addSegment(group, entityModel);\n context.domIndexer?.onSegment(element, paragraph, [entityModel]);\n }\n }\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fontProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/fontProcessor.ts"],"names":[],"mappings":";;;AAAA,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD,IAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3E,SAAS,WAAW,CAAC,IAAmB;IACpC,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAErC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KACpB;SAAM,IAAI,OAAO,GAAG,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;KACvB;SAAM,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE;QACnC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC1C;SAAM;QACH,OAAO,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;KACjC;AACL,CAAC;AAED;;GAEG;AACI,IAAM,aAAa,GAAsC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACpF,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc;KAC7E,EACD;QACI,IAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAErC,IAAI,UAAU,EAAE;YACZ,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;SAClC;QAED,IAAI,QAAQ,EAAE;YACV,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC9B;QAED,IAAI,SAAS,EAAE;YACX,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;SAChC;QAED,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AA7BW,QAAA,aAAa,iBA6BxB","sourcesContent":["import { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\nconst FontSizes = ['10px', '13px', '16px', '18px', '24px', '32px', '48px'];\n\nfunction getFontSize(size: string | null) {\n const intSize = parseInt(size || '');\n\n if (Number.isNaN(intSize)) {\n return undefined;\n } else if (intSize < 1) {\n return FontSizes[0];\n } else if (intSize > FontSizes.length) {\n return FontSizes[FontSizes.length - 1];\n } else {\n return FontSizes[intSize - 1];\n }\n}\n\n/**\n * @internal\n */\nexport const fontProcessor: ElementProcessor<HTMLFontElement> = (group, element, context) => {\n stackFormat(\n context,\n {\n segment: isBlockElement(element) ? 'shallowCloneForBlock' : 'shallowClone',\n },\n () => {\n const fontFamily = element.getAttribute('face');\n const fontSize = getFontSize(element.getAttribute('size'));\n const textColor = element.getAttribute('color');\n const format = context.segmentFormat;\n\n if (fontFamily) {\n format.fontFamily = fontFamily;\n }\n\n if (fontSize) {\n format.fontSize = fontSize;\n }\n\n if (textColor) {\n format.textColor = textColor;\n }\n\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n context.elementProcessors.child(group, element, context);\n }\n );\n};\n"]}
1
+ {"version":3,"file":"fontProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/fontProcessor.ts"],"names":[],"mappings":";;;AAAA,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD,IAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3E,SAAS,WAAW,CAAC,IAAmB;IACpC,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAErC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KACpB;SAAM,IAAI,OAAO,GAAG,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;KACvB;SAAM,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE;QACnC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC1C;SAAM;QACH,OAAO,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;KACjC;AACL,CAAC;AAED;;GAEG;AACI,IAAM,aAAa,GAAsC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACpF,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc;KAC7E,EACD;QACI,IAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAErC,IAAI,UAAU,EAAE;YACZ,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;SAClC;QAED,IAAI,QAAQ,EAAE;YACV,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC9B;QAED,IAAI,SAAS,EAAE;YACX,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;SAChC;QAED,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEpF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AA7BW,QAAA,aAAa,iBA6BxB","sourcesContent":["import { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\nconst FontSizes = ['10px', '13px', '16px', '18px', '24px', '32px', '48px'];\n\nfunction getFontSize(size: string | null) {\n const intSize = parseInt(size || '');\n\n if (Number.isNaN(intSize)) {\n return undefined;\n } else if (intSize < 1) {\n return FontSizes[0];\n } else if (intSize > FontSizes.length) {\n return FontSizes[FontSizes.length - 1];\n } else {\n return FontSizes[intSize - 1];\n }\n}\n\n/**\n * @internal\n */\nexport const fontProcessor: ElementProcessor<HTMLFontElement> = (group, element, context) => {\n stackFormat(\n context,\n {\n segment: isBlockElement(element) ? 'shallowCloneForBlock' : 'shallowClone',\n },\n () => {\n const fontFamily = element.getAttribute('face');\n const fontSize = getFontSize(element.getAttribute('size'));\n const textColor = element.getAttribute('color');\n const format = context.segmentFormat;\n\n if (fontFamily) {\n format.fontFamily = fontFamily;\n }\n\n if (fontSize) {\n format.fontSize = fontSize;\n }\n\n if (textColor) {\n format.textColor = textColor;\n }\n\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n context.elementProcessors.child(group, element, context);\n }\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"formatContainerProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/formatContainerProcessor.ts"],"names":[],"mappings":";;;;AAAA,2DAA0D;AAC1D,uFAAsF;AACtF,2EAA0E;AAC1E,4DAA2D;AAC3D,oDAAmD;AACnD,wFAAuF;AACvF,oDAAmD;AAUnD;;GAEG;AACU,QAAA,aAAa,GAA6C;IACnE,YAAY;IACZ,aAAa;IACb,aAAa;IACb,cAAc;CACjB,CAAC;AAEF;;GAEG;AACI,IAAM,wBAAwB,GAAkC,UACnE,KAAK,EACL,OAAO,EACP,OAAO;IAEP,IAAA,yBAAW,EAAC,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE;QACjF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE3F,IAAM,MAAM,6BACL,OAAO,CAAC,WAAW,CACzB,CAAC;QAEF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAM,OAAO,GACT,IAAA,iCAAe,EAAC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,IAAM,eAAe,GAAG,IAAA,6CAAqB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE/D,0FAA0F;QAC1F,kEAAkE;QAClE,mFAAmF;QACnF,qBAAa,CAAC,OAAO,CAAC,UAAA,KAAK;YACvB,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnE,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjE,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC;SACvC;QAED,IAAI,yBAAyB,CAAC,eAAe,CAAC,EAAE;YAC5C,oGAAoG;YACpG,qCAAqC;YACrC,IAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAA0B,CAAC;YAErE,IAAI,eAAe,CAAC,YAAY,EAAE;gBAC9B,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE;oBACjE,QAAQ,EAAE,GAAG;iBAChB,CAAC,CAAC;aACN;YAED,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YACxD,IAAA,iDAAuB,EAAC,SAAS,CAAC,CAAC;YACnC,IAAA,mBAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC9B;aAAM;YACH,IAAA,mBAAQ,EAAC,KAAK,EAAE,eAAe,CAAC,CAAC;SACpC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,mBAAQ,EAAC,KAAK,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AApDW,QAAA,wBAAwB,4BAoDnC;AAEF,SAAS,yBAAyB,CAAC,eAA4C;IAC3E,IAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,CACH,eAAe,CAAC,OAAO,IAAI,KAAK;QAChC,eAAe,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;QAClC,UAAU,CAAC,SAAS,IAAI,WAAW;QACnC,UAAU,CAAC,UAAU,CACxB,CAAC;AACN,CAAC","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createFormatContainer } from '../../modelApi/creators/createFormatContainer';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { getDefaultStyle } from '../utils/getDefaultStyle';\nimport { parseFormat } from '../utils/parseFormat';\nimport { setParagraphNotImplicit } from '../../modelApi/block/setParagraphNotImplicit';\nimport { stackFormat } from '../utils/stackFormat';\nimport type {\n ContentModelFormatContainer,\n ContentModelFormatContainerFormat,\n ContentModelParagraph,\n ElementProcessor,\n MarginFormat,\n PaddingFormat,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const ContextStyles: (keyof (MarginFormat & PaddingFormat))[] = [\n 'marginLeft',\n 'marginRight',\n 'paddingLeft',\n 'paddingRight',\n];\n\n/**\n * @internal\n */\nexport const formatContainerProcessor: ElementProcessor<HTMLElement> = (\n group,\n element,\n context\n) => {\n stackFormat(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, () => {\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n parseFormat(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);\n\n const format: ContentModelFormatContainerFormat = {\n ...context.blockFormat,\n };\n\n parseFormat(element, context.formatParsers.container, format, context);\n\n const tagName =\n getDefaultStyle(element).display == 'block' ? element.tagName.toLowerCase() : 'div';\n const formatContainer = createFormatContainer(tagName, format);\n\n // It is possible to inherit margin left/right styles from parent DIV or other containers,\n // since we are going into a deeper level of format container now,\n // the container will render these styles so no need to keep them in context format\n ContextStyles.forEach(style => {\n delete context.blockFormat[style];\n });\n\n context.elementProcessors.child(formatContainer, element, context);\n\n if (element.style.fontSize && parseInt(element.style.fontSize) == 0) {\n formatContainer.zeroFontSize = true;\n }\n\n if (shouldFallbackToParagraph(formatContainer)) {\n // For DIV container that only has one paragraph child, container style can be merged into paragraph\n // and no need to have this container\n const paragraph = formatContainer.blocks[0] as ContentModelParagraph;\n\n if (formatContainer.zeroFontSize) {\n paragraph.segmentFormat = Object.assign({}, paragraph.segmentFormat, {\n fontSize: '0',\n });\n }\n\n Object.assign(paragraph.format, formatContainer.format);\n setParagraphNotImplicit(paragraph);\n addBlock(group, paragraph);\n } else {\n addBlock(group, formatContainer);\n }\n });\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n\nfunction shouldFallbackToParagraph(formatContainer: ContentModelFormatContainer) {\n const firstChild = formatContainer.blocks[0];\n\n return (\n formatContainer.tagName == 'div' &&\n formatContainer.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n );\n}\n"]}
1
+ {"version":3,"file":"formatContainerProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/formatContainerProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createFormatContainer } from '../../modelApi/creators/createFormatContainer';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { getDefaultStyle } from '../utils/getDefaultStyle';\nimport { parseFormat } from '../utils/parseFormat';\nimport { setParagraphNotImplicit } from '../../modelApi/block/setParagraphNotImplicit';\nimport { stackFormat } from '../utils/stackFormat';\nimport type {\n ContentModelFormatContainer,\n ContentModelFormatContainerFormat,\n ContentModelParagraph,\n ElementProcessor,\n MarginFormat,\n PaddingFormat,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const ContextStyles: (keyof (MarginFormat & PaddingFormat))[] = [\n 'marginLeft',\n 'marginRight',\n 'paddingLeft',\n 'paddingRight',\n];\n\n/**\n * @internal\n */\nexport const formatContainerProcessor: ElementProcessor<HTMLElement> = (\n group,\n element,\n context\n) => {\n stackFormat(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, () => {\n parseFormat(element, context.formatParsers.block, context.blockFormat, context);\n parseFormat(element, context.formatParsers.segmentOnBlock, context.segmentFormat, context);\n\n const format: ContentModelFormatContainerFormat = {\n ...context.blockFormat,\n };\n\n parseFormat(element, context.formatParsers.container, format, context);\n\n const tagName =\n getDefaultStyle(element).display == 'block' ? element.tagName.toLowerCase() : 'div';\n const formatContainer = createFormatContainer(tagName, format);\n\n // It is possible to inherit margin left/right styles from parent DIV or other containers,\n // since we are going into a deeper level of format container now,\n // the container will render these styles so no need to keep them in context format\n ContextStyles.forEach(style => {\n delete context.blockFormat[style];\n });\n\n context.elementProcessors.child(formatContainer, element, context);\n\n if (element.style.fontSize && parseInt(element.style.fontSize) == 0) {\n formatContainer.zeroFontSize = true;\n }\n\n if (shouldFallbackToParagraph(formatContainer)) {\n // For DIV container that only has one paragraph child, container style can be merged into paragraph\n // and no need to have this container\n const paragraph = formatContainer.blocks[0] as ContentModelParagraph;\n\n if (formatContainer.zeroFontSize) {\n paragraph.segmentFormat = Object.assign({}, paragraph.segmentFormat, {\n fontSize: '0',\n });\n }\n\n Object.assign(paragraph.format, formatContainer.format);\n setParagraphNotImplicit(paragraph);\n addBlock(group, paragraph);\n } else {\n addBlock(group, formatContainer);\n }\n });\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n\nfunction shouldFallbackToParagraph(formatContainer: ContentModelFormatContainer) {\n const firstChild = formatContainer.blocks[0];\n\n return (\n formatContainer.tagName == 'div' &&\n formatContainer.blocks.length == 1 &&\n firstChild.blockType == 'Paragraph' &&\n firstChild.isImplicit\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"generalProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/generalProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,qEAAoE;AACpE,+DAA8D;AAC9D,iFAAgF;AAChF,qFAAoF;AACpF,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD,IAAM,qBAAqB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACjF,IAAM,KAAK,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC;IAC1C,IAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/C,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,OAAO;KAChB,EACD;QACI,IAAA,mBAAQ,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvB,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CACJ,CAAC;IAEF,IAAI,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE;QAC3C,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;KAC3B;AACL,CAAC,CAAC;AAEF,IAAM,uBAAuB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IACnF,IAAM,OAAO,GAAG,IAAA,2CAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,IAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/C,IAAA,6BAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7D,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EACH,OAAO,CAAC,oJAAoJ;KACnK,EACD;QACI,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE7E,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CACJ,CAAC;IAEF,IAAI,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE;QAC3C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;KAC7B;AACL,CAAC,CAAC;AAEF;;GAEG;AACI,IAAM,gBAAgB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACnF,IAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAE5F,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createGeneralBlock } from '../../modelApi/creators/createGeneralBlock';\nimport { createGeneralSegment } from '../../modelApi/creators/createGeneralSegment';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\nconst generalBlockProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const block = createGeneralBlock(element);\n const isSelectedBefore = context.isInSelection;\n\n stackFormat(\n context,\n {\n segment: 'empty',\n paragraph: 'empty',\n link: 'empty',\n },\n () => {\n addBlock(group, block);\n\n parseFormat(element, context.formatParsers.general, block.format, context);\n\n context.elementProcessors.child(block, element, context);\n }\n );\n\n if (isSelectedBefore && context.isInSelection) {\n block.isSelected = true;\n }\n};\n\nconst generalSegmentProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const segment = createGeneralSegment(element, context.segmentFormat);\n const isSelectedBefore = context.isInSelection;\n\n addDecorators(segment, context);\n const paragraph = addSegment(group, segment);\n context.domIndexer?.onSegment(element, paragraph, [segment]);\n\n stackFormat(\n context,\n {\n segment:\n 'empty' /*clearFormat, General segment will include all properties and styles when generate back to HTML, so no need to carry over existing segment format*/,\n },\n () => {\n parseFormat(element, context.formatParsers.general, segment.format, context);\n\n context.elementProcessors.child(segment, element, context);\n }\n );\n\n if (isSelectedBefore && context.isInSelection) {\n segment.isSelected = true;\n }\n};\n\n/**\n * @internal\n */\nexport const generalProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const processor = isBlockElement(element) ? generalBlockProcessor : generalSegmentProcessor;\n\n processor(group, element, context);\n};\n"]}
1
+ {"version":3,"file":"generalProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/generalProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,qEAAoE;AACpE,+DAA8D;AAC9D,iFAAgF;AAChF,qFAAoF;AACpF,0DAAyD;AACzD,oDAAmD;AACnD,oDAAmD;AAGnD,IAAM,qBAAqB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACjF,IAAM,KAAK,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC;IAC1C,IAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/C,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,OAAO;KAChB,EACD;QACI,IAAA,mBAAQ,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvB,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CACJ,CAAC;IAEF,IAAI,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE;QAC3C,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;KAC3B;AACL,CAAC,CAAC;AAEF,IAAM,uBAAuB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;;IACnF,IAAM,OAAO,GAAG,IAAA,2CAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,IAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/C,IAAA,6BAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7D,IAAA,yBAAW,EACP,OAAO,EACP;QACI,OAAO,EACH,OAAO,CAAC,oJAAoJ;KACnK,EACD;QACI,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE7E,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CACJ,CAAC;IAEF,IAAI,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE;QAC3C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;KAC7B;AACL,CAAC,CAAC;AAEF;;GAEG;AACI,IAAM,gBAAgB,GAAkC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IACnF,IAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAE5F,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createGeneralBlock } from '../../modelApi/creators/createGeneralBlock';\nimport { createGeneralSegment } from '../../modelApi/creators/createGeneralSegment';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\nconst generalBlockProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const block = createGeneralBlock(element);\n const isSelectedBefore = context.isInSelection;\n\n stackFormat(\n context,\n {\n segment: 'empty',\n paragraph: 'empty',\n link: 'empty',\n },\n () => {\n addBlock(group, block);\n\n parseFormat(element, context.formatParsers.general, block.format, context);\n\n context.elementProcessors.child(block, element, context);\n }\n );\n\n if (isSelectedBefore && context.isInSelection) {\n block.isSelected = true;\n }\n};\n\nconst generalSegmentProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const segment = createGeneralSegment(element, context.segmentFormat);\n const isSelectedBefore = context.isInSelection;\n\n addDecorators(segment, context);\n const paragraph = addSegment(group, segment);\n context.domIndexer?.onSegment(element, paragraph, [segment]);\n\n stackFormat(\n context,\n {\n segment:\n 'empty' /*clearFormat, General segment will include all properties and styles when generate back to HTML, so no need to carry over existing segment format*/,\n },\n () => {\n parseFormat(element, context.formatParsers.general, segment.format, context);\n\n context.elementProcessors.child(segment, element, context);\n }\n );\n\n if (isSelectedBefore && context.isInSelection) {\n segment.isSelected = true;\n }\n};\n\n/**\n * @internal\n */\nexport const generalProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const processor = isBlockElement(element) ? generalBlockProcessor : generalSegmentProcessor;\n\n processor(group, element, context);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"headingProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/headingProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,mDAAkD;AAClD,2EAA0E;AAC1E,6FAA4F;AAC5F,8DAA6D;AAC7D,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,gBAAgB,GAAyC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC1F,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,EACvF;QACI,IAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEnF,0FAA0F;QAC1F,iGAAiG;QACjG,6DAA6D;QAC7D,IAAA,6BAAa,EAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YACpC,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElF,IAAA,+BAAc,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,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;AAvBW,QAAA,gBAAgB,oBAuB3B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { getObjectKeys } from '../../domUtils/getObjectKeys';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const headingProcessor: ElementProcessor<HTMLHeadingElement> = (group, element, context) => {\n stackFormat(\n context,\n { segment: 'shallowCloneForBlock', paragraph: 'shallowClone', blockDecorator: 'empty' },\n () => {\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n\n // These formats are already declared on heading element, no need to keep them in context.\n // And we should not duplicate them in context, either. Because when we want to turn off heading,\n // inner text should not keep those text format from heading.\n getObjectKeys(segmentFormat).forEach(key => {\n delete context.segmentFormat[key];\n });\n\n context.blockDecorator = createParagraphDecorator(element.tagName, segmentFormat);\n\n blockProcessor(group, element, context);\n }\n );\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n"]}
1
+ {"version":3,"file":"headingProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/headingProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,mDAAkD;AAClD,2EAA0E;AAC1E,6FAA4F;AAC5F,8DAA6D;AAC7D,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,gBAAgB,GAAyC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC1F,IAAA,yBAAW,EACP,OAAO,EACP,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,EACvF;QACI,IAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEnF,0FAA0F;QAC1F,iGAAiG;QACjG,6DAA6D;QAC7D,IAAA,6BAAa,EAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YACpC,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElF,IAAA,+BAAc,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,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;AAvBW,QAAA,gBAAgB,oBAuB3B","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { getObjectKeys } from '../../domUtils/getObjectKeys';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const headingProcessor: ElementProcessor<HTMLHeadingElement> = (group, element, context) => {\n stackFormat(\n context,\n { segment: 'shallowCloneForBlock', paragraph: 'shallowClone', blockDecorator: 'empty' },\n () => {\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n\n // These formats are already declared on heading element, no need to keep them in context.\n // And we should not duplicate them in context, either. Because when we want to turn off heading,\n // inner text should not keep those text format from heading.\n getObjectKeys(segmentFormat).forEach(key => {\n delete context.segmentFormat[key];\n });\n\n context.blockDecorator = createParagraphDecorator(element.tagName, segmentFormat);\n\n blockProcessor(group, element, context);\n }\n );\n\n addBlock(group, createParagraph(true /*isImplicit*/, context.blockFormat));\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hrProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/hrProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,uEAAsE;AACtE,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,WAAW,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAA,yBAAW,EACP,OAAO,EACP;QACI,SAAS,EAAE,cAAc;KAC5B,EACD;QACI,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElF,IAAM,EAAE,GAAG,IAAA,6BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QAED,IAAA,mBAAQ,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createDivider } from '../../modelApi/creators/createDivider';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const hrProcessor: ElementProcessor<HTMLHRElement> = (group, element, context) => {\n stackFormat(\n context,\n {\n paragraph: 'shallowClone',\n },\n () => {\n parseFormat(element, context.formatParsers.divider, context.blockFormat, context);\n\n const hr = createDivider('hr', context.blockFormat);\n\n if (element.size) {\n hr.size = element.size;\n }\n\n if (context.isInSelection) {\n hr.isSelected = true;\n }\n\n addBlock(group, hr);\n }\n );\n};\n"]}
1
+ {"version":3,"file":"hrProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/hrProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,uEAAsE;AACtE,oDAAmD;AACnD,oDAAmD;AAGnD;;GAEG;AACI,IAAM,WAAW,GAAoC,UAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAChF,IAAA,yBAAW,EACP,OAAO,EACP;QACI,SAAS,EAAE,cAAc;KAC5B,EACD;QACI,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElF,IAAM,EAAE,GAAG,IAAA,6BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,OAAO,CAAC,aAAa,EAAE;YACvB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QAED,IAAA,mBAAQ,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { createDivider } from '../../modelApi/creators/createDivider';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\n\n/**\n * @internal\n */\nexport const hrProcessor: ElementProcessor<HTMLHRElement> = (group, element, context) => {\n stackFormat(\n context,\n {\n paragraph: 'shallowClone',\n },\n () => {\n parseFormat(element, context.formatParsers.divider, context.blockFormat, context);\n\n const hr = createDivider('hr', context.blockFormat);\n\n if (element.size) {\n hr.size = element.size;\n }\n\n if (context.isInSelection) {\n hr.isSelected = true;\n }\n\n addBlock(group, hr);\n }\n );\n};\n"]}
@@ -1 +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;AAC9D,mEAAkE;AAClE,oDAAmD;AACnD,oDAAmD;AAGnD;;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,sHAAsH;QACtH,IAAM,GAAG,GAAG,MAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;QAE9C,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,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,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,SAAS,0CAAE,IAAI,KAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,EAAE;YAC1E,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACxC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QAED,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAnCW,QAAA,cAAc,kBAmCzB","sourcesContent":["import { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createImage } from '../../modelApi/creators/createImage';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelImageFormat, ElementProcessor } from 'roosterjs-content-model-types';\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 // Use getAttribute('src') instead of retrieving src directly, in case the src has port and may be stripped by browser\n const src = element.getAttribute('src') ?? '';\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(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.selection?.type == 'image' && context.selection.image == element) {\n image.isSelectedAsImageSelection = true;\n image.isSelected = true;\n }\n\n const paragraph = addSegment(group, image);\n context.domIndexer?.onSegment(element, paragraph, [image]);\n });\n};\n"]}
1
+ {"version":3,"file":"imageProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/imageProcessor.ts"],"names":[],"mappings":";;;AAAA,qEAAoE;AACpE,+DAA8D;AAC9D,mEAAkE;AAClE,oDAAmD;AACnD,oDAAmD;AAGnD;;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,sHAAsH;QACtH,IAAM,GAAG,GAAG,MAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;QAE9C,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,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,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,SAAS,0CAAE,IAAI,KAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,EAAE;YAC1E,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACxC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;SAC3B;QAED,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAnCW,QAAA,cAAc,kBAmCzB","sourcesContent":["import { addDecorators } from '../../modelApi/common/addDecorators';\nimport { addSegment } from '../../modelApi/common/addSegment';\nimport { createImage } from '../../modelApi/creators/createImage';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelImageFormat, ElementProcessor } from 'roosterjs-content-model-types';\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 // Use getAttribute('src') instead of retrieving src directly, in case the src has port and may be stripped by browser\n const src = element.getAttribute('src') ?? '';\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(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.selection?.type == 'image' && context.selection.image == element) {\n image.isSelectedAsImageSelection = true;\n image.isSelected = true;\n }\n\n const paragraph = addSegment(group, image);\n context.domIndexer?.onSegment(element, paragraph, [image]);\n });\n};\n"]}
@@ -1 +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 type {\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);\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);\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"]}
1
+ {"version":3,"file":"knownElementProcessor.js","sourceRoot":"","sources":["../../../../../packages/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 type {\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);\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);\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"linkProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/linkProcessor.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAGnD;;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 { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\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"]}
1
+ {"version":3,"file":"linkProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/linkProcessor.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAChE,oDAAmD;AACnD,oDAAmD;AAGnD;;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 { knownElementProcessor } from './knownElementProcessor';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\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"]}
@@ -1 +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;AACxE,oDAAmD;AACnD,oDAAmD;AAGnD;;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,cAAc,EACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAClD,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 { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\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.listItemThread,\n listItem.levels[listItem.levels.length - 1].format,\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"]}
1
+ {"version":3,"file":"listItemProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listItemProcessor.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,oDAAmD;AACnD,oDAAmD;AAGnD;;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,cAAc,EACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAClD,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 { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ElementProcessor } from 'roosterjs-content-model-types';\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.listItemThread,\n listItem.levels[listItem.levels.length - 1].format,\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;AAAA,2EAA0E;AAC1E,oDAAmD;AACnD,oDAAmD;AAGnD;;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,GAA0B,IAAA,iCAAe,EAChD,OAAO,CAAC,OAAsB,EAC9B,OAAO,CAAC,WAAW,CACtB,CAAC;QACM,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE/B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7E,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;AApCW,QAAA,aAAa,iBAoCxB","sourcesContent":["import { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelListLevel, ElementProcessor } 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: ContentModelListLevel = createListLevel(\n element.tagName as 'OL' | 'UL',\n context.blockFormat\n );\n const { listFormat } = context;\n\n parseFormat(element, context.formatParsers.dataset, level.dataset, context);\n parseFormat(element, context.formatParsers.listLevelThread, level.format, context);\n parseFormat(element, context.formatParsers.listLevel, level.format, 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"]}
1
+ {"version":3,"file":"listProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/listProcessor.ts"],"names":[],"mappings":";;;AAAA,2EAA0E;AAC1E,oDAAmD;AACnD,oDAAmD;AAGnD;;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,GAA0B,IAAA,iCAAe,EAChD,OAAO,CAAC,OAAsB,EAC9B,OAAO,CAAC,WAAW,CACtB,CAAC;QACM,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE/B,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnF,IAAA,yBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7E,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;AApCW,QAAA,aAAa,iBAoCxB","sourcesContent":["import { createListLevel } from '../../modelApi/creators/createListLevel';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelListLevel, ElementProcessor } 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: ContentModelListLevel = createListLevel(\n element.tagName as 'OL' | 'UL',\n context.blockFormat\n );\n const { listFormat } = context;\n\n parseFormat(element, context.formatParsers.dataset, level.dataset, context);\n parseFormat(element, context.formatParsers.listLevelThread, level.format, context);\n parseFormat(element, context.formatParsers.listLevel, level.format, 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"]}
@@ -1 +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;AAClD,2EAA0E;AAC1E,6FAA4F;AAC5F,oDAAmD;AACnD,oDAAmD;AAGnD;;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 { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\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"]}
1
+ {"version":3,"file":"pProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/pProcessor.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,mDAAkD;AAClD,2EAA0E;AAC1E,6FAA4F;AAC5F,oDAAmD;AACnD,oDAAmD;AAGnD;;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 { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { createParagraphDecorator } from '../../modelApi/creators/createParagraphDecorator';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type { ContentModelSegmentFormat, ElementProcessor } from 'roosterjs-content-model-types';\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"]}