Version bump main: 9.54.0 → 9.55.0#3384
Closed
juliaroldi wants to merge 342 commits into
Closed
Conversation
…u/juliaroldi/bump-8.51.1-0.11.0
Bump Rooster to 8.51.1 and content-model to 0.11.0
Version Bump on 7/28
…-0.13.0 U/nguyenvi/versionbump 8.53.0 0.13.0
* Content Model: Improve cache behavior (#1999) * Content Model: Improve cache behavior * fix build * fix comment * Skip Trigger plugin event on plain text paste (#2011) * init * remove unneeded change * Update return type * Fix 218869: Do not allow dragging on readonly content (#2010) * Fix 218869: Do not allow dragging readonly content * fix test * Content Model: Fix 194024 and 220289 (#2012) * Content Model: Fix 221290 Support float for image (#2013) * Content Model: improve formatWithContentModel 1 (#2001) * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 (#2002) * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 * fix format * WIP * fix handles * MergeModel, do not inherit the styles of table when splitting the param (#2016) * init * init * address comment * update test names * fixes * Demo site: Fix insert link button in Content Model ribbon (#2018) * Content Model: insertEntity API (#1800) * Content Model insertEntity * improve * improve * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 * Improve * fix build * fix build * improve * add test * add test * add test * add test * fix dark color * fix test * fix build and test * crop * fix xase * check cell exist * Fix #1752, rename header to heading (#2020) * fix cell empty cells * fix flipped image * Update logic to decide if we need to merge a table on paste. (#2022) * Fix TableSelectionCopy * update unit tests * Fix 2 * address comment * Content Model: Rename a test file (#2029) * Fix Triple clicking a single cell selecting more than one (#2024) * fix triple click, optimisation * Remove `display: flex` style on paste (#2031) * init * Fix * Replace first cell content if input while on cell selection (#2030) * select first cell content and empty, add undo if change * Content Model: Fix 222135 (#2035) * Fix 222135 * fix build * Content Model: Fix 219312 (#2036) * Fix regression when creating the BeforePasteEvent (#2039) * init * fix build * Content Model: Fix 220050 (#2037) * Content Model: Fix 220050 * Fix build * improve * improve * Simplify the domToModel call in `paste.ts` (#2040) * add more changes * fix build * fix test * Content Model: Support vertical-align for image (#2041) * Content Model: Support vertical-align for image * fix build and test --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * version bump --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com>
* Content Model: Improve cache behavior (#1999) * Content Model: Improve cache behavior * fix build * fix comment * Skip Trigger plugin event on plain text paste (#2011) * init * remove unneeded change * Update return type * Fix 218869: Do not allow dragging on readonly content (#2010) * Fix 218869: Do not allow dragging readonly content * fix test * Content Model: Fix 194024 and 220289 (#2012) * Content Model: Fix 221290 Support float for image (#2013) * Content Model: improve formatWithContentModel 1 (#2001) * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 (#2002) * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 * fix format * WIP * fix handles * MergeModel, do not inherit the styles of table when splitting the param (#2016) * init * init * address comment * update test names * fixes * Demo site: Fix insert link button in Content Model ribbon (#2018) * Content Model: insertEntity API (#1800) * Content Model insertEntity * improve * improve * Content Model: Improve cache behavior * fix build * Content Model: improve formatWithContentModel * Content Model: improve formatWithContentModel 2 * Improve * fix build * fix build * improve * add test * add test * add test * add test * fix dark color * fix test * fix build and test * crop * fix xase * check cell exist * Fix #1752, rename header to heading (#2020) * fix cell empty cells * fix flipped image * Update logic to decide if we need to merge a table on paste. (#2022) * Fix TableSelectionCopy * update unit tests * Fix 2 * address comment * Content Model: Rename a test file (#2029) * Fix Triple clicking a single cell selecting more than one (#2024) * fix triple click, optimisation * Remove `display: flex` style on paste (#2031) * init * Fix * Replace first cell content if input while on cell selection (#2030) * select first cell content and empty, add undo if change * Content Model: Fix 222135 (#2035) * Fix 222135 * fix build * Content Model: Fix 219312 (#2036) * Fix regression when creating the BeforePasteEvent (#2039) * init * fix build * Content Model: Fix 220050 (#2037) * Content Model: Fix 220050 * Fix build * improve * improve * Simplify the domToModel call in `paste.ts` (#2040) * add more changes * fix build * fix test * Content Model: Support vertical-align for image (#2041) * Content Model: Support vertical-align for image * fix build and test --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Remove deprecated colors from borders, text and background. (#2045) * Support more border styles * init * Revert unrelated change * Fix dependencies * address comments * try fix build * reselection * add space * Content Model: Improve insertEntity (#2047) * Content Model: Improve insertEntity * fix test * Content Model: Fix selection of entity (#2051) * Content Model: Always return size in pt when getFormatState (#2052) * Content Model: trigger ShadowEdit events (#2053) * Content Model: trigger ShadowEdit events * improve * Content Model: Add solid paragraph in new table cell (#2055) * Content Model: Do color transform for entity when copy/paste (#2056) * Content Model: Do color transform for entity when copy/paste * Call normalizeContentModel * Content Model: Paste plain text applies current format (#2057) * Content Model: Paste plain text applies current format * fix build * Content Model: Fix a regression of shadow edit (#2058) * Update versions * Fix double import * Double import 2 --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Andres-CT98 <107568016+Andres-CT98@users.noreply.github.com>
Bump RoosterJS version to 8.56 and Content Model to 0.16
* Content Model: Clear table selection fix (#2086) * Content Model: Clear table selection fix * fix build * Fix #2078 (#2092) * Fix #2078 * add test * Graduate feature InlineEntityReadOnlyDelimiters (#2098) * Graduate InlineEntityReadOnlyDelimiters * fix build * Fix 227982 (#2095) * Content Model: Advanced cache (#2083) * Content Model Customization refactor * fix build * improve * Content Model Customization refactor 2: Add default config * fix build * Content Model: Persist cache 1 * fix build * improve * Content Model: Cache 2 * Fix test * Fix build * improve * Improve * improve * Improve * fix test * Do not restore cached selection when call select * Content Model: Add model into ContentChangedEvent * fix build * add demo site page * Improve * Content Model: pass out segment nodes * cache 8 * fix build * fix test * Improve * improve * fix test * Improve * fix test * Improve "checkDependency" * Content Model: Clear table selection fix * fix build * Content Model: Improve adjustWordSelection * add test * add test * fix test * Improve * retrigger check step * retrigger check step * do not underline, if not text * remove empty line * refactor * Replace tslint with eslint (#2101) * Graduate feature ContentModelPaste (#2102) * Remove NodeType from Content Model (#2106) * Enable eslint rule to improve imports (#2105) * Enable eslint rule to force import type * Clear duplicated imports * selection * Content Model: Move default format logic into ContentModelFormatPlugin (#2099) * Content Model Customization refactor * fix build * improve * Content Model Customization refactor 2: Add default config * fix build * Content Model: Persist cache 1 * fix build * improve * Content Model: Cache 2 * Fix test * Fix build * improve * Improve * improve * Improve * fix test * Do not restore cached selection when call select * Content Model: Add model into ContentChangedEvent * fix build * add demo site page * Improve * Content Model: pass out segment nodes * cache 8 * fix build * fix test * Improve * improve * fix test * Improve * fix test * Improve "checkDependency" * Content Model: Clear table selection fix * fix build * Content Model: Improve adjustWordSelection * add test * add test * fix test * Graduate InlineEntityReadOnlyDelimiters * fix build * fix test * Refactor format plugin * fix test * Improve * fix build * Standalone editor: remove SelectionRangeEx from Content Model (#2103) * Remove SelectionRangeEx from ContentModel * fix test * improve * fix build * fix test * Content Model: Move copy entity related code to copyPastePlugin (#2111) * Fix PickPlugin will not remove nodes with other tags other than <a> tag (#2116) * Content Model: Clear cache when input in expanded selection (#2114) * Content Model: Clear cache when input in expanded selection * fix build * standalone editor: Remove dependencies (#2115) * Standalone editor: decouple entity (#2107) * Standalone editor: decouple entity * fix build * fix build * improve * fix build * add test * Add announce Plugin (#2109) Add announce plugin Add a AnnounceHandler, that will be in charge of announcing the messages by using a aria-live element, this handler will require a string map with the localized strings to announce messages from built-in RoosterJS features. Add an additional callback property to ContentEditEventData, getAnnounceData, used in the Announce Plugin Add first announcing logic when indenting/outdenting list * image selection test * Fix demo page (#2120) * remove height * WIP * Standalone editor: decouple utilities (#2123) * fix comment * Fix Excel Border issue when pasting (#2121) * init * itChromeOnly * add unit test * fix chrome test * Announce Plugin, add features to current plugin (#2119) * init * remove * Fix type issues * add tests * Fix build * Move logic from Editor to Plugin * Add type to param * DefaultAnnounceString to KnownAnnounceStrings * merge classes * Add more details in comments * Fix build * const enum * fix * init * Add callback that returns string * init2 * Fix test after merge * Refactor * refactor * Fix * Dispose editor * Move util from dom to plugin pkg & fix * remove unneeded if * remove unneeded test * image selection ctrl * refator * rename newImage * fix build * Recreate Content Model for table and image selection (#2128) * Catch error and continue when dispose editor (#2129) * Cache error and continue when dispose editor * Improve * Do not focus to editor when formatWithContentModel (#2130) * Standalone editor: Remove more dependencies (#2127) * Standalone editor: decouple utilities * Standalone editor: Remove more dependencies * fix build * remove unnecessary code * RoosterJs 8.57.0 --------- Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Leah Xia <107075081+Leah-Xia-Microsoft@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com>
Bump RoosterJS verson to 8.58
* Use Content Model to handle Delete/Backspace key in more cases (#2162) * Do not set focus when quite shadow edit (#2163) * Fix #237217 (#2164) * Fix #237735 (#2165) * Fix #236416 (#2166) * copyPaste * update versions * Fix #2160 (#2167) * Fix #2160 * fix build --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com>
* margin in lists * remove code * type * refactor * fixes * remove parameter * refactor * remove file change * Use Content Model to handle Delete/Backspace key in more cases (#2162) * Do not set focus when quite shadow edit (#2163) * Fix #237217 (#2164) * Fix #237735 (#2165) * Fix #236416 (#2166) * wip * fixes * Fix #2160 (#2167) * Fix #2160 * fix build * test * remove test * remove test * remove test * Rearrange parameters of iterateSelections (#2180) * Rearrange parameters of iterateSelections * improve * Standalone editor step 0: Create a copy of Editor class (#2175) * Standalone editor step 0: Create a copy of Editor class * remove unnecessary change * improve * Fix #2061, apply pending format on Android (#2172) * Fix #2061 * Fix for Android * Fix #2080 (#2173) * Standalone editor Step 0.5: Create test page for adapter editor (#2176) * Standalone editor step 0: Create a copy of Editor class * Standalone editor Step 0.5: Create test page for adapter editor * Add Content Model functionality to AdapterEditor * remove unnecessary change * remove unnecessary change * improve * toggleListType * type * Fix Mouseout behavior to hide table editors (#2181) * init * init * fix build * Add comment * Fix apply Table Inside borders operation and Demo site (#2184) * fix cases * fix demo * Add image size checkmarks to context menu (#2168) * Allow a max error un percentage size check * Allow a checkmark to be shown in ctx menu * Add checkmark to image sizes * Add missing type * Fix types * Add comment * Attempt to fix image selection * Revert unneeded changes in image selection * Use attr as backup in resize calc * Rely entirely on image selection * Revert changes to domeventplugin * Copy changes into content model adapter * Revert previous standalone editor change (#2189) * Revert previous standalone change * fix build * Move formatWithContentModel to be a core API (#2185) * Content Model: Allow clear cache from formatContentModel (#2186) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Potential perf improvement in getFormatState (#2187) * Content Model: Move pending format into editor core (#2188) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Move pending format into editor core * Convert DeleteResult from const enum to string literal type (#2191) * Move paste plugin to roosterjs-content-model-plugins package (#2192) * image selection plugin * check image parent node * Adding module entry to package.json (#2197) * Move ContentModelEdit plugin to plugins package (#2195) * Move ContentModelEdit plugin to plugins package * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Move type files to roosterjs-content-model-types package (#2196) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * fix build * fix build * Move core API to roosterjs-content-model-core package (#2198) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * fix build * fix build * Move corePlugins to roosterjs-content-model-core package (#2199) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * fix build * Move format API to roosterjs-content-model-api package (#2200) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve --------- Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Andres-CT98 <107568016+Andres-CT98@users.noreply.github.com> Co-authored-by: Ian Elizondo <ianeli@microsoft.com> Co-authored-by: Keven Arroyo <dake.3601@gmail.com>
* margin in lists * remove code * type * refactor * fixes * remove parameter * refactor * remove file change * Use Content Model to handle Delete/Backspace key in more cases (#2162) * Do not set focus when quite shadow edit (#2163) * Fix #237217 (#2164) * Fix #237735 (#2165) * Fix #236416 (#2166) * wip * fixes * Fix #2160 (#2167) * Fix #2160 * fix build * test * remove test * remove test * remove test * Rearrange parameters of iterateSelections (#2180) * Rearrange parameters of iterateSelections * improve * Standalone editor step 0: Create a copy of Editor class (#2175) * Standalone editor step 0: Create a copy of Editor class * remove unnecessary change * improve * Fix #2061, apply pending format on Android (#2172) * Fix #2061 * Fix for Android * Fix #2080 (#2173) * Standalone editor Step 0.5: Create test page for adapter editor (#2176) * Standalone editor step 0: Create a copy of Editor class * Standalone editor Step 0.5: Create test page for adapter editor * Add Content Model functionality to AdapterEditor * remove unnecessary change * remove unnecessary change * improve * toggleListType * type * Fix Mouseout behavior to hide table editors (#2181) * init * init * fix build * Add comment * Fix apply Table Inside borders operation and Demo site (#2184) * fix cases * fix demo * Add image size checkmarks to context menu (#2168) * Allow a max error un percentage size check * Allow a checkmark to be shown in ctx menu * Add checkmark to image sizes * Add missing type * Fix types * Add comment * Attempt to fix image selection * Revert unneeded changes in image selection * Use attr as backup in resize calc * Rely entirely on image selection * Revert changes to domeventplugin * Copy changes into content model adapter * Revert previous standalone editor change (#2189) * Revert previous standalone change * fix build * Move formatWithContentModel to be a core API (#2185) * Content Model: Allow clear cache from formatContentModel (#2186) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Potential perf improvement in getFormatState (#2187) * Content Model: Move pending format into editor core (#2188) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Move pending format into editor core * Convert DeleteResult from const enum to string literal type (#2191) * Move paste plugin to roosterjs-content-model-plugins package (#2192) * image selection plugin * check image parent node * Adding module entry to package.json (#2197) * Move ContentModelEdit plugin to plugins package (#2195) * Move ContentModelEdit plugin to plugins package * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Move type files to roosterjs-content-model-types package (#2196) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * fix build * fix build * Move core API to roosterjs-content-model-core package (#2198) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * fix build * fix build * Move corePlugins to roosterjs-content-model-core package (#2199) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * fix build * Move format API to roosterjs-content-model-api package (#2200) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core (#2201) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core * improve * Remove public enum from Content Model (#2204) * Directly create Content Model editor (#2206) * Fix Delimiter Nested Entity Scenario (#2207) * init * comment * Standalone editor: Remove dependency to EditorCore (#2208) * Remove dependency to EditorCore * fix test * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Standalone Editor: Remove legacy plugin: PendingFormatStatePlugin (#2209) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Standalone editor: Merge DOMEventPlugin and MouseUpPlugin (#2210) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Merge DOMEventPlugin and MouseUpPlugin * Standalone Editor: CreateStandaloneEditorCore (#2218) * Standalone Editor: Port LifecyclePlugin (#2219) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * fix comment * select on click * test * Standalone Editor: Support keyboard input (init step) (#2221) * apply table format fix * remove console.log * fix comments * Standalone Editor: Port EntityPlugin (#2223) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * Standalone Editor: Support keyboard input (init step) * Standalone Editor: Port EntityPlugin * improve * Add test * improve * test * Content Model: Keep image port if exist (#2226) * add color spectrum check * auto format test * remove empty line * Allow each package has its own version when publish (#2233) * Allow each package has its own version when publish * remove unnecessary change * Content Model: Fix #2230 (#2231) * Content Model: keep default format when paste into empty editor (#2232) * Standalone Editor: Add a SelectionPlugin (#2228) --------- Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Andres-CT98 <107568016+Andres-CT98@users.noreply.github.com> Co-authored-by: Ian Elizondo <ianeli@microsoft.com> Co-authored-by: Keven Arroyo <dake.3601@gmail.com>
* margin in lists * remove code * type * refactor * fixes * remove parameter * refactor * remove file change * Use Content Model to handle Delete/Backspace key in more cases (#2162) * Do not set focus when quite shadow edit (#2163) * Fix #237217 (#2164) * Fix #237735 (#2165) * Fix #236416 (#2166) * wip * fixes * Fix #2160 (#2167) * Fix #2160 * fix build * test * remove test * remove test * remove test * Rearrange parameters of iterateSelections (#2180) * Rearrange parameters of iterateSelections * improve * Standalone editor step 0: Create a copy of Editor class (#2175) * Standalone editor step 0: Create a copy of Editor class * remove unnecessary change * improve * Fix #2061, apply pending format on Android (#2172) * Fix #2061 * Fix for Android * Fix #2080 (#2173) * Standalone editor Step 0.5: Create test page for adapter editor (#2176) * Standalone editor step 0: Create a copy of Editor class * Standalone editor Step 0.5: Create test page for adapter editor * Add Content Model functionality to AdapterEditor * remove unnecessary change * remove unnecessary change * improve * toggleListType * type * Fix Mouseout behavior to hide table editors (#2181) * init * init * fix build * Add comment * Fix apply Table Inside borders operation and Demo site (#2184) * fix cases * fix demo * Add image size checkmarks to context menu (#2168) * Allow a max error un percentage size check * Allow a checkmark to be shown in ctx menu * Add checkmark to image sizes * Add missing type * Fix types * Add comment * Attempt to fix image selection * Revert unneeded changes in image selection * Use attr as backup in resize calc * Rely entirely on image selection * Revert changes to domeventplugin * Copy changes into content model adapter * Revert previous standalone editor change (#2189) * Revert previous standalone change * fix build * Move formatWithContentModel to be a core API (#2185) * Content Model: Allow clear cache from formatContentModel (#2186) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Potential perf improvement in getFormatState (#2187) * Content Model: Move pending format into editor core (#2188) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Move pending format into editor core * Convert DeleteResult from const enum to string literal type (#2191) * Move paste plugin to roosterjs-content-model-plugins package (#2192) * image selection plugin * check image parent node * Adding module entry to package.json (#2197) * Move ContentModelEdit plugin to plugins package (#2195) * Move ContentModelEdit plugin to plugins package * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Move type files to roosterjs-content-model-types package (#2196) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * fix build * fix build * Move core API to roosterjs-content-model-core package (#2198) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * fix build * fix build * Move corePlugins to roosterjs-content-model-core package (#2199) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * fix build * Move format API to roosterjs-content-model-api package (#2200) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core (#2201) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core * improve * Remove public enum from Content Model (#2204) * Directly create Content Model editor (#2206) * Fix Delimiter Nested Entity Scenario (#2207) * init * comment * Standalone editor: Remove dependency to EditorCore (#2208) * Remove dependency to EditorCore * fix test * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Standalone Editor: Remove legacy plugin: PendingFormatStatePlugin (#2209) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Standalone editor: Merge DOMEventPlugin and MouseUpPlugin (#2210) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Merge DOMEventPlugin and MouseUpPlugin * Standalone Editor: CreateStandaloneEditorCore (#2218) * Standalone Editor: Port LifecyclePlugin (#2219) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * fix comment * select on click * test * Standalone Editor: Support keyboard input (init step) (#2221) * apply table format fix * remove console.log * fix comments * Standalone Editor: Port EntityPlugin (#2223) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * Standalone Editor: Support keyboard input (init step) * Standalone Editor: Port EntityPlugin * improve * Add test * improve * test * Content Model: Keep image port if exist (#2226) * add color spectrum check * auto format test * remove empty line * Allow each package has its own version when publish (#2233) * Allow each package has its own version when publish * remove unnecessary change * Content Model: Fix #2230 (#2231) * Content Model: keep default format when paste into empty editor (#2232) * Standalone Editor: Add a SelectionPlugin (#2228) * Content Model: Go back to getDarkColor (#2239) * Content Model: go back to getDarkColor * fix test * Content Model: Fix overwrite table cell bug (#2240) --------- Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Andres-CT98 <107568016+Andres-CT98@users.noreply.github.com> Co-authored-by: Ian Elizondo <ianeli@microsoft.com> Co-authored-by: Keven Arroyo <dake.3601@gmail.com>
* margin in lists * remove code * type * refactor * fixes * remove parameter * refactor * remove file change * Use Content Model to handle Delete/Backspace key in more cases (#2162) * Do not set focus when quite shadow edit (#2163) * Fix #237217 (#2164) * Fix #237735 (#2165) * Fix #236416 (#2166) * wip * fixes * Fix #2160 (#2167) * Fix #2160 * fix build * test * remove test * remove test * remove test * Rearrange parameters of iterateSelections (#2180) * Rearrange parameters of iterateSelections * improve * Standalone editor step 0: Create a copy of Editor class (#2175) * Standalone editor step 0: Create a copy of Editor class * remove unnecessary change * improve * Fix #2061, apply pending format on Android (#2172) * Fix #2061 * Fix for Android * Fix #2080 (#2173) * Standalone editor Step 0.5: Create test page for adapter editor (#2176) * Standalone editor step 0: Create a copy of Editor class * Standalone editor Step 0.5: Create test page for adapter editor * Add Content Model functionality to AdapterEditor * remove unnecessary change * remove unnecessary change * improve * toggleListType * type * Fix Mouseout behavior to hide table editors (#2181) * init * init * fix build * Add comment * Fix apply Table Inside borders operation and Demo site (#2184) * fix cases * fix demo * Add image size checkmarks to context menu (#2168) * Allow a max error un percentage size check * Allow a checkmark to be shown in ctx menu * Add checkmark to image sizes * Add missing type * Fix types * Add comment * Attempt to fix image selection * Revert unneeded changes in image selection * Use attr as backup in resize calc * Rely entirely on image selection * Revert changes to domeventplugin * Copy changes into content model adapter * Revert previous standalone editor change (#2189) * Revert previous standalone change * fix build * Move formatWithContentModel to be a core API (#2185) * Content Model: Allow clear cache from formatContentModel (#2186) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Potential perf improvement in getFormatState (#2187) * Content Model: Move pending format into editor core (#2188) * Move formatWithContentModel to be a core API * Content Model: Allow clear cache from formatContentModel * Content Model: Move pending format into editor core * Convert DeleteResult from const enum to string literal type (#2191) * Move paste plugin to roosterjs-content-model-plugins package (#2192) * image selection plugin * check image parent node * Adding module entry to package.json (#2197) * Move ContentModelEdit plugin to plugins package (#2195) * Move ContentModelEdit plugin to plugins package * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Move type files to roosterjs-content-model-types package (#2196) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * fix build * fix build * Move core API to roosterjs-content-model-core package (#2198) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * fix build * fix build * Move corePlugins to roosterjs-content-model-core package (#2199) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * fix build * Move format API to roosterjs-content-model-api package (#2200) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core (#2201) * Move ContentModelEdit plugin to plugins package * Move types to roosterjs-content-model-types package * improve * Improve * improve * Improve * improve * Move core API to core package * fix build * improve * Move corePlugins to roosterjs-content-model-core package * fix build * improve * fix build * Move format API to roosterjs-content-model-api package * fix build * Improve * Decouple ContentModelEditor from roosterjs-editor-core * improve * Remove public enum from Content Model (#2204) * Directly create Content Model editor (#2206) * Fix Delimiter Nested Entity Scenario (#2207) * init * comment * Standalone editor: Remove dependency to EditorCore (#2208) * Remove dependency to EditorCore * fix test * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Standalone Editor: Remove legacy plugin: PendingFormatStatePlugin (#2209) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Standalone editor: Merge DOMEventPlugin and MouseUpPlugin (#2210) * Remove dependency to EditorCore * fix test * improve * Standalone editor: Remove PendingFormatStatePlugin * fix build * Merge DOMEventPlugin and MouseUpPlugin * Standalone Editor: CreateStandaloneEditorCore (#2218) * Standalone Editor: Port LifecyclePlugin (#2219) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * fix comment * select on click * test * Standalone Editor: Support keyboard input (init step) (#2221) * apply table format fix * remove console.log * fix comments * Standalone Editor: Port EntityPlugin (#2223) * Standalone Editor: CreateStandaloneEditorCore * Standalone Editor: Port LifecyclePlugin * fix build * fix test * improve * fix test * Standalone Editor: Support keyboard input (init step) * Standalone Editor: Port EntityPlugin * improve * Add test * improve * test * Content Model: Keep image port if exist (#2226) * add color spectrum check * auto format test * remove empty line * Allow each package has its own version when publish (#2233) * Allow each package has its own version when publish * remove unnecessary change * Content Model: Fix #2230 (#2231) * Content Model: keep default format when paste into empty editor (#2232) * Standalone Editor: Add a SelectionPlugin (#2228) * Content Model: Go back to getDarkColor (#2239) * Content Model: go back to getDarkColor * fix test * Content Model: Fix overwrite table cell bug (#2240) * ContentModel: Set readonly for new entity (#2243) --------- Co-authored-by: Júlia Roldi <juliaroldi@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Andres-CT98 <107568016+Andres-CT98@users.noreply.github.com> Co-authored-by: Ian Elizondo <ianeli@microsoft.com> Co-authored-by: Keven Arroyo <dake.3601@gmail.com>
* Content Model: Do not set focus to editor when format if editor did not have focus before format (#2259) * Content Model: Do not set focus to editor when format if editor did not have focus before * fix test * Bump content model core to 0.21.3
Patch bump to 9.45.2
* Fix publish file (#3267) * fix publish file * remove file * [Table Improvements] Add undoSnapshot when tab on a table cell (#3265) Add undoSnapshot after pressing Tab key in a table that has new content, otherwise if the user type content in a table and press tab to move to another cell and then undo the content, all the typed content will be removed. * [Table Improvements] Use keyboard to delete rows and columns (#3270) When press backspace or shift + delete when an entire row or column, delete the column and row. * [Table Improvements] Add Shift Cells Table Operation (#3271) Add new shift cells up and shift cells left table operations. These operations move the table cell content to the cells at left or above. * align table cell list (#3275) When apply alignment in table cells that has list items, also apply the alignment to the list items. * fill gaps (#3272) * Bump lodash from 4.17.21 to 4.17.23 (#3266) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * fix table format (#3277) When triggering clearFormat on table cells, do not clear the cell or the table format. * [Table Improvements] Add preview for table cell selection (#3274) When start shadow edit, check if table cells are selected, if they are selected, remove the background color to make the styles changes visible in the table. * Fix outdated JSDoc comments in setTableCellsStyle.ts (#3278) Fix JSDoc comments for removeTableCellsStyle function to match actual parameters Fix JSDoc comments for setTableCellsStyle function to match actual parameters * Fix 329516 (#3276) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * [Table Improvements] Insert table content (#3258) When inserting a table in a range selection, insert the selected content inside the table. * Bump webpack from 5.94.0 to 5.104.1 (#3285) Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.104.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.94.0...v5.104.1) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.104.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Filter temporary EOP elements in Word Online paste and add test pattern support (#3283) * Filter temporary EOP elements in Word Online paste and add test pattern support - Skip elements with both 'Selected' and 'EOP' classes during WAC paste processing to remove temporary End of Paragraph markers - Add unit tests for EOP element filtering behavior (3 test cases) - Enhance test runner with --testPathPattern and --testNamePattern flags for faster targeted test execution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Update packages/roosterjs-content-model-plugins/lib/paste/WacComponents/processPastedContentWacComponents.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Dark color improvement (#3279) * Dark color improvement * improve * Fix #3280 (#3282) * [Table Improvements] Ignore span cells when merge table cells (#3281) When merging table cells, count table that are span as one cell, so two or more cells cannot be merge to one single span cell. * Bump main and legacyAdapter versions in versions.json --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix publish file (#3267) * fix publish file * remove file * [Table Improvements] Add undoSnapshot when tab on a table cell (#3265) Add undoSnapshot after pressing Tab key in a table that has new content, otherwise if the user type content in a table and press tab to move to another cell and then undo the content, all the typed content will be removed. * [Table Improvements] Use keyboard to delete rows and columns (#3270) When press backspace or shift + delete when an entire row or column, delete the column and row. * [Table Improvements] Add Shift Cells Table Operation (#3271) Add new shift cells up and shift cells left table operations. These operations move the table cell content to the cells at left or above. * align table cell list (#3275) When apply alignment in table cells that has list items, also apply the alignment to the list items. * fill gaps (#3272) * Bump lodash from 4.17.21 to 4.17.23 (#3266) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * fix table format (#3277) When triggering clearFormat on table cells, do not clear the cell or the table format. * [Table Improvements] Add preview for table cell selection (#3274) When start shadow edit, check if table cells are selected, if they are selected, remove the background color to make the styles changes visible in the table. * Fix outdated JSDoc comments in setTableCellsStyle.ts (#3278) Fix JSDoc comments for removeTableCellsStyle function to match actual parameters Fix JSDoc comments for setTableCellsStyle function to match actual parameters * Fix 329516 (#3276) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * [Table Improvements] Insert table content (#3258) When inserting a table in a range selection, insert the selected content inside the table. * Bump webpack from 5.94.0 to 5.104.1 (#3285) Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.104.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.94.0...v5.104.1) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.104.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Filter temporary EOP elements in Word Online paste and add test pattern support (#3283) * Filter temporary EOP elements in Word Online paste and add test pattern support - Skip elements with both 'Selected' and 'EOP' classes during WAC paste processing to remove temporary End of Paragraph markers - Add unit tests for EOP element filtering behavior (3 test cases) - Enhance test runner with --testPathPattern and --testNamePattern flags for faster targeted test execution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Update packages/roosterjs-content-model-plugins/lib/paste/WacComponents/processPastedContentWacComponents.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Dark color improvement (#3279) * Dark color improvement * improve * Fix #3280 (#3282) * [Table Improvements] Ignore span cells when merge table cells (#3281) When merging table cells, count table that are span as one cell, so two or more cells cannot be merge to one single span cell. * Preserve cursor position when navigating tables (#3284) When pressing key up or key down in table cells that have text, preserve the cursor position. * Add adjustWordListMarginParser to fix duplicate list indentation when pasting from Word Desktop (#3288) Word Desktop pastes list items with full indentation as marginLeft on MsoListParagraph elements, which duplicates the paddingInlineStart (40px) already applied by the browser's default list styling. This parser subtracts the default 40px from the marginLeft of list items with the MsoListParagraph class to correct the indentation. - Add adjustWordListMarginParser using parseValueWithUnit for unit conversion - Register parser for listItemElement in processPastedContentFromWordDesktop - Update addParser call count expectations in pasteTest and ContentModelPastePluginTest - Add dedicated test case for the margin adjustment behavior * Remove mutations that is not under editor (#3290) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Preserve trailing space in last paragraph segment by converting to nbsp (#3235) (#3287) * Preserve trailing space in last paragraph segment by converting to nbsp When the last text segment in a paragraph ends with a regular space, browsers collapse it during rendering. This change detects that case in handleText and replaces the trailing space with a non-breaking space (\u00A0) so it is preserved in the output. To support this, a new ModelToDomSegmentContext interface is introduced that extends ModelToDomContext with an isLastSegment flag. handleParagraph sets this flag for each segment before dispatching, and ContentModelSegmentHandler is updated to use ModelToDomSegmentContext as its context type, eliminating the need for type casts in the handlers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Improve trailing space to nbsp conversion with noFollowingTextSegmentOrLast Refactor handleParagraph to track whether a text segment is the last in the paragraph or has no following text segment (excluding SelectionMarkers). This ensures trailing spaces are converted to not only for the very last segment, but also when the next non-marker segment is not a Text segment. - Convert forEach to for loop in handleParagraph for segment iteration - Extract hasTextSegmentAfter helper to check for upcoming text segments - Add noFollowingTextSegmentOrLast property to ModelToDomSegmentContext - Update handleText to use the new property name - Fix stale isLastSegment references in handleTextTest - Add comprehensive tests for noFollowingTextSegmentOrLast in handleParagraphTest --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Initial plan * Bump RoosterJS to 9.47.0, Adapter to 8.65.4, React to 9.0.5 Co-authored-by: ianeli1 <44042957+ianeli1@users.noreply.github.com> * Revert legacyAdapter and react version bumps - no changes to those packages Co-authored-by: BryanValverdeU <8291124+BryanValverdeU@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: ianeli1 <44042957+ianeli1@users.noreply.github.com> Co-authored-by: Ian Elizondo <ianeli@microsoft.com> Co-authored-by: BryanValverdeU <8291124+BryanValverdeU@users.noreply.github.com>
* Fix publish file (#3267) * fix publish file * remove file * [Table Improvements] Add undoSnapshot when tab on a table cell (#3265) Add undoSnapshot after pressing Tab key in a table that has new content, otherwise if the user type content in a table and press tab to move to another cell and then undo the content, all the typed content will be removed. * [Table Improvements] Use keyboard to delete rows and columns (#3270) When press backspace or shift + delete when an entire row or column, delete the column and row. * [Table Improvements] Add Shift Cells Table Operation (#3271) Add new shift cells up and shift cells left table operations. These operations move the table cell content to the cells at left or above. * align table cell list (#3275) When apply alignment in table cells that has list items, also apply the alignment to the list items. * fill gaps (#3272) * Bump lodash from 4.17.21 to 4.17.23 (#3266) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * fix table format (#3277) When triggering clearFormat on table cells, do not clear the cell or the table format. * [Table Improvements] Add preview for table cell selection (#3274) When start shadow edit, check if table cells are selected, if they are selected, remove the background color to make the styles changes visible in the table. * Fix outdated JSDoc comments in setTableCellsStyle.ts (#3278) Fix JSDoc comments for removeTableCellsStyle function to match actual parameters Fix JSDoc comments for setTableCellsStyle function to match actual parameters * Fix 329516 (#3276) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * [Table Improvements] Insert table content (#3258) When inserting a table in a range selection, insert the selected content inside the table. * Bump webpack from 5.94.0 to 5.104.1 (#3285) Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.104.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.94.0...v5.104.1) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.104.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Filter temporary EOP elements in Word Online paste and add test pattern support (#3283) * Filter temporary EOP elements in Word Online paste and add test pattern support - Skip elements with both 'Selected' and 'EOP' classes during WAC paste processing to remove temporary End of Paragraph markers - Add unit tests for EOP element filtering behavior (3 test cases) - Enhance test runner with --testPathPattern and --testNamePattern flags for faster targeted test execution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Update packages/roosterjs-content-model-plugins/lib/paste/WacComponents/processPastedContentWacComponents.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Dark color improvement (#3279) * Dark color improvement * improve * Fix #3280 (#3282) * [Table Improvements] Ignore span cells when merge table cells (#3281) When merging table cells, count table that are span as one cell, so two or more cells cannot be merge to one single span cell. * Preserve cursor position when navigating tables (#3284) When pressing key up or key down in table cells that have text, preserve the cursor position. * Add adjustWordListMarginParser to fix duplicate list indentation when pasting from Word Desktop (#3288) Word Desktop pastes list items with full indentation as marginLeft on MsoListParagraph elements, which duplicates the paddingInlineStart (40px) already applied by the browser's default list styling. This parser subtracts the default 40px from the marginLeft of list items with the MsoListParagraph class to correct the indentation. - Add adjustWordListMarginParser using parseValueWithUnit for unit conversion - Register parser for listItemElement in processPastedContentFromWordDesktop - Update addParser call count expectations in pasteTest and ContentModelPastePluginTest - Add dedicated test case for the margin adjustment behavior * Remove mutations that is not under editor (#3290) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Preserve trailing space in last paragraph segment by converting to nbsp (#3235) (#3287) * Preserve trailing space in last paragraph segment by converting to nbsp When the last text segment in a paragraph ends with a regular space, browsers collapse it during rendering. This change detects that case in handleText and replaces the trailing space with a non-breaking space (\u00A0) so it is preserved in the output. To support this, a new ModelToDomSegmentContext interface is introduced that extends ModelToDomContext with an isLastSegment flag. handleParagraph sets this flag for each segment before dispatching, and ContentModelSegmentHandler is updated to use ModelToDomSegmentContext as its context type, eliminating the need for type casts in the handlers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Improve trailing space to nbsp conversion with noFollowingTextSegmentOrLast Refactor handleParagraph to track whether a text segment is the last in the paragraph or has no following text segment (excluding SelectionMarkers). This ensures trailing spaces are converted to not only for the very last segment, but also when the next non-marker segment is not a Text segment. - Convert forEach to for loop in handleParagraph for segment iteration - Extract hasTextSegmentAfter helper to check for upcoming text segments - Add noFollowingTextSegmentOrLast property to ModelToDomSegmentContext - Update handleText to use the new property name - Fix stale isLastSegment references in handleTextTest - Add comprehensive tests for noFollowingTextSegmentOrLast in handleParagraphTest --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Do not invalidate cached model for ContentChangedEvent (#3291) * Bump minimatch from 3.1.2 to 3.1.5 (#3295) Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5. - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](isaacs/minimatch@v3.1.2...v3.1.5) --- updated-dependencies: - dependency-name: minimatch dependency-version: 3.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [Table Improvements] Add new customization properties for table format (#3293) * merge model * new table styles * fixes * add test * nit * nit * Bump immutable from 4.0.0 to 4.3.8 (#3298) Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.0.0 to 4.3.8. - [Release notes](https://github.com/immutable-js/immutable-js/releases) - [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md) - [Commits](immutable-js/immutable-js@v4.0.0...v4.3.8) --- updated-dependencies: - dependency-name: immutable dependency-version: 4.3.8 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix merge table error (#3302) When pasting table cells that are merged, counts only the logical cells and not all physical cells, otherwise, the number of pasted cells will appear bigger than then the actually copied * Add 'resolveImageSource' option to support cid image source for canvas editing (#3301) * Feature: support cid: image sources via resolveImageSource for reliable canvas editing * Fix format --------- Co-authored-by: Liang Meng <liangmeng@microsoft.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Fix #3292 Put B/I/U/S under hyperlink (#3297) * Fix #3292 * Update packages/roosterjs-content-model-types/lib/contentModel/format/ContentModelFormatMap.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Keep Margins in the List items, and set the padding of list elements for better paste interop with Wac Components (#3304) * Keep Margins in the List items, and set the padding of list elements for better paste interop with Word Components * Remove obsolete test * Fix cursor position for arrow up (#3305) * merge model * move table cursor * Version bump to 9.48.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Liang <jojo.spirit@outlook.com> Co-authored-by: Liang Meng <liangmeng@microsoft.com>
Version bump to 9.49.0
Version 9.50.0
Version bump to 9.51.0 and legacy to 8.66.0
Version bump to 9.52.0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Version bump main: 9.52.0 -> 9.53.0
* Add skipFormatContainerFallbackCheck to keep persisted Content Model path valid (#3358) When formatInsertPointWithContentModel persists the Content Model group path during DOM to Model conversion, a FormatContainer that falls back to a plain paragraph would be removed from the model, leaving the persisted path invalid. Add a skipFormatContainerFallbackCheck option that keeps the FormatContainer in that scenario so the formatting callback can still rely on the path. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Clear whole list node stack when leaving its root parent (#3357) When handleBlockGroupChildren finishes processing a block group whose list node stack is rooted at the parent being left, clear the entire node stack instead of only its inner levels so a sibling block group does not incorrectly reuse the invalidated list element. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Remove redundant leading/trailing selection markers within a paragraph (#3362) When setSelection applies a range selection, a leading or trailing SelectionMarker that has a real (non-marker) selected segment next to it in the same paragraph carries no selection information and can be removed. Track, per paragraph, whether any non-marker segment was selected and which boundary markers were kept; after the segment loop, drop those boundary markers if the paragraph contained real selected content. This is scoped to the same paragraph on purpose: a marker at a paragraph edge must be kept to distinguish "selection starts at the beginning of this line" from "selection starts at the end of the previous line". Update the #3341 reconcileSelection snapshots accordingly: the preserveMarker guard still hands setSelection two live markers (so the selected segment keeps isSelected), and setSelection now drops those redundant boundary markers. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * @ (#3360) Reconcile IMG src and data-* attribute changes in Content Model cache Previously any attribute change other than id on editor content would set mutation type to "unknown" and invalidate the whole cached Content Model. Recognize src and data-* changes on an indexed IMG element and update the related ContentModelImage (src property or dataset) in place, so the cache stays valid. Add a new "attribute" mutation type carrying the element and attribute name, and a reconcileImageAttribute method on DomIndexer. @ Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Add Paste As Markdown support and isPastedContentMarkdown API (#3363) Adds two new public APIs to roosterjs-content-model-markdown and a "Paste as Markdown" demo button that uses them to decide whether to convert clipboard content with convertMarkdownToContentModel or fall back to the regular paste flow. * Version bump to 9.54.0 * Recognize escaped characters when converting markdown to Content Model (#3365) @ Treat a backslash-escaped ASCII punctuation character (e.g. "\*") as a literal character so it is not parsed as a formatting marker. @ Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Add MarkdownPastePlugin to paste markdown content as rich text (#3366) * Add MarkdownPastePlugin to convert pasted markdown content Add a MarkdownPastePlugin in the roosterjs-content-model-markdown package that handles the BeforePaste event and, when the clipboard content can be interpreted as markdown, converts the plain text into a Content Model and pastes it as rich content. - Introduce the 'asMarkdown' PasteType so callers can explicitly request a markdown paste; the demo's "Paste as Markdown" button now routes through it. - Add MarkdownPasteOptions with an autoConversion flag (default false) so the plugin can optionally auto-convert any markdown-looking paste. - Map the new PasteType to Normal in the legacy editor adapter. - Wire the plugin and its autoConversion option into the demo site's plugins side pane. --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Preserve new event pasteType when converting BeforePaste event (#3367) This change makes the converter prefer the pasteType already present on the new event, only falling back to the mapping from the old event when the new event doesn't have one * Hotfix version bump legacyAdapter: 8.66.0 → 8.66.1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version bump
Minor bump (backward-compatible additions). New public API:
cloneModelForPaste(roosterjs-content-model-dom). No breaking changes. Only themaingroup packages had source changes;reactandlegacyAdapterare unchanged.Changes included