@lexical/link 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LexicalLink.dev.js +4 -4
- package/LexicalLink.js.flow +8 -2
- package/LexicalLink.prod.js +4 -4
- package/index.d.ts +2 -2
- package/package.json +3 -3
package/LexicalLink.dev.js
CHANGED
|
@@ -141,8 +141,8 @@ class LinkNode extends lexical.ElementNode {
|
|
|
141
141
|
writable.__rel = rel;
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
insertNewAfter(selection) {
|
|
145
|
-
const element = this.getParentOrThrow().insertNewAfter(selection);
|
|
144
|
+
insertNewAfter(selection, restoreSelection = true) {
|
|
145
|
+
const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection);
|
|
146
146
|
|
|
147
147
|
if (lexical.$isElementNode(element)) {
|
|
148
148
|
const linkNode = $createLinkNode(this.__url, {
|
|
@@ -246,8 +246,8 @@ class AutoLinkNode extends LinkNode {
|
|
|
246
246
|
};
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
-
insertNewAfter(selection) {
|
|
250
|
-
const element = this.getParentOrThrow().insertNewAfter(selection);
|
|
249
|
+
insertNewAfter(selection, restoreSelection = true) {
|
|
250
|
+
const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection);
|
|
251
251
|
|
|
252
252
|
if (lexical.$isElementNode(element)) {
|
|
253
253
|
const linkNode = $createAutoLinkNode(this.__url, {
|
package/LexicalLink.js.flow
CHANGED
|
@@ -47,7 +47,10 @@ declare export class LinkNode extends ElementNode {
|
|
|
47
47
|
setTarget(target: null | string): void;
|
|
48
48
|
getRel(): null | string;
|
|
49
49
|
setRel(rel: null | string): void;
|
|
50
|
-
insertNewAfter(
|
|
50
|
+
insertNewAfter(
|
|
51
|
+
selection: RangeSelection,
|
|
52
|
+
restoreSelection?: boolean,
|
|
53
|
+
): null | ElementNode;
|
|
51
54
|
canInsertTextBefore(): false;
|
|
52
55
|
canInsertTextAfter(): false;
|
|
53
56
|
canBeEmpty(): false;
|
|
@@ -64,7 +67,10 @@ declare export class AutoLinkNode extends LinkNode {
|
|
|
64
67
|
static getType(): string;
|
|
65
68
|
// $FlowFixMe clone method inheritance
|
|
66
69
|
static clone(node: AutoLinkNode): AutoLinkNode;
|
|
67
|
-
insertNewAfter(
|
|
70
|
+
insertNewAfter(
|
|
71
|
+
selection: RangeSelection,
|
|
72
|
+
restoreSelection?: boolean,
|
|
73
|
+
): null | ElementNode;
|
|
68
74
|
}
|
|
69
75
|
declare export function $createAutoLinkNode(
|
|
70
76
|
url: string,
|
package/LexicalLink.prod.js
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
'use strict';var l=require("@lexical/utils"),m=require("lexical");
|
|
8
8
|
class n extends m.ElementNode{static getType(){return"link"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},c){super(c);let {target:h=null,rel:e=null}=b;this.__url=a;this.__target=h;this.__rel=e}createDOM(a){let b=document.createElement("a");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let c=this.__url,h=this.__target,e=this.__rel;
|
|
9
9
|
c!==a.__url&&(b.href=c);h!==a.__target&&(h?b.target=h:b.removeAttribute("target"));e!==a.__rel&&(e?b.rel=e:b.removeAttribute("rel"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:"link",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=
|
|
10
|
-
a}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);
|
|
11
|
-
|
|
12
|
-
class u extends n{static getType(){return"autolink"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:"autolink",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);
|
|
13
|
-
a.append(b)
|
|
10
|
+
a}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a,b=!0){a=this.getParentOrThrow().insertNewAfter(a,b);return m.$isElementNode(a)?(b=q(this.__url,{rel:this.__rel,target:this.__target}),a.append(b),b):null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;a=b.anchor.getNode();
|
|
11
|
+
let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&0<b.getTextContent().length}}function p(a){let b=null;if(a instanceof HTMLAnchorElement){let c=a.textContent;null!==c&&""!==c&&(b=q(a.getAttribute("href")||"",{rel:a.getAttribute("rel"),target:a.getAttribute("target")}))}return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}
|
|
12
|
+
class u extends n{static getType(){return"autolink"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:"autolink",version:1}}insertNewAfter(a,b=!0){a=this.getParentOrThrow().insertNewAfter(a,b);return m.$isElementNode(a)?(b=v(this.__url,{rel:this._rel,
|
|
13
|
+
target:this.__target}),a.append(b),b):null}}function v(a,b){return new u(a,b)}let w=m.createCommand("TOGGLE_LINK_COMMAND");function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;
|
|
14
14
|
exports.toggleLink=function(a,b={}){let {target:c}=b,h=void 0===b.rel?"noopener":b.rel;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let d=k.getChildren();for(let f=0;f<d.length;f++)k.insertBefore(d[f]);k.remove()}});else{if(1===b.length){var e=b[0];e=r(e)?e:x(e);if(null!==e){e.setURL(a);void 0!==c&&e.setTarget(c);null!==h&&e.setRel(h);return}}let k=null,d=null;b.forEach(f=>{var g=f.getParent();if(g!==d&&null!==g&&(!m.$isElementNode(f)||
|
|
15
15
|
f.isInline()))if(r(g))d=g,g.setURL(a),void 0!==c&&g.setTarget(c),null!==h&&d.setRel(h);else if(g.is(k)||(k=g,d=q(a,{rel:h,target:c}),r(g)?null===f.getPreviousSibling()?g.insertBefore(d):g.insertAfter(d):f.insertBefore(d)),r(f)){if(!f.is(d)){if(null!==d){g=f.getChildren();for(let t=0;t<g.length;t++)d.append(g[t])}f.remove()}}else null!==d&&d.append(f)})}}
|
package/index.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class LinkNode extends ElementNode {
|
|
|
39
39
|
setTarget(target: null | string): void;
|
|
40
40
|
getRel(): null | string;
|
|
41
41
|
setRel(rel: null | string): void;
|
|
42
|
-
insertNewAfter(selection: RangeSelection): null | ElementNode;
|
|
42
|
+
insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): null | ElementNode;
|
|
43
43
|
canInsertTextBefore(): false;
|
|
44
44
|
canInsertTextAfter(): false;
|
|
45
45
|
canBeEmpty(): false;
|
|
@@ -58,7 +58,7 @@ export declare class AutoLinkNode extends LinkNode {
|
|
|
58
58
|
static importJSON(serializedNode: SerializedAutoLinkNode): AutoLinkNode;
|
|
59
59
|
static importDOM(): null;
|
|
60
60
|
exportJSON(): SerializedAutoLinkNode;
|
|
61
|
-
insertNewAfter(selection: RangeSelection): null | ElementNode;
|
|
61
|
+
insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): null | ElementNode;
|
|
62
62
|
}
|
|
63
63
|
export declare function $createAutoLinkNode(url: string, attributes?: LinkAttributes): AutoLinkNode;
|
|
64
64
|
export declare function $isAutoLinkNode(node: LexicalNode | null | undefined): node is AutoLinkNode;
|
package/package.json
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"link"
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"version": "0.
|
|
11
|
+
"version": "0.7.0",
|
|
12
12
|
"main": "LexicalLink.js",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"lexical": "0.
|
|
14
|
+
"lexical": "0.7.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@lexical/utils": "0.
|
|
17
|
+
"@lexical/utils": "0.7.0"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|