0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2024-12-22 07:13:08 -05:00

Release v2.2.3

This commit is contained in:
Neil Jenkins 2023-10-09 11:53:59 +11:00
parent 1ed32e3db7
commit 69e03f4cf5
11 changed files with 36 additions and 26 deletions

View file

@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file, starting fr
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.2.3] - 2023-10-09
### Fixed
- Fixed a null-deref crash that could occur when removing inline formatting.
## [2.2.2] - 2023-10-04 ## [2.2.2] - 2023-10-04
### Fixed ### Fixed

18
dist/squire-raw.js vendored
View file

@ -3266,19 +3266,21 @@
formatTags.forEach((el) => { formatTags.forEach((el) => {
replaceWith(el, empty(el)); replaceWith(el, empty(el));
}); });
if (cantFocusEmptyTextNodes && fixer) {
fixer = fixer.parentNode;
let block = fixer;
while (block && isInline(block)) {
block = block.parentNode;
}
if (block) {
removeZWS(block, fixer);
}
}
this._getRangeAndRemoveBookmark(range); this._getRangeAndRemoveBookmark(range);
if (fixer) { if (fixer) {
range.collapse(false); range.collapse(false);
} }
mergeInlines(root, range); mergeInlines(root, range);
if (cantFocusEmptyTextNodes && fixer) {
fixer = fixer.parentNode;
let block = fixer;
while (isInline(block)) {
block = block.parentNode;
}
removeZWS(block, fixer);
}
return range; return range;
} }
// --- // ---

18
dist/squire-raw.mjs vendored
View file

@ -3263,19 +3263,21 @@ var Squire = class {
formatTags.forEach((el) => { formatTags.forEach((el) => {
replaceWith(el, empty(el)); replaceWith(el, empty(el));
}); });
if (cantFocusEmptyTextNodes && fixer) {
fixer = fixer.parentNode;
let block = fixer;
while (block && isInline(block)) {
block = block.parentNode;
}
if (block) {
removeZWS(block, fixer);
}
}
this._getRangeAndRemoveBookmark(range); this._getRangeAndRemoveBookmark(range);
if (fixer) { if (fixer) {
range.collapse(false); range.collapse(false);
} }
mergeInlines(root, range); mergeInlines(root, range);
if (cantFocusEmptyTextNodes && fixer) {
fixer = fixer.parentNode;
let block = fixer;
while (isInline(block)) {
block = block.parentNode;
}
removeZWS(block, fixer);
}
return range; return range;
} }
// --- // ---

2
dist/squire.js vendored

File diff suppressed because one or more lines are too long

4
dist/squire.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/squire.mjs vendored

File diff suppressed because one or more lines are too long

4
dist/squire.mjs.map vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
declare const isLineBreak: (br: Element, isLBIfEmptyBlock: boolean) => boolean; declare const isLineBreak: (br: Element, isLBIfEmptyBlock: boolean) => boolean;
declare const removeZWS: (root: Node, keepNode?: Node) => void; declare const removeZWS: (root: Node, keepNode?: Node | null) => void;
export { isLineBreak, removeZWS }; export { isLineBreak, removeZWS };
//# sourceMappingURL=Whitespace.d.ts.map //# sourceMappingURL=Whitespace.d.ts.map

View file

@ -1 +1 @@
{"version":3,"file":"Whitespace.d.ts","sourceRoot":"","sources":["../../../source/node/Whitespace.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,WAAW,OAAQ,OAAO,oBAAoB,OAAO,KAAG,OAY7D,CAAC;AAUF,QAAA,MAAM,SAAS,SAAU,IAAI,aAAa,IAAI,KAAG,IA4BhD,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"} {"version":3,"file":"Whitespace.d.ts","sourceRoot":"","sources":["../../../source/node/Whitespace.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,WAAW,OAAQ,OAAO,oBAAoB,OAAO,KAAG,OAY7D,CAAC;AAUF,QAAA,MAAM,SAAS,SAAU,IAAI,aAAa,IAAI,GAAG,IAAI,KAAG,IA4BvD,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}

View file

@ -1,6 +1,6 @@
{ {
"name": "squire-rte", "name": "squire-rte",
"version": "2.2.2", "version": "2.2.3",
"description": "Squire is an HTML5 rich text editor, which provides powerful cross-browser normalisation, whilst being supremely lightweight and flexible.", "description": "Squire is an HTML5 rich text editor, which provides powerful cross-browser normalisation, whilst being supremely lightweight and flexible.",
"main": "dist/squire.mjs", "main": "dist/squire.mjs",
"types": "dist/types/Squire.d.ts", "types": "dist/types/Squire.d.ts",