Tags: microsoft/roosterjs
Tags
Export formatContainerProcessor for public API use (#3238) Export formatContainerProcessor from roosterjs-content-model-dom public API to enable users to use it in processorOverride for custom DOM-to-Model processing. This allows customization of format container elements (e.g., blockquote) processing without relying on internal module paths. Co-authored-by: Jiuqing Song <[email protected]>
Bump version to 9.44.0 (#3226) * support RTL (#3177) * Update ContextMenuProvider to accept event parameter and adjust related tests (#3175) * refactor: remove deprecated features and clean up related code in CachePlugin and CopyPastePlugin (#3178) * Add `test:fast` for faster unit test runs (#3179) * refactor: optimize karma configuration for improved performance * feat: add fast karma configuration and update package.json for debugging * refactor: streamline karma plugin declaration and update test scripts for clarity * refactor: update test commands to use fast karma configuration * Add support for retaining formats when splitting paragraphs on Enter/Delete/Backspace keypress (#3180) * refactor: optimize karma configuration for improved performance * feat: add fast karma configuration and update package.json for debugging * refactor: streamline karma plugin declaration and update test scripts for clarity * Add support for retaining formats when splitting paragraphs on Enter key press - Introduced `formatsToKeep` option in `EditOptions` to specify which formats to retain. - Updated `keyboardEnter`, `handleEnterOnParagraph`, and `splitParagraph` functions to handle the new formats. - Enhanced tests to verify the correct behavior of format retention during paragraph splits. * Remove unused import for handleEnterOnParagraph in keyboardEnterTest * Remove stray backtick from splitParagraph function * refactor: update test commands to use fast karma configuration * feat: implement class format handling and preserve formatting on paragraph split * feat: rename formatsToKeep to formatsToPreserveOnMerge and update related functionality * test: update spies in keyboardDelete tests and fix format property in preserveParagraphFormat tests * Support rowSpan equal to 0 (#3181) * fix: handle zero colSpan and rowSpan in tableProcessor to ensure proper cell creation * fix: correct colSpan condition in tableProcessor for accurate cell processing * feat: add spanUntilNextSection support in table cell processing and handling * refactor: remove spanUntilNextSection from table cell handling and related tests * refactor: simplify rowSpan handling and improve tableProcessor tests for edge cases * Remove unneeded changes * Remove * fix: update source map configuration for improved debugging accuracy (#3186) * Support passing event to getContextMenuItems when plugin is a MixedPlugin (#3188) * feat: enhance context menu handling to support V9 providers with event parameter * fix: enhance isV9ContextMenuProvider to check for mixed plugins * refactor: simplify spyOn usage for DarkColorHandler in BridgePlugin tests * fix: enhance isV9ContextMenuProvider to validate V9 provider signature * fix: update context menu provider check to use isMixedPluginProvider * New getContentForCopy API (#3182) New getContentForCopy API * feat: add announce options for bold, italic, and underline formatting (#3194) * feat: add announce options for bold, italic, and underline formatting; update shortcuts and tests * refactor: update context initialization in toggleBold, toggleItalic, and toggleUnderline tests for type safety * Address comments from review * test: add unit tests for bold, italic, and underline shortcuts with announceFormatChange * Add Find and Replace API and plugin (#3190) * Add Find and Replace API and plugin * Fix a comment * improve * feat: add announcements for table selection and unselection in the editor (#3195) * feat: add announce options for bold, italic, and underline formatting; update shortcuts and tests * refactor: update context initialization in toggleBold, toggleItalic, and toggleUnderline tests for type safety * feat: add announcements for text selection and unselection in the editor * refactor: simplify table selection logic by using TableSelection type in getIsSelectingOrUnselecting function * Update packages/roosterjs-content-model-core/lib/corePlugin/selection/tableSelectionUtils.ts Co-authored-by: Copilot <[email protected]> * Address comments from review * test: add unit tests for bold, italic, and underline shortcuts with announceFormatChange * Move functionality to a new plugin * Fix * Fix * Fix comment --------- Co-authored-by: Copilot <[email protected]> * Fix #396891 (#3199) * Fix #396891 * improve * improve * first colunm (#3202) * Fix 400434 (#3200) * Add format when insert table (#3203) Add the format parameter in the insertTable API, then it will be possible to insert a table with a predefined format. It can be used to add margin bottom to the table, then when a table is inserted under another their border does not overlay. * Move graduated feature to a separate type (#3205) * Move graduated feature to a separate type * improve * fix build * Translate lineHeight normal to 120% when pasting from Word Desktop and move parsers to their own file (#3209) * Translate lineHeight normal to 120% and move parsers to their own file * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Fix text to bullet issue (#3210) * Fix text to bullet issue * fix test * Refactor paste source validation to use getDocumentSource (#3208) * Refactor paste source validation to use getDocumentSource - Updated shouldConvertToSingleImage to utilize htmlFirstLevelChildTags instead of clipboardData. - Replaced instances of getPasteSource with getDocumentSource across various tests and implementations. - Introduced getDocumentSource function to centralize document source determination logic. - Added retrieveDocumentMetadata utility to extract metadata from documents. - Ensured all related tests are updated to reflect changes in function calls and parameters. * Refactor paste handling and add tests for negative text indent parser * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Fix #3171 #3184 (#3211) * Fix #3171 #3184 * Update packages/roosterjs-content-model-plugins/lib/edit/EditPlugin.ts Co-authored-by: Copilot <[email protected]> * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Use getPromoteLink to verify if a link can be promoted (#3213) Add getPromoteLink function to verify if a link can be promoted. * [fix] Keep format on the selection marker when reconcile Text (#3220) * [fix] Keep format on the selection marker when reconcile Text * update ut * update test * [Image Edit] Fix 394371 (#3219) Check if the selectedImage property exists when the content changed event is triggered, * Update the Entity's format when applying format on the content inside the Entity (#3196) * Update the Entity's format when applying format on the content inside the Entity * fix test * Fix Align Attribute being removed on paste for containers (#3217) * Add wordContainerParser to handle negative margin-left values and update processPastedContentFromWordDesktop to use it * asd * Refactor wordContainerParser to remove unused parameters * remove * update * Support cache for list (#3204) * Support cache for list * fix build * improve * add tests * add test * add test * Update packages/roosterjs-content-model-dom/lib/modelToDom/handlers/handleBlockGroupChildren.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Try generate url data (#3222) wrap the draw image function in a try statement, if successful the image will be drawn in the canvas, if not return the data URL of the previous image --------- Co-authored-by: Julia Roldi <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Haowen Chen <[email protected]>
Version bump to 9.40.0 (#3183) * support RTL (#3177) * Update ContextMenuProvider to accept event parameter and adjust related tests (#3175) * refactor: remove deprecated features and clean up related code in CachePlugin and CopyPastePlugin (#3178) * Add `test:fast` for faster unit test runs (#3179) * refactor: optimize karma configuration for improved performance * feat: add fast karma configuration and update package.json for debugging * refactor: streamline karma plugin declaration and update test scripts for clarity * refactor: update test commands to use fast karma configuration * Add support for retaining formats when splitting paragraphs on Enter/Delete/Backspace keypress (#3180) * refactor: optimize karma configuration for improved performance * feat: add fast karma configuration and update package.json for debugging * refactor: streamline karma plugin declaration and update test scripts for clarity * Add support for retaining formats when splitting paragraphs on Enter key press - Introduced `formatsToKeep` option in `EditOptions` to specify which formats to retain. - Updated `keyboardEnter`, `handleEnterOnParagraph`, and `splitParagraph` functions to handle the new formats. - Enhanced tests to verify the correct behavior of format retention during paragraph splits. * Remove unused import for handleEnterOnParagraph in keyboardEnterTest * Remove stray backtick from splitParagraph function * refactor: update test commands to use fast karma configuration * feat: implement class format handling and preserve formatting on paragraph split * feat: rename formatsToKeep to formatsToPreserveOnMerge and update related functionality * test: update spies in keyboardDelete tests and fix format property in preserveParagraphFormat tests * Support rowSpan equal to 0 (#3181) * fix: handle zero colSpan and rowSpan in tableProcessor to ensure proper cell creation * fix: correct colSpan condition in tableProcessor for accurate cell processing * feat: add spanUntilNextSection support in table cell processing and handling * refactor: remove spanUntilNextSection from table cell handling and related tests * refactor: simplify rowSpan handling and improve tableProcessor tests for edge cases * Remove unneeded changes * Remove * RoosterJs 9.40.0 --------- Co-authored-by: Julia Roldi <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]>
Bump version to 9.37.0 (#3160) * add repositionTouchSelection handler * fix * define constant * fix * fix * revert previous PR change * add Touch Plugin * add repositionTouchSelection in Touch Plugin * small fix * add touch plugin to demo page * add comment * fix * export pointer event * add touchplugin test * reset pointerEvent to null after trigger action and settimeout to wait for updated cursor position * Remove tslint from recommended extension list (#3153) * default to end of the word if user tapped in the middle * add pointer event double click * handle selecting first space if selection is an open space with no word on right side * remove console.log * clearTimeout when dispose plugin * address Copilot comment * fix * Address comment * Lint code * handle the entire flow of touch selection, not rely on browser * remove test * move timeout and prevent default to within touch plugin, use doubleclick as general mouse event instead of pointer * address Copilot comments * add comment * fix comment * create const for regex * resuse getNodePositionFromEvent * remove unused change * fix issue with selection in middle of word * fix * address comments * Add comments * Remove auto-capitalizatio for first character * Remove Boolean() wrap * [Image Edit] Image with borders (#3155) recalculate the image wrapper size considering the border width * fix * remove word matching regex but using !space regex and !punctuation regex instead * fix version number --------- Co-authored-by: Vi Nguyen <[email protected]> Co-authored-by: Jiuqing Song <[email protected]> Co-authored-by: Zander Wang <[email protected]> Co-authored-by: Haowen Chen <[email protected]> Co-authored-by: Julia Roldi <[email protected]>
Bump RoosterJS 9.34 (#3122) * Fix toggling format issue at composition stage for CJK (#3064) * draft * temp * update ff * update * test * update * Avoid "undefined" in HTML to Markdown generated content (#3069) * fix: avoid "undefined" before paragraphs content * fix: set "image" as the default alt value instead of "undefined" --------- Co-authored-by: Francois Dursus <[email protected]> * Add focus handling in formatTableWithContentModel and its tests (#3072) * format applier (#3073) * Keep implicit paragraph when pressing Enter at the start of it. (#3075) * Enhance splitParagraph function to allow preservation of implicit paragraphs after split * Fix preserveImplicitParagraph flag in handleEnterOnParagraph to false * Update packages/roosterjs-content-model-plugins/lib/edit/utils/splitParagraph.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add beforeLogicalRootChanged event handling and related tests (#3077) * Add beforeLogicalRootChanged event handling and related tests * Rename event type from 'beforeLogicalRootChanged' to 'beforeLogicalRootChange' across relevant files * Update packages/roosterjs-content-model-types/lib/event/LogicalRootChangedEvent.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Disable isComposing check in DOM event propagation for Android (#3076) * dsiable isComposing check for Android * add test --------- Co-authored-by: Bryan Valverde U <[email protected]> * Allow plugins to store state in snapshot (#3079) * Allow plugins to store custom state in undo snapshots * Type fixes * Move to using object instead array * Fix #3080 (#3084) * Add auto direction to setDirection (#3082) * Initial commit * Pending changes exported from your codespace * fix code and tests * Address comments --------- Co-authored-by: wisaulni <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> * Ensure image is loaded before creating image wrapper (#3090) * Enhance image loading handling in ImageEditPlugin to support resizing and editing of images not fully loaded * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * test (#3092) * Fix #3085 (#3095) Co-authored-by: Julia Roldi <[email protected]> * Adjust the image wrapper to stay inline (#3093) Use text-bottom instead of bottom for vertical-align to prevent the image to rotate below the text line. Also add some 5px in margin bottom to compensate for the height of the bottom handles. * Fix 309357 (#3097) * Fix 309357 * improve * improve * improve * Update packages/roosterjs-content-model-types/lib/context/ModelToDomOption.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts Co-authored-by: Copilot <[email protected]> * fix build --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> * Fix #3063 (#3096) * Fix #3087 Delete paragraph styles when there is nothing else to be deleted (#3094) * Fix #3087 * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Remove karma changes (#3102) * karma * change * Adjust Block Indentation (#3099) When inserting a list or table in an indented segment, add the indentation to the block. * Process non-visible elements (#3089) New parameter processNonVisibleElements has been added to the DomToModelSettings and DomToModelOptions, allowing optional processing of non-visible elements. * Fix runtime color for dark mode (#3101) * Fix runtime color for dark mode * add test * fix build * table rtl (#3103) The style direction: RTL does move the table to the right, so use justifySelf:flex-end. * image-handles (#3104) When rotating an image, the resize handles direction must be updated according to the rotation angle. * Fix superscript rule (#3106) * Fix 380860 (#3107) * Support 'HTMLFast' mode when get HTML (#3109) * Support 'HTMLFast' mode when get HTML * fix build and comment * Bump tmp from 0.2.1 to 0.2.4 (#3114) Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.1 to 0.2.4. - [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md) - [Commits](raszi/node-tmp@v0.2.1...v0.2.4) --- updated-dependencies: - dependency-name: tmp dependency-version: 0.2.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiuqing Song <[email protected]> * Fix #3110 (#3113) * Add logical root plugin and related presets; enhance event handling with capture option * Update packages/roosterjs-content-model-plugins/lib/imageEdit/ImageEditPlugin.ts Co-authored-by: Copilot <[email protected]> * Update demo/scripts/controlsV2/sidePane/presets/PresetPane.tsx Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add markdown support for strikethrough * Fix test * Try fix unstable test (#3118) * Support DL,DT,DD in content model (#3120) * Support DL,DT,DD in content model * improve * fix build * fix test * Add an experimental feature for 'HTMLFast' when export html (#3121) * Add an experimental feature for 'HTMLFast' when export html * fix build * versions 9.34 * bump legacy --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Haowen Chen <[email protected]> Co-authored-by: François Dursus <[email protected]> Co-authored-by: Francois Dursus <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Rain-Zheng <[email protected]> Co-authored-by: florian-msft <[email protected]> Co-authored-by: Jiuqing Song <[email protected]> Co-authored-by: wisaulni <[email protected]> Co-authored-by: wisaulni <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Francis Meng <[email protected]> Co-authored-by: Francis Meng <[email protected]>
Bump RoosterJS to 9.33.0 (#3108) * Fix toggling format issue at composition stage for CJK (#3064) * draft * temp * update ff * update * test * update * Avoid "undefined" in HTML to Markdown generated content (#3069) * fix: avoid "undefined" before paragraphs content * fix: set "image" as the default alt value instead of "undefined" --------- Co-authored-by: Francois Dursus <[email protected]> * Add focus handling in formatTableWithContentModel and its tests (#3072) * format applier (#3073) * Keep implicit paragraph when pressing Enter at the start of it. (#3075) * Enhance splitParagraph function to allow preservation of implicit paragraphs after split * Fix preserveImplicitParagraph flag in handleEnterOnParagraph to false * Update packages/roosterjs-content-model-plugins/lib/edit/utils/splitParagraph.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add beforeLogicalRootChanged event handling and related tests (#3077) * Add beforeLogicalRootChanged event handling and related tests * Rename event type from 'beforeLogicalRootChanged' to 'beforeLogicalRootChange' across relevant files * Update packages/roosterjs-content-model-types/lib/event/LogicalRootChangedEvent.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Disable isComposing check in DOM event propagation for Android (#3076) * dsiable isComposing check for Android * add test --------- Co-authored-by: Bryan Valverde U <[email protected]> * Allow plugins to store state in snapshot (#3079) * Allow plugins to store custom state in undo snapshots * Type fixes * Move to using object instead array * Fix #3080 (#3084) * Add auto direction to setDirection (#3082) * Initial commit * Pending changes exported from your codespace * fix code and tests * Address comments --------- Co-authored-by: wisaulni <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> * Ensure image is loaded before creating image wrapper (#3090) * Enhance image loading handling in ImageEditPlugin to support resizing and editing of images not fully loaded * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * test (#3092) * Fix #3085 (#3095) Co-authored-by: Julia Roldi <[email protected]> * Adjust the image wrapper to stay inline (#3093) Use text-bottom instead of bottom for vertical-align to prevent the image to rotate below the text line. Also add some 5px in margin bottom to compensate for the height of the bottom handles. * Fix 309357 (#3097) * Fix 309357 * improve * improve * improve * Update packages/roosterjs-content-model-types/lib/context/ModelToDomOption.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts Co-authored-by: Copilot <[email protected]> * fix build --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> * Fix #3063 (#3096) * Fix #3087 Delete paragraph styles when there is nothing else to be deleted (#3094) * Fix #3087 * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> * Update packages/roosterjs-content-model-plugins/lib/edit/deleteSteps/deleteParagraphStyle.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Remove karma changes (#3102) * karma * change * Adjust Block Indentation (#3099) When inserting a list or table in an indented segment, add the indentation to the block. * Process non-visible elements (#3089) New parameter processNonVisibleElements has been added to the DomToModelSettings and DomToModelOptions, allowing optional processing of non-visible elements. * Fix runtime color for dark mode (#3101) * Fix runtime color for dark mode * add test * fix build * table rtl (#3103) The style direction: RTL does move the table to the right, so use justifySelf:flex-end. * image-handles (#3104) When rotating an image, the resize handles direction must be updated according to the rotation angle. * Fix superscript rule (#3106) * Update main version to 9.33.0 and remove overrides * Bump adapter * Fix 380860 (#3107) --------- Co-authored-by: Haowen Chen <[email protected]> Co-authored-by: François Dursus <[email protected]> Co-authored-by: Francois Dursus <[email protected]> Co-authored-by: Julia Roldi <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Rain-Zheng <[email protected]> Co-authored-by: florian-msft <[email protected]> Co-authored-by: Jiuqing Song <[email protected]> Co-authored-by: wisaulni <[email protected]> Co-authored-by: wisaulni <[email protected]>
Bump to 9.29.0 (#3053) * Use FormatContainer to represent DIV with id (#3003) * Fix #3005 (#3007) * Fix a cache issue (#3006) * Refactor getStyleMetadata to not rely on DomCreator and only use String handling (#3010) * Refactor paste plugin to remove unused DOMCreator parameter and enhance style extraction logic * fix test * Change search string to lowercase * Clean image edit when undo (#3015) * undo image * undo image * undo image * Add 'CustomCopyCut' experimental feature to fix some copy cut bugs (#3000) * Add 'CustomCopyCut' experimental feature to enhance copy/cut behavior * Implement pruneUnselectedModel utility for optimizing copy/paste behavior * Try fix iuld * Address comment and fix broken tests * Revert unneeded change * Refactor pruneUnselectedModel --------- Co-authored-by: Jiuqing Song <[email protected]> * Demo site: Add preset content for undeleteable anchor (#3014) Co-authored-by: Bryan Valverde U <[email protected]> * Revert "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 5bbab35. * Add API playground for createModelFromHTML (#3019) * Add API playground for createModelFromHTML * imporve --------- Co-authored-by: Bryan Valverde U <[email protected]> * Do not copy div ID on Enter (#3011) * wip * insertCustom * refactor * formatKeys * Add image hidden marker (#3021) Instead of using a dataset to store the isEditing property, a hidden property is now used. To support this, get/set functions and the ImageMarkerFormat were introduced. The imageMarker property can now be accessed through the format property of the image. This change eliminates the need to manually remove the dataset from the image element when extracting content from the DOM. * Include ImageMetadata in FormatState (#3023) * Support List Pasting from PowerPoint Desktop (#3012) * Refactor paste parsers: add removeNegativeTextIndentParser and deprecatedBorderColorParser; update imports and constants for bullet list types * Update packages/roosterjs-content-model-plugins/lib/paste/PowerPoint/processPastedContentFromPowerPoint.ts Co-authored-by: Copilot <[email protected]> * Refactor bullet list constants and improve format parser signatures --------- Co-authored-by: Copilot <[email protected]> * Remove comments `<!--` and `-->` from styles and re apply fix for Word Desktop Pasting (#3024) * Update dependencies and enhance paste functionality by cleaning HTML comments in style tags * Reapply "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 32f47bf. * Enhance cleanHtmlComments to handle both HTML comment formats in style tags * Set original DOMPurify * Update packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/getStyleMetadata.ts Co-authored-by: Copilot <[email protected]> * Ensure headEndIndex is valid * address comment * Address comments --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Jiuqing Song <[email protected]> * insert link in the image (#3027) When the image is selected, do not replace the image with the link, add the link to image segment. * square (#3029) Instead of using a square character, this change updates the square style to use the 'square' style. * Normalize default format (#3028) * Normalize default format * improve --------- Co-authored-by: Bryan Valverde U <[email protected]> * auto link (#3026) * Add margin-inline-start to watermark styles for improved positioning (#3031) * Allow queryContentModelBlocks to query blocks in entities (#3032) * Allow queryContentModelBlocks to search children of entity * Expect EditorContext instead * Break out createEditorContextForEntity function into separate file and add tests * Fix 353323: Keep indentation when start a list, and refactor (#3033) * 353323 * fix build, add test * improve * Edit plugin Options (#3036) * options * add test * Do not indent on TAB (#3039) * keyboard tab * remove import * Fix 354663 (#3038) * Fix 354663 * export the new function * Fix Word Desktop paste case (#3034) Co-authored-by: Jiuqing Song <[email protected]> * Add height property to table rows in paste tests and processor (#3045) * Add height property to table rows in paste tests and processor * Fix build * Remove local change * Fix A11y bug with table selection (#3041) * Fix A11y bug with table selection * Add comment * Fix 341291 (#3046) * Fix Word Desktop pasting when using Safari (#3047) * Enhance paste functionality: support additional document types and extract HTML head content * Fix paste source validations for Safari: update environment handling and improve document detection logic * Add environment param back * Prevent multiple event attachments for mousemove in SelectionPlugin (#3049) * Prevent multiple event attachments for mousemove in SelectionPlugin * Update packages/roosterjs-content-model-core/test/corePlugin/selection/SelectionPluginTest.ts * Refactor mouse event handling in SelectionPlugin to ensure proper cleanup and re-attachment on mouseDown events * Only paste text content of button (#3050) * Enhance paste functionality: Update setProcessor call counts in tests and add pasteButtonProcessor unit tests * Refactor pasteButtonProcessor: Enhance button element processing and add comprehensive unit tests * Support table edit with logical root (#3048) * Support table edit with logical root * fix build and test --------- Co-authored-by: Bryan Valverde U <[email protected]> * Bump to 9.29.0 * Fix broken code --------- Co-authored-by: Jiuqing Song <[email protected]> Co-authored-by: Bryan Valverde U <[email protected]> Co-authored-by: Julia Roldi <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: florian-msft <[email protected]>
PreviousNext