roosterjs-content-model-core 0.20.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 (417) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +262 -0
  3. package/lib/constants/ChangeSource.d.ts +59 -0
  4. package/lib/constants/ChangeSource.js +63 -0
  5. package/lib/constants/ChangeSource.js.map +1 -0
  6. package/lib/coreApi/createContentModel.d.ts +9 -0
  7. package/lib/coreApi/createContentModel.js +40 -0
  8. package/lib/coreApi/createContentModel.js.map +1 -0
  9. package/lib/coreApi/createEditorContext.d.ts +6 -0
  10. package/lib/coreApi/createEditorContext.js +38 -0
  11. package/lib/coreApi/createEditorContext.js.map +1 -0
  12. package/lib/coreApi/formatContentModel.d.ts +12 -0
  13. package/lib/coreApi/formatContentModel.js +128 -0
  14. package/lib/coreApi/formatContentModel.js.map +1 -0
  15. package/lib/coreApi/getDOMSelection.d.ts +5 -0
  16. package/lib/coreApi/getDOMSelection.js +41 -0
  17. package/lib/coreApi/getDOMSelection.js.map +1 -0
  18. package/lib/coreApi/setContentModel.d.ts +9 -0
  19. package/lib/coreApi/setContentModel.js +33 -0
  20. package/lib/coreApi/setContentModel.js.map +1 -0
  21. package/lib/coreApi/setDOMSelection.d.ts +5 -0
  22. package/lib/coreApi/setDOMSelection.js +41 -0
  23. package/lib/coreApi/setDOMSelection.js.map +1 -0
  24. package/lib/coreApi/switchShadowEdit.d.ts +8 -0
  25. package/lib/coreApi/switchShadowEdit.js +54 -0
  26. package/lib/coreApi/switchShadowEdit.js.map +1 -0
  27. package/lib/corePlugin/ContentModelCachePlugin.d.ts +53 -0
  28. package/lib/corePlugin/ContentModelCachePlugin.js +169 -0
  29. package/lib/corePlugin/ContentModelCachePlugin.js.map +1 -0
  30. package/lib/corePlugin/ContentModelCopyPastePlugin.d.ts +46 -0
  31. package/lib/corePlugin/ContentModelCopyPastePlugin.js +233 -0
  32. package/lib/corePlugin/ContentModelCopyPastePlugin.js.map +1 -0
  33. package/lib/corePlugin/ContentModelFormatPlugin.d.ts +59 -0
  34. package/lib/corePlugin/ContentModelFormatPlugin.js +147 -0
  35. package/lib/corePlugin/ContentModelFormatPlugin.js.map +1 -0
  36. package/lib/corePlugin/ContentModelTypeInContainerPlugin.d.ts +23 -0
  37. package/lib/corePlugin/ContentModelTypeInContainerPlugin.js +32 -0
  38. package/lib/corePlugin/ContentModelTypeInContainerPlugin.js.map +1 -0
  39. package/lib/corePlugin/utils/addRangeToSelection.d.ts +4 -0
  40. package/lib/corePlugin/utils/addRangeToSelection.js +16 -0
  41. package/lib/corePlugin/utils/addRangeToSelection.js.map +1 -0
  42. package/lib/corePlugin/utils/applyDefaultFormat.d.ts +9 -0
  43. package/lib/corePlugin/utils/applyDefaultFormat.js +79 -0
  44. package/lib/corePlugin/utils/applyDefaultFormat.js.map +1 -0
  45. package/lib/corePlugin/utils/applyPendingFormat.d.ts +8 -0
  46. package/lib/corePlugin/utils/applyPendingFormat.js +51 -0
  47. package/lib/corePlugin/utils/applyPendingFormat.js.map +1 -0
  48. package/lib/corePlugin/utils/areSameSelection.d.ts +6 -0
  49. package/lib/corePlugin/utils/areSameSelection.js +36 -0
  50. package/lib/corePlugin/utils/areSameSelection.js.map +1 -0
  51. package/lib/corePlugin/utils/contentModelDomIndexer.d.ts +6 -0
  52. package/lib/corePlugin/utils/contentModelDomIndexer.js +190 -0
  53. package/lib/corePlugin/utils/contentModelDomIndexer.js.map +1 -0
  54. package/lib/editor/createContentModelEditorCore.d.ts +6 -0
  55. package/lib/editor/createContentModelEditorCore.js +50 -0
  56. package/lib/editor/createContentModelEditorCore.js.map +1 -0
  57. package/lib/editor/promoteToContentModelEditorCore.d.ts +8 -0
  58. package/lib/editor/promoteToContentModelEditorCore.js +72 -0
  59. package/lib/editor/promoteToContentModelEditorCore.js.map +1 -0
  60. package/lib/index.d.ts +29 -0
  61. package/lib/index.js +71 -0
  62. package/lib/index.js.map +1 -0
  63. package/lib/metadata/definitionCreators.d.ts +48 -0
  64. package/lib/metadata/definitionCreators.js +95 -0
  65. package/lib/metadata/definitionCreators.js.map +1 -0
  66. package/lib/metadata/updateImageMetadata.d.ts +7 -0
  67. package/lib/metadata/updateImageMetadata.js +28 -0
  68. package/lib/metadata/updateImageMetadata.js.map +1 -0
  69. package/lib/metadata/updateListMetadata.d.ts +15 -0
  70. package/lib/metadata/updateListMetadata.js +181 -0
  71. package/lib/metadata/updateListMetadata.js.map +1 -0
  72. package/lib/metadata/updateTableCellMetadata.d.ts +7 -0
  73. package/lib/metadata/updateTableCellMetadata.js +20 -0
  74. package/lib/metadata/updateTableCellMetadata.js.map +1 -0
  75. package/lib/metadata/updateTableMetadata.d.ts +7 -0
  76. package/lib/metadata/updateTableMetadata.js +32 -0
  77. package/lib/metadata/updateTableMetadata.js.map +1 -0
  78. package/lib/modelApi/edit/deleteExpandedSelection.d.ts +7 -0
  79. package/lib/modelApi/edit/deleteExpandedSelection.js +99 -0
  80. package/lib/modelApi/edit/deleteExpandedSelection.js.map +1 -0
  81. package/lib/modelApi/edit/deleteSingleChar.d.ts +4 -0
  82. package/lib/modelApi/edit/deleteSingleChar.js +36 -0
  83. package/lib/modelApi/edit/deleteSingleChar.js.map +1 -0
  84. package/lib/override/tablePreProcessor.d.ts +5 -0
  85. package/lib/override/tablePreProcessor.js +25 -0
  86. package/lib/override/tablePreProcessor.js.map +1 -0
  87. package/lib/publicApi/domUtils/borderValues.d.ts +13 -0
  88. package/lib/publicApi/domUtils/borderValues.js +48 -0
  89. package/lib/publicApi/domUtils/borderValues.js.map +1 -0
  90. package/lib/publicApi/domUtils/eventUtils.d.ts +13 -0
  91. package/lib/publicApi/domUtils/eventUtils.js +29 -0
  92. package/lib/publicApi/domUtils/eventUtils.js.map +1 -0
  93. package/lib/publicApi/domUtils/stringUtil.d.ts +18 -0
  94. package/lib/publicApi/domUtils/stringUtil.js +35 -0
  95. package/lib/publicApi/domUtils/stringUtil.js.map +1 -0
  96. package/lib/publicApi/model/cloneModel.d.ts +30 -0
  97. package/lib/publicApi/model/cloneModel.js +207 -0
  98. package/lib/publicApi/model/cloneModel.js.map +1 -0
  99. package/lib/publicApi/model/getClosestAncestorBlockGroupIndex.d.ts +12 -0
  100. package/lib/publicApi/model/getClosestAncestorBlockGroupIndex.js +28 -0
  101. package/lib/publicApi/model/getClosestAncestorBlockGroupIndex.js.map +1 -0
  102. package/lib/publicApi/model/isBlockGroupOfType.d.ts +8 -0
  103. package/lib/publicApi/model/isBlockGroupOfType.js +14 -0
  104. package/lib/publicApi/model/isBlockGroupOfType.js.map +1 -0
  105. package/lib/publicApi/model/mergeModel.d.ts +36 -0
  106. package/lib/publicApi/model/mergeModel.js +262 -0
  107. package/lib/publicApi/model/mergeModel.js.map +1 -0
  108. package/lib/publicApi/model/paste.d.ts +14 -0
  109. package/lib/publicApi/model/paste.js +150 -0
  110. package/lib/publicApi/model/paste.js.map +1 -0
  111. package/lib/publicApi/selection/collectSelections.d.ts +50 -0
  112. package/lib/publicApi/selection/collectSelections.js +182 -0
  113. package/lib/publicApi/selection/collectSelections.js.map +1 -0
  114. package/lib/publicApi/selection/deleteBlock.d.ts +11 -0
  115. package/lib/publicApi/selection/deleteBlock.js +56 -0
  116. package/lib/publicApi/selection/deleteBlock.js.map +1 -0
  117. package/lib/publicApi/selection/deleteSegment.d.ts +10 -0
  118. package/lib/publicApi/selection/deleteSegment.js +88 -0
  119. package/lib/publicApi/selection/deleteSegment.js.map +1 -0
  120. package/lib/publicApi/selection/deleteSelection.d.ts +9 -0
  121. package/lib/publicApi/selection/deleteSelection.js +44 -0
  122. package/lib/publicApi/selection/deleteSelection.js.map +1 -0
  123. package/lib/publicApi/selection/getSelectionRootNode.d.ts +9 -0
  124. package/lib/publicApi/selection/getSelectionRootNode.js +23 -0
  125. package/lib/publicApi/selection/getSelectionRootNode.js.map +1 -0
  126. package/lib/publicApi/selection/iterateSelections.d.ts +48 -0
  127. package/lib/publicApi/selection/iterateSelections.js +147 -0
  128. package/lib/publicApi/selection/iterateSelections.js.map +1 -0
  129. package/lib/publicApi/selection/setSelection.d.ts +8 -0
  130. package/lib/publicApi/selection/setSelection.js +131 -0
  131. package/lib/publicApi/selection/setSelection.js.map +1 -0
  132. package/lib/publicApi/table/applyTableFormat.d.ts +8 -0
  133. package/lib/publicApi/table/applyTableFormat.js +241 -0
  134. package/lib/publicApi/table/applyTableFormat.js.map +1 -0
  135. package/lib/publicApi/table/normalizeTable.d.ts +13 -0
  136. package/lib/publicApi/table/normalizeTable.js +121 -0
  137. package/lib/publicApi/table/normalizeTable.js.map +1 -0
  138. package/lib/publicApi/table/setTableCellBackgroundColor.d.ts +15 -0
  139. package/lib/publicApi/table/setTableCellBackgroundColor.js +105 -0
  140. package/lib/publicApi/table/setTableCellBackgroundColor.js.map +1 -0
  141. package/lib-amd/constants/ChangeSource.d.ts +59 -0
  142. package/lib-amd/constants/ChangeSource.js +65 -0
  143. package/lib-amd/constants/ChangeSource.js.map +1 -0
  144. package/lib-amd/coreApi/createContentModel.d.ts +9 -0
  145. package/lib-amd/coreApi/createContentModel.js +39 -0
  146. package/lib-amd/coreApi/createContentModel.js.map +1 -0
  147. package/lib-amd/coreApi/createEditorContext.d.ts +6 -0
  148. package/lib-amd/coreApi/createEditorContext.js +40 -0
  149. package/lib-amd/coreApi/createEditorContext.js.map +1 -0
  150. package/lib-amd/coreApi/formatContentModel.d.ts +12 -0
  151. package/lib-amd/coreApi/formatContentModel.js +128 -0
  152. package/lib-amd/coreApi/formatContentModel.js.map +1 -0
  153. package/lib-amd/coreApi/getDOMSelection.d.ts +5 -0
  154. package/lib-amd/coreApi/getDOMSelection.js +43 -0
  155. package/lib-amd/coreApi/getDOMSelection.js.map +1 -0
  156. package/lib-amd/coreApi/setContentModel.d.ts +9 -0
  157. package/lib-amd/coreApi/setContentModel.js +33 -0
  158. package/lib-amd/coreApi/setContentModel.js.map +1 -0
  159. package/lib-amd/coreApi/setDOMSelection.d.ts +5 -0
  160. package/lib-amd/coreApi/setDOMSelection.js +43 -0
  161. package/lib-amd/coreApi/setDOMSelection.js.map +1 -0
  162. package/lib-amd/coreApi/switchShadowEdit.d.ts +8 -0
  163. package/lib-amd/coreApi/switchShadowEdit.js +55 -0
  164. package/lib-amd/coreApi/switchShadowEdit.js.map +1 -0
  165. package/lib-amd/corePlugin/ContentModelCachePlugin.d.ts +53 -0
  166. package/lib-amd/corePlugin/ContentModelCachePlugin.js +169 -0
  167. package/lib-amd/corePlugin/ContentModelCachePlugin.js.map +1 -0
  168. package/lib-amd/corePlugin/ContentModelCopyPastePlugin.d.ts +46 -0
  169. package/lib-amd/corePlugin/ContentModelCopyPastePlugin.js +226 -0
  170. package/lib-amd/corePlugin/ContentModelCopyPastePlugin.js.map +1 -0
  171. package/lib-amd/corePlugin/ContentModelFormatPlugin.d.ts +59 -0
  172. package/lib-amd/corePlugin/ContentModelFormatPlugin.js +145 -0
  173. package/lib-amd/corePlugin/ContentModelFormatPlugin.js.map +1 -0
  174. package/lib-amd/corePlugin/ContentModelTypeInContainerPlugin.d.ts +23 -0
  175. package/lib-amd/corePlugin/ContentModelTypeInContainerPlugin.js +34 -0
  176. package/lib-amd/corePlugin/ContentModelTypeInContainerPlugin.js.map +1 -0
  177. package/lib-amd/corePlugin/utils/addRangeToSelection.d.ts +4 -0
  178. package/lib-amd/corePlugin/utils/addRangeToSelection.js +18 -0
  179. package/lib-amd/corePlugin/utils/addRangeToSelection.js.map +1 -0
  180. package/lib-amd/corePlugin/utils/applyDefaultFormat.d.ts +9 -0
  181. package/lib-amd/corePlugin/utils/applyDefaultFormat.js +78 -0
  182. package/lib-amd/corePlugin/utils/applyDefaultFormat.js.map +1 -0
  183. package/lib-amd/corePlugin/utils/applyPendingFormat.d.ts +8 -0
  184. package/lib-amd/corePlugin/utils/applyPendingFormat.js +50 -0
  185. package/lib-amd/corePlugin/utils/applyPendingFormat.js.map +1 -0
  186. package/lib-amd/corePlugin/utils/areSameSelection.d.ts +6 -0
  187. package/lib-amd/corePlugin/utils/areSameSelection.js +38 -0
  188. package/lib-amd/corePlugin/utils/areSameSelection.js.map +1 -0
  189. package/lib-amd/corePlugin/utils/contentModelDomIndexer.d.ts +6 -0
  190. package/lib-amd/corePlugin/utils/contentModelDomIndexer.js +189 -0
  191. package/lib-amd/corePlugin/utils/contentModelDomIndexer.js.map +1 -0
  192. package/lib-amd/editor/createContentModelEditorCore.d.ts +6 -0
  193. package/lib-amd/editor/createContentModelEditorCore.js +44 -0
  194. package/lib-amd/editor/createContentModelEditorCore.js.map +1 -0
  195. package/lib-amd/editor/promoteToContentModelEditorCore.d.ts +8 -0
  196. package/lib-amd/editor/promoteToContentModelEditorCore.js +64 -0
  197. package/lib-amd/editor/promoteToContentModelEditorCore.js.map +1 -0
  198. package/lib-amd/index.d.ts +29 -0
  199. package/lib-amd/index.js +44 -0
  200. package/lib-amd/index.js.map +1 -0
  201. package/lib-amd/metadata/definitionCreators.d.ts +48 -0
  202. package/lib-amd/metadata/definitionCreators.js +97 -0
  203. package/lib-amd/metadata/definitionCreators.js.map +1 -0
  204. package/lib-amd/metadata/updateImageMetadata.d.ts +7 -0
  205. package/lib-amd/metadata/updateImageMetadata.js +28 -0
  206. package/lib-amd/metadata/updateImageMetadata.js.map +1 -0
  207. package/lib-amd/metadata/updateListMetadata.d.ts +15 -0
  208. package/lib-amd/metadata/updateListMetadata.js +179 -0
  209. package/lib-amd/metadata/updateListMetadata.js.map +1 -0
  210. package/lib-amd/metadata/updateTableCellMetadata.d.ts +7 -0
  211. package/lib-amd/metadata/updateTableCellMetadata.js +20 -0
  212. package/lib-amd/metadata/updateTableCellMetadata.js.map +1 -0
  213. package/lib-amd/metadata/updateTableMetadata.d.ts +7 -0
  214. package/lib-amd/metadata/updateTableMetadata.js +31 -0
  215. package/lib-amd/metadata/updateTableMetadata.js.map +1 -0
  216. package/lib-amd/modelApi/edit/deleteExpandedSelection.d.ts +7 -0
  217. package/lib-amd/modelApi/edit/deleteExpandedSelection.js +96 -0
  218. package/lib-amd/modelApi/edit/deleteExpandedSelection.js.map +1 -0
  219. package/lib-amd/modelApi/edit/deleteSingleChar.d.ts +4 -0
  220. package/lib-amd/modelApi/edit/deleteSingleChar.js +37 -0
  221. package/lib-amd/modelApi/edit/deleteSingleChar.js.map +1 -0
  222. package/lib-amd/override/tablePreProcessor.d.ts +5 -0
  223. package/lib-amd/override/tablePreProcessor.js +25 -0
  224. package/lib-amd/override/tablePreProcessor.js.map +1 -0
  225. package/lib-amd/publicApi/domUtils/borderValues.d.ts +13 -0
  226. package/lib-amd/publicApi/domUtils/borderValues.js +50 -0
  227. package/lib-amd/publicApi/domUtils/borderValues.js.map +1 -0
  228. package/lib-amd/publicApi/domUtils/eventUtils.d.ts +13 -0
  229. package/lib-amd/publicApi/domUtils/eventUtils.js +31 -0
  230. package/lib-amd/publicApi/domUtils/eventUtils.js.map +1 -0
  231. package/lib-amd/publicApi/domUtils/stringUtil.d.ts +18 -0
  232. package/lib-amd/publicApi/domUtils/stringUtil.js +37 -0
  233. package/lib-amd/publicApi/domUtils/stringUtil.js.map +1 -0
  234. package/lib-amd/publicApi/model/cloneModel.d.ts +30 -0
  235. package/lib-amd/publicApi/model/cloneModel.js +208 -0
  236. package/lib-amd/publicApi/model/cloneModel.js.map +1 -0
  237. package/lib-amd/publicApi/model/getClosestAncestorBlockGroupIndex.d.ts +12 -0
  238. package/lib-amd/publicApi/model/getClosestAncestorBlockGroupIndex.js +30 -0
  239. package/lib-amd/publicApi/model/getClosestAncestorBlockGroupIndex.js.map +1 -0
  240. package/lib-amd/publicApi/model/isBlockGroupOfType.d.ts +8 -0
  241. package/lib-amd/publicApi/model/isBlockGroupOfType.js +16 -0
  242. package/lib-amd/publicApi/model/isBlockGroupOfType.js.map +1 -0
  243. package/lib-amd/publicApi/model/mergeModel.d.ts +36 -0
  244. package/lib-amd/publicApi/model/mergeModel.js +258 -0
  245. package/lib-amd/publicApi/model/mergeModel.js.map +1 -0
  246. package/lib-amd/publicApi/model/paste.d.ts +14 -0
  247. package/lib-amd/publicApi/model/paste.js +146 -0
  248. package/lib-amd/publicApi/model/paste.js.map +1 -0
  249. package/lib-amd/publicApi/selection/collectSelections.d.ts +50 -0
  250. package/lib-amd/publicApi/selection/collectSelections.js +180 -0
  251. package/lib-amd/publicApi/selection/collectSelections.js.map +1 -0
  252. package/lib-amd/publicApi/selection/deleteBlock.d.ts +11 -0
  253. package/lib-amd/publicApi/selection/deleteBlock.js +58 -0
  254. package/lib-amd/publicApi/selection/deleteBlock.js.map +1 -0
  255. package/lib-amd/publicApi/selection/deleteSegment.d.ts +10 -0
  256. package/lib-amd/publicApi/selection/deleteSegment.js +87 -0
  257. package/lib-amd/publicApi/selection/deleteSegment.js.map +1 -0
  258. package/lib-amd/publicApi/selection/deleteSelection.d.ts +9 -0
  259. package/lib-amd/publicApi/selection/deleteSelection.js +44 -0
  260. package/lib-amd/publicApi/selection/deleteSelection.js.map +1 -0
  261. package/lib-amd/publicApi/selection/getSelectionRootNode.d.ts +9 -0
  262. package/lib-amd/publicApi/selection/getSelectionRootNode.js +25 -0
  263. package/lib-amd/publicApi/selection/getSelectionRootNode.js.map +1 -0
  264. package/lib-amd/publicApi/selection/iterateSelections.d.ts +48 -0
  265. package/lib-amd/publicApi/selection/iterateSelections.js +148 -0
  266. package/lib-amd/publicApi/selection/iterateSelections.js.map +1 -0
  267. package/lib-amd/publicApi/selection/setSelection.d.ts +8 -0
  268. package/lib-amd/publicApi/selection/setSelection.js +132 -0
  269. package/lib-amd/publicApi/selection/setSelection.js.map +1 -0
  270. package/lib-amd/publicApi/table/applyTableFormat.d.ts +8 -0
  271. package/lib-amd/publicApi/table/applyTableFormat.js +236 -0
  272. package/lib-amd/publicApi/table/applyTableFormat.js.map +1 -0
  273. package/lib-amd/publicApi/table/normalizeTable.d.ts +13 -0
  274. package/lib-amd/publicApi/table/normalizeTable.js +121 -0
  275. package/lib-amd/publicApi/table/normalizeTable.js.map +1 -0
  276. package/lib-amd/publicApi/table/setTableCellBackgroundColor.d.ts +15 -0
  277. package/lib-amd/publicApi/table/setTableCellBackgroundColor.js +105 -0
  278. package/lib-amd/publicApi/table/setTableCellBackgroundColor.js.map +1 -0
  279. package/lib-mjs/constants/ChangeSource.d.ts +59 -0
  280. package/lib-mjs/constants/ChangeSource.js +60 -0
  281. package/lib-mjs/constants/ChangeSource.js.map +1 -0
  282. package/lib-mjs/coreApi/createContentModel.d.ts +9 -0
  283. package/lib-mjs/coreApi/createContentModel.js +36 -0
  284. package/lib-mjs/coreApi/createContentModel.js.map +1 -0
  285. package/lib-mjs/coreApi/createEditorContext.d.ts +6 -0
  286. package/lib-mjs/coreApi/createEditorContext.js +34 -0
  287. package/lib-mjs/coreApi/createEditorContext.js.map +1 -0
  288. package/lib-mjs/coreApi/formatContentModel.d.ts +12 -0
  289. package/lib-mjs/coreApi/formatContentModel.js +124 -0
  290. package/lib-mjs/coreApi/formatContentModel.js.map +1 -0
  291. package/lib-mjs/coreApi/getDOMSelection.d.ts +5 -0
  292. package/lib-mjs/coreApi/getDOMSelection.js +37 -0
  293. package/lib-mjs/coreApi/getDOMSelection.js.map +1 -0
  294. package/lib-mjs/coreApi/setContentModel.d.ts +9 -0
  295. package/lib-mjs/coreApi/setContentModel.js +29 -0
  296. package/lib-mjs/coreApi/setContentModel.js.map +1 -0
  297. package/lib-mjs/coreApi/setDOMSelection.d.ts +5 -0
  298. package/lib-mjs/coreApi/setDOMSelection.js +37 -0
  299. package/lib-mjs/coreApi/setDOMSelection.js.map +1 -0
  300. package/lib-mjs/coreApi/switchShadowEdit.d.ts +8 -0
  301. package/lib-mjs/coreApi/switchShadowEdit.js +50 -0
  302. package/lib-mjs/coreApi/switchShadowEdit.js.map +1 -0
  303. package/lib-mjs/corePlugin/ContentModelCachePlugin.d.ts +53 -0
  304. package/lib-mjs/corePlugin/ContentModelCachePlugin.js +165 -0
  305. package/lib-mjs/corePlugin/ContentModelCachePlugin.js.map +1 -0
  306. package/lib-mjs/corePlugin/ContentModelCopyPastePlugin.d.ts +46 -0
  307. package/lib-mjs/corePlugin/ContentModelCopyPastePlugin.js +228 -0
  308. package/lib-mjs/corePlugin/ContentModelCopyPastePlugin.js.map +1 -0
  309. package/lib-mjs/corePlugin/ContentModelFormatPlugin.d.ts +59 -0
  310. package/lib-mjs/corePlugin/ContentModelFormatPlugin.js +143 -0
  311. package/lib-mjs/corePlugin/ContentModelFormatPlugin.js.map +1 -0
  312. package/lib-mjs/corePlugin/ContentModelTypeInContainerPlugin.d.ts +23 -0
  313. package/lib-mjs/corePlugin/ContentModelTypeInContainerPlugin.js +29 -0
  314. package/lib-mjs/corePlugin/ContentModelTypeInContainerPlugin.js.map +1 -0
  315. package/lib-mjs/corePlugin/utils/addRangeToSelection.d.ts +4 -0
  316. package/lib-mjs/corePlugin/utils/addRangeToSelection.js +12 -0
  317. package/lib-mjs/corePlugin/utils/addRangeToSelection.js.map +1 -0
  318. package/lib-mjs/corePlugin/utils/applyDefaultFormat.d.ts +9 -0
  319. package/lib-mjs/corePlugin/utils/applyDefaultFormat.js +75 -0
  320. package/lib-mjs/corePlugin/utils/applyDefaultFormat.js.map +1 -0
  321. package/lib-mjs/corePlugin/utils/applyPendingFormat.d.ts +8 -0
  322. package/lib-mjs/corePlugin/utils/applyPendingFormat.js +47 -0
  323. package/lib-mjs/corePlugin/utils/applyPendingFormat.js.map +1 -0
  324. package/lib-mjs/corePlugin/utils/areSameSelection.d.ts +6 -0
  325. package/lib-mjs/corePlugin/utils/areSameSelection.js +32 -0
  326. package/lib-mjs/corePlugin/utils/areSameSelection.js.map +1 -0
  327. package/lib-mjs/corePlugin/utils/contentModelDomIndexer.d.ts +6 -0
  328. package/lib-mjs/corePlugin/utils/contentModelDomIndexer.js +187 -0
  329. package/lib-mjs/corePlugin/utils/contentModelDomIndexer.js.map +1 -0
  330. package/lib-mjs/editor/createContentModelEditorCore.d.ts +6 -0
  331. package/lib-mjs/editor/createContentModelEditorCore.js +46 -0
  332. package/lib-mjs/editor/createContentModelEditorCore.js.map +1 -0
  333. package/lib-mjs/editor/promoteToContentModelEditorCore.d.ts +8 -0
  334. package/lib-mjs/editor/promoteToContentModelEditorCore.js +68 -0
  335. package/lib-mjs/editor/promoteToContentModelEditorCore.js.map +1 -0
  336. package/lib-mjs/index.d.ts +29 -0
  337. package/lib-mjs/index.js +30 -0
  338. package/lib-mjs/index.js.map +1 -0
  339. package/lib-mjs/metadata/definitionCreators.d.ts +48 -0
  340. package/lib-mjs/metadata/definitionCreators.js +87 -0
  341. package/lib-mjs/metadata/definitionCreators.js.map +1 -0
  342. package/lib-mjs/metadata/updateImageMetadata.d.ts +7 -0
  343. package/lib-mjs/metadata/updateImageMetadata.js +24 -0
  344. package/lib-mjs/metadata/updateImageMetadata.js.map +1 -0
  345. package/lib-mjs/metadata/updateListMetadata.d.ts +15 -0
  346. package/lib-mjs/metadata/updateListMetadata.js +177 -0
  347. package/lib-mjs/metadata/updateListMetadata.js.map +1 -0
  348. package/lib-mjs/metadata/updateTableCellMetadata.d.ts +7 -0
  349. package/lib-mjs/metadata/updateTableCellMetadata.js +16 -0
  350. package/lib-mjs/metadata/updateTableCellMetadata.js.map +1 -0
  351. package/lib-mjs/metadata/updateTableMetadata.d.ts +7 -0
  352. package/lib-mjs/metadata/updateTableMetadata.js +28 -0
  353. package/lib-mjs/metadata/updateTableMetadata.js.map +1 -0
  354. package/lib-mjs/modelApi/edit/deleteExpandedSelection.d.ts +7 -0
  355. package/lib-mjs/modelApi/edit/deleteExpandedSelection.js +95 -0
  356. package/lib-mjs/modelApi/edit/deleteExpandedSelection.js.map +1 -0
  357. package/lib-mjs/modelApi/edit/deleteSingleChar.d.ts +4 -0
  358. package/lib-mjs/modelApi/edit/deleteSingleChar.js +32 -0
  359. package/lib-mjs/modelApi/edit/deleteSingleChar.js.map +1 -0
  360. package/lib-mjs/override/tablePreProcessor.d.ts +5 -0
  361. package/lib-mjs/override/tablePreProcessor.js +21 -0
  362. package/lib-mjs/override/tablePreProcessor.js.map +1 -0
  363. package/lib-mjs/publicApi/domUtils/borderValues.d.ts +13 -0
  364. package/lib-mjs/publicApi/domUtils/borderValues.js +43 -0
  365. package/lib-mjs/publicApi/domUtils/borderValues.js.map +1 -0
  366. package/lib-mjs/publicApi/domUtils/eventUtils.d.ts +13 -0
  367. package/lib-mjs/publicApi/domUtils/eventUtils.js +24 -0
  368. package/lib-mjs/publicApi/domUtils/eventUtils.js.map +1 -0
  369. package/lib-mjs/publicApi/domUtils/stringUtil.d.ts +18 -0
  370. package/lib-mjs/publicApi/domUtils/stringUtil.js +29 -0
  371. package/lib-mjs/publicApi/domUtils/stringUtil.js.map +1 -0
  372. package/lib-mjs/publicApi/model/cloneModel.d.ts +30 -0
  373. package/lib-mjs/publicApi/model/cloneModel.js +203 -0
  374. package/lib-mjs/publicApi/model/cloneModel.js.map +1 -0
  375. package/lib-mjs/publicApi/model/getClosestAncestorBlockGroupIndex.d.ts +12 -0
  376. package/lib-mjs/publicApi/model/getClosestAncestorBlockGroupIndex.js +24 -0
  377. package/lib-mjs/publicApi/model/getClosestAncestorBlockGroupIndex.js.map +1 -0
  378. package/lib-mjs/publicApi/model/isBlockGroupOfType.d.ts +8 -0
  379. package/lib-mjs/publicApi/model/isBlockGroupOfType.js +10 -0
  380. package/lib-mjs/publicApi/model/isBlockGroupOfType.js.map +1 -0
  381. package/lib-mjs/publicApi/model/mergeModel.d.ts +36 -0
  382. package/lib-mjs/publicApi/model/mergeModel.js +258 -0
  383. package/lib-mjs/publicApi/model/mergeModel.js.map +1 -0
  384. package/lib-mjs/publicApi/model/paste.d.ts +14 -0
  385. package/lib-mjs/publicApi/model/paste.js +145 -0
  386. package/lib-mjs/publicApi/model/paste.js.map +1 -0
  387. package/lib-mjs/publicApi/selection/collectSelections.d.ts +50 -0
  388. package/lib-mjs/publicApi/selection/collectSelections.js +173 -0
  389. package/lib-mjs/publicApi/selection/collectSelections.js.map +1 -0
  390. package/lib-mjs/publicApi/selection/deleteBlock.d.ts +11 -0
  391. package/lib-mjs/publicApi/selection/deleteBlock.js +52 -0
  392. package/lib-mjs/publicApi/selection/deleteBlock.js.map +1 -0
  393. package/lib-mjs/publicApi/selection/deleteSegment.d.ts +10 -0
  394. package/lib-mjs/publicApi/selection/deleteSegment.js +84 -0
  395. package/lib-mjs/publicApi/selection/deleteSegment.js.map +1 -0
  396. package/lib-mjs/publicApi/selection/deleteSelection.d.ts +9 -0
  397. package/lib-mjs/publicApi/selection/deleteSelection.js +40 -0
  398. package/lib-mjs/publicApi/selection/deleteSelection.js.map +1 -0
  399. package/lib-mjs/publicApi/selection/getSelectionRootNode.d.ts +9 -0
  400. package/lib-mjs/publicApi/selection/getSelectionRootNode.js +19 -0
  401. package/lib-mjs/publicApi/selection/getSelectionRootNode.js.map +1 -0
  402. package/lib-mjs/publicApi/selection/iterateSelections.d.ts +48 -0
  403. package/lib-mjs/publicApi/selection/iterateSelections.js +143 -0
  404. package/lib-mjs/publicApi/selection/iterateSelections.js.map +1 -0
  405. package/lib-mjs/publicApi/selection/setSelection.d.ts +8 -0
  406. package/lib-mjs/publicApi/selection/setSelection.js +127 -0
  407. package/lib-mjs/publicApi/selection/setSelection.js.map +1 -0
  408. package/lib-mjs/publicApi/table/applyTableFormat.d.ts +8 -0
  409. package/lib-mjs/publicApi/table/applyTableFormat.js +237 -0
  410. package/lib-mjs/publicApi/table/applyTableFormat.js.map +1 -0
  411. package/lib-mjs/publicApi/table/normalizeTable.d.ts +13 -0
  412. package/lib-mjs/publicApi/table/normalizeTable.js +117 -0
  413. package/lib-mjs/publicApi/table/normalizeTable.js.map +1 -0
  414. package/lib-mjs/publicApi/table/setTableCellBackgroundColor.d.ts +15 -0
  415. package/lib-mjs/publicApi/table/setTableCellBackgroundColor.js +100 -0
  416. package/lib-mjs/publicApi/table/setTableCellBackgroundColor.js.map +1 -0
  417. package/package.json +21 -0
@@ -0,0 +1,30 @@
1
+ export { cloneModel } from './publicApi/model/cloneModel';
2
+ export { paste } from './publicApi/model/paste';
3
+ export { mergeModel } from './publicApi/model/mergeModel';
4
+ export { isBlockGroupOfType } from './publicApi/model/isBlockGroupOfType';
5
+ export { getClosestAncestorBlockGroupIndex, } from './publicApi/model/getClosestAncestorBlockGroupIndex';
6
+ export { iterateSelections, } from './publicApi/selection/iterateSelections';
7
+ export { getSelectionRootNode } from './publicApi/selection/getSelectionRootNode';
8
+ export { deleteSelection } from './publicApi/selection/deleteSelection';
9
+ export { deleteSegment } from './publicApi/selection/deleteSegment';
10
+ export { deleteBlock } from './publicApi/selection/deleteBlock';
11
+ export { getFirstSelectedListItem, getFirstSelectedTable, getOperationalBlocks, getSelectedParagraphs, getSelectedSegments, getSelectedSegmentsAndParagraphs, } from './publicApi/selection/collectSelections';
12
+ export { setSelection } from './publicApi/selection/setSelection';
13
+ export { applyTableFormat } from './publicApi/table/applyTableFormat';
14
+ export { normalizeTable } from './publicApi/table/normalizeTable';
15
+ export { setTableCellBackgroundColor } from './publicApi/table/setTableCellBackgroundColor';
16
+ export { isCharacterValue, isModifierKey } from './publicApi/domUtils/eventUtils';
17
+ export { combineBorderValue, extractBorderValues } from './publicApi/domUtils/borderValues';
18
+ export { isPunctuation, isSpace, normalizeText } from './publicApi/domUtils/stringUtil';
19
+ export { updateImageMetadata } from './metadata/updateImageMetadata';
20
+ export { updateTableCellMetadata } from './metadata/updateTableCellMetadata';
21
+ export { updateTableMetadata } from './metadata/updateTableMetadata';
22
+ export { updateListMetadata } from './metadata/updateListMetadata';
23
+ export { promoteToContentModelEditorCore } from './editor/promoteToContentModelEditorCore';
24
+ export { createContentModelEditorCore } from './editor/createContentModelEditorCore';
25
+ export { ChangeSource } from './constants/ChangeSource';
26
+ export { ContentModelCachePlugin } from './corePlugin/ContentModelCachePlugin';
27
+ export { ContentModelCopyPastePlugin } from './corePlugin/ContentModelCopyPastePlugin';
28
+ export { ContentModelFormatPlugin } from './corePlugin/ContentModelFormatPlugin';
29
+ export { ContentModelTypeInContainerPlugin } from './corePlugin/ContentModelTypeInContainerPlugin';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-core/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAoB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EACH,iCAAiC,GAEpC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACH,iBAAiB,GAGpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAEH,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gCAAgC,GACnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC","sourcesContent":["export { CachedElementHandler, CloneModelOptions, cloneModel } from './publicApi/model/cloneModel';\nexport { paste } from './publicApi/model/paste';\nexport { mergeModel, MergeModelOption } from './publicApi/model/mergeModel';\nexport { isBlockGroupOfType } from './publicApi/model/isBlockGroupOfType';\nexport {\n getClosestAncestorBlockGroupIndex,\n TypeOfBlockGroup,\n} from './publicApi/model/getClosestAncestorBlockGroupIndex';\n\nexport {\n iterateSelections,\n IterateSelectionsCallback,\n IterateSelectionsOption,\n} from './publicApi/selection/iterateSelections';\nexport { getSelectionRootNode } from './publicApi/selection/getSelectionRootNode';\nexport { deleteSelection } from './publicApi/selection/deleteSelection';\nexport { deleteSegment } from './publicApi/selection/deleteSegment';\nexport { deleteBlock } from './publicApi/selection/deleteBlock';\nexport {\n OperationalBlocks,\n getFirstSelectedListItem,\n getFirstSelectedTable,\n getOperationalBlocks,\n getSelectedParagraphs,\n getSelectedSegments,\n getSelectedSegmentsAndParagraphs,\n} from './publicApi/selection/collectSelections';\nexport { setSelection } from './publicApi/selection/setSelection';\n\nexport { applyTableFormat } from './publicApi/table/applyTableFormat';\nexport { normalizeTable } from './publicApi/table/normalizeTable';\nexport { setTableCellBackgroundColor } from './publicApi/table/setTableCellBackgroundColor';\n\nexport { isCharacterValue, isModifierKey } from './publicApi/domUtils/eventUtils';\nexport { combineBorderValue, extractBorderValues } from './publicApi/domUtils/borderValues';\nexport { isPunctuation, isSpace, normalizeText } from './publicApi/domUtils/stringUtil';\n\nexport { updateImageMetadata } from './metadata/updateImageMetadata';\nexport { updateTableCellMetadata } from './metadata/updateTableCellMetadata';\nexport { updateTableMetadata } from './metadata/updateTableMetadata';\nexport { updateListMetadata } from './metadata/updateListMetadata';\n\nexport { promoteToContentModelEditorCore } from './editor/promoteToContentModelEditorCore';\nexport { createContentModelEditorCore } from './editor/createContentModelEditorCore';\nexport { ChangeSource } from './constants/ChangeSource';\n\nexport { ContentModelCachePlugin } from './corePlugin/ContentModelCachePlugin';\nexport { ContentModelCopyPastePlugin } from './corePlugin/ContentModelCopyPastePlugin';\nexport { ContentModelFormatPlugin } from './corePlugin/ContentModelFormatPlugin';\nexport { ContentModelTypeInContainerPlugin } from './corePlugin/ContentModelTypeInContainerPlugin';\n"]}
@@ -0,0 +1,48 @@
1
+ import type { ArrayDefinition, BooleanDefinition, Definition, NumberDefinition, ObjectDefinition, ObjectPropertyDefinition, StringDefinition } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ * Create a number definition
5
+ * @param isOptional Whether this property is optional
6
+ * @param value Optional value of the number
7
+ * @param minValue Optional minimum value
8
+ * @param maxValue Optional maximum value
9
+ * @param allowNull Allow the property to be null
10
+ * @returns The number definition object
11
+ */
12
+ export declare function createNumberDefinition(isOptional?: boolean, value?: number, minValue?: number, maxValue?: number, allowNull?: boolean): NumberDefinition;
13
+ /**
14
+ * @internal
15
+ * Create a boolean definition
16
+ * @param isOptional Whether this property is optional
17
+ * @param value Optional expected boolean value
18
+ * @param allowNull Allow the property to be null
19
+ * @returns The boolean definition object
20
+ */
21
+ export declare function createBooleanDefinition(isOptional?: boolean, value?: boolean, allowNull?: boolean): BooleanDefinition;
22
+ /**
23
+ * @internal
24
+ * Create a string definition
25
+ * @param isOptional Whether this property is optional
26
+ * @param value Optional expected string value
27
+ * @param allowNull Allow the property to be null
28
+ * @returns The string definition object
29
+ */
30
+ export declare function createStringDefinition(isOptional?: boolean, value?: string, allowNull?: boolean): StringDefinition;
31
+ /**
32
+ * @internal
33
+ * Create an array definition
34
+ * @param itemDef Definition of each item of the related array
35
+ * @param isOptional Whether this property is optional
36
+ * @param allowNull Allow the property to be null
37
+ * @returns The array definition object
38
+ */
39
+ export declare function createArrayDefinition<T>(itemDef: Definition<T>, isOptional?: boolean, minLength?: number, maxLength?: number, allowNull?: boolean): ArrayDefinition<T[]>;
40
+ /**
41
+ * @internal
42
+ * Create an object definition
43
+ * @param propertyDef Definition of each property of the related object
44
+ * @param isOptional Whether this property is optional
45
+ * @param allowNull Allow the property to be null
46
+ * @returns The object definition object
47
+ */
48
+ export declare function createObjectDefinition<T extends Object>(propertyDef: ObjectPropertyDefinition<T>, isOptional?: boolean, allowNull?: boolean): ObjectDefinition<T>;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @internal
3
+ * Create a number definition
4
+ * @param isOptional Whether this property is optional
5
+ * @param value Optional value of the number
6
+ * @param minValue Optional minimum value
7
+ * @param maxValue Optional maximum value
8
+ * @param allowNull Allow the property to be null
9
+ * @returns The number definition object
10
+ */
11
+ export function createNumberDefinition(isOptional, value, minValue, maxValue, allowNull) {
12
+ return {
13
+ type: 'number',
14
+ isOptional: isOptional,
15
+ value: value,
16
+ maxValue: maxValue,
17
+ minValue: minValue,
18
+ allowNull: allowNull,
19
+ };
20
+ }
21
+ /**
22
+ * @internal
23
+ * Create a boolean definition
24
+ * @param isOptional Whether this property is optional
25
+ * @param value Optional expected boolean value
26
+ * @param allowNull Allow the property to be null
27
+ * @returns The boolean definition object
28
+ */
29
+ export function createBooleanDefinition(isOptional, value, allowNull) {
30
+ return {
31
+ type: 'boolean',
32
+ isOptional: isOptional,
33
+ value: value,
34
+ allowNull: allowNull,
35
+ };
36
+ }
37
+ /**
38
+ * @internal
39
+ * Create a string definition
40
+ * @param isOptional Whether this property is optional
41
+ * @param value Optional expected string value
42
+ * @param allowNull Allow the property to be null
43
+ * @returns The string definition object
44
+ */
45
+ export function createStringDefinition(isOptional, value, allowNull) {
46
+ return {
47
+ type: 'string',
48
+ isOptional: isOptional,
49
+ value: value,
50
+ allowNull: allowNull,
51
+ };
52
+ }
53
+ /**
54
+ * @internal
55
+ * Create an array definition
56
+ * @param itemDef Definition of each item of the related array
57
+ * @param isOptional Whether this property is optional
58
+ * @param allowNull Allow the property to be null
59
+ * @returns The array definition object
60
+ */
61
+ export function createArrayDefinition(itemDef, isOptional, minLength, maxLength, allowNull) {
62
+ return {
63
+ type: 'array',
64
+ isOptional: isOptional,
65
+ itemDef: itemDef,
66
+ minLength: minLength,
67
+ maxLength: maxLength,
68
+ allowNull: allowNull,
69
+ };
70
+ }
71
+ /**
72
+ * @internal
73
+ * Create an object definition
74
+ * @param propertyDef Definition of each property of the related object
75
+ * @param isOptional Whether this property is optional
76
+ * @param allowNull Allow the property to be null
77
+ * @returns The object definition object
78
+ */
79
+ export function createObjectDefinition(propertyDef, isOptional, allowNull) {
80
+ return {
81
+ type: 'object',
82
+ isOptional: isOptional,
83
+ propertyDef: propertyDef,
84
+ allowNull: allowNull,
85
+ };
86
+ }
87
+ //# sourceMappingURL=definitionCreators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitionCreators.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-core/lib/metadata/definitionCreators.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAClC,UAAoB,EACpB,KAAc,EACd,QAAiB,EACjB,QAAiB,EACjB,SAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,YAAA;QACV,KAAK,OAAA;QACL,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACnC,UAAoB,EACpB,KAAe,EACf,SAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,SAAS;QACf,UAAU,YAAA;QACV,KAAK,OAAA;QACL,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAClC,UAAoB,EACpB,KAAc,EACd,SAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,YAAA;QACV,KAAK,OAAA;QACL,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAAsB,EACtB,UAAoB,EACpB,SAAkB,EAClB,SAAkB,EAClB,SAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,OAAO;QACb,UAAU,YAAA;QACV,OAAO,SAAA;QACP,SAAS,WAAA;QACT,SAAS,WAAA;QACT,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAClC,WAAwC,EACxC,UAAoB,EACpB,SAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,YAAA;QACV,WAAW,aAAA;QACX,SAAS,WAAA;KACZ,CAAC;AACN,CAAC","sourcesContent":["import type {\n ArrayDefinition,\n BooleanDefinition,\n Definition,\n NumberDefinition,\n ObjectDefinition,\n ObjectPropertyDefinition,\n StringDefinition,\n} from 'roosterjs-content-model-types';\n\n/**\n * @internal\n * Create a number definition\n * @param isOptional Whether this property is optional\n * @param value Optional value of the number\n * @param minValue Optional minimum value\n * @param maxValue Optional maximum value\n * @param allowNull Allow the property to be null\n * @returns The number definition object\n */\nexport function createNumberDefinition(\n isOptional?: boolean,\n value?: number,\n minValue?: number,\n maxValue?: number,\n allowNull?: boolean\n): NumberDefinition {\n return {\n type: 'number',\n isOptional,\n value,\n maxValue,\n minValue,\n allowNull,\n };\n}\n\n/**\n * @internal\n * Create a boolean definition\n * @param isOptional Whether this property is optional\n * @param value Optional expected boolean value\n * @param allowNull Allow the property to be null\n * @returns The boolean definition object\n */\nexport function createBooleanDefinition(\n isOptional?: boolean,\n value?: boolean,\n allowNull?: boolean\n): BooleanDefinition {\n return {\n type: 'boolean',\n isOptional,\n value,\n allowNull,\n };\n}\n\n/**\n * @internal\n * Create a string definition\n * @param isOptional Whether this property is optional\n * @param value Optional expected string value\n * @param allowNull Allow the property to be null\n * @returns The string definition object\n */\nexport function createStringDefinition(\n isOptional?: boolean,\n value?: string,\n allowNull?: boolean\n): StringDefinition {\n return {\n type: 'string',\n isOptional,\n value,\n allowNull,\n };\n}\n\n/**\n * @internal\n * Create an array definition\n * @param itemDef Definition of each item of the related array\n * @param isOptional Whether this property is optional\n * @param allowNull Allow the property to be null\n * @returns The array definition object\n */\nexport function createArrayDefinition<T>(\n itemDef: Definition<T>,\n isOptional?: boolean,\n minLength?: number,\n maxLength?: number,\n allowNull?: boolean\n): ArrayDefinition<T[]> {\n return {\n type: 'array',\n isOptional,\n itemDef,\n minLength,\n maxLength,\n allowNull,\n };\n}\n\n/**\n * @internal\n * Create an object definition\n * @param propertyDef Definition of each property of the related object\n * @param isOptional Whether this property is optional\n * @param allowNull Allow the property to be null\n * @returns The object definition object\n */\nexport function createObjectDefinition<T extends Object>(\n propertyDef: ObjectPropertyDefinition<T>,\n isOptional?: boolean,\n allowNull?: boolean\n): ObjectDefinition<T> {\n return {\n type: 'object',\n isOptional,\n propertyDef,\n allowNull,\n };\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { ContentModelImage, ImageMetadataFormat } from 'roosterjs-content-model-types';
2
+ /**
3
+ * Update image metadata with a callback
4
+ * @param image The image Content Model
5
+ * @param callback The callback function used for updating metadata
6
+ */
7
+ export declare function updateImageMetadata(image: ContentModelImage, callback?: (format: ImageMetadataFormat | null) => ImageMetadataFormat | null): ImageMetadataFormat | null;
@@ -0,0 +1,24 @@
1
+ import { updateMetadata } from 'roosterjs-content-model-dom';
2
+ import { createNumberDefinition, createObjectDefinition, createStringDefinition, } from './definitionCreators';
3
+ var NumberDefinition = createNumberDefinition();
4
+ var ImageMetadataFormatDefinition = createObjectDefinition({
5
+ widthPx: NumberDefinition,
6
+ heightPx: NumberDefinition,
7
+ leftPercent: NumberDefinition,
8
+ rightPercent: NumberDefinition,
9
+ topPercent: NumberDefinition,
10
+ bottomPercent: NumberDefinition,
11
+ angleRad: NumberDefinition,
12
+ src: createStringDefinition(),
13
+ naturalHeight: NumberDefinition,
14
+ naturalWidth: NumberDefinition,
15
+ });
16
+ /**
17
+ * Update image metadata with a callback
18
+ * @param image The image Content Model
19
+ * @param callback The callback function used for updating metadata
20
+ */
21
+ export function updateImageMetadata(image, callback) {
22
+ return updateMetadata(image, callback, ImageMetadataFormatDefinition);
23
+ }
24
+ //# sourceMappingURL=updateImageMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateImageMetadata.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-core/lib/metadata/updateImageMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,IAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;AAElD,IAAM,6BAA6B,GAAG,sBAAsB,CAAgC;IACxF,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,sBAAsB,EAAE;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAwB,EACxB,QAA6E;IAE7E,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AAC1E,CAAC","sourcesContent":["import { updateMetadata } from 'roosterjs-content-model-dom';\nimport {\n createNumberDefinition,\n createObjectDefinition,\n createStringDefinition,\n} from './definitionCreators';\nimport type { ContentModelImage, ImageMetadataFormat } from 'roosterjs-content-model-types';\n\nconst NumberDefinition = createNumberDefinition();\n\nconst ImageMetadataFormatDefinition = createObjectDefinition<Required<ImageMetadataFormat>>({\n widthPx: NumberDefinition,\n heightPx: NumberDefinition,\n leftPercent: NumberDefinition,\n rightPercent: NumberDefinition,\n topPercent: NumberDefinition,\n bottomPercent: NumberDefinition,\n angleRad: NumberDefinition,\n src: createStringDefinition(),\n naturalHeight: NumberDefinition,\n naturalWidth: NumberDefinition,\n});\n\n/**\n * Update image metadata with a callback\n * @param image The image Content Model\n * @param callback The callback function used for updating metadata\n */\nexport function updateImageMetadata(\n image: ContentModelImage,\n callback?: (format: ImageMetadataFormat | null) => ImageMetadataFormat | null\n): ImageMetadataFormat | null {\n return updateMetadata(image, callback, ImageMetadataFormatDefinition);\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import type { ContentModelListItemFormat, ContentModelListItemLevelFormat, ContentModelWithDataset, ListMetadataFormat, MetadataApplier } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const listItemMetadataApplier: MetadataApplier<ListMetadataFormat, ContentModelListItemFormat>;
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare const listLevelMetadataApplier: MetadataApplier<ListMetadataFormat, ContentModelListItemLevelFormat>;
10
+ /**
11
+ * Update list metadata with a callback
12
+ * @param list The list Content Model (metadata holder)
13
+ * @param callback The callback function used for updating metadata
14
+ */
15
+ export declare function updateListMetadata(list: ContentModelWithDataset<ListMetadataFormat>, callback?: (format: ListMetadataFormat | null) => ListMetadataFormat | null): ListMetadataFormat | null;
@@ -0,0 +1,177 @@
1
+ var _a, _b;
2
+ import { __values } from "tslib";
3
+ import { BulletListType, NumberingListType } from 'roosterjs-content-model-types';
4
+ import { createNumberDefinition, createObjectDefinition } from './definitionCreators';
5
+ import { getObjectKeys, updateMetadata } from 'roosterjs-content-model-dom';
6
+ var DefaultOrderedListStyles = ['decimal', 'lower-alpha', 'lower-roman'];
7
+ var DefaultUnorderedListStyles = ['disc', 'circle', 'square'];
8
+ var OrderedMapPlaceholderRegex = /\$\{(\w+)\}/;
9
+ var CharCodeOfA = 65;
10
+ var RomanValues = {
11
+ M: 1000,
12
+ CM: 900,
13
+ D: 500,
14
+ CD: 400,
15
+ C: 100,
16
+ XC: 90,
17
+ L: 50,
18
+ XL: 40,
19
+ X: 10,
20
+ IX: 9,
21
+ V: 5,
22
+ IV: 4,
23
+ I: 1,
24
+ };
25
+ var OrderedMap = (_a = {},
26
+ _a[NumberingListType.Decimal] = 'decimal',
27
+ _a[NumberingListType.DecimalDash] = '"${Number}- "',
28
+ _a[NumberingListType.DecimalParenthesis] = '"${Number}) "',
29
+ _a[NumberingListType.DecimalDoubleParenthesis] = '"(${Number}) "',
30
+ _a[NumberingListType.LowerAlpha] = 'lower-alpha',
31
+ _a[NumberingListType.LowerAlphaDash] = '"${LowerAlpha}- "',
32
+ _a[NumberingListType.LowerAlphaParenthesis] = '"${LowerAlpha}) "',
33
+ _a[NumberingListType.LowerAlphaDoubleParenthesis] = '"(${LowerAlpha}) "',
34
+ _a[NumberingListType.UpperAlpha] = 'upper-alpha',
35
+ _a[NumberingListType.UpperAlphaDash] = '"${UpperAlpha}- "',
36
+ _a[NumberingListType.UpperAlphaParenthesis] = '"${UpperAlpha}) "',
37
+ _a[NumberingListType.UpperAlphaDoubleParenthesis] = '"(${UpperAlpha}) "',
38
+ _a[NumberingListType.LowerRoman] = 'lower-roman',
39
+ _a[NumberingListType.LowerRomanDash] = '"${LowerRoman}- "',
40
+ _a[NumberingListType.LowerRomanParenthesis] = '"${LowerRoman}) "',
41
+ _a[NumberingListType.LowerRomanDoubleParenthesis] = '"(${LowerRoman}) "',
42
+ _a[NumberingListType.UpperRoman] = 'upper-roman',
43
+ _a[NumberingListType.UpperRomanDash] = '"${UpperRoman}- "',
44
+ _a[NumberingListType.UpperRomanParenthesis] = '"${UpperRoman}) "',
45
+ _a[NumberingListType.UpperRomanDoubleParenthesis] = '"(${UpperRoman}) "',
46
+ _a);
47
+ var UnorderedMap = (_b = {},
48
+ _b[BulletListType.Disc] = 'disc',
49
+ _b[BulletListType.Square] = '"∎ "',
50
+ _b[BulletListType.Circle] = 'circle',
51
+ _b[BulletListType.Dash] = '"- "',
52
+ _b[BulletListType.LongArrow] = '"➔ "',
53
+ _b[BulletListType.DoubleLongArrow] = '"➔ "',
54
+ _b[BulletListType.ShortArrow] = '"➢ "',
55
+ _b[BulletListType.UnfilledArrow] = '"➪ "',
56
+ _b[BulletListType.Hyphen] = '"— "',
57
+ _b);
58
+ function getOrderedListStyleValue(template, listNumber) {
59
+ return template
60
+ ? template.replace(OrderedMapPlaceholderRegex, function (_, subStr) {
61
+ switch (subStr) {
62
+ case 'Number':
63
+ return listNumber + '';
64
+ case 'LowerAlpha':
65
+ return convertDecimalsToAlpha(listNumber, true /*isLowerCase*/);
66
+ case 'UpperAlpha':
67
+ return convertDecimalsToAlpha(listNumber, false /*isLowerCase*/);
68
+ case 'LowerRoman':
69
+ return convertDecimalsToRoman(listNumber, true /*isLowerCase*/);
70
+ case 'UpperRoman':
71
+ return convertDecimalsToRoman(listNumber, false /*isLowerCase*/);
72
+ }
73
+ return '';
74
+ })
75
+ : undefined;
76
+ }
77
+ function convertDecimalsToAlpha(decimal, isLowerCase) {
78
+ var alpha = '';
79
+ decimal--;
80
+ while (decimal >= 0) {
81
+ alpha = String.fromCharCode((decimal % 26) + CharCodeOfA) + alpha;
82
+ decimal = Math.floor(decimal / 26) - 1;
83
+ }
84
+ return isLowerCase ? alpha.toLowerCase() : alpha;
85
+ }
86
+ function convertDecimalsToRoman(decimal, isLowerCase) {
87
+ var e_1, _a;
88
+ var romanValue = '';
89
+ try {
90
+ for (var _b = __values(getObjectKeys(RomanValues)), _c = _b.next(); !_c.done; _c = _b.next()) {
91
+ var i = _c.value;
92
+ var timesRomanCharAppear = Math.floor(decimal / RomanValues[i]);
93
+ decimal = decimal - timesRomanCharAppear * RomanValues[i];
94
+ romanValue = romanValue + i.repeat(timesRomanCharAppear);
95
+ }
96
+ }
97
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
98
+ finally {
99
+ try {
100
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
101
+ }
102
+ finally { if (e_1) throw e_1.error; }
103
+ }
104
+ return isLowerCase ? romanValue.toLocaleLowerCase() : romanValue;
105
+ }
106
+ var listMetadataDefinition = createObjectDefinition({
107
+ orderedStyleType: createNumberDefinition(true /** isOptional */, undefined /** value **/, NumberingListType.Min, NumberingListType.Max),
108
+ unorderedStyleType: createNumberDefinition(true /** isOptional */, undefined /** value **/, BulletListType.Min, BulletListType.Max),
109
+ }, true /** isOptional */, true /** allowNull */);
110
+ function shouldApplyToItem(listStyleType) {
111
+ return listStyleType.indexOf('"') >= 0;
112
+ }
113
+ function getRawListStyleType(listType, metadata, depth) {
114
+ var orderedStyleType = metadata.orderedStyleType, unorderedStyleType = metadata.unorderedStyleType;
115
+ if (listType == 'OL') {
116
+ return orderedStyleType === undefined
117
+ ? DefaultOrderedListStyles[depth % DefaultOrderedListStyles.length]
118
+ : OrderedMap[orderedStyleType];
119
+ }
120
+ else {
121
+ return unorderedStyleType === undefined
122
+ ? DefaultUnorderedListStyles[depth % DefaultUnorderedListStyles.length]
123
+ : UnorderedMap[unorderedStyleType];
124
+ }
125
+ }
126
+ /**
127
+ * @internal
128
+ */
129
+ export var listItemMetadataApplier = {
130
+ metadataDefinition: listMetadataDefinition,
131
+ applierFunction: function (metadata, format, context) {
132
+ var _a;
133
+ var depth = context.listFormat.nodeStack.length - 2; // Minus two for the parent element and convert length to index
134
+ if (depth >= 0) {
135
+ var listType = (_a = context.listFormat.nodeStack[depth + 1].listType) !== null && _a !== void 0 ? _a : 'OL';
136
+ var listStyleType = getRawListStyleType(listType, metadata !== null && metadata !== void 0 ? metadata : {}, depth);
137
+ if (listStyleType && shouldApplyToItem(listStyleType)) {
138
+ format.listStyleType =
139
+ listType == 'OL'
140
+ ? getOrderedListStyleValue(listStyleType, context.listFormat.threadItemCounts[depth])
141
+ : listStyleType;
142
+ }
143
+ else {
144
+ delete format.listStyleType;
145
+ }
146
+ }
147
+ },
148
+ };
149
+ /**
150
+ * @internal
151
+ */
152
+ export var listLevelMetadataApplier = {
153
+ metadataDefinition: listMetadataDefinition,
154
+ applierFunction: function (metadata, format, context) {
155
+ var _a;
156
+ var depth = context.listFormat.nodeStack.length - 2; // Minus two for the parent element and convert length to index
157
+ if (depth >= 0) {
158
+ var listType = (_a = context.listFormat.nodeStack[depth + 1].listType) !== null && _a !== void 0 ? _a : 'OL';
159
+ var listStyleType = getRawListStyleType(listType, metadata !== null && metadata !== void 0 ? metadata : {}, depth);
160
+ if (listStyleType && !shouldApplyToItem(listStyleType)) {
161
+ format.listStyleType = listStyleType;
162
+ }
163
+ else {
164
+ delete format.listStyleType;
165
+ }
166
+ }
167
+ },
168
+ };
169
+ /**
170
+ * Update list metadata with a callback
171
+ * @param list The list Content Model (metadata holder)
172
+ * @param callback The callback function used for updating metadata
173
+ */
174
+ export function updateListMetadata(list, callback) {
175
+ return updateMetadata(list, callback, listMetadataDefinition);
176
+ }
177
+ //# sourceMappingURL=updateListMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateListMetadata.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-core/lib/metadata/updateListMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { BulletListType, NumberingListType } from 'roosterjs-content-model-types';\nimport { createNumberDefinition, createObjectDefinition } from './definitionCreators';\nimport { getObjectKeys, updateMetadata } from 'roosterjs-content-model-dom';\nimport type {\n ContentModelListItemFormat,\n ContentModelListItemLevelFormat,\n ContentModelWithDataset,\n ListMetadataFormat,\n MetadataApplier,\n} from 'roosterjs-content-model-types';\n\nconst DefaultOrderedListStyles = ['decimal', 'lower-alpha', 'lower-roman'];\nconst DefaultUnorderedListStyles = ['disc', 'circle', 'square'];\nconst OrderedMapPlaceholderRegex = /\\$\\{(\\w+)\\}/;\nconst CharCodeOfA = 65;\nconst RomanValues: Record<string, number> = {\n M: 1000,\n CM: 900,\n D: 500,\n CD: 400,\n C: 100,\n XC: 90,\n L: 50,\n XL: 40,\n X: 10,\n IX: 9,\n V: 5,\n IV: 4,\n I: 1,\n};\nconst OrderedMap: Record<NumberingListType, string> = {\n [NumberingListType.Decimal]: 'decimal',\n [NumberingListType.DecimalDash]: '\"${Number}- \"',\n [NumberingListType.DecimalParenthesis]: '\"${Number}) \"',\n [NumberingListType.DecimalDoubleParenthesis]: '\"(${Number}) \"',\n [NumberingListType.LowerAlpha]: 'lower-alpha',\n [NumberingListType.LowerAlphaDash]: '\"${LowerAlpha}- \"',\n [NumberingListType.LowerAlphaParenthesis]: '\"${LowerAlpha}) \"',\n [NumberingListType.LowerAlphaDoubleParenthesis]: '\"(${LowerAlpha}) \"',\n [NumberingListType.UpperAlpha]: 'upper-alpha',\n [NumberingListType.UpperAlphaDash]: '\"${UpperAlpha}- \"',\n [NumberingListType.UpperAlphaParenthesis]: '\"${UpperAlpha}) \"',\n [NumberingListType.UpperAlphaDoubleParenthesis]: '\"(${UpperAlpha}) \"',\n [NumberingListType.LowerRoman]: 'lower-roman',\n [NumberingListType.LowerRomanDash]: '\"${LowerRoman}- \"',\n [NumberingListType.LowerRomanParenthesis]: '\"${LowerRoman}) \"',\n [NumberingListType.LowerRomanDoubleParenthesis]: '\"(${LowerRoman}) \"',\n [NumberingListType.UpperRoman]: 'upper-roman',\n [NumberingListType.UpperRomanDash]: '\"${UpperRoman}- \"',\n [NumberingListType.UpperRomanParenthesis]: '\"${UpperRoman}) \"',\n [NumberingListType.UpperRomanDoubleParenthesis]: '\"(${UpperRoman}) \"',\n};\nconst UnorderedMap: Record<BulletListType, string> = {\n [BulletListType.Disc]: 'disc',\n [BulletListType.Square]: '\"∎ \"',\n [BulletListType.Circle]: 'circle',\n [BulletListType.Dash]: '\"- \"',\n [BulletListType.LongArrow]: '\"➔ \"',\n [BulletListType.DoubleLongArrow]: '\"➔ \"',\n [BulletListType.ShortArrow]: '\"➢ \"',\n [BulletListType.UnfilledArrow]: '\"➪ \"',\n [BulletListType.Hyphen]: '\"— \"',\n};\n\nfunction getOrderedListStyleValue(\n template: string | undefined,\n listNumber: number\n): string | undefined {\n return template\n ? template.replace(OrderedMapPlaceholderRegex, (_, subStr) => {\n switch (subStr) {\n case 'Number':\n return listNumber + '';\n case 'LowerAlpha':\n return convertDecimalsToAlpha(listNumber, true /*isLowerCase*/);\n case 'UpperAlpha':\n return convertDecimalsToAlpha(listNumber, false /*isLowerCase*/);\n case 'LowerRoman':\n return convertDecimalsToRoman(listNumber, true /*isLowerCase*/);\n case 'UpperRoman':\n return convertDecimalsToRoman(listNumber, false /*isLowerCase*/);\n }\n\n return '';\n })\n : undefined;\n}\n\nfunction convertDecimalsToAlpha(decimal: number, isLowerCase?: boolean): string {\n let alpha = '';\n decimal--;\n\n while (decimal >= 0) {\n alpha = String.fromCharCode((decimal % 26) + CharCodeOfA) + alpha;\n decimal = Math.floor(decimal / 26) - 1;\n }\n return isLowerCase ? alpha.toLowerCase() : alpha;\n}\n\nfunction convertDecimalsToRoman(decimal: number, isLowerCase?: boolean) {\n let romanValue = '';\n\n for (const i of getObjectKeys(RomanValues)) {\n const timesRomanCharAppear = Math.floor(decimal / RomanValues[i]);\n decimal = decimal - timesRomanCharAppear * RomanValues[i];\n romanValue = romanValue + i.repeat(timesRomanCharAppear);\n }\n return isLowerCase ? romanValue.toLocaleLowerCase() : romanValue;\n}\n\nconst listMetadataDefinition = createObjectDefinition<ListMetadataFormat>(\n {\n orderedStyleType: createNumberDefinition(\n true /** isOptional */,\n undefined /** value **/,\n NumberingListType.Min,\n NumberingListType.Max\n ),\n unorderedStyleType: createNumberDefinition(\n true /** isOptional */,\n undefined /** value **/,\n BulletListType.Min,\n BulletListType.Max\n ),\n },\n true /** isOptional */,\n true /** allowNull */\n);\n\nfunction shouldApplyToItem(listStyleType: string) {\n return listStyleType.indexOf('\"') >= 0;\n}\n\nfunction getRawListStyleType(listType: 'OL' | 'UL', metadata: ListMetadataFormat, depth: number) {\n const { orderedStyleType, unorderedStyleType } = metadata;\n if (listType == 'OL') {\n return orderedStyleType === undefined\n ? DefaultOrderedListStyles[depth % DefaultOrderedListStyles.length]\n : OrderedMap[orderedStyleType];\n } else {\n return unorderedStyleType === undefined\n ? DefaultUnorderedListStyles[depth % DefaultUnorderedListStyles.length]\n : UnorderedMap[unorderedStyleType];\n }\n}\n\n/**\n * @internal\n */\nexport const listItemMetadataApplier: MetadataApplier<\n ListMetadataFormat,\n ContentModelListItemFormat\n> = {\n metadataDefinition: listMetadataDefinition,\n applierFunction: (metadata, format, context) => {\n const depth = context.listFormat.nodeStack.length - 2; // Minus two for the parent element and convert length to index\n\n if (depth >= 0) {\n const listType = context.listFormat.nodeStack[depth + 1].listType ?? 'OL';\n const listStyleType = getRawListStyleType(listType, metadata ?? {}, depth);\n\n if (listStyleType && shouldApplyToItem(listStyleType)) {\n format.listStyleType =\n listType == 'OL'\n ? getOrderedListStyleValue(\n listStyleType,\n context.listFormat.threadItemCounts[depth]\n )\n : listStyleType;\n } else {\n delete format.listStyleType;\n }\n }\n },\n};\n\n/**\n * @internal\n */\nexport const listLevelMetadataApplier: MetadataApplier<\n ListMetadataFormat,\n ContentModelListItemLevelFormat\n> = {\n metadataDefinition: listMetadataDefinition,\n applierFunction: (metadata, format, context) => {\n const depth = context.listFormat.nodeStack.length - 2; // Minus two for the parent element and convert length to index\n\n if (depth >= 0) {\n const listType = context.listFormat.nodeStack[depth + 1].listType ?? 'OL';\n const listStyleType = getRawListStyleType(listType, metadata ?? {}, depth);\n\n if (listStyleType && !shouldApplyToItem(listStyleType)) {\n format.listStyleType = listStyleType;\n } else {\n delete format.listStyleType;\n }\n }\n },\n};\n\n/**\n * Update list metadata with a callback\n * @param list The list Content Model (metadata holder)\n * @param callback The callback function used for updating metadata\n */\nexport function updateListMetadata(\n list: ContentModelWithDataset<ListMetadataFormat>,\n callback?: (format: ListMetadataFormat | null) => ListMetadataFormat | null\n): ListMetadataFormat | null {\n return updateMetadata(list, callback, listMetadataDefinition);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { ContentModelTableCell, TableCellMetadataFormat } from 'roosterjs-content-model-types';
2
+ /**
3
+ * Update table cell metadata with a callback
4
+ * @param cell The table cell Content Model
5
+ * @param callback The callback function used for updating metadata
6
+ */
7
+ export declare function updateTableCellMetadata(cell: ContentModelTableCell, callback?: (format: TableCellMetadataFormat | null) => TableCellMetadataFormat | null): TableCellMetadataFormat | null;
@@ -0,0 +1,16 @@
1
+ import { createBooleanDefinition, createObjectDefinition } from './definitionCreators';
2
+ import { updateMetadata } from 'roosterjs-content-model-dom';
3
+ var TableCellMetadataFormatDefinition = createObjectDefinition({
4
+ bgColorOverride: createBooleanDefinition(true /** isOptional */),
5
+ vAlignOverride: createBooleanDefinition(true /** isOptional */),
6
+ borderOverride: createBooleanDefinition(true /** isOptional */),
7
+ }, false /* isOptional */, true /** allowNull */);
8
+ /**
9
+ * Update table cell metadata with a callback
10
+ * @param cell The table cell Content Model
11
+ * @param callback The callback function used for updating metadata
12
+ */
13
+ export function updateTableCellMetadata(cell, callback) {
14
+ return updateMetadata(cell, callback, TableCellMetadataFormatDefinition);
15
+ }
16
+ //# sourceMappingURL=updateTableCellMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTableCellMetadata.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-core/lib/metadata/updateTableCellMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,IAAM,iCAAiC,GAAG,sBAAsB,CAC5D;IACI,eAAe,EAAE,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAChE,cAAc,EAAE,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC/D,cAAc,EAAE,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;CAClE,EACD,KAAK,CAAC,gBAAgB,EACtB,IAAI,CAAC,gBAAgB,CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACnC,IAA2B,EAC3B,QAAqF;IAErF,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import { createBooleanDefinition, createObjectDefinition } from './definitionCreators';\nimport { updateMetadata } from 'roosterjs-content-model-dom';\nimport type { ContentModelTableCell, TableCellMetadataFormat } from 'roosterjs-content-model-types';\n\nconst TableCellMetadataFormatDefinition = createObjectDefinition<Required<TableCellMetadataFormat>>(\n {\n bgColorOverride: createBooleanDefinition(true /** isOptional */),\n vAlignOverride: createBooleanDefinition(true /** isOptional */),\n borderOverride: createBooleanDefinition(true /** isOptional */),\n },\n false /* isOptional */,\n true /** allowNull */\n);\n\n/**\n * Update table cell metadata with a callback\n * @param cell The table cell Content Model\n * @param callback The callback function used for updating metadata\n */\nexport function updateTableCellMetadata(\n cell: ContentModelTableCell,\n callback?: (format: TableCellMetadataFormat | null) => TableCellMetadataFormat | null\n): TableCellMetadataFormat | null {\n return updateMetadata(cell, callback, TableCellMetadataFormatDefinition);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { ContentModelTable, TableMetadataFormat } from 'roosterjs-content-model-types';
2
+ /**
3
+ * Update table metadata with a callback
4
+ * @param table The table Content Model
5
+ * @param callback The callback function used for updating metadata
6
+ */
7
+ export declare function updateTableMetadata(table: ContentModelTable, callback?: (format: TableMetadataFormat | null) => TableMetadataFormat | null): TableMetadataFormat | null;
@@ -0,0 +1,28 @@
1
+ import { TableBorderFormat } from 'roosterjs-content-model-types';
2
+ import { updateMetadata } from 'roosterjs-content-model-dom';
3
+ import { createBooleanDefinition, createNumberDefinition, createObjectDefinition, createStringDefinition, } from './definitionCreators';
4
+ var NullStringDefinition = createStringDefinition(false /** isOptional */, undefined /** value */, true /** allowNull */);
5
+ var BooleanDefinition = createBooleanDefinition(false /** isOptional */);
6
+ var TableFormatDefinition = createObjectDefinition({
7
+ topBorderColor: NullStringDefinition,
8
+ bottomBorderColor: NullStringDefinition,
9
+ verticalBorderColor: NullStringDefinition,
10
+ hasHeaderRow: BooleanDefinition,
11
+ headerRowColor: NullStringDefinition,
12
+ hasFirstColumn: BooleanDefinition,
13
+ hasBandedColumns: BooleanDefinition,
14
+ hasBandedRows: BooleanDefinition,
15
+ bgColorEven: NullStringDefinition,
16
+ bgColorOdd: NullStringDefinition,
17
+ tableBorderFormat: createNumberDefinition(false /** isOptional */, undefined /* value */, TableBorderFormat.DEFAULT /* first table border format, TODO: Use Min/Max to specify valid values */, TableBorderFormat.CLEAR /* last table border format, , TODO: Use Min/Max to specify valid values */),
18
+ verticalAlign: NullStringDefinition,
19
+ }, false /* isOptional */, true /** allowNull */);
20
+ /**
21
+ * Update table metadata with a callback
22
+ * @param table The table Content Model
23
+ * @param callback The callback function used for updating metadata
24
+ */
25
+ export function updateTableMetadata(table, callback) {
26
+ return updateMetadata(table, callback, TableFormatDefinition);
27
+ }
28
+ //# sourceMappingURL=updateTableMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTableMetadata.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-core/lib/metadata/updateTableMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,IAAM,oBAAoB,GAAG,sBAAsB,CAC/C,KAAK,CAAC,iBAAiB,EACvB,SAAS,CAAC,YAAY,EACtB,IAAI,CAAC,gBAAgB,CACxB,CAAC;AAEF,IAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAE3E,IAAM,qBAAqB,GAAG,sBAAsB,CAChD;IACI,cAAc,EAAE,oBAAoB;IACpC,iBAAiB,EAAE,oBAAoB;IACvC,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,iBAAiB;IAC/B,cAAc,EAAE,oBAAoB;IACpC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,aAAa,EAAE,iBAAiB;IAChC,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,oBAAoB;IAChC,iBAAiB,EAAE,sBAAsB,CACrC,KAAK,CAAC,iBAAiB,EACvB,SAAS,CAAC,WAAW,EACrB,iBAAiB,CAAC,OAAO,CAAC,0EAA0E,EACpG,iBAAiB,CAAC,KAAK,CAAC,2EAA2E,CACtG;IACD,aAAa,EAAE,oBAAoB;CACtC,EACD,KAAK,CAAC,gBAAgB,EACtB,IAAI,CAAC,gBAAgB,CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAwB,EACxB,QAA6E;IAE7E,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { TableBorderFormat } from 'roosterjs-content-model-types';\nimport { updateMetadata } from 'roosterjs-content-model-dom';\nimport {\n createBooleanDefinition,\n createNumberDefinition,\n createObjectDefinition,\n createStringDefinition,\n} from './definitionCreators';\nimport type { ContentModelTable, TableMetadataFormat } from 'roosterjs-content-model-types';\n\nconst NullStringDefinition = createStringDefinition(\n false /** isOptional */,\n undefined /** value */,\n true /** allowNull */\n);\n\nconst BooleanDefinition = createBooleanDefinition(false /** isOptional */);\n\nconst TableFormatDefinition = createObjectDefinition<Required<TableMetadataFormat>>(\n {\n topBorderColor: NullStringDefinition,\n bottomBorderColor: NullStringDefinition,\n verticalBorderColor: NullStringDefinition,\n hasHeaderRow: BooleanDefinition,\n headerRowColor: NullStringDefinition,\n hasFirstColumn: BooleanDefinition,\n hasBandedColumns: BooleanDefinition,\n hasBandedRows: BooleanDefinition,\n bgColorEven: NullStringDefinition,\n bgColorOdd: NullStringDefinition,\n tableBorderFormat: createNumberDefinition(\n false /** isOptional */,\n undefined /* value */,\n TableBorderFormat.DEFAULT /* first table border format, TODO: Use Min/Max to specify valid values */,\n TableBorderFormat.CLEAR /* last table border format, , TODO: Use Min/Max to specify valid values */\n ),\n verticalAlign: NullStringDefinition,\n },\n false /* isOptional */,\n true /** allowNull */\n);\n\n/**\n * Update table metadata with a callback\n * @param table The table Content Model\n * @param callback The callback function used for updating metadata\n */\nexport function updateTableMetadata(\n table: ContentModelTable,\n callback?: (format: TableMetadataFormat | null) => TableMetadataFormat | null\n): TableMetadataFormat | null {\n return updateMetadata(table, callback, TableFormatDefinition);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { ContentModelDocument, DeleteSelectionContext, FormatWithContentModelContext } from 'roosterjs-content-model-types';
2
+ /**
3
+ * @internal
4
+ * Iterate the model and find all selected content if any, delete them, and keep/create an insert point
5
+ * at the first deleted position so that we know where to put cursor to after delete
6
+ */
7
+ export declare function deleteExpandedSelection(model: ContentModelDocument, formatContext?: FormatWithContentModelContext): DeleteSelectionContext;