roosterjs-content-model-plugins 0.26.0 → 0.26.2

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 (451) hide show
  1. package/lib/autoFormat/AutoFormatPlugin.d.ts +53 -53
  2. package/lib/autoFormat/AutoFormatPlugin.js +80 -80
  3. package/lib/autoFormat/AutoFormatPlugin.js.map +1 -1
  4. package/lib/autoFormat/keyboardListTrigger.d.ts +5 -5
  5. package/lib/autoFormat/keyboardListTrigger.js +45 -45
  6. package/lib/autoFormat/keyboardListTrigger.js.map +1 -1
  7. package/lib/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
  8. package/lib/autoFormat/utils/convertAlphaToDecimals.js +22 -22
  9. package/lib/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
  10. package/lib/autoFormat/utils/getIndex.d.ts +4 -4
  11. package/lib/autoFormat/utils/getIndex.js +13 -13
  12. package/lib/autoFormat/utils/getIndex.js.map +1 -1
  13. package/lib/autoFormat/utils/getListTypeStyle.d.ts +14 -14
  14. package/lib/autoFormat/utils/getListTypeStyle.js +87 -87
  15. package/lib/autoFormat/utils/getListTypeStyle.js.map +1 -1
  16. package/lib/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
  17. package/lib/autoFormat/utils/getNumberingListStyle.js +153 -153
  18. package/lib/autoFormat/utils/getNumberingListStyle.js.map +1 -1
  19. package/lib/edit/EditPlugin.d.ts +39 -39
  20. package/lib/edit/EditPlugin.js +128 -128
  21. package/lib/edit/EditPlugin.js.map +1 -1
  22. package/lib/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  23. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js +22 -22
  24. package/lib/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  25. package/lib/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
  26. package/lib/edit/deleteSteps/deleteCollapsedSelection.js +93 -93
  27. package/lib/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  28. package/lib/edit/deleteSteps/deleteList.d.ts +5 -5
  29. package/lib/edit/deleteSteps/deleteList.js +23 -23
  30. package/lib/edit/deleteSteps/deleteList.js.map +1 -1
  31. package/lib/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  32. package/lib/edit/deleteSteps/deleteWordSelection.js +173 -173
  33. package/lib/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  34. package/lib/edit/handleKeyboardEventCommon.d.ts +14 -14
  35. package/lib/edit/handleKeyboardEventCommon.js +54 -54
  36. package/lib/edit/handleKeyboardEventCommon.js.map +1 -1
  37. package/lib/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  38. package/lib/edit/inputSteps/handleEnterOnList.js +67 -67
  39. package/lib/edit/inputSteps/handleEnterOnList.js.map +1 -1
  40. package/lib/edit/keyboardDelete.d.ts +9 -9
  41. package/lib/edit/keyboardDelete.js +71 -71
  42. package/lib/edit/keyboardDelete.js.map +1 -1
  43. package/lib/edit/keyboardInput.d.ts +5 -5
  44. package/lib/edit/keyboardInput.js +58 -58
  45. package/lib/edit/keyboardInput.js.map +1 -1
  46. package/lib/edit/keyboardTab.d.ts +5 -5
  47. package/lib/edit/keyboardTab.js +34 -34
  48. package/lib/edit/keyboardTab.js.map +1 -1
  49. package/lib/edit/utils/getLeafSiblingBlock.d.ts +23 -23
  50. package/lib/edit/utils/getLeafSiblingBlock.js +75 -75
  51. package/lib/edit/utils/getLeafSiblingBlock.js.map +1 -1
  52. package/lib/index.d.ts +3 -3
  53. package/lib/index.js +9 -9
  54. package/lib/index.js.map +1 -1
  55. package/lib/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
  56. package/lib/paste/Excel/processPastedContentFromExcel.js +82 -82
  57. package/lib/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  58. package/lib/paste/PastePlugin.d.ts +43 -43
  59. package/lib/paste/PastePlugin.js +130 -130
  60. package/lib/paste/PastePlugin.js.map +1 -1
  61. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  62. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js +19 -19
  63. package/lib/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  64. package/lib/paste/WacComponents/constants.d.ts +48 -48
  65. package/lib/paste/WacComponents/constants.js +62 -62
  66. package/lib/paste/WacComponents/constants.js.map +1 -1
  67. package/lib/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  68. package/lib/paste/WacComponents/processPastedContentWacComponents.js +188 -188
  69. package/lib/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  70. package/lib/paste/WordDesktop/WordMetadata.d.ts +9 -9
  71. package/lib/paste/WordDesktop/WordMetadata.js +2 -2
  72. package/lib/paste/WordDesktop/WordMetadata.js.map +1 -1
  73. package/lib/paste/WordDesktop/getStyleMetadata.d.ts +23 -23
  74. package/lib/paste/WordDesktop/getStyleMetadata.js +78 -78
  75. package/lib/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  76. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
  77. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js +58 -58
  78. package/lib/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  79. package/lib/paste/WordDesktop/processWordComments.d.ts +7 -7
  80. package/lib/paste/WordDesktop/processWordComments.js +21 -21
  81. package/lib/paste/WordDesktop/processWordComments.js.map +1 -1
  82. package/lib/paste/WordDesktop/processWordLists.d.ts +11 -11
  83. package/lib/paste/WordDesktop/processWordLists.js +179 -179
  84. package/lib/paste/WordDesktop/processWordLists.js.map +1 -1
  85. package/lib/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
  86. package/lib/paste/WordDesktop/removeNegativeTextIndentParser.js +13 -13
  87. package/lib/paste/WordDesktop/removeNegativeTextIndentParser.js.map +1 -1
  88. package/lib/paste/pasteSourceValidations/constants.d.ts +17 -17
  89. package/lib/paste/pasteSourceValidations/constants.js +20 -20
  90. package/lib/paste/pasteSourceValidations/constants.js.map +1 -1
  91. package/lib/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  92. package/lib/paste/pasteSourceValidations/documentContainWacElements.js +15 -15
  93. package/lib/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  94. package/lib/paste/pasteSourceValidations/getPasteSource.d.ts +27 -27
  95. package/lib/paste/pasteSourceValidations/getPasteSource.js +43 -43
  96. package/lib/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
  97. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  98. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js +17 -17
  99. package/lib/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  100. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  101. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js +19 -19
  102. package/lib/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  103. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  104. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js +15 -15
  105. package/lib/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  106. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  107. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +15 -15
  108. package/lib/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  109. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  110. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js +19 -19
  111. package/lib/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  112. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  113. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js +18 -18
  114. package/lib/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  115. package/lib/paste/utils/addParser.d.ts +5 -5
  116. package/lib/paste/utils/addParser.js +16 -16
  117. package/lib/paste/utils/addParser.js.map +1 -1
  118. package/lib/paste/utils/deprecatedColorParser.d.ts +5 -5
  119. package/lib/paste/utils/deprecatedColorParser.js +19 -19
  120. package/lib/paste/utils/deprecatedColorParser.js.map +1 -1
  121. package/lib/paste/utils/getStyles.d.ts +6 -6
  122. package/lib/paste/utils/getStyles.js +22 -22
  123. package/lib/paste/utils/getStyles.js.map +1 -1
  124. package/lib/paste/utils/linkParser.d.ts +5 -5
  125. package/lib/paste/utils/linkParser.js +27 -27
  126. package/lib/paste/utils/linkParser.js.map +1 -1
  127. package/lib/paste/utils/setProcessor.d.ts +5 -5
  128. package/lib/paste/utils/setProcessor.js +13 -13
  129. package/lib/paste/utils/setProcessor.js.map +1 -1
  130. package/lib/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  131. package/lib/pluginUtils/CreateElement/CreateElementData.js +2 -2
  132. package/lib/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  133. package/lib/pluginUtils/CreateElement/createElement.d.ts +9 -9
  134. package/lib/pluginUtils/CreateElement/createElement.js +50 -50
  135. package/lib/pluginUtils/CreateElement/createElement.js.map +1 -1
  136. package/lib/pluginUtils/Disposable.d.ts +10 -10
  137. package/lib/pluginUtils/Disposable.js +2 -2
  138. package/lib/pluginUtils/Disposable.js.map +1 -1
  139. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  140. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js +2 -2
  141. package/lib/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  142. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  143. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js +119 -119
  144. package/lib/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  145. package/lib/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  146. package/lib/pluginUtils/Rect/getIntersectedRect.js +44 -44
  147. package/lib/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  148. package/lib/pluginUtils/Rect/normalizeRect.d.ts +7 -7
  149. package/lib/pluginUtils/Rect/normalizeRect.js +19 -19
  150. package/lib/pluginUtils/Rect/normalizeRect.js.map +1 -1
  151. package/lib-amd/autoFormat/AutoFormatPlugin.d.ts +53 -53
  152. package/lib-amd/autoFormat/AutoFormatPlugin.js +81 -81
  153. package/lib-amd/autoFormat/AutoFormatPlugin.js.map +1 -1
  154. package/lib-amd/autoFormat/keyboardListTrigger.d.ts +5 -5
  155. package/lib-amd/autoFormat/keyboardListTrigger.js +43 -43
  156. package/lib-amd/autoFormat/keyboardListTrigger.js.map +1 -1
  157. package/lib-amd/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
  158. package/lib-amd/autoFormat/utils/convertAlphaToDecimals.js +24 -24
  159. package/lib-amd/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
  160. package/lib-amd/autoFormat/utils/getIndex.d.ts +4 -4
  161. package/lib-amd/autoFormat/utils/getIndex.js +14 -14
  162. package/lib-amd/autoFormat/utils/getIndex.js.map +1 -1
  163. package/lib-amd/autoFormat/utils/getListTypeStyle.d.ts +14 -14
  164. package/lib-amd/autoFormat/utils/getListTypeStyle.js +86 -86
  165. package/lib-amd/autoFormat/utils/getListTypeStyle.js.map +1 -1
  166. package/lib-amd/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
  167. package/lib-amd/autoFormat/utils/getNumberingListStyle.js +153 -153
  168. package/lib-amd/autoFormat/utils/getNumberingListStyle.js.map +1 -1
  169. package/lib-amd/edit/EditPlugin.d.ts +39 -39
  170. package/lib-amd/edit/EditPlugin.js +127 -127
  171. package/lib-amd/edit/EditPlugin.js.map +1 -1
  172. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  173. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js +23 -23
  174. package/lib-amd/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  175. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
  176. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js +92 -92
  177. package/lib-amd/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  178. package/lib-amd/edit/deleteSteps/deleteList.d.ts +5 -5
  179. package/lib-amd/edit/deleteSteps/deleteList.js +24 -24
  180. package/lib-amd/edit/deleteSteps/deleteList.js.map +1 -1
  181. package/lib-amd/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  182. package/lib-amd/edit/deleteSteps/deleteWordSelection.js +172 -172
  183. package/lib-amd/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  184. package/lib-amd/edit/handleKeyboardEventCommon.d.ts +14 -14
  185. package/lib-amd/edit/handleKeyboardEventCommon.js +55 -55
  186. package/lib-amd/edit/handleKeyboardEventCommon.js.map +1 -1
  187. package/lib-amd/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  188. package/lib-amd/edit/inputSteps/handleEnterOnList.js +66 -66
  189. package/lib-amd/edit/inputSteps/handleEnterOnList.js.map +1 -1
  190. package/lib-amd/edit/keyboardDelete.d.ts +9 -9
  191. package/lib-amd/edit/keyboardDelete.js +66 -66
  192. package/lib-amd/edit/keyboardDelete.js.map +1 -1
  193. package/lib-amd/edit/keyboardInput.d.ts +5 -5
  194. package/lib-amd/edit/keyboardInput.js +57 -57
  195. package/lib-amd/edit/keyboardInput.js.map +1 -1
  196. package/lib-amd/edit/keyboardTab.d.ts +5 -5
  197. package/lib-amd/edit/keyboardTab.js +34 -34
  198. package/lib-amd/edit/keyboardTab.js.map +1 -1
  199. package/lib-amd/edit/utils/getLeafSiblingBlock.d.ts +23 -23
  200. package/lib-amd/edit/utils/getLeafSiblingBlock.js +75 -75
  201. package/lib-amd/edit/utils/getLeafSiblingBlock.js.map +1 -1
  202. package/lib-amd/index.d.ts +3 -3
  203. package/lib-amd/index.js +8 -8
  204. package/lib-amd/index.js.map +1 -1
  205. package/lib-amd/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
  206. package/lib-amd/paste/Excel/processPastedContentFromExcel.js +80 -80
  207. package/lib-amd/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  208. package/lib-amd/paste/PastePlugin.d.ts +43 -43
  209. package/lib-amd/paste/PastePlugin.js +122 -122
  210. package/lib-amd/paste/PastePlugin.js.map +1 -1
  211. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  212. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js +20 -20
  213. package/lib-amd/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  214. package/lib-amd/paste/WacComponents/constants.d.ts +48 -48
  215. package/lib-amd/paste/WacComponents/constants.js +63 -63
  216. package/lib-amd/paste/WacComponents/constants.js.map +1 -1
  217. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  218. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js +185 -185
  219. package/lib-amd/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  220. package/lib-amd/paste/WordDesktop/WordMetadata.d.ts +9 -9
  221. package/lib-amd/paste/WordDesktop/WordMetadata.js +4 -4
  222. package/lib-amd/paste/WordDesktop/WordMetadata.js.map +1 -1
  223. package/lib-amd/paste/WordDesktop/getStyleMetadata.d.ts +23 -23
  224. package/lib-amd/paste/WordDesktop/getStyleMetadata.js +78 -78
  225. package/lib-amd/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  226. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
  227. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js +53 -53
  228. package/lib-amd/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  229. package/lib-amd/paste/WordDesktop/processWordComments.d.ts +7 -7
  230. package/lib-amd/paste/WordDesktop/processWordComments.js +22 -22
  231. package/lib-amd/paste/WordDesktop/processWordComments.js.map +1 -1
  232. package/lib-amd/paste/WordDesktop/processWordLists.d.ts +11 -11
  233. package/lib-amd/paste/WordDesktop/processWordLists.js +177 -177
  234. package/lib-amd/paste/WordDesktop/processWordLists.js.map +1 -1
  235. package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
  236. package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.js +15 -15
  237. package/lib-amd/paste/WordDesktop/removeNegativeTextIndentParser.js.map +1 -1
  238. package/lib-amd/paste/pasteSourceValidations/constants.d.ts +17 -17
  239. package/lib-amd/paste/pasteSourceValidations/constants.js +22 -22
  240. package/lib-amd/paste/pasteSourceValidations/constants.js.map +1 -1
  241. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  242. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js +16 -16
  243. package/lib-amd/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  244. package/lib-amd/paste/pasteSourceValidations/getPasteSource.d.ts +27 -27
  245. package/lib-amd/paste/pasteSourceValidations/getPasteSource.js +38 -38
  246. package/lib-amd/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
  247. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  248. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js +18 -18
  249. package/lib-amd/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  250. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  251. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js +20 -20
  252. package/lib-amd/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  253. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  254. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js +16 -16
  255. package/lib-amd/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  256. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  257. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +16 -16
  258. package/lib-amd/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  259. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  260. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js +20 -20
  261. package/lib-amd/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  262. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  263. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js +20 -20
  264. package/lib-amd/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  265. package/lib-amd/paste/utils/addParser.d.ts +5 -5
  266. package/lib-amd/paste/utils/addParser.js +18 -18
  267. package/lib-amd/paste/utils/addParser.js.map +1 -1
  268. package/lib-amd/paste/utils/deprecatedColorParser.d.ts +5 -5
  269. package/lib-amd/paste/utils/deprecatedColorParser.js +20 -20
  270. package/lib-amd/paste/utils/deprecatedColorParser.js.map +1 -1
  271. package/lib-amd/paste/utils/getStyles.d.ts +6 -6
  272. package/lib-amd/paste/utils/getStyles.js +24 -24
  273. package/lib-amd/paste/utils/getStyles.js.map +1 -1
  274. package/lib-amd/paste/utils/linkParser.d.ts +5 -5
  275. package/lib-amd/paste/utils/linkParser.js +28 -28
  276. package/lib-amd/paste/utils/linkParser.js.map +1 -1
  277. package/lib-amd/paste/utils/setProcessor.d.ts +5 -5
  278. package/lib-amd/paste/utils/setProcessor.js +15 -15
  279. package/lib-amd/paste/utils/setProcessor.js.map +1 -1
  280. package/lib-amd/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  281. package/lib-amd/pluginUtils/CreateElement/CreateElementData.js +4 -4
  282. package/lib-amd/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  283. package/lib-amd/pluginUtils/CreateElement/createElement.d.ts +9 -9
  284. package/lib-amd/pluginUtils/CreateElement/createElement.js +51 -51
  285. package/lib-amd/pluginUtils/CreateElement/createElement.js.map +1 -1
  286. package/lib-amd/pluginUtils/Disposable.d.ts +10 -10
  287. package/lib-amd/pluginUtils/Disposable.js +4 -4
  288. package/lib-amd/pluginUtils/Disposable.js.map +1 -1
  289. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  290. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js +4 -4
  291. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  292. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  293. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js +120 -120
  294. package/lib-amd/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  295. package/lib-amd/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  296. package/lib-amd/pluginUtils/Rect/getIntersectedRect.js +44 -44
  297. package/lib-amd/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  298. package/lib-amd/pluginUtils/Rect/normalizeRect.d.ts +7 -7
  299. package/lib-amd/pluginUtils/Rect/normalizeRect.js +21 -21
  300. package/lib-amd/pluginUtils/Rect/normalizeRect.js.map +1 -1
  301. package/lib-mjs/autoFormat/AutoFormatPlugin.d.ts +53 -53
  302. package/lib-mjs/autoFormat/AutoFormatPlugin.js +77 -77
  303. package/lib-mjs/autoFormat/AutoFormatPlugin.js.map +1 -1
  304. package/lib-mjs/autoFormat/keyboardListTrigger.d.ts +5 -5
  305. package/lib-mjs/autoFormat/keyboardListTrigger.js +41 -41
  306. package/lib-mjs/autoFormat/keyboardListTrigger.js.map +1 -1
  307. package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.d.ts +7 -7
  308. package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.js +18 -18
  309. package/lib-mjs/autoFormat/utils/convertAlphaToDecimals.js.map +1 -1
  310. package/lib-mjs/autoFormat/utils/getIndex.d.ts +4 -4
  311. package/lib-mjs/autoFormat/utils/getIndex.js +9 -9
  312. package/lib-mjs/autoFormat/utils/getIndex.js.map +1 -1
  313. package/lib-mjs/autoFormat/utils/getListTypeStyle.d.ts +14 -14
  314. package/lib-mjs/autoFormat/utils/getListTypeStyle.js +83 -83
  315. package/lib-mjs/autoFormat/utils/getListTypeStyle.js.map +1 -1
  316. package/lib-mjs/autoFormat/utils/getNumberingListStyle.d.ts +4 -4
  317. package/lib-mjs/autoFormat/utils/getNumberingListStyle.js +149 -149
  318. package/lib-mjs/autoFormat/utils/getNumberingListStyle.js.map +1 -1
  319. package/lib-mjs/edit/EditPlugin.d.ts +39 -39
  320. package/lib-mjs/edit/EditPlugin.js +125 -125
  321. package/lib-mjs/edit/EditPlugin.js.map +1 -1
  322. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.d.ts +5 -5
  323. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js +18 -18
  324. package/lib-mjs/edit/deleteSteps/deleteAllSegmentBefore.js.map +1 -1
  325. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.d.ts +9 -9
  326. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js +90 -90
  327. package/lib-mjs/edit/deleteSteps/deleteCollapsedSelection.js.map +1 -1
  328. package/lib-mjs/edit/deleteSteps/deleteList.d.ts +5 -5
  329. package/lib-mjs/edit/deleteSteps/deleteList.js +19 -19
  330. package/lib-mjs/edit/deleteSteps/deleteList.js.map +1 -1
  331. package/lib-mjs/edit/deleteSteps/deleteWordSelection.d.ts +9 -9
  332. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js +170 -170
  333. package/lib-mjs/edit/deleteSteps/deleteWordSelection.js.map +1 -1
  334. package/lib-mjs/edit/handleKeyboardEventCommon.d.ts +14 -14
  335. package/lib-mjs/edit/handleKeyboardEventCommon.js +48 -48
  336. package/lib-mjs/edit/handleKeyboardEventCommon.js.map +1 -1
  337. package/lib-mjs/edit/inputSteps/handleEnterOnList.d.ts +5 -5
  338. package/lib-mjs/edit/inputSteps/handleEnterOnList.js +63 -63
  339. package/lib-mjs/edit/inputSteps/handleEnterOnList.js.map +1 -1
  340. package/lib-mjs/edit/keyboardDelete.d.ts +9 -9
  341. package/lib-mjs/edit/keyboardDelete.js +67 -67
  342. package/lib-mjs/edit/keyboardDelete.js.map +1 -1
  343. package/lib-mjs/edit/keyboardInput.d.ts +5 -5
  344. package/lib-mjs/edit/keyboardInput.js +54 -54
  345. package/lib-mjs/edit/keyboardInput.js.map +1 -1
  346. package/lib-mjs/edit/keyboardTab.d.ts +5 -5
  347. package/lib-mjs/edit/keyboardTab.js +30 -30
  348. package/lib-mjs/edit/keyboardTab.js.map +1 -1
  349. package/lib-mjs/edit/utils/getLeafSiblingBlock.d.ts +23 -23
  350. package/lib-mjs/edit/utils/getLeafSiblingBlock.js +71 -71
  351. package/lib-mjs/edit/utils/getLeafSiblingBlock.js.map +1 -1
  352. package/lib-mjs/index.d.ts +3 -3
  353. package/lib-mjs/index.js +3 -3
  354. package/lib-mjs/index.js.map +1 -1
  355. package/lib-mjs/paste/Excel/processPastedContentFromExcel.d.ts +12 -12
  356. package/lib-mjs/paste/Excel/processPastedContentFromExcel.js +77 -77
  357. package/lib-mjs/paste/Excel/processPastedContentFromExcel.js.map +1 -1
  358. package/lib-mjs/paste/PastePlugin.d.ts +43 -43
  359. package/lib-mjs/paste/PastePlugin.js +127 -127
  360. package/lib-mjs/paste/PastePlugin.js.map +1 -1
  361. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.d.ts +7 -7
  362. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js +15 -15
  363. package/lib-mjs/paste/PowerPoint/processPastedContentFromPowerPoint.js.map +1 -1
  364. package/lib-mjs/paste/WacComponents/constants.d.ts +48 -48
  365. package/lib-mjs/paste/WacComponents/constants.js +59 -59
  366. package/lib-mjs/paste/WacComponents/constants.js.map +1 -1
  367. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.d.ts +9 -9
  368. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js +184 -184
  369. package/lib-mjs/paste/WacComponents/processPastedContentWacComponents.js.map +1 -1
  370. package/lib-mjs/paste/WordDesktop/WordMetadata.d.ts +9 -9
  371. package/lib-mjs/paste/WordDesktop/WordMetadata.js +1 -1
  372. package/lib-mjs/paste/WordDesktop/WordMetadata.js.map +1 -1
  373. package/lib-mjs/paste/WordDesktop/getStyleMetadata.d.ts +23 -23
  374. package/lib-mjs/paste/WordDesktop/getStyleMetadata.js +75 -75
  375. package/lib-mjs/paste/WordDesktop/getStyleMetadata.js.map +1 -1
  376. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.d.ts +7 -7
  377. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js +54 -54
  378. package/lib-mjs/paste/WordDesktop/processPastedContentFromWordDesktop.js.map +1 -1
  379. package/lib-mjs/paste/WordDesktop/processWordComments.d.ts +7 -7
  380. package/lib-mjs/paste/WordDesktop/processWordComments.js +17 -17
  381. package/lib-mjs/paste/WordDesktop/processWordComments.js.map +1 -1
  382. package/lib-mjs/paste/WordDesktop/processWordLists.d.ts +11 -11
  383. package/lib-mjs/paste/WordDesktop/processWordLists.js +175 -175
  384. package/lib-mjs/paste/WordDesktop/processWordLists.js.map +1 -1
  385. package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.d.ts +5 -5
  386. package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.js +9 -9
  387. package/lib-mjs/paste/WordDesktop/removeNegativeTextIndentParser.js.map +1 -1
  388. package/lib-mjs/paste/pasteSourceValidations/constants.d.ts +17 -17
  389. package/lib-mjs/paste/pasteSourceValidations/constants.js +17 -17
  390. package/lib-mjs/paste/pasteSourceValidations/constants.js.map +1 -1
  391. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.d.ts +8 -8
  392. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js +11 -11
  393. package/lib-mjs/paste/pasteSourceValidations/documentContainWacElements.js.map +1 -1
  394. package/lib-mjs/paste/pasteSourceValidations/getPasteSource.d.ts +27 -27
  395. package/lib-mjs/paste/pasteSourceValidations/getPasteSource.js +39 -39
  396. package/lib-mjs/paste/pasteSourceValidations/getPasteSource.js.map +1 -1
  397. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.d.ts +8 -8
  398. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js +13 -13
  399. package/lib-mjs/paste/pasteSourceValidations/isExcelDesktopDocument.js.map +1 -1
  400. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.d.ts +8 -8
  401. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js +15 -15
  402. package/lib-mjs/paste/pasteSourceValidations/isExcelOnlineDocument.js.map +1 -1
  403. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.d.ts +8 -8
  404. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js +11 -11
  405. package/lib-mjs/paste/pasteSourceValidations/isGoogleSheetDocument.js.map +1 -1
  406. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.d.ts +8 -8
  407. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js +11 -11
  408. package/lib-mjs/paste/pasteSourceValidations/isPowerPointDesktopDocument.js.map +1 -1
  409. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.d.ts +8 -8
  410. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js +15 -15
  411. package/lib-mjs/paste/pasteSourceValidations/isWordDesktopDocument.js.map +1 -1
  412. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.d.ts +9 -9
  413. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js +14 -14
  414. package/lib-mjs/paste/pasteSourceValidations/shouldConvertToSingleImage.js.map +1 -1
  415. package/lib-mjs/paste/utils/addParser.d.ts +5 -5
  416. package/lib-mjs/paste/utils/addParser.js +13 -13
  417. package/lib-mjs/paste/utils/addParser.js.map +1 -1
  418. package/lib-mjs/paste/utils/deprecatedColorParser.d.ts +5 -5
  419. package/lib-mjs/paste/utils/deprecatedColorParser.js +15 -15
  420. package/lib-mjs/paste/utils/deprecatedColorParser.js.map +1 -1
  421. package/lib-mjs/paste/utils/getStyles.d.ts +6 -6
  422. package/lib-mjs/paste/utils/getStyles.js +18 -18
  423. package/lib-mjs/paste/utils/getStyles.js.map +1 -1
  424. package/lib-mjs/paste/utils/linkParser.d.ts +5 -5
  425. package/lib-mjs/paste/utils/linkParser.js +23 -23
  426. package/lib-mjs/paste/utils/linkParser.js.map +1 -1
  427. package/lib-mjs/paste/utils/setProcessor.d.ts +5 -5
  428. package/lib-mjs/paste/utils/setProcessor.js +9 -9
  429. package/lib-mjs/paste/utils/setProcessor.js.map +1 -1
  430. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.d.ts +35 -35
  431. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js +1 -1
  432. package/lib-mjs/pluginUtils/CreateElement/CreateElementData.js.map +1 -1
  433. package/lib-mjs/pluginUtils/CreateElement/createElement.d.ts +9 -9
  434. package/lib-mjs/pluginUtils/CreateElement/createElement.js +47 -47
  435. package/lib-mjs/pluginUtils/CreateElement/createElement.js.map +1 -1
  436. package/lib-mjs/pluginUtils/Disposable.d.ts +10 -10
  437. package/lib-mjs/pluginUtils/Disposable.js +1 -1
  438. package/lib-mjs/pluginUtils/Disposable.js.map +1 -1
  439. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.d.ts +45 -45
  440. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js +1 -1
  441. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHandler.js.map +1 -1
  442. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.d.ts +39 -39
  443. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js +117 -117
  444. package/lib-mjs/pluginUtils/DragAndDrop/DragAndDropHelper.js.map +1 -1
  445. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.d.ts +27 -27
  446. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js +41 -41
  447. package/lib-mjs/pluginUtils/Rect/getIntersectedRect.js.map +1 -1
  448. package/lib-mjs/pluginUtils/Rect/normalizeRect.d.ts +7 -7
  449. package/lib-mjs/pluginUtils/Rect/normalizeRect.js +16 -16
  450. package/lib-mjs/pluginUtils/Rect/normalizeRect.js.map +1 -1
  451. package/package.json +5 -5
@@ -1,87 +1,87 @@
1
- define(["require", "exports", "roosterjs-content-model-api", "./getNumberingListStyle", "roosterjs-content-model-core"], function (require, exports, roosterjs_content_model_api_1, getNumberingListStyle_1, roosterjs_content_model_core_1) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getListTypeStyle = void 0;
5
- /**
6
- * @internal
7
- */
8
- function getListTypeStyle(model, shouldSearchForBullet, shouldSearchForNumbering) {
9
- if (shouldSearchForBullet === void 0) { shouldSearchForBullet = true; }
10
- if (shouldSearchForNumbering === void 0) { shouldSearchForNumbering = true; }
11
- var selectedSegmentsAndParagraphs = (0, roosterjs_content_model_core_1.getSelectedSegmentsAndParagraphs)(model, true);
12
- var marker = selectedSegmentsAndParagraphs[0][0];
13
- var paragraph = selectedSegmentsAndParagraphs[0][1];
14
- var listMarkerSegment = paragraph === null || paragraph === void 0 ? void 0 : paragraph.segments[0];
15
- if (marker &&
16
- marker.segmentType == 'SelectionMarker' &&
17
- listMarkerSegment &&
18
- listMarkerSegment.segmentType == 'Text') {
19
- var listMarker = listMarkerSegment.text;
20
- var bulletType = bulletListType[listMarker];
21
- if (bulletType && shouldSearchForBullet) {
22
- return { listType: 'UL', styleType: bulletType };
23
- }
24
- else if (shouldSearchForNumbering) {
25
- var previousList = getPreviousListLevel(model, paragraph);
26
- var previousIndex = getPreviousListIndex(model, previousList);
27
- var previousListStyle = getPreviousListStyle(previousList);
28
- var numberingType = (0, getNumberingListStyle_1.getNumberingListStyle)(listMarker, previousIndex, previousListStyle);
29
- if (numberingType) {
30
- return {
31
- listType: 'OL',
32
- styleType: numberingType,
33
- index: !isNewList(listMarker) &&
34
- previousListStyle === numberingType &&
35
- previousIndex
36
- ? previousIndex + 1
37
- : undefined,
38
- };
39
- }
40
- }
41
- }
42
- return undefined;
43
- }
44
- exports.getListTypeStyle = getListTypeStyle;
45
- var getPreviousListIndex = function (model, previousListItem) {
46
- return previousListItem ? (0, roosterjs_content_model_api_1.findListItemsInSameThread)(model, previousListItem).length : undefined;
47
- };
48
- var getPreviousListLevel = function (model, paragraph) {
49
- var blocks = (0, roosterjs_content_model_core_1.getOperationalBlocks)(model, ['ListItem'], ['TableCell'])[0];
50
- var listItem = undefined;
51
- if (blocks) {
52
- var listBlockIndex = blocks.parent.blocks.indexOf(paragraph);
53
- if (listBlockIndex > -1) {
54
- for (var i = listBlockIndex - 1; i > -1; i--) {
55
- var item = blocks.parent.blocks[i];
56
- if ((0, roosterjs_content_model_core_1.isBlockGroupOfType)(item, 'ListItem')) {
57
- listItem = item;
58
- break;
59
- }
60
- }
61
- }
62
- }
63
- return listItem;
64
- };
65
- var getPreviousListStyle = function (list) {
66
- var _a;
67
- if (list === null || list === void 0 ? void 0 : list.levels[0].dataset) {
68
- return (_a = (0, roosterjs_content_model_core_1.updateListMetadata)(list.levels[0])) === null || _a === void 0 ? void 0 : _a.orderedStyleType;
69
- }
70
- };
71
- var bulletListType = {
72
- '*': roosterjs_content_model_core_1.BulletListType.Disc,
73
- '-': roosterjs_content_model_core_1.BulletListType.Dash,
74
- '--': roosterjs_content_model_core_1.BulletListType.Square,
75
- '->': roosterjs_content_model_core_1.BulletListType.LongArrow,
76
- '-->': roosterjs_content_model_core_1.BulletListType.DoubleLongArrow,
77
- '=>': roosterjs_content_model_core_1.BulletListType.UnfilledArrow,
78
- '>': roosterjs_content_model_core_1.BulletListType.ShortArrow,
79
- '—': roosterjs_content_model_core_1.BulletListType.Hyphen,
80
- };
81
- var isNewList = function (listMarker) {
82
- var marker = listMarker.replace(/[^\w\s]/g, '');
83
- var pattern = /^[1aAiI]$/;
84
- return pattern.test(marker);
85
- };
86
- });
1
+ define(["require", "exports", "roosterjs-content-model-api", "./getNumberingListStyle", "roosterjs-content-model-core"], function (require, exports, roosterjs_content_model_api_1, getNumberingListStyle_1, roosterjs_content_model_core_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getListTypeStyle = void 0;
5
+ /**
6
+ * @internal
7
+ */
8
+ function getListTypeStyle(model, shouldSearchForBullet, shouldSearchForNumbering) {
9
+ if (shouldSearchForBullet === void 0) { shouldSearchForBullet = true; }
10
+ if (shouldSearchForNumbering === void 0) { shouldSearchForNumbering = true; }
11
+ var selectedSegmentsAndParagraphs = (0, roosterjs_content_model_core_1.getSelectedSegmentsAndParagraphs)(model, true);
12
+ var marker = selectedSegmentsAndParagraphs[0][0];
13
+ var paragraph = selectedSegmentsAndParagraphs[0][1];
14
+ var listMarkerSegment = paragraph === null || paragraph === void 0 ? void 0 : paragraph.segments[0];
15
+ if (marker &&
16
+ marker.segmentType == 'SelectionMarker' &&
17
+ listMarkerSegment &&
18
+ listMarkerSegment.segmentType == 'Text') {
19
+ var listMarker = listMarkerSegment.text;
20
+ var bulletType = bulletListType[listMarker];
21
+ if (bulletType && shouldSearchForBullet) {
22
+ return { listType: 'UL', styleType: bulletType };
23
+ }
24
+ else if (shouldSearchForNumbering) {
25
+ var previousList = getPreviousListLevel(model, paragraph);
26
+ var previousIndex = getPreviousListIndex(model, previousList);
27
+ var previousListStyle = getPreviousListStyle(previousList);
28
+ var numberingType = (0, getNumberingListStyle_1.getNumberingListStyle)(listMarker, previousIndex, previousListStyle);
29
+ if (numberingType) {
30
+ return {
31
+ listType: 'OL',
32
+ styleType: numberingType,
33
+ index: !isNewList(listMarker) &&
34
+ previousListStyle === numberingType &&
35
+ previousIndex
36
+ ? previousIndex + 1
37
+ : undefined,
38
+ };
39
+ }
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+ exports.getListTypeStyle = getListTypeStyle;
45
+ var getPreviousListIndex = function (model, previousListItem) {
46
+ return previousListItem ? (0, roosterjs_content_model_api_1.findListItemsInSameThread)(model, previousListItem).length : undefined;
47
+ };
48
+ var getPreviousListLevel = function (model, paragraph) {
49
+ var blocks = (0, roosterjs_content_model_core_1.getOperationalBlocks)(model, ['ListItem'], ['TableCell'])[0];
50
+ var listItem = undefined;
51
+ if (blocks) {
52
+ var listBlockIndex = blocks.parent.blocks.indexOf(paragraph);
53
+ if (listBlockIndex > -1) {
54
+ for (var i = listBlockIndex - 1; i > -1; i--) {
55
+ var item = blocks.parent.blocks[i];
56
+ if ((0, roosterjs_content_model_core_1.isBlockGroupOfType)(item, 'ListItem')) {
57
+ listItem = item;
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return listItem;
64
+ };
65
+ var getPreviousListStyle = function (list) {
66
+ var _a;
67
+ if (list === null || list === void 0 ? void 0 : list.levels[0].dataset) {
68
+ return (_a = (0, roosterjs_content_model_core_1.updateListMetadata)(list.levels[0])) === null || _a === void 0 ? void 0 : _a.orderedStyleType;
69
+ }
70
+ };
71
+ var bulletListType = {
72
+ '*': roosterjs_content_model_core_1.BulletListType.Disc,
73
+ '-': roosterjs_content_model_core_1.BulletListType.Dash,
74
+ '--': roosterjs_content_model_core_1.BulletListType.Square,
75
+ '->': roosterjs_content_model_core_1.BulletListType.LongArrow,
76
+ '-->': roosterjs_content_model_core_1.BulletListType.DoubleLongArrow,
77
+ '=>': roosterjs_content_model_core_1.BulletListType.UnfilledArrow,
78
+ '>': roosterjs_content_model_core_1.BulletListType.ShortArrow,
79
+ '—': roosterjs_content_model_core_1.BulletListType.Hyphen,
80
+ };
81
+ var isNewList = function (listMarker) {
82
+ var marker = listMarker.replace(/[^\w\s]/g, '');
83
+ var pattern = /^[1aAiI]$/;
84
+ return pattern.test(marker);
85
+ };
86
+ });
87
87
  //# sourceMappingURL=getListTypeStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getListTypeStyle.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/autoFormat/utils/getListTypeStyle.ts"],"names":[],"mappings":"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","sourcesContent":["import { findListItemsInSameThread } from 'roosterjs-content-model-api';\r\nimport { getNumberingListStyle } from './getNumberingListStyle';\r\nimport type {\r\n ContentModelDocument,\r\n ContentModelListItem,\r\n ContentModelParagraph,\r\n} from 'roosterjs-content-model-types';\r\nimport {\r\n BulletListType,\r\n isBlockGroupOfType,\r\n updateListMetadata,\r\n getOperationalBlocks,\r\n getSelectedSegmentsAndParagraphs,\r\n} from 'roosterjs-content-model-core';\r\n\r\n/**\r\n * @internal\r\n */\r\ninterface ListTypeStyle {\r\n listType: 'UL' | 'OL';\r\n styleType: number;\r\n index?: number;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function getListTypeStyle(\r\n model: ContentModelDocument,\r\n shouldSearchForBullet: boolean = true,\r\n shouldSearchForNumbering: boolean = true\r\n): ListTypeStyle | undefined {\r\n const selectedSegmentsAndParagraphs = getSelectedSegmentsAndParagraphs(model, true);\r\n const marker = selectedSegmentsAndParagraphs[0][0];\r\n const paragraph = selectedSegmentsAndParagraphs[0][1];\r\n const listMarkerSegment = paragraph?.segments[0];\r\n\r\n if (\r\n marker &&\r\n marker.segmentType == 'SelectionMarker' &&\r\n listMarkerSegment &&\r\n listMarkerSegment.segmentType == 'Text'\r\n ) {\r\n const listMarker = listMarkerSegment.text;\r\n const bulletType = bulletListType[listMarker];\r\n\r\n if (bulletType && shouldSearchForBullet) {\r\n return { listType: 'UL', styleType: bulletType };\r\n } else if (shouldSearchForNumbering) {\r\n const previousList = getPreviousListLevel(model, paragraph);\r\n const previousIndex = getPreviousListIndex(model, previousList);\r\n const previousListStyle = getPreviousListStyle(previousList);\r\n const numberingType = getNumberingListStyle(\r\n listMarker,\r\n previousIndex,\r\n previousListStyle\r\n );\r\n if (numberingType) {\r\n return {\r\n listType: 'OL',\r\n styleType: numberingType,\r\n index:\r\n !isNewList(listMarker) &&\r\n previousListStyle === numberingType &&\r\n previousIndex\r\n ? previousIndex + 1\r\n : undefined,\r\n };\r\n }\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nconst getPreviousListIndex = (\r\n model: ContentModelDocument,\r\n previousListItem?: ContentModelListItem\r\n) => {\r\n return previousListItem ? findListItemsInSameThread(model, previousListItem).length : undefined;\r\n};\r\n\r\nconst getPreviousListLevel = (model: ContentModelDocument, paragraph: ContentModelParagraph) => {\r\n const blocks = getOperationalBlocks<ContentModelListItem>(\r\n model,\r\n ['ListItem'],\r\n ['TableCell']\r\n )[0];\r\n let listItem: ContentModelListItem | undefined = undefined;\r\n if (blocks) {\r\n const listBlockIndex = blocks.parent.blocks.indexOf(paragraph);\r\n\r\n if (listBlockIndex > -1) {\r\n for (let i = listBlockIndex - 1; i > -1; i--) {\r\n const item = blocks.parent.blocks[i];\r\n if (isBlockGroupOfType<ContentModelListItem>(item, 'ListItem')) {\r\n listItem = item;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return listItem;\r\n};\r\n\r\nconst getPreviousListStyle = (list?: ContentModelListItem) => {\r\n if (list?.levels[0].dataset) {\r\n return updateListMetadata(list.levels[0])?.orderedStyleType;\r\n }\r\n};\r\n\r\nconst bulletListType: Record<string, number> = {\r\n '*': BulletListType.Disc,\r\n '-': BulletListType.Dash,\r\n '--': BulletListType.Square,\r\n '->': BulletListType.LongArrow,\r\n '-->': BulletListType.DoubleLongArrow,\r\n '=>': BulletListType.UnfilledArrow,\r\n '>': BulletListType.ShortArrow,\r\n '—': BulletListType.Hyphen,\r\n};\r\n\r\nconst isNewList = (listMarker: string) => {\r\n const marker = listMarker.replace(/[^\\w\\s]/g, '');\r\n const pattern = /^[1aAiI]$/;\r\n return pattern.test(marker);\r\n};\r\n"]}
1
+ {"version":3,"file":"getListTypeStyle.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/autoFormat/utils/getListTypeStyle.ts"],"names":[],"mappings":"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","sourcesContent":["import { findListItemsInSameThread } from 'roosterjs-content-model-api';\nimport { getNumberingListStyle } from './getNumberingListStyle';\nimport type {\n ContentModelDocument,\n ContentModelListItem,\n ContentModelParagraph,\n} from 'roosterjs-content-model-types';\nimport {\n BulletListType,\n isBlockGroupOfType,\n updateListMetadata,\n getOperationalBlocks,\n getSelectedSegmentsAndParagraphs,\n} from 'roosterjs-content-model-core';\n\n/**\n * @internal\n */\ninterface ListTypeStyle {\n listType: 'UL' | 'OL';\n styleType: number;\n index?: number;\n}\n\n/**\n * @internal\n */\nexport function getListTypeStyle(\n model: ContentModelDocument,\n shouldSearchForBullet: boolean = true,\n shouldSearchForNumbering: boolean = true\n): ListTypeStyle | undefined {\n const selectedSegmentsAndParagraphs = getSelectedSegmentsAndParagraphs(model, true);\n const marker = selectedSegmentsAndParagraphs[0][0];\n const paragraph = selectedSegmentsAndParagraphs[0][1];\n const listMarkerSegment = paragraph?.segments[0];\n\n if (\n marker &&\n marker.segmentType == 'SelectionMarker' &&\n listMarkerSegment &&\n listMarkerSegment.segmentType == 'Text'\n ) {\n const listMarker = listMarkerSegment.text;\n const bulletType = bulletListType[listMarker];\n\n if (bulletType && shouldSearchForBullet) {\n return { listType: 'UL', styleType: bulletType };\n } else if (shouldSearchForNumbering) {\n const previousList = getPreviousListLevel(model, paragraph);\n const previousIndex = getPreviousListIndex(model, previousList);\n const previousListStyle = getPreviousListStyle(previousList);\n const numberingType = getNumberingListStyle(\n listMarker,\n previousIndex,\n previousListStyle\n );\n if (numberingType) {\n return {\n listType: 'OL',\n styleType: numberingType,\n index:\n !isNewList(listMarker) &&\n previousListStyle === numberingType &&\n previousIndex\n ? previousIndex + 1\n : undefined,\n };\n }\n }\n }\n return undefined;\n}\n\nconst getPreviousListIndex = (\n model: ContentModelDocument,\n previousListItem?: ContentModelListItem\n) => {\n return previousListItem ? findListItemsInSameThread(model, previousListItem).length : undefined;\n};\n\nconst getPreviousListLevel = (model: ContentModelDocument, paragraph: ContentModelParagraph) => {\n const blocks = getOperationalBlocks<ContentModelListItem>(\n model,\n ['ListItem'],\n ['TableCell']\n )[0];\n let listItem: ContentModelListItem | undefined = undefined;\n if (blocks) {\n const listBlockIndex = blocks.parent.blocks.indexOf(paragraph);\n\n if (listBlockIndex > -1) {\n for (let i = listBlockIndex - 1; i > -1; i--) {\n const item = blocks.parent.blocks[i];\n if (isBlockGroupOfType<ContentModelListItem>(item, 'ListItem')) {\n listItem = item;\n break;\n }\n }\n }\n }\n\n return listItem;\n};\n\nconst getPreviousListStyle = (list?: ContentModelListItem) => {\n if (list?.levels[0].dataset) {\n return updateListMetadata(list.levels[0])?.orderedStyleType;\n }\n};\n\nconst bulletListType: Record<string, number> = {\n '*': BulletListType.Disc,\n '-': BulletListType.Dash,\n '--': BulletListType.Square,\n '->': BulletListType.LongArrow,\n '-->': BulletListType.DoubleLongArrow,\n '=>': BulletListType.UnfilledArrow,\n '>': BulletListType.ShortArrow,\n '—': BulletListType.Hyphen,\n};\n\nconst isNewList = (listMarker: string) => {\n const marker = listMarker.replace(/[^\\w\\s]/g, '');\n const pattern = /^[1aAiI]$/;\n return pattern.test(marker);\n};\n"]}
@@ -1,4 +1,4 @@
1
- /**
2
- * @internal
3
- */
4
- export declare function getNumberingListStyle(textBeforeCursor: string, previousListIndex?: number, previousListStyle?: number): number | undefined;
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare function getNumberingListStyle(textBeforeCursor: string, previousListIndex?: number, previousListStyle?: number): number | undefined;
@@ -1,154 +1,154 @@
1
- define(["require", "exports", "./getIndex", "roosterjs-content-model-core"], function (require, exports, getIndex_1, roosterjs_content_model_core_1) {
2
- "use strict";
3
- var _a, _b, _c, _d, _e, _f;
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getNumberingListStyle = void 0;
6
- var NumberingTypes;
7
- (function (NumberingTypes) {
8
- NumberingTypes[NumberingTypes["Decimal"] = 1] = "Decimal";
9
- NumberingTypes[NumberingTypes["LowerAlpha"] = 2] = "LowerAlpha";
10
- NumberingTypes[NumberingTypes["UpperAlpha"] = 3] = "UpperAlpha";
11
- NumberingTypes[NumberingTypes["LowerRoman"] = 4] = "LowerRoman";
12
- NumberingTypes[NumberingTypes["UpperRoman"] = 5] = "UpperRoman";
13
- })(NumberingTypes || (NumberingTypes = {}));
14
- var Character;
15
- (function (Character) {
16
- Character[Character["Dot"] = 1] = "Dot";
17
- Character[Character["Dash"] = 2] = "Dash";
18
- Character[Character["Parenthesis"] = 3] = "Parenthesis";
19
- Character[Character["DoubleParenthesis"] = 4] = "DoubleParenthesis";
20
- })(Character || (Character = {}));
21
- var characters = {
22
- '.': 1 /* Dot */,
23
- '-': 2 /* Dash */,
24
- ')': 3 /* Parenthesis */,
25
- };
26
- var lowerRomanTypes = [
27
- roosterjs_content_model_core_1.NumberingListType.LowerRoman,
28
- roosterjs_content_model_core_1.NumberingListType.LowerRomanDash,
29
- roosterjs_content_model_core_1.NumberingListType.LowerRomanDoubleParenthesis,
30
- roosterjs_content_model_core_1.NumberingListType.LowerRomanParenthesis,
31
- ];
32
- var upperRomanTypes = [
33
- roosterjs_content_model_core_1.NumberingListType.UpperRoman,
34
- roosterjs_content_model_core_1.NumberingListType.UpperRomanDash,
35
- roosterjs_content_model_core_1.NumberingListType.UpperRomanDoubleParenthesis,
36
- roosterjs_content_model_core_1.NumberingListType.UpperRomanParenthesis,
37
- ];
38
- var numberingTriggers = ['1', 'a', 'A', 'I', 'i'];
39
- var lowerRomanNumbers = ['i', 'v', 'x', 'l', 'c', 'd', 'm'];
40
- var upperRomanNumbers = ['I', 'V', 'X', 'L', 'C', 'D', 'M'];
41
- var identifyNumberingType = function (text, previousListStyle) {
42
- if (!isNaN(parseInt(text))) {
43
- return 1 /* Decimal */;
44
- }
45
- else if (/[a-z]+/g.test(text)) {
46
- if ((previousListStyle === 4 /* LowerRoman */ &&
47
- lowerRomanTypes.indexOf(previousListStyle) > -1 &&
48
- lowerRomanNumbers.indexOf(text[0]) > -1) ||
49
- (!previousListStyle && text === 'i')) {
50
- return 4 /* LowerRoman */;
51
- }
52
- else if (previousListStyle === 2 /* LowerAlpha */ ||
53
- (!previousListStyle && text === 'a')) {
54
- return 2 /* LowerAlpha */;
55
- }
56
- }
57
- else if (/[A-Z]+/g.test(text)) {
58
- if ((previousListStyle == 5 /* UpperRoman */ &&
59
- upperRomanTypes.indexOf(previousListStyle) > -1 &&
60
- upperRomanNumbers.indexOf(text[0]) > -1) ||
61
- (!previousListStyle && text === 'I')) {
62
- return 5 /* UpperRoman */;
63
- }
64
- else if (previousListStyle == 3 /* UpperAlpha */ ||
65
- (!previousListStyle && text === 'A')) {
66
- return 3 /* UpperAlpha */;
67
- }
68
- }
69
- };
70
- var numberingListTypes = (_a = {},
71
- _a[1 /* Decimal */] = function (char) { return DecimalsTypes[char] || undefined; },
72
- _a[2 /* LowerAlpha */] = function (char) { return LowerAlphaTypes[char] || undefined; },
73
- _a[3 /* UpperAlpha */] = function (char) { return UpperAlphaTypes[char] || undefined; },
74
- _a[4 /* LowerRoman */] = function (char) { return LowerRomanTypes[char] || undefined; },
75
- _a[5 /* UpperRoman */] = function (char) { return UpperRomanTypes[char] || undefined; },
76
- _a);
77
- var UpperRomanTypes = (_b = {},
78
- _b[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.UpperRoman,
79
- _b[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanDash,
80
- _b[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanParenthesis,
81
- _b[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanDoubleParenthesis,
82
- _b);
83
- var LowerRomanTypes = (_c = {},
84
- _c[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.LowerRoman,
85
- _c[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanDash,
86
- _c[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanParenthesis,
87
- _c[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanDoubleParenthesis,
88
- _c);
89
- var UpperAlphaTypes = (_d = {},
90
- _d[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.UpperAlpha,
91
- _d[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaDash,
92
- _d[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaParenthesis,
93
- _d[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaDoubleParenthesis,
94
- _d);
95
- var LowerAlphaTypes = (_e = {},
96
- _e[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.LowerAlpha,
97
- _e[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaDash,
98
- _e[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaParenthesis,
99
- _e[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaDoubleParenthesis,
100
- _e);
101
- var DecimalsTypes = (_f = {},
102
- _f[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.Decimal,
103
- _f[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.DecimalDash,
104
- _f[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.DecimalParenthesis,
105
- _f[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.DecimalDoubleParenthesis,
106
- _f);
107
- var identifyNumberingListType = function (numbering, isDoubleParenthesis, previousListStyle) {
108
- var separatorCharacter = isDoubleParenthesis
109
- ? 4 /* DoubleParenthesis */
110
- : characters[numbering[numbering.length - 1]];
111
- // if separator is not valid, no need to check if the number is valid.
112
- if (separatorCharacter) {
113
- var number = isDoubleParenthesis ? numbering.slice(1, -1) : numbering.slice(0, -1);
114
- var numberingType = identifyNumberingType(number, previousListStyle);
115
- return numberingType ? numberingListTypes[numberingType](separatorCharacter) : undefined;
116
- }
117
- return undefined;
118
- };
119
- /**
120
- * @internal
121
- */
122
- function getNumberingListStyle(textBeforeCursor, previousListIndex, previousListStyle) {
123
- var trigger = textBeforeCursor.trim();
124
- var isDoubleParenthesis = trigger[0] === '(' && trigger[trigger.length - 1] === ')';
125
- //Only the staring items ['1', 'a', 'A', 'I', 'i'] must trigger a new list. All the other triggers is used to keep the list chain.
126
- //The index is always the characters before the last character
127
- var listIndex = isDoubleParenthesis ? trigger.slice(1, -1) : trigger.slice(0, -1);
128
- var index = (0, getIndex_1.getIndex)(listIndex);
129
- var isContinuosList = numberingTriggers.indexOf(listIndex) < 0;
130
- if (!index ||
131
- index < 1 ||
132
- (!previousListIndex && isContinuosList) ||
133
- (previousListIndex && isContinuosList && !canAppendList(index, previousListIndex))) {
134
- return undefined;
135
- }
136
- var numberingType = isValidNumbering(listIndex)
137
- ? identifyNumberingListType(trigger, isDoubleParenthesis, isContinuosList ? previousListStyle : undefined)
138
- : undefined;
139
- return numberingType;
140
- }
141
- exports.getNumberingListStyle = getNumberingListStyle;
142
- /**
143
- * Check if index has only numbers or only letters to avoid sequence of character such 1:1. trigger a list.
144
- * @param index
145
- * @returns
146
- */
147
- function isValidNumbering(index) {
148
- return Number(index) || /^[A-Za-z\s]*$/.test(index);
149
- }
150
- function canAppendList(index, previousListIndex) {
151
- return previousListIndex && index && previousListIndex + 1 === index;
152
- }
153
- });
1
+ define(["require", "exports", "./getIndex", "roosterjs-content-model-core"], function (require, exports, getIndex_1, roosterjs_content_model_core_1) {
2
+ "use strict";
3
+ var _a, _b, _c, _d, _e, _f;
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getNumberingListStyle = void 0;
6
+ var NumberingTypes;
7
+ (function (NumberingTypes) {
8
+ NumberingTypes[NumberingTypes["Decimal"] = 1] = "Decimal";
9
+ NumberingTypes[NumberingTypes["LowerAlpha"] = 2] = "LowerAlpha";
10
+ NumberingTypes[NumberingTypes["UpperAlpha"] = 3] = "UpperAlpha";
11
+ NumberingTypes[NumberingTypes["LowerRoman"] = 4] = "LowerRoman";
12
+ NumberingTypes[NumberingTypes["UpperRoman"] = 5] = "UpperRoman";
13
+ })(NumberingTypes || (NumberingTypes = {}));
14
+ var Character;
15
+ (function (Character) {
16
+ Character[Character["Dot"] = 1] = "Dot";
17
+ Character[Character["Dash"] = 2] = "Dash";
18
+ Character[Character["Parenthesis"] = 3] = "Parenthesis";
19
+ Character[Character["DoubleParenthesis"] = 4] = "DoubleParenthesis";
20
+ })(Character || (Character = {}));
21
+ var characters = {
22
+ '.': 1 /* Dot */,
23
+ '-': 2 /* Dash */,
24
+ ')': 3 /* Parenthesis */,
25
+ };
26
+ var lowerRomanTypes = [
27
+ roosterjs_content_model_core_1.NumberingListType.LowerRoman,
28
+ roosterjs_content_model_core_1.NumberingListType.LowerRomanDash,
29
+ roosterjs_content_model_core_1.NumberingListType.LowerRomanDoubleParenthesis,
30
+ roosterjs_content_model_core_1.NumberingListType.LowerRomanParenthesis,
31
+ ];
32
+ var upperRomanTypes = [
33
+ roosterjs_content_model_core_1.NumberingListType.UpperRoman,
34
+ roosterjs_content_model_core_1.NumberingListType.UpperRomanDash,
35
+ roosterjs_content_model_core_1.NumberingListType.UpperRomanDoubleParenthesis,
36
+ roosterjs_content_model_core_1.NumberingListType.UpperRomanParenthesis,
37
+ ];
38
+ var numberingTriggers = ['1', 'a', 'A', 'I', 'i'];
39
+ var lowerRomanNumbers = ['i', 'v', 'x', 'l', 'c', 'd', 'm'];
40
+ var upperRomanNumbers = ['I', 'V', 'X', 'L', 'C', 'D', 'M'];
41
+ var identifyNumberingType = function (text, previousListStyle) {
42
+ if (!isNaN(parseInt(text))) {
43
+ return 1 /* Decimal */;
44
+ }
45
+ else if (/[a-z]+/g.test(text)) {
46
+ if ((previousListStyle === 4 /* LowerRoman */ &&
47
+ lowerRomanTypes.indexOf(previousListStyle) > -1 &&
48
+ lowerRomanNumbers.indexOf(text[0]) > -1) ||
49
+ (!previousListStyle && text === 'i')) {
50
+ return 4 /* LowerRoman */;
51
+ }
52
+ else if (previousListStyle === 2 /* LowerAlpha */ ||
53
+ (!previousListStyle && text === 'a')) {
54
+ return 2 /* LowerAlpha */;
55
+ }
56
+ }
57
+ else if (/[A-Z]+/g.test(text)) {
58
+ if ((previousListStyle == 5 /* UpperRoman */ &&
59
+ upperRomanTypes.indexOf(previousListStyle) > -1 &&
60
+ upperRomanNumbers.indexOf(text[0]) > -1) ||
61
+ (!previousListStyle && text === 'I')) {
62
+ return 5 /* UpperRoman */;
63
+ }
64
+ else if (previousListStyle == 3 /* UpperAlpha */ ||
65
+ (!previousListStyle && text === 'A')) {
66
+ return 3 /* UpperAlpha */;
67
+ }
68
+ }
69
+ };
70
+ var numberingListTypes = (_a = {},
71
+ _a[1 /* Decimal */] = function (char) { return DecimalsTypes[char] || undefined; },
72
+ _a[2 /* LowerAlpha */] = function (char) { return LowerAlphaTypes[char] || undefined; },
73
+ _a[3 /* UpperAlpha */] = function (char) { return UpperAlphaTypes[char] || undefined; },
74
+ _a[4 /* LowerRoman */] = function (char) { return LowerRomanTypes[char] || undefined; },
75
+ _a[5 /* UpperRoman */] = function (char) { return UpperRomanTypes[char] || undefined; },
76
+ _a);
77
+ var UpperRomanTypes = (_b = {},
78
+ _b[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.UpperRoman,
79
+ _b[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanDash,
80
+ _b[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanParenthesis,
81
+ _b[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperRomanDoubleParenthesis,
82
+ _b);
83
+ var LowerRomanTypes = (_c = {},
84
+ _c[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.LowerRoman,
85
+ _c[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanDash,
86
+ _c[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanParenthesis,
87
+ _c[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerRomanDoubleParenthesis,
88
+ _c);
89
+ var UpperAlphaTypes = (_d = {},
90
+ _d[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.UpperAlpha,
91
+ _d[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaDash,
92
+ _d[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaParenthesis,
93
+ _d[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.UpperAlphaDoubleParenthesis,
94
+ _d);
95
+ var LowerAlphaTypes = (_e = {},
96
+ _e[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.LowerAlpha,
97
+ _e[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaDash,
98
+ _e[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaParenthesis,
99
+ _e[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.LowerAlphaDoubleParenthesis,
100
+ _e);
101
+ var DecimalsTypes = (_f = {},
102
+ _f[1 /* Dot */] = roosterjs_content_model_core_1.NumberingListType.Decimal,
103
+ _f[2 /* Dash */] = roosterjs_content_model_core_1.NumberingListType.DecimalDash,
104
+ _f[3 /* Parenthesis */] = roosterjs_content_model_core_1.NumberingListType.DecimalParenthesis,
105
+ _f[4 /* DoubleParenthesis */] = roosterjs_content_model_core_1.NumberingListType.DecimalDoubleParenthesis,
106
+ _f);
107
+ var identifyNumberingListType = function (numbering, isDoubleParenthesis, previousListStyle) {
108
+ var separatorCharacter = isDoubleParenthesis
109
+ ? 4 /* DoubleParenthesis */
110
+ : characters[numbering[numbering.length - 1]];
111
+ // if separator is not valid, no need to check if the number is valid.
112
+ if (separatorCharacter) {
113
+ var number = isDoubleParenthesis ? numbering.slice(1, -1) : numbering.slice(0, -1);
114
+ var numberingType = identifyNumberingType(number, previousListStyle);
115
+ return numberingType ? numberingListTypes[numberingType](separatorCharacter) : undefined;
116
+ }
117
+ return undefined;
118
+ };
119
+ /**
120
+ * @internal
121
+ */
122
+ function getNumberingListStyle(textBeforeCursor, previousListIndex, previousListStyle) {
123
+ var trigger = textBeforeCursor.trim();
124
+ var isDoubleParenthesis = trigger[0] === '(' && trigger[trigger.length - 1] === ')';
125
+ //Only the staring items ['1', 'a', 'A', 'I', 'i'] must trigger a new list. All the other triggers is used to keep the list chain.
126
+ //The index is always the characters before the last character
127
+ var listIndex = isDoubleParenthesis ? trigger.slice(1, -1) : trigger.slice(0, -1);
128
+ var index = (0, getIndex_1.getIndex)(listIndex);
129
+ var isContinuosList = numberingTriggers.indexOf(listIndex) < 0;
130
+ if (!index ||
131
+ index < 1 ||
132
+ (!previousListIndex && isContinuosList) ||
133
+ (previousListIndex && isContinuosList && !canAppendList(index, previousListIndex))) {
134
+ return undefined;
135
+ }
136
+ var numberingType = isValidNumbering(listIndex)
137
+ ? identifyNumberingListType(trigger, isDoubleParenthesis, isContinuosList ? previousListStyle : undefined)
138
+ : undefined;
139
+ return numberingType;
140
+ }
141
+ exports.getNumberingListStyle = getNumberingListStyle;
142
+ /**
143
+ * Check if index has only numbers or only letters to avoid sequence of character such 1:1. trigger a list.
144
+ * @param index
145
+ * @returns
146
+ */
147
+ function isValidNumbering(index) {
148
+ return Number(index) || /^[A-Za-z\s]*$/.test(index);
149
+ }
150
+ function canAppendList(index, previousListIndex) {
151
+ return previousListIndex && index && previousListIndex + 1 === index;
152
+ }
153
+ });
154
154
  //# sourceMappingURL=getNumberingListStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNumberingListStyle.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/autoFormat/utils/getNumberingListStyle.ts"],"names":[],"mappings":"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","sourcesContent":["import { getIndex } from './getIndex';\r\nimport { NumberingListType } from 'roosterjs-content-model-core';\r\n\r\nconst enum NumberingTypes {\r\n Decimal = 1,\r\n LowerAlpha = 2,\r\n UpperAlpha = 3,\r\n LowerRoman = 4,\r\n UpperRoman = 5,\r\n}\r\n\r\nconst enum Character {\r\n Dot = 1,\r\n Dash = 2,\r\n Parenthesis = 3,\r\n DoubleParenthesis = 4,\r\n}\r\n\r\nconst characters: Record<string, number> = {\r\n '.': Character.Dot,\r\n '-': Character.Dash,\r\n ')': Character.Parenthesis,\r\n};\r\n\r\nconst lowerRomanTypes = [\r\n NumberingListType.LowerRoman,\r\n NumberingListType.LowerRomanDash,\r\n NumberingListType.LowerRomanDoubleParenthesis,\r\n NumberingListType.LowerRomanParenthesis,\r\n];\r\nconst upperRomanTypes = [\r\n NumberingListType.UpperRoman,\r\n NumberingListType.UpperRomanDash,\r\n NumberingListType.UpperRomanDoubleParenthesis,\r\n NumberingListType.UpperRomanParenthesis,\r\n];\r\nconst numberingTriggers = ['1', 'a', 'A', 'I', 'i'];\r\nconst lowerRomanNumbers = ['i', 'v', 'x', 'l', 'c', 'd', 'm'];\r\nconst upperRomanNumbers = ['I', 'V', 'X', 'L', 'C', 'D', 'M'];\r\n\r\nconst identifyNumberingType = (text: string, previousListStyle?: number) => {\r\n if (!isNaN(parseInt(text))) {\r\n return NumberingTypes.Decimal;\r\n } else if (/[a-z]+/g.test(text)) {\r\n if (\r\n (previousListStyle === NumberingTypes.LowerRoman &&\r\n lowerRomanTypes.indexOf(previousListStyle) > -1 &&\r\n lowerRomanNumbers.indexOf(text[0]) > -1) ||\r\n (!previousListStyle && text === 'i')\r\n ) {\r\n return NumberingTypes.LowerRoman;\r\n } else if (\r\n previousListStyle === NumberingTypes.LowerAlpha ||\r\n (!previousListStyle && text === 'a')\r\n ) {\r\n return NumberingTypes.LowerAlpha;\r\n }\r\n } else if (/[A-Z]+/g.test(text)) {\r\n if (\r\n (previousListStyle == NumberingTypes.UpperRoman &&\r\n upperRomanTypes.indexOf(previousListStyle) > -1 &&\r\n upperRomanNumbers.indexOf(text[0]) > -1) ||\r\n (!previousListStyle && text === 'I')\r\n ) {\r\n return NumberingTypes.UpperRoman;\r\n } else if (\r\n previousListStyle == NumberingTypes.UpperAlpha ||\r\n (!previousListStyle && text === 'A')\r\n ) {\r\n return NumberingTypes.UpperAlpha;\r\n }\r\n }\r\n};\r\n\r\nconst numberingListTypes: Record<number, (char: number) => number | undefined> = {\r\n [NumberingTypes.Decimal]: char => DecimalsTypes[char] || undefined,\r\n [NumberingTypes.LowerAlpha]: char => LowerAlphaTypes[char] || undefined,\r\n [NumberingTypes.UpperAlpha]: char => UpperAlphaTypes[char] || undefined,\r\n [NumberingTypes.LowerRoman]: char => LowerRomanTypes[char] || undefined,\r\n [NumberingTypes.UpperRoman]: char => UpperRomanTypes[char] || undefined,\r\n};\r\n\r\nconst UpperRomanTypes: Record<number, number> = {\r\n [Character.Dot]: NumberingListType.UpperRoman,\r\n [Character.Dash]: NumberingListType.UpperRomanDash,\r\n [Character.Parenthesis]: NumberingListType.UpperRomanParenthesis,\r\n [Character.DoubleParenthesis]: NumberingListType.UpperRomanDoubleParenthesis,\r\n};\r\n\r\nconst LowerRomanTypes: Record<number, number> = {\r\n [Character.Dot]: NumberingListType.LowerRoman,\r\n [Character.Dash]: NumberingListType.LowerRomanDash,\r\n [Character.Parenthesis]: NumberingListType.LowerRomanParenthesis,\r\n [Character.DoubleParenthesis]: NumberingListType.LowerRomanDoubleParenthesis,\r\n};\r\n\r\nconst UpperAlphaTypes: Record<number, number> = {\r\n [Character.Dot]: NumberingListType.UpperAlpha,\r\n [Character.Dash]: NumberingListType.UpperAlphaDash,\r\n [Character.Parenthesis]: NumberingListType.UpperAlphaParenthesis,\r\n [Character.DoubleParenthesis]: NumberingListType.UpperAlphaDoubleParenthesis,\r\n};\r\n\r\nconst LowerAlphaTypes: Record<number, number> = {\r\n [Character.Dot]: NumberingListType.LowerAlpha,\r\n [Character.Dash]: NumberingListType.LowerAlphaDash,\r\n [Character.Parenthesis]: NumberingListType.LowerAlphaParenthesis,\r\n [Character.DoubleParenthesis]: NumberingListType.LowerAlphaDoubleParenthesis,\r\n};\r\n\r\nconst DecimalsTypes: Record<number, number> = {\r\n [Character.Dot]: NumberingListType.Decimal,\r\n [Character.Dash]: NumberingListType.DecimalDash,\r\n [Character.Parenthesis]: NumberingListType.DecimalParenthesis,\r\n [Character.DoubleParenthesis]: NumberingListType.DecimalDoubleParenthesis,\r\n};\r\n\r\nconst identifyNumberingListType = (\r\n numbering: string,\r\n isDoubleParenthesis: boolean,\r\n previousListStyle?: number\r\n): number | undefined => {\r\n const separatorCharacter = isDoubleParenthesis\r\n ? Character.DoubleParenthesis\r\n : characters[numbering[numbering.length - 1]];\r\n // if separator is not valid, no need to check if the number is valid.\r\n if (separatorCharacter) {\r\n const number = isDoubleParenthesis ? numbering.slice(1, -1) : numbering.slice(0, -1);\r\n const numberingType = identifyNumberingType(number, previousListStyle);\r\n return numberingType ? numberingListTypes[numberingType](separatorCharacter) : undefined;\r\n }\r\n return undefined;\r\n};\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function getNumberingListStyle(\r\n textBeforeCursor: string,\r\n previousListIndex?: number,\r\n previousListStyle?: number\r\n): number | undefined {\r\n const trigger = textBeforeCursor.trim();\r\n const isDoubleParenthesis = trigger[0] === '(' && trigger[trigger.length - 1] === ')';\r\n //Only the staring items ['1', 'a', 'A', 'I', 'i'] must trigger a new list. All the other triggers is used to keep the list chain.\r\n //The index is always the characters before the last character\r\n const listIndex = isDoubleParenthesis ? trigger.slice(1, -1) : trigger.slice(0, -1);\r\n const index = getIndex(listIndex);\r\n const isContinuosList = numberingTriggers.indexOf(listIndex) < 0;\r\n\r\n if (\r\n !index ||\r\n index < 1 ||\r\n (!previousListIndex && isContinuosList) ||\r\n (previousListIndex && isContinuosList && !canAppendList(index, previousListIndex))\r\n ) {\r\n return undefined;\r\n }\r\n\r\n const numberingType = isValidNumbering(listIndex)\r\n ? identifyNumberingListType(\r\n trigger,\r\n isDoubleParenthesis,\r\n isContinuosList ? previousListStyle : undefined\r\n )\r\n : undefined;\r\n return numberingType;\r\n}\r\n\r\n/**\r\n * Check if index has only numbers or only letters to avoid sequence of character such 1:1. trigger a list.\r\n * @param index\r\n * @returns\r\n */\r\nfunction isValidNumbering(index: string) {\r\n return Number(index) || /^[A-Za-z\\s]*$/.test(index);\r\n}\r\n\r\nfunction canAppendList(index?: number, previousListIndex?: number) {\r\n return previousListIndex && index && previousListIndex + 1 === index;\r\n}\r\n"]}
1
+ {"version":3,"file":"getNumberingListStyle.js","sourceRoot":"","sources":["../../../../../packages-content-model/roosterjs-content-model-plugins/lib/autoFormat/utils/getNumberingListStyle.ts"],"names":[],"mappings":"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","sourcesContent":["import { getIndex } from './getIndex';\nimport { NumberingListType } from 'roosterjs-content-model-core';\n\nconst enum NumberingTypes {\n Decimal = 1,\n LowerAlpha = 2,\n UpperAlpha = 3,\n LowerRoman = 4,\n UpperRoman = 5,\n}\n\nconst enum Character {\n Dot = 1,\n Dash = 2,\n Parenthesis = 3,\n DoubleParenthesis = 4,\n}\n\nconst characters: Record<string, number> = {\n '.': Character.Dot,\n '-': Character.Dash,\n ')': Character.Parenthesis,\n};\n\nconst lowerRomanTypes = [\n NumberingListType.LowerRoman,\n NumberingListType.LowerRomanDash,\n NumberingListType.LowerRomanDoubleParenthesis,\n NumberingListType.LowerRomanParenthesis,\n];\nconst upperRomanTypes = [\n NumberingListType.UpperRoman,\n NumberingListType.UpperRomanDash,\n NumberingListType.UpperRomanDoubleParenthesis,\n NumberingListType.UpperRomanParenthesis,\n];\nconst numberingTriggers = ['1', 'a', 'A', 'I', 'i'];\nconst lowerRomanNumbers = ['i', 'v', 'x', 'l', 'c', 'd', 'm'];\nconst upperRomanNumbers = ['I', 'V', 'X', 'L', 'C', 'D', 'M'];\n\nconst identifyNumberingType = (text: string, previousListStyle?: number) => {\n if (!isNaN(parseInt(text))) {\n return NumberingTypes.Decimal;\n } else if (/[a-z]+/g.test(text)) {\n if (\n (previousListStyle === NumberingTypes.LowerRoman &&\n lowerRomanTypes.indexOf(previousListStyle) > -1 &&\n lowerRomanNumbers.indexOf(text[0]) > -1) ||\n (!previousListStyle && text === 'i')\n ) {\n return NumberingTypes.LowerRoman;\n } else if (\n previousListStyle === NumberingTypes.LowerAlpha ||\n (!previousListStyle && text === 'a')\n ) {\n return NumberingTypes.LowerAlpha;\n }\n } else if (/[A-Z]+/g.test(text)) {\n if (\n (previousListStyle == NumberingTypes.UpperRoman &&\n upperRomanTypes.indexOf(previousListStyle) > -1 &&\n upperRomanNumbers.indexOf(text[0]) > -1) ||\n (!previousListStyle && text === 'I')\n ) {\n return NumberingTypes.UpperRoman;\n } else if (\n previousListStyle == NumberingTypes.UpperAlpha ||\n (!previousListStyle && text === 'A')\n ) {\n return NumberingTypes.UpperAlpha;\n }\n }\n};\n\nconst numberingListTypes: Record<number, (char: number) => number | undefined> = {\n [NumberingTypes.Decimal]: char => DecimalsTypes[char] || undefined,\n [NumberingTypes.LowerAlpha]: char => LowerAlphaTypes[char] || undefined,\n [NumberingTypes.UpperAlpha]: char => UpperAlphaTypes[char] || undefined,\n [NumberingTypes.LowerRoman]: char => LowerRomanTypes[char] || undefined,\n [NumberingTypes.UpperRoman]: char => UpperRomanTypes[char] || undefined,\n};\n\nconst UpperRomanTypes: Record<number, number> = {\n [Character.Dot]: NumberingListType.UpperRoman,\n [Character.Dash]: NumberingListType.UpperRomanDash,\n [Character.Parenthesis]: NumberingListType.UpperRomanParenthesis,\n [Character.DoubleParenthesis]: NumberingListType.UpperRomanDoubleParenthesis,\n};\n\nconst LowerRomanTypes: Record<number, number> = {\n [Character.Dot]: NumberingListType.LowerRoman,\n [Character.Dash]: NumberingListType.LowerRomanDash,\n [Character.Parenthesis]: NumberingListType.LowerRomanParenthesis,\n [Character.DoubleParenthesis]: NumberingListType.LowerRomanDoubleParenthesis,\n};\n\nconst UpperAlphaTypes: Record<number, number> = {\n [Character.Dot]: NumberingListType.UpperAlpha,\n [Character.Dash]: NumberingListType.UpperAlphaDash,\n [Character.Parenthesis]: NumberingListType.UpperAlphaParenthesis,\n [Character.DoubleParenthesis]: NumberingListType.UpperAlphaDoubleParenthesis,\n};\n\nconst LowerAlphaTypes: Record<number, number> = {\n [Character.Dot]: NumberingListType.LowerAlpha,\n [Character.Dash]: NumberingListType.LowerAlphaDash,\n [Character.Parenthesis]: NumberingListType.LowerAlphaParenthesis,\n [Character.DoubleParenthesis]: NumberingListType.LowerAlphaDoubleParenthesis,\n};\n\nconst DecimalsTypes: Record<number, number> = {\n [Character.Dot]: NumberingListType.Decimal,\n [Character.Dash]: NumberingListType.DecimalDash,\n [Character.Parenthesis]: NumberingListType.DecimalParenthesis,\n [Character.DoubleParenthesis]: NumberingListType.DecimalDoubleParenthesis,\n};\n\nconst identifyNumberingListType = (\n numbering: string,\n isDoubleParenthesis: boolean,\n previousListStyle?: number\n): number | undefined => {\n const separatorCharacter = isDoubleParenthesis\n ? Character.DoubleParenthesis\n : characters[numbering[numbering.length - 1]];\n // if separator is not valid, no need to check if the number is valid.\n if (separatorCharacter) {\n const number = isDoubleParenthesis ? numbering.slice(1, -1) : numbering.slice(0, -1);\n const numberingType = identifyNumberingType(number, previousListStyle);\n return numberingType ? numberingListTypes[numberingType](separatorCharacter) : undefined;\n }\n return undefined;\n};\n\n/**\n * @internal\n */\nexport function getNumberingListStyle(\n textBeforeCursor: string,\n previousListIndex?: number,\n previousListStyle?: number\n): number | undefined {\n const trigger = textBeforeCursor.trim();\n const isDoubleParenthesis = trigger[0] === '(' && trigger[trigger.length - 1] === ')';\n //Only the staring items ['1', 'a', 'A', 'I', 'i'] must trigger a new list. All the other triggers is used to keep the list chain.\n //The index is always the characters before the last character\n const listIndex = isDoubleParenthesis ? trigger.slice(1, -1) : trigger.slice(0, -1);\n const index = getIndex(listIndex);\n const isContinuosList = numberingTriggers.indexOf(listIndex) < 0;\n\n if (\n !index ||\n index < 1 ||\n (!previousListIndex && isContinuosList) ||\n (previousListIndex && isContinuosList && !canAppendList(index, previousListIndex))\n ) {\n return undefined;\n }\n\n const numberingType = isValidNumbering(listIndex)\n ? identifyNumberingListType(\n trigger,\n isDoubleParenthesis,\n isContinuosList ? previousListStyle : undefined\n )\n : undefined;\n return numberingType;\n}\n\n/**\n * Check if index has only numbers or only letters to avoid sequence of character such 1:1. trigger a list.\n * @param index\n * @returns\n */\nfunction isValidNumbering(index: string) {\n return Number(index) || /^[A-Za-z\\s]*$/.test(index);\n}\n\nfunction canAppendList(index?: number, previousListIndex?: number) {\n return previousListIndex && index && previousListIndex + 1 === index;\n}\n"]}