Upgraded squire 2.3.1 to 2.3.2

This commit is contained in:
Mohammad Rezaei 2024-09-14 09:44:46 +03:30
parent de042ed365
commit f1468cb08b
11 changed files with 60 additions and 29 deletions

View file

@ -4,6 +4,14 @@ 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).
## [2.3.2] - 2024-08-16
### Fixed
- Fix "pathChange" event not being fired on selection change.
- Fix backspace at beginning of quote was deleting the contents, not just
removing the quote.
## [2.3.1] - 2024-07-23
### Fixed

View file

@ -2594,7 +2594,7 @@
this._lastAnchorNode = anchor;
this._lastFocusNode = focus;
newPath = anchor && focus ? anchor === focus ? this._getPath(focus) : "(selection)" : "";
if (this._path !== newPath) {
if (this._path !== newPath || anchor !== focus) {
this._path = newPath;
this.fireEvent("pathChange", {
path: newPath
@ -3549,7 +3549,7 @@
this.decreaseListLevel(range);
return this;
} else if (getNearest(block, root, "BLOCKQUOTE")) {
this.removeQuote(range);
this.replaceWithBlankLine(range);
return this;
}
}
@ -3900,6 +3900,17 @@
return this.focus();
}
removeQuote(range) {
this.modifyBlocks((frag) => {
Array.from(frag.querySelectorAll("blockquote")).forEach(
(el) => {
replaceWith(el, empty(el));
}
);
return frag;
}, range);
return this.focus();
}
replaceWithBlankLine(range) {
this.modifyBlocks(
() => this.createDefaultBlock([
createElement("INPUT", {

View file

@ -2591,7 +2591,7 @@ var Squire = class {
this._lastAnchorNode = anchor;
this._lastFocusNode = focus;
newPath = anchor && focus ? anchor === focus ? this._getPath(focus) : "(selection)" : "";
if (this._path !== newPath) {
if (this._path !== newPath || anchor !== focus) {
this._path = newPath;
this.fireEvent("pathChange", {
path: newPath
@ -3546,7 +3546,7 @@ var Squire = class {
this.decreaseListLevel(range);
return this;
} else if (getNearest(block, root, "BLOCKQUOTE")) {
this.removeQuote(range);
this.replaceWithBlankLine(range);
return this;
}
}
@ -3897,6 +3897,17 @@ var Squire = class {
return this.focus();
}
removeQuote(range) {
this.modifyBlocks((frag) => {
Array.from(frag.querySelectorAll("blockquote")).forEach(
(el) => {
replaceWith(el, empty(el));
}
);
return frag;
}, range);
return this.focus();
}
replaceWithBlankLine(range) {
this.modifyBlocks(
() => this.createDefaultBlock([
createElement("INPUT", {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -163,6 +163,7 @@ declare class Squire {
increaseQuoteLevel(range?: Range): Squire;
decreaseQuoteLevel(range?: Range): Squire;
removeQuote(range?: Range): Squire;
replaceWithBlankLine(range?: Range): Squire;
code(): Squire;
removeCode(): Squire;
toggleCode(): Squire;

File diff suppressed because one or more lines are too long

View file

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